Michael Brown
00a1f000b1
Added dhcp_ipv4_option() and friends.
...
Added test code to configure the interface for IPv4 after DHCP.
2006-07-20 02:49:59 +00:00
Michael Brown
7ca1bb0fbe
Now successfully negotiates the whole DHCPDISCOVER/OFFER/REQUEST/ACK
...
cycle. :)
2006-07-20 02:19:06 +00:00
Michael Brown
2c0eb6eb1d
Correct TCP/IP checksum generation.
2006-07-19 23:38:05 +00:00
Nikhil Chandru Rao
13dbf5494d
Minor edits
2006-07-19 21:05:58 +00:00
Michael Brown
224529d8dd
Now capable of sending what, to me, looks like a valid DHCPDISCOVER
...
(apart from the bad UDP checksum).
2006-07-19 20:50:50 +00:00
Michael Brown
6858b14a34
Add pkb_available()
2006-07-19 18:16:48 +00:00
Michael Brown
6d9d48537e
Added some debug messages and DHCP test code
2006-07-19 17:49:31 +00:00
Michael Brown
317b962b65
Proof of concept: transmit a single DHCPDISCOVER and dump out any
...
parsed DHCP responses.
2006-07-19 17:32:13 +00:00
Michael Brown
76070cd226
Added missing prototype
2006-07-19 17:29:18 +00:00
Michael Brown
bf0cdd42cf
Add some DHCP options that we are likely to use
2006-07-19 17:00:32 +00:00
Michael Brown
e0668ad8df
Correct typo
2006-07-19 16:58:44 +00:00
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
2006-07-19 16:25:23 +00:00
Michael Brown
b8d619e822
Added macros for generating static DHCP options
2006-07-19 16:16:51 +00:00
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.
2006-07-19 12:12:45 +00:00
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.
2006-07-19 11:05:38 +00:00
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.
2006-07-17 13:07:14 +00:00
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.
2006-07-17 12:47:22 +00:00
Michael Brown
12da7ea475
Add (untested) code for parsing a received DHCP packet and constructing a
...
DHCP options block from the contents.
2006-07-15 19:24:55 +00:00
Michael Brown
19e8b41562
Add code to modify DHCP option values within a block.
2006-07-13 20:49:04 +00:00
Nikhil Chandru Rao
5f651f8622
Added fragment reassembly code
2006-06-30 08:52:03 +00:00
Nikhil Chandru Rao
8de630c62b
Removing net/interface.c and include/gpxe/interface.h
2006-06-29 06:51:11 +00:00
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.
2006-06-28 18:59:54 +00:00
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.
2006-06-28 15:43:08 +00:00
Michael Brown
291f072b82
Add priority mechanism
2006-06-28 13:48:02 +00:00
Dan Lynch
d8b51332c6
typo in macro fixed
2006-06-28 11:53:41 +00:00
Nikhil Chandru Rao
6e2c97b0c0
Added ipv4_pseudo_header structure
2006-06-28 09:59:27 +00:00
Nikhil Chandru Rao
e60817fa7a
IP6 specifications
2006-06-28 09:44:41 +00:00
Nikhil Chandru Rao
a6c6b3d739
Fixed whitespaces; updated UDP code
2006-06-28 07:46:28 +00:00
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.)
2006-06-27 17:24:07 +00:00
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
2006-06-27 10:38:57 +00:00
Nikhil Chandru Rao
f5ebf067c4
added generalized sockaddr structure and ip6 sockaddr
2006-06-25 05:18:24 +00:00
Nikhil Chandru Rao
90fbff8f34
added support for processing and transmitting without uIP
2006-06-25 05:16:54 +00:00
Nikhil Chandru Rao
74339b3c6e
updated UDP interface
2006-06-25 05:13:17 +00:00
Nikhil Chandru Rao
fdc05e2664
created interface for transport-network interface
2006-06-25 05:12:07 +00:00
Michael Brown
3a660f9b25
Update ftp.c and hello.c to use the generic async_operations API.
2006-06-19 15:46:58 +00:00
Michael Brown
15397db2b4
Placeholder
2006-06-17 23:34:48 +00:00
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.
2006-06-17 23:20:54 +00:00
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.
2006-06-17 22:36:27 +00:00
Michael Brown
bbd9e28061
Simplify TX datapath.
2006-06-16 00:19:46 +00:00
Michael Brown
cce2e47ff4
Added iSCSI boot test code
2006-06-14 17:00:25 +00:00
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.
2006-06-14 00:22:50 +00:00
Michael Brown
ab4f96e525
Move per-transition delays from generic bit-bashing layer to i2c layer
...
(since SPI bit-bashing will require different delay semantics).
2006-06-14 00:20:35 +00:00
Michael Brown
51a36f1cfb
Change read_bit() to return 0 or -1UL, rather than 0 or 1.
2006-06-12 19:29:50 +00:00
Michael Brown
3ed40686c9
Added bit-bashing i2c interface code
2006-06-11 00:57:00 +00:00
Michael Brown
e90b64d625
Added sketch of bit-bashing interface common code
2006-06-08 19:47:09 +00:00
Michael Brown
286bf68faf
Added a very quick and dirty compatibility layer, to allow
...
not-yet-updated drivers to at least function.
2006-06-05 15:45:21 +00:00
Michael Brown
d78581297b
Improve tcpdump legibility.
2006-06-01 19:23:52 +00:00
Michael Brown
48fb6c6dc2
Updated retry timer mechanism to incorporate smoothed RTT estimation.
...
AoE now uses the retry timer mechanism.
2006-06-01 14:33:52 +00:00
Michael Brown
50415b3aca
Make DBG_DISCARD correct
2006-06-01 12:11:09 +00:00
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.
2006-06-01 11:14:59 +00:00