Michael Brown
00a1f000b1
Added dhcp_ipv4_option() and friends.
Added test code to configure the interface for IPv4 after DHCP.
18 years ago
Michael Brown
7ca1bb0fbe
Now successfully negotiates the whole DHCPDISCOVER/OFFER/REQUEST/ACK
cycle. :)
18 years ago
Michael Brown
2c0eb6eb1d
Correct TCP/IP checksum generation.
18 years ago
Nikhil Chandru Rao
13dbf5494d
Minor edits
18 years ago
Michael Brown
224529d8dd
Now capable of sending what, to me, looks like a valid DHCPDISCOVER
(apart from the bad UDP checksum).
18 years ago
Michael Brown
6858b14a34
Add pkb_available()
18 years ago
Michael Brown
6d9d48537e
Added some debug messages and DHCP test code
18 years ago
Michael Brown
317b962b65
Proof of concept: transmit a single DHCPDISCOVER and dump out any
parsed DHCP responses.
18 years ago
Michael Brown
76070cd226
Added missing prototype
18 years ago
Michael Brown
bf0cdd42cf
Add some DHCP options that we are likely to use
18 years ago
Michael Brown
e0668ad8df
Correct typo
18 years ago
Nikhil Chandru Rao
ab577e1a3a
The following edits were made: \
1. Updated UDP send data code\
2. Corrected internet checksum\
3. Moved udp_buffer() and udp_buflen() to udp.c from udp.h
18 years ago
Michael Brown
b8d619e822
Added macros for generating static DHCP options
18 years ago
Michael Brown
254fe6e00e
Split DHCP packet creation into two parts: creating the basic packet
structure, and populating it with options. This should allow us to
use the same basic options list for both DHCPDISCOVER and DHCPREQUEST,
plus making it much easier to set the non-constant parameters
(e.g. requested IP address) in request packets.
18 years ago
Michael Brown
e40ebb67de
Allow for calling find_dhcp_option() with "options" set to NULL, in order
to search through all registered option blocks.
Move some static inlines that are likely to be used frequently into
dhcpopts.c as normal functions, to save space.
18 years ago
Michael Brown
6c01d3bb95
Fix creation of the htype field; the ll_proto field from which it is
derived is a 16-bit big-endian field, but htype is only 8 bits wide.
18 years ago
Michael Brown
b24947f0c0
Add sketch code to reassemble a DHCP packet from our internal "everything
is a DHCP option" data structures.
We need this code in order to be able to return a DHCP packet to a PXE NBP
which reflects options from our multiple sources (e.g. NVS and DHCP
server). This is expensive, but necessary. Having paid this cost, we may
as well try to use the same code to generate our DHCP request packets,
since the process is similar.
18 years ago
Michael Brown
12da7ea475
Add (untested) code for parsing a received DHCP packet and constructing a
DHCP options block from the contents.
18 years ago
Michael Brown
19e8b41562
Add code to modify DHCP option values within a block.
18 years ago
Nikhil Chandru Rao
5f651f8622
Added fragment reassembly code
18 years ago
Nikhil Chandru Rao
8de630c62b
Removing net/interface.c and include/gpxe/interface.h
18 years ago
Michael Brown
51d62d1a3c
Provide a mechanism for returning the encapsulator as well as the
encapsulated option; this will be needed for modifications to the options
block.
18 years ago
Nikhil Chandru Rao
c9ea710930
Renamed net/interface.c and include/gpxe/interface.h to net/tcpip_if.c and include/gpxe/tcpip_if.h respectively. Made changes in the other files.
18 years ago
Michael Brown
291f072b82
Add priority mechanism
18 years ago
Dan Lynch
d8b51332c6
typo in macro fixed
18 years ago
Nikhil Chandru Rao
6e2c97b0c0
Added ipv4_pseudo_header structure
18 years ago
Nikhil Chandru Rao
e60817fa7a
IP6 specifications
18 years ago
Nikhil Chandru Rao
a6c6b3d739
Fixed whitespaces; updated UDP code
18 years ago
Michael Brown
0bcaa8a21f
First stab at DHCP option handling in a way that will allow us to have
multiple option sources (e.g. multiple DHCP replies, non-volatile
storage etc.)
18 years ago
Dan Lynch
e442447f37
- multiple static inline definitions added
- changes made to some constants and macros
- changes made to _curses_screen struct
- identified and removed prototypes for yet more unsupportable functions
18 years ago
Nikhil Chandru Rao
f5ebf067c4
added generalized sockaddr structure and ip6 sockaddr
18 years ago
Nikhil Chandru Rao
90fbff8f34
added support for processing and transmitting without uIP
18 years ago
Nikhil Chandru Rao
74339b3c6e
updated UDP interface
18 years ago
Nikhil Chandru Rao
fdc05e2664
created interface for transport-network interface
18 years ago
Michael Brown
3a660f9b25
Update ftp.c and hello.c to use the generic async_operations API.
18 years ago
Michael Brown
15397db2b4
Placeholder
18 years ago
Michael Brown
8637834031
Made the temporary buffer part of the TCP senddata() API, to ease the
transition away from uIP.
Prepared ipv4.c for transition away from uIP.
18 years ago
Michael Brown
3c8aafa209
Simplify RX data path.
Kill off the static single net device and move to proper dynamic
registration (which we need with the new device model).
Break the (flawed) assumption that all network-layer protocols can use
ARP; such network-layer protocols (i.e. IPv4) must now register as an ARP
protocol using ARP_NET_PROTOCOL() and provide a single method for checking
the existence of a local network-layer address.
18 years ago
Michael Brown
bbd9e28061
Simplify TX datapath.
18 years ago
Michael Brown
cce2e47ff4
Added iSCSI boot test code
18 years ago
Michael Brown
3b51c719d3
Generalise three-wire interface to generic SPI interface.
Update rtl8139 driver to instantiate an SPI interface with a three-wire
device attached.
18 years ago
Michael Brown
ab4f96e525
Move per-transition delays from generic bit-bashing layer to i2c layer
(since SPI bit-bashing will require different delay semantics).
18 years ago
Michael Brown
51a36f1cfb
Change read_bit() to return 0 or -1UL, rather than 0 or 1.
18 years ago
Michael Brown
3ed40686c9
Added bit-bashing i2c interface code
18 years ago
Michael Brown
e90b64d625
Added sketch of bit-bashing interface common code
18 years ago
Michael Brown
286bf68faf
Added a very quick and dirty compatibility layer, to allow
not-yet-updated drivers to at least function.
18 years ago
Michael Brown
d78581297b
Improve tcpdump legibility.
18 years ago
Michael Brown
48fb6c6dc2
Updated retry timer mechanism to incorporate smoothed RTT estimation.
AoE now uses the retry timer mechanism.
18 years ago
Michael Brown
50415b3aca
Make DBG_DISCARD correct
18 years ago
Michael Brown
1f394c2f7c
Backing out last change; no immediate plans to make the whole block-device
layer asynchronous, so keeping the sync/async boundary within aoedev.c
seems cleanest for now.
18 years ago