Michael Brown
43d601b678
out_flags was being set but never used.
Use just random() to allocate initial sequence numbers; the previous
algorithm ended up with a high probability of zeroing the high word.
18 years ago
Michael Brown
065a2a486d
Port the UDP port allocation code to TCP
18 years ago
Michael Brown
de0c36a98a
Remove some of the confusion surrounding the amount to strip off from
a TCP packet before passing to newdata().
18 years ago
Michael Brown
867c7aef59
iphdr->hlen includes the IP header, so truncate packet *before*
stripping the header. Also fix an htons/ntohs confusion.
18 years ago
Marty Connor
ee9ae8130a
Remove _PROTOCOL macros for gcc 3.2 compatibility
18 years ago
Marty Connor
dd7e103d58
Make VERSION_MAJOR for gPXE be 0
18 years ago
Michael Brown
0dd0a8366e
Removed obsolete line merged in with the cmdline stuff
18 years ago
Michael Brown
504a705d9e
Do no evil. :)
18 years ago
Michael Brown
c9e6c33bba
Attempt a PXE NBP boot as the TFTP test.
18 years ago
Michael Brown
f018da8215
Implement enough of PXENV_GET_CACHED_INFO to support pxelinux.
18 years ago
Michael Brown
75d26d884a
Added pxe_netdev; a slight hack for now, but will need to be done
properly for the PXE UNDI API anyway.
18 years ago
Michael Brown
e9561aafc0
Derive xid dynamically from the netdev, so that we can call
create_dhcp_packet() from pxe_preboot.c, after the dhcp_session is long
gone.
Expose the functions required by pxe_preboot.c
18 years ago
Michael Brown
56c995ff60
Aborted
18 years ago
Marty Connor
41af7457a8
Merge of Fredrik Hultin command_line
18 years ago
Michael Brown
691557281f
Add a couple of small but vital parts to PXENV_UDP_WRITE.
18 years ago
Michael Brown
a3d508b648
Clarified packet ownership transfer between a few functions.
Added a large number of missing calls to free_pkb(). In the case of UDP,
no received packets were ever freed, which lead to memory exhaustion
remarkably quickly once pxelinux started up.
In general, any function with _rx() in its name which accepts a pk_buff
*must* either call free_pkb() or pass the pkb to another _rx() function
(e.g. the next layer up the stack). Since the UDP (and TCP) layers don't
pass packet buffers up to the higher-layer protocols (the
"applications"), they must free the packet buffer after calling the
application's newdata() method.
18 years ago
Michael Brown
fd07f56f0d
Note to self: learn to count.
18 years ago
Michael Brown
843bcc291d
Added missing __from_text16()s when passing pointers to PXE NBP.
18 years ago
Michael Brown
71754ada2a
Allow linking by converting functions to stubs
18 years ago
Michael Brown
17ecfd1d67
Allow linking by converting all functions to stubs
18 years ago
Michael Brown
751ae718bd
pxe_int_1a is needed by pxe_call.c
18 years ago
Michael Brown
d1a123b1f4
Added TFTP test code (currently just dumps file to console).
18 years ago
Michael Brown
3611cb17b7
Initial (untested) implementation of TFTP over the new UDP API.
18 years ago
Michael Brown
eda79ec32b
The prototype for strcasecmp() is apparently in strings.h.
18 years ago
Nikhil Chandru Rao
409f69a08a
Changed ipv4_dump() to consume only one line.
18 years ago
Nikhil Chandru Rao
8bf38fb400
Corrected bugs in the TCP logic. There might be a few more which need to be taken care of.
18 years ago
Michael Brown
72cd29f13c
Added some TFTP definitions for use with the new UDP API.
18 years ago
Michael Brown
18c112d205
Added (not yet tested) PXE API entry point and support functions.
18 years ago
Michael Brown
d12383f1d3
Update to match the daft capitalisation in the actual PXE spec
18 years ago
Michael Brown
68e33224ef
gcc3 compatibility: removed ARP_NET_PROTOCOL().
18 years ago
Nikhil Chandru Rao
d2bdf81505
Removed some bugs in TCP
18 years ago
Nikhil Chandru Rao
cb42e573a0
Added retransmissions to TCP
18 years ago
Michael Brown
010288577f
Add very, very quick and dirty hello world test
18 years ago
Michael Brown
885a630ddf
Fix routing when a gateway exists. This should probably be split into
a separate function.
18 years ago
Michael Brown
8a3f4b7de6
Set a NUL terminator before calling inet_aton.
18 years ago
Michael Brown
ecdcdea1af
Remove unused attribute from __table macros; the tables are no longer
static since otherwise gcc4 optimises them away completely. Also, it
really *is* an error if the table start and end are unused, so they
certainly shouldn't be marked with attribute unused.
18 years ago
Michael Brown
d0e4f198d6
Add iSCSI to the DHCP tests.
Start updating iscsi.c to use Nikhil's TCP API.
18 years ago
Nikhil Chandru Rao
6714ec745a
Minor corrections
18 years ago
Michael Brown
eb24eece0e
Convert some trivial functions to static inlines.
18 years ago
Michael Brown
ffe0e24249
Make the UDP senddata() methods return a status code.
udp_connect() now follows the standard BSD sockets semantics and simply
sets the default address for outgoing packets; it doesn't filter incoming
packets.
18 years ago
Michael Brown
a0a872f7f1
Updated PXE UDP implementation to use the new Etherboot UDP API.
Updated PXE API dispatcher to use copy_{to,from}_user, and moved to
arch/i386 since the implementation is quite architecture-dependent.
(The individual PXE API calls can be largely
architecture-independent.)
18 years ago
Michael Brown
e24a6cb525
Moved the basic struct sockaddr out of in.h.
18 years ago
Michael Brown
467e9627cc
Added features that will be required for PXE UDP support.
Introduced struct sockaddr_tcpip, to simplify code that deals with
both IPv4 and IPv6 addresses.
Reorganised parts of tcpip.c and udp.c.
18 years ago
Nikhil Chandru Rao
9225f4edac
TCP support
18 years ago
Nikhil Chandru Rao
c24546c70b
Minor changes to the network layer rx() functions
18 years ago
Michael Brown
beadd82208
Remove unused functions.
18 years ago
Michael Brown
1ebb68e49a
Renamed trans_{rx,tx}() to tcpip_{rx,tx}(), since they are specific to
the TCP/IP protocol suite (rather than being general transport-layer
functions).
18 years ago
Michael Brown
3a0e293123
Renamed tcpip_if.[ch] to tcpip.[ch]
18 years ago
Michael Brown
21c3d63c2e
We shouldn't need to allocate a TX packet buffer when calling newdata();
if the application wants to send data then it will have to use the normal
senddata() mechanism.
18 years ago
Michael Brown
ae277992c2
Request bootfile name; it doesn't seem to be automatically supplied by
all servers.
18 years ago