Michael Brown
867c7aef59
iphdr->hlen includes the IP header, so truncate packet *before*
stripping the header. Also fix an htons/ntohs confusion.
il y a 18 ans
Marty Connor
ee9ae8130a
Remove _PROTOCOL macros for gcc 3.2 compatibility
il y a 18 ans
Marty Connor
dd7e103d58
Make VERSION_MAJOR for gPXE be 0
il y a 18 ans
Michael Brown
b3c897f437
Corrected documentation
il y a 18 ans
Michael Brown
0dd0a8366e
Removed obsolete line merged in with the cmdline stuff
il y a 18 ans
Michael Brown
504a705d9e
Do no evil. :)
il y a 18 ans
Michael Brown
c9e6c33bba
Attempt a PXE NBP boot as the TFTP test.
il y a 18 ans
Michael Brown
f018da8215
Implement enough of PXENV_GET_CACHED_INFO to support pxelinux.
il y a 18 ans
Michael Brown
75d26d884a
Added pxe_netdev; a slight hack for now, but will need to be done
properly for the PXE UNDI API anyway.
il y a 18 ans
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
il y a 18 ans
Michael Brown
56c995ff60
Aborted
il y a 18 ans
Marty Connor
41af7457a8
Merge of Fredrik Hultin command_line
il y a 18 ans
Michael Brown
691557281f
Add a couple of small but vital parts to PXENV_UDP_WRITE.
il y a 18 ans
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.
il y a 18 ans
Michael Brown
fd07f56f0d
Note to self: learn to count.
il y a 18 ans
Michael Brown
843bcc291d
Added missing __from_text16()s when passing pointers to PXE NBP.
il y a 18 ans
Michael Brown
71754ada2a
Allow linking by converting functions to stubs
il y a 18 ans
Michael Brown
17ecfd1d67
Allow linking by converting all functions to stubs
il y a 18 ans
Michael Brown
751ae718bd
pxe_int_1a is needed by pxe_call.c
il y a 18 ans
Michael Brown
d1a123b1f4
Added TFTP test code (currently just dumps file to console).
il y a 18 ans
Michael Brown
3611cb17b7
Initial (untested) implementation of TFTP over the new UDP API.
il y a 18 ans
Michael Brown
eda79ec32b
The prototype for strcasecmp() is apparently in strings.h.
il y a 18 ans
Nikhil Chandru Rao
409f69a08a
Changed ipv4_dump() to consume only one line.
il y a 18 ans
Nikhil Chandru Rao
8bf38fb400
Corrected bugs in the TCP logic. There might be a few more which need to be taken care of.
il y a 18 ans
Michael Brown
72cd29f13c
Added some TFTP definitions for use with the new UDP API.
il y a 18 ans
Michael Brown
18c112d205
Added (not yet tested) PXE API entry point and support functions.
il y a 18 ans
Michael Brown
d12383f1d3
Update to match the daft capitalisation in the actual PXE spec
il y a 18 ans
Michael Brown
68e33224ef
gcc3 compatibility: removed ARP_NET_PROTOCOL().
il y a 18 ans
Nikhil Chandru Rao
d2bdf81505
Removed some bugs in TCP
il y a 18 ans
Nikhil Chandru Rao
cb42e573a0
Added retransmissions to TCP
il y a 18 ans
Michael Brown
010288577f
Add very, very quick and dirty hello world test
il y a 18 ans
Michael Brown
885a630ddf
Fix routing when a gateway exists. This should probably be split into
a separate function.
il y a 18 ans
Michael Brown
8a3f4b7de6
Set a NUL terminator before calling inet_aton.
il y a 18 ans
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.
il y a 18 ans
Michael Brown
d0e4f198d6
Add iSCSI to the DHCP tests.
Start updating iscsi.c to use Nikhil's TCP API.
il y a 18 ans
Nikhil Chandru Rao
6714ec745a
Minor corrections
il y a 18 ans
Michael Brown
eb24eece0e
Convert some trivial functions to static inlines.
il y a 18 ans
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.
il y a 18 ans
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.)
il y a 18 ans
Michael Brown
e24a6cb525
Moved the basic struct sockaddr out of in.h.
il y a 18 ans
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.
il y a 18 ans
Nikhil Chandru Rao
9225f4edac
TCP support
il y a 18 ans
Nikhil Chandru Rao
c24546c70b
Minor changes to the network layer rx() functions
il y a 18 ans
Michael Brown
beadd82208
Remove unused functions.
il y a 18 ans
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).
il y a 18 ans
Michael Brown
3a0e293123
Renamed tcpip_if.[ch] to tcpip.[ch]
il y a 18 ans
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.
il y a 18 ans
Michael Brown
ae277992c2
Request bootfile name; it doesn't seem to be automatically supplied by
all servers.
il y a 18 ans
Michael Brown
6e3e5efaed
Accept '%i' as a synonym for '%d'.
il y a 18 ans
Michael Brown
9e761f5f28
Print out "DHCP..." message just in case people think the demo is sitting
there doing nothing when it's actually waiting for a DHCP reply.
il y a 18 ans