Michael Brown
3611cb17b7
Initial (untested) implementation of TFTP over the new UDP API.
2006-08-08 23:45:52 +00:00
Michael Brown
21493646c2
Moved to net/tcp/iscsi.c.
2006-05-13 11:45:49 +00:00
Michael Brown
8a229a16f6
(Redoing check-in lost by SourceForge's failure.)
...
Moved to net/
2006-05-13 11:24:25 +00:00
Michael Brown
9e1becaf8a
Merge TCP aborted(), timedout() and closed() methods into a single
...
closed() method with a reason code.
2006-04-30 16:59:45 +00:00
Michael Brown
7af478b30d
Make tcp_connect() void; it will eventually have no failure case.
2006-04-30 02:13:52 +00:00
Michael Brown
352bf1bda2
Move init.h to gpxe/init.h.
2006-04-30 01:08:52 +00:00
Michael Brown
5fe31f1014
Give uIP a static IP address for proof-of-concept testing
2006-04-28 14:15:21 +00:00
Michael Brown
a81f96998b
Added missing headers required for compilation in Etherboot.
2006-04-24 19:35:10 +00:00
Michael Brown
26749951dc
We have our own ARP layer now.
2006-04-24 19:19:13 +00:00
Michael Brown
832e86246b
gcc is rather over-aggressive about optimising out static data structures
...
even when __atribute__ (( unused )) is correctly set...
2006-04-24 18:31:37 +00:00
Michael Brown
824d6ffa7f
Header rearrangement.
...
I want to get to the point where any header in include/ reflects a
standard user-level header (e.g. a POSIX header), while everything that's
specific to gPXE lives in include/gpxe/. Headers that reflect a Linux
header (e.g. if_ether.h) should also be in include/gpxe/, with the same
name as the Linux header and, preferably, the same names used for the
definitions.
2006-04-24 15:42:49 +00:00
Michael Brown
53f78346bf
Network API now allows for multiple network devices (although the
...
implementation allows for only one, and does so without compromising on
the efficiency of static allocation).
Link-layer protocols are cleanly separated from the device drivers.
Network-layer protocols are cleanly separated from individual network
devices.
Link-layer and network-layer protocols are cleanly separated from each
other.
2006-04-24 15:38:53 +00:00
Michael Brown
fdc2ee79db
Network API now allows for multiple network devices (although the
...
implementation allows for only one, and does so without compromising on
the efficiency of static allocation).
Link-layer protocols are cleanly separated from the device drivers.
Network-layer protocols are cleanly separated from individual network
devices.
Link-layer and network-layer protocols are cleanly separated from each
other.
2006-04-24 15:33:06 +00:00
Michael Brown
0d97f0d482
Obviate uip_init(); our bss is zeroed at startup already.
2006-04-24 15:31:02 +00:00
Michael Brown
6446767258
First draft of iSCSI protocol support. Is capable of retrieving disk
...
blocks.
2006-04-05 11:44:56 +00:00
Michael Brown
c8a7133e9f
Added tcp_buffer, to give applications a zero-cost place to build data to
...
be transmitted.
2006-04-05 11:43:01 +00:00
Michael Brown
988bb50979
Added set_netmask() and set_gateway()
2006-04-05 11:41:15 +00:00
Michael Brown
ee058362fa
We don't need to know anything about ARP
2006-03-24 17:39:05 +00:00
Michael Brown
b44332eb7d
Split non-TCP portions of the stack out into ip.[ch].
...
Added set_ipaddr().
2006-03-24 17:22:09 +00:00
Michael Brown
7e61f38799
Moved "hello world" protocol implementation out of prototester.c and into
...
the first standalong uIP-based protocol module.
2006-03-23 22:37:05 +00:00
Michael Brown
a4a0244aa3
Moved uIP wrapper out of prototester.c and into proto/tcp.c.
2006-03-23 21:32:03 +00:00
Michael Brown
05b284399e
Moved old tcp.h to old_tcp.h, to avoid name clash with new (uIP-based)
...
tcp.h.
2006-03-23 20:34:08 +00:00
Michael Brown
531371efa2
Removed to make way for the uIP-based tcp.c.
2006-03-23 16:59:25 +00:00
Michael Brown
dde1c5ad18
Moved include/in.h to include/gpxe/in.h, so that it can be included by
...
prototester.
2006-03-23 16:45:01 +00:00
Michael Brown
b2c94b32fc
Make the application state a void *.
2006-03-23 13:08:06 +00:00
Michael Brown
bb37bd47f8
Added from uip-0.9/uip/uip_arp.[ch]
2006-03-22 02:14:55 +00:00
Michael Brown
417e896f0a
Remove htons(); it is provided elsewhere in Etherboot
2006-03-22 01:25:43 +00:00
Michael Brown
1c7c24f21f
Basic, functional-but-extremely-pessimal versions (taken from
...
uip-0.9/unix/uip_arch.c).
2006-03-22 01:24:13 +00:00
Michael Brown
0e611719d2
Add uip on HEAD; it's safe to build, since nothing links against it at the
...
moment.
2006-03-16 19:18:12 +00:00
Michael Brown
9b320c1ca4
Merge from Etherboot 5.4
2006-03-16 17:11:36 +00:00
Michael Brown
7d8adc25bc
In multicast operation, the client still has a unicast local port.
2005-06-02 10:15:40 +00:00
Michael Brown
f242f56a73
Rewritten to use the functions in tftpcore.c.
...
Works with a non-multicast TFTP server (i.e. the fallback path works
fine).
2005-06-01 22:26:48 +00:00
Michael Brown
be7897523d
IGMP protocol now uses the generic background protocol mechanism.
2005-06-01 22:22:14 +00:00
Michael Brown
e0cf144218
IGMP functions separated out from nic.c
2005-06-01 21:18:31 +00:00
Michael Brown
698e87277f
Don't try to fetch another packet once we've reached EOF.
2005-06-01 19:13:06 +00:00
Michael Brown
fa17bf0917
Make rfc2090 multicast option optional
2005-06-01 19:10:25 +00:00
Michael Brown
f2198e8a65
Don't choke on duplicate OACK packets.
...
Make await_tftp() static and create tftp_get() for fetching the next TFTP
packet instead.
2005-06-01 18:00:01 +00:00
Michael Brown
c8d6c4864f
Doxygenation
2005-06-01 13:28:07 +00:00
Michael Brown
53a4436d94
TFTP upgraded to use a core function library (in tftpcore.c) which will be
...
shared between TFTP, TFTM and MTFTP protocols.
2005-06-01 13:13:05 +00:00
Michael Brown
0b048e9cfb
Now have enough functions to implement a standard TFTP client in around 50
...
lines of code.
2005-06-01 11:01:59 +00:00
Michael Brown
7d63b39e3d
Add tftp_ack() and tftp_error()
2005-05-31 15:21:33 +00:00
Michael Brown
8ae966720d
First version
2005-05-31 14:47:58 +00:00
Michael Brown
7b423c0988
Fixes for gcc >= 3.2 from Georg Baum
2005-05-23 23:47:54 +00:00
Michael Brown
e14c739d2d
Imported from Etherboot 5.4 tree
2005-05-19 16:51:32 +00:00
Michael Brown
75a5374d79
Quickly hacked to use a buffer rather than a processor.
...
These don't yet take advantage of the buffer functionality.
2005-05-17 14:49:46 +00:00
Michael Brown
5fce946de4
Update to use buffer rather than processor
2005-05-17 14:35:20 +00:00
Michael Brown
5ae60bd95d
Updated to use buffer rather than processor
2005-05-17 14:26:14 +00:00
Michael Brown
a5f2942587
Add twiddle() so that progress is visible.
2005-05-17 13:39:00 +00:00
Michael Brown
0fe74493f4
Protocols now load data into a buffer; they don't execute it.
2005-05-09 14:27:29 +00:00
Michael Brown
4ed412f1c2
Updated to use new URL parser and new protocol API.
...
Sort of works; the HTTP stuff is fine but the TCP code seems to be
broken; it doesn't ACK the packets and just hands us the retransmitted
packets instead.
2005-05-02 12:10:14 +00:00