2
0
mirror of https://github.com/xcat2/xNBA.git synced 2024-11-22 17:41:55 +00:00
Commit Graph

991 Commits

Author SHA1 Message Date
Michael Brown
09688cb3b5 Correct some packet ownership and freeing bugs. 2006-08-09 14:27:07 +00:00
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.
2006-08-09 13:35:03 +00:00
Michael Brown
065a2a486d Port the UDP port allocation code to TCP 2006-08-09 12:08:20 +00:00
Michael Brown
de0c36a98a Remove some of the confusion surrounding the amount to strip off from
a TCP packet before passing to newdata().
2006-08-09 12:01:09 +00:00
Michael Brown
867c7aef59 iphdr->hlen includes the IP header, so truncate packet *before*
stripping the header.  Also fix an htons/ntohs confusion.
2006-08-09 11:52:53 +00:00
Marty Connor
ee9ae8130a Remove _PROTOCOL macros for gcc 3.2 compatibility 2006-08-09 04:42:14 +00:00
Marty Connor
dd7e103d58 Make VERSION_MAJOR for gPXE be 0 2006-08-09 03:43:41 +00:00
Michael Brown
b3c897f437 Corrected documentation 2006-08-09 03:25:11 +00:00
Michael Brown
0dd0a8366e Removed obsolete line merged in with the cmdline stuff 2006-08-09 03:22:29 +00:00
Michael Brown
504a705d9e Do no evil. :) 2006-08-09 03:21:02 +00:00
Michael Brown
c9e6c33bba Attempt a PXE NBP boot as the TFTP test. 2006-08-09 03:00:11 +00:00
Michael Brown
f018da8215 Implement enough of PXENV_GET_CACHED_INFO to support pxelinux. 2006-08-09 02:59:19 +00:00
Michael Brown
75d26d884a Added pxe_netdev; a slight hack for now, but will need to be done
properly for the PXE UNDI API anyway.
2006-08-09 02:58:27 +00:00
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
2006-08-09 02:56:40 +00:00
Michael Brown
56c995ff60 Aborted 2006-08-09 02:37:05 +00:00
Marty Connor
41af7457a8 Merge of Fredrik Hultin command_line 2006-08-09 02:30:35 +00:00
Michael Brown
691557281f Add a couple of small but vital parts to PXENV_UDP_WRITE. 2006-08-09 01:57:02 +00:00
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.
2006-08-09 01:24:32 +00:00
Michael Brown
fd07f56f0d Note to self: learn to count. 2006-08-09 00:56:07 +00:00
Michael Brown
843bcc291d Added missing __from_text16()s when passing pointers to PXE NBP. 2006-08-09 00:39:21 +00:00
Michael Brown
71754ada2a Allow linking by converting functions to stubs 2006-08-09 00:25:29 +00:00
Michael Brown
17ecfd1d67 Allow linking by converting all functions to stubs 2006-08-09 00:22:28 +00:00
Michael Brown
751ae718bd pxe_int_1a is needed by pxe_call.c 2006-08-09 00:16:57 +00:00
Michael Brown
d1a123b1f4 Added TFTP test code (currently just dumps file to console). 2006-08-09 00:09:29 +00:00
Michael Brown
3611cb17b7 Initial (untested) implementation of TFTP over the new UDP API. 2006-08-08 23:45:52 +00:00
Michael Brown
eda79ec32b The prototype for strcasecmp() is apparently in strings.h. 2006-08-08 22:52:16 +00:00
Nikhil Chandru Rao
409f69a08a Changed ipv4_dump() to consume only one line. 2006-08-08 22:26:35 +00:00
Nikhil Chandru Rao
8bf38fb400 Corrected bugs in the TCP logic. There might be a few more which need to be taken care of. 2006-08-08 22:25:20 +00:00
Michael Brown
72cd29f13c Added some TFTP definitions for use with the new UDP API. 2006-08-08 22:01:16 +00:00
Michael Brown
18c112d205 Added (not yet tested) PXE API entry point and support functions. 2006-08-08 20:43:33 +00:00
Michael Brown
d12383f1d3 Update to match the daft capitalisation in the actual PXE spec 2006-08-08 20:43:05 +00:00
Michael Brown
68e33224ef gcc3 compatibility: removed ARP_NET_PROTOCOL(). 2006-08-08 17:44:25 +00:00
Nikhil Chandru Rao
d2bdf81505 Removed some bugs in TCP 2006-08-08 03:42:30 +00:00
Nikhil Chandru Rao
cb42e573a0 Added retransmissions to TCP 2006-08-07 18:52:26 +00:00
Michael Brown
010288577f Add very, very quick and dirty hello world test 2006-08-07 18:49:10 +00:00
Michael Brown
885a630ddf Fix routing when a gateway exists. This should probably be split into
a separate function.
2006-08-07 17:51:19 +00:00
Michael Brown
8a3f4b7de6 Set a NUL terminator before calling inet_aton. 2006-08-07 17:50:41 +00:00
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.
2006-08-07 17:06:31 +00:00
Michael Brown
d0e4f198d6 Add iSCSI to the DHCP tests.
Start updating iscsi.c to use Nikhil's TCP API.
2006-08-07 16:48:24 +00:00
Nikhil Chandru Rao
6714ec745a Minor corrections 2006-08-07 07:37:23 +00:00
Michael Brown
eb24eece0e Convert some trivial functions to static inlines. 2006-08-03 23:42:03 +00:00
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.
2006-08-03 23:10:14 +00:00
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.)
2006-08-02 23:08:10 +00:00
Michael Brown
e24a6cb525 Moved the basic struct sockaddr out of in.h. 2006-08-02 00:06:30 +00:00
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.
2006-08-02 00:02:21 +00:00
Nikhil Chandru Rao
9225f4edac TCP support 2006-08-01 20:46:50 +00:00
Nikhil Chandru Rao
c24546c70b Minor changes to the network layer rx() functions 2006-08-01 20:27:26 +00:00
Michael Brown
beadd82208 Remove unused functions. 2006-08-01 14:26:02 +00:00
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).
2006-08-01 14:22:04 +00:00
Michael Brown
3a0e293123 Renamed tcpip_if.[ch] to tcpip.[ch] 2006-08-01 14:18:09 +00:00