Michael Brown
							
						 
						
							
								beadd82208
								
							 
						 
						
							Remove unused functions. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   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). 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								3a0e293123
								
							 
						 
						
							Renamed tcpip_if.[ch] to tcpip.[ch] 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   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. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								ae277992c2
								
							 
						 
						
							Request bootfile name; it doesn't seem to be automatically supplied by 
							
							 
							all servers. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								6e3e5efaed
								
							 
						 
						
							Accept '%i' as a synonym for '%d'. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   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. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								a92d242008
								
							 
						 
						
							Allow an AoE boot to be directed via DHCP, so that we have a proof of 
							
							 
							concept demo that actually does something useful. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								3085f03ad4
								
							 
						 
						
							Request Etherboot encapsulated options. 
							
							 
							
Parameter request list is yet another option that ISC dhcpd ignores
unless it's in the main options block.
Fix logic error in parsing file and sname fields. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								b26806cf18
								
							 
						 
						
							Add dhcp_snprintf() for extracting DHCP string options. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								7ca8bcd98c
								
							 
						 
						
							Print out the lease time, just to show how easy it is. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								16d04386b6
								
							 
						 
						
							Switch default stack to Nikhil's TCP/IP stack 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								e74e20cb55
								
							 
						 
						
							Remove the static IP address hack from netdevice.c, and change the 
							
							 
							default test to the DHCP test. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								00a1f000b1
								
							 
						 
						
							Added dhcp_ipv4_option() and friends. 
							
							 
							
Added test code to configure the interface for IPv4 after DHCP. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								6a0b4c9772
								
							 
						 
						
							Free up any allocated options if we fail 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								764cb41456
								
							 
						 
						
							Document memory ownership. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								7ca1bb0fbe
								
							 
						 
						
							Now successfully negotiates the whole DHCPDISCOVER/OFFER/REQUEST/ACK 
							
							 
							cycle.  :) 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								30d9bcdc6e
								
							 
						 
						
							Rename unwieldy function 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								9ad5cede96
								
							 
						 
						
							Set DHCP_MESSAGE_TYPE option within the main options block.  This 
							
							 
							doesn't seem to be required by the RFCs, but at least ISC dhcpd and
ethereal refuse to recognise it otherwise. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								881b90e82c
								
							 
						 
						
							Packets without a DHCP_MESSAGE_TYPE option are probably just BOOTP 
							
							 
							packets. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								29b358dd39
								
							 
						 
						
							conn->local_port is now network-endian; do not swap when comparing 
							
							 
							against value in header.
Temporarily disable RX checksumming; it's broken and is holding up
work on higher-layer protocols
. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								36c94eae78
								
							 
						 
						
							Clarify hexiness of header length 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								2c0eb6eb1d
								
							 
						 
						
							Correct TCP/IP checksum generation. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								0768670fd8
								
							 
						 
						
							udp_open() takes ports in network-endian order. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Nikhil Chandru Rao
							
						 
						
							
								13dbf5494d
								
							 
						 
						
							Minor edits 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								224529d8dd
								
							 
						 
						
							Now capable of sending what, to me, looks like a valid DHCPDISCOVER 
							
							 
							(apart from the bad UDP checksum). 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								a38010fb0e
								
							 
						 
						
							Make udp_send() call udp_sendto(), rather than vice-versa. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								7c84b74185
								
							 
						 
						
							A small but very critical bug. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								82f3295794
								
							 
						 
						
							Use more standardised format specifiers in debug messages (e.g. %p for 
							
							 
							a pointer). 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								ab633f6a73
								
							 
						 
						
							Reserve space for lower-layer headers when allocating packet buffer. 
							
							 
							
Use pkb_available() rather than pkb_len() (which will always return 0
on a freshly allocated buffer).
udp_send() should assume that the buffer has already been allocated. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								6858b14a34
								
							 
						 
						
							Add pkb_available() 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								e8daeb62b1
								
							 
						 
						
							Eliminate confusion between functions that return pointers and 
							
							 
							functions that return status codes.
Zero the DHCP packet buffer *before* creating the options structures
inside it. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								3369f93036
								
							 
						 
						
							Add block identification to debug messages 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								6d9d48537e
								
							 
						 
						
							Added some debug messages and DHCP test code 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								317b962b65
								
							 
						 
						
							Proof of concept: transmit a single DHCPDISCOVER and dump out any 
							
							 
							parsed DHCP responses. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								76070cd226
								
							 
						 
						
							Added missing prototype 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								16fc9858db
								
							 
						 
						
							Beginnings of DHCP protocol implementation 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								a7011edfd4
								
							 
						 
						
							Add net/udp 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								bf0cdd42cf
								
							 
						 
						
							Add some DHCP options that we are likely to use 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								e0668ad8df
								
							 
						 
						
							Correct typo 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Nikhil Chandru Rao
							
						 
						
							
								bf515d3d65
								
							 
						 
						
							Minor edit in net/udp.c 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   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 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								b8d619e822
								
							 
						 
						
							Added macros for generating static DHCP options 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   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. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   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. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								7ab29b0bfe
								
							 
						 
						
							This file breaks "make blib"; please find a way to avoid doing this. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Derek Pryor
							
						 
						
							
								e71098a652
								
							 
						 
						
							The first packet (ClientHello Handshake) can be constructed and is accepted 
							
							 
							by SSL servers. Framework.c allows me to test the library against a given
https server. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   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. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   Michael Brown
							
						 
						
							
								35b0233baa
								
							 
						 
						
							Tidy up hex_dump() output. 
							
							
						 
						vor 19 Jahren  
					 
				
					
						
							
								   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. 
							
							
						 
						vor 19 Jahren