Commit Graph

  • c9e6c33bba Attempt a PXE NBP boot as the TFTP test. Michael Brown 2006-08-09 03:00:11 +00:00
  • f018da8215 Implement enough of PXENV_GET_CACHED_INFO to support pxelinux. Michael Brown 2006-08-09 02:59:19 +00:00
  • 75d26d884a Added pxe_netdev; a slight hack for now, but will need to be done properly for the PXE UNDI API anyway. Michael Brown 2006-08-09 02:58:27 +00:00
  • 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. Michael Brown 2006-08-09 02:56:40 +00:00
  • 56c995ff60 Aborted Michael Brown 2006-08-09 02:37:05 +00:00
  • 41af7457a8 Merge of Fredrik Hultin command_line Marty Connor 2006-08-09 02:30:35 +00:00
  • 691557281f Add a couple of small but vital parts to PXENV_UDP_WRITE. Michael Brown 2006-08-09 01:57:02 +00:00
  • a3d508b648 Clarified packet ownership transfer between a few functions. Michael Brown 2006-08-09 01:24:32 +00:00
  • fd07f56f0d Note to self: learn to count. Michael Brown 2006-08-09 00:56:07 +00:00
  • 843bcc291d Added missing __from_text16()s when passing pointers to PXE NBP. Michael Brown 2006-08-09 00:39:21 +00:00
  • 71754ada2a Allow linking by converting functions to stubs Michael Brown 2006-08-09 00:25:29 +00:00
  • 17ecfd1d67 Allow linking by converting all functions to stubs Michael Brown 2006-08-09 00:22:28 +00:00
  • 751ae718bd pxe_int_1a is needed by pxe_call.c Michael Brown 2006-08-09 00:16:57 +00:00
  • d1a123b1f4 Added TFTP test code (currently just dumps file to console). Michael Brown 2006-08-09 00:09:29 +00:00
  • 3611cb17b7 Initial (untested) implementation of TFTP over the new UDP API. Michael Brown 2006-08-08 23:45:52 +00:00
  • eda79ec32b The prototype for strcasecmp() is apparently in strings.h. Michael Brown 2006-08-08 22:52:16 +00:00
  • 409f69a08a Changed ipv4_dump() to consume only one line. Nikhil Chandru Rao 2006-08-08 22:26:35 +00:00
  • 8bf38fb400 Corrected bugs in the TCP logic. There might be a few more which need to be taken care of. Nikhil Chandru Rao 2006-08-08 22:25:20 +00:00
  • 72cd29f13c Added some TFTP definitions for use with the new UDP API. Michael Brown 2006-08-08 22:01:16 +00:00
  • 18c112d205 Added (not yet tested) PXE API entry point and support functions. Michael Brown 2006-08-08 20:43:33 +00:00
  • d12383f1d3 Update to match the daft capitalisation in the actual PXE spec Michael Brown 2006-08-08 20:43:05 +00:00
  • 68e33224ef gcc3 compatibility: removed ARP_NET_PROTOCOL(). Michael Brown 2006-08-08 17:44:25 +00:00
  • d2bdf81505 Removed some bugs in TCP Nikhil Chandru Rao 2006-08-08 03:42:30 +00:00
  • cb42e573a0 Added retransmissions to TCP Nikhil Chandru Rao 2006-08-07 18:52:26 +00:00
  • 010288577f Add very, very quick and dirty hello world test Michael Brown 2006-08-07 18:49:10 +00:00
  • 885a630ddf Fix routing when a gateway exists. This should probably be split into a separate function. Michael Brown 2006-08-07 17:51:19 +00:00
  • 8a3f4b7de6 Set a NUL terminator before calling inet_aton. Michael Brown 2006-08-07 17:50:41 +00:00
  • 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. Michael Brown 2006-08-07 17:06:31 +00:00
  • d0e4f198d6 Add iSCSI to the DHCP tests. Michael Brown 2006-08-07 16:48:24 +00:00
  • 6714ec745a Minor corrections Nikhil Chandru Rao 2006-08-07 07:37:23 +00:00
  • eb24eece0e Convert some trivial functions to static inlines. Michael Brown 2006-08-03 23:42:03 +00:00
  • ffe0e24249 Make the UDP senddata() methods return a status code. Michael Brown 2006-08-03 23:10:14 +00:00
  • a0a872f7f1 Updated PXE UDP implementation to use the new Etherboot UDP API. Michael Brown 2006-08-02 23:08:10 +00:00
  • e24a6cb525 Moved the basic struct sockaddr out of in.h. Michael Brown 2006-08-02 00:06:30 +00:00
  • 467e9627cc Added features that will be required for PXE UDP support. Michael Brown 2006-08-02 00:02:21 +00:00
  • 9225f4edac TCP support Nikhil Chandru Rao 2006-08-01 20:46:50 +00:00
  • c24546c70b Minor changes to the network layer rx() functions Nikhil Chandru Rao 2006-08-01 20:27:26 +00:00
  • beadd82208 Remove unused functions. Michael Brown 2006-08-01 14:26:02 +00:00
  • 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). Michael Brown 2006-08-01 14:22:04 +00:00
  • 3a0e293123 Renamed tcpip_if.[ch] to tcpip.[ch] Michael Brown 2006-08-01 14:18:09 +00:00
  • 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. Michael Brown 2006-08-01 14:13:58 +00:00
  • ae277992c2 Request bootfile name; it doesn't seem to be automatically supplied by all servers. Michael Brown 2006-08-01 14:12:27 +00:00
  • 6e3e5efaed Accept '%i' as a synonym for '%d'. Michael Brown 2006-07-25 14:33:20 +00:00
  • 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. Michael Brown 2006-07-20 14:20:11 +00:00
  • a92d242008 Allow an AoE boot to be directed via DHCP, so that we have a proof of concept demo that actually does something useful. Michael Brown 2006-07-20 14:15:23 +00:00
  • 3085f03ad4 Request Etherboot encapsulated options. Michael Brown 2006-07-20 14:14:41 +00:00
  • b26806cf18 Add dhcp_snprintf() for extracting DHCP string options. Michael Brown 2006-07-20 14:13:11 +00:00
  • 7ca8bcd98c Print out the lease time, just to show how easy it is. Michael Brown 2006-07-20 03:02:34 +00:00
  • 16d04386b6 Switch default stack to Nikhil's TCP/IP stack Michael Brown 2006-07-20 02:53:15 +00:00
  • e74e20cb55 Remove the static IP address hack from netdevice.c, and change the default test to the DHCP test. Michael Brown 2006-07-20 02:51:52 +00:00
  • 00a1f000b1 Added dhcp_ipv4_option() and friends. Michael Brown 2006-07-20 02:49:59 +00:00
  • 6a0b4c9772 Free up any allocated options if we fail Michael Brown 2006-07-20 02:25:39 +00:00
  • 764cb41456 Document memory ownership. Michael Brown 2006-07-20 02:23:42 +00:00
  • 7ca1bb0fbe Now successfully negotiates the whole DHCPDISCOVER/OFFER/REQUEST/ACK cycle. :) Michael Brown 2006-07-20 02:19:06 +00:00
  • 30d9bcdc6e Rename unwieldy function Michael Brown 2006-07-20 00:24:25 +00:00
  • 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. Michael Brown 2006-07-20 00:18:50 +00:00
  • 881b90e82c Packets without a DHCP_MESSAGE_TYPE option are probably just BOOTP packets. Michael Brown 2006-07-20 00:03:25 +00:00
  • 29b358dd39 conn->local_port is now network-endian; do not swap when comparing against value in header. Michael Brown 2006-07-20 00:03:01 +00:00
  • 36c94eae78 Clarify hexiness of header length Michael Brown 2006-07-20 00:01:50 +00:00
  • 2c0eb6eb1d Correct TCP/IP checksum generation. Michael Brown 2006-07-19 23:38:05 +00:00
  • 0768670fd8 udp_open() takes ports in network-endian order. Michael Brown 2006-07-19 21:56:27 +00:00
  • 13dbf5494d Minor edits Nikhil Chandru Rao 2006-07-19 21:05:58 +00:00
  • 224529d8dd Now capable of sending what, to me, looks like a valid DHCPDISCOVER (apart from the bad UDP checksum). Michael Brown 2006-07-19 20:50:50 +00:00
  • a38010fb0e Make udp_send() call udp_sendto(), rather than vice-versa. Michael Brown 2006-07-19 20:38:49 +00:00
  • 7c84b74185 A small but very critical bug. Michael Brown 2006-07-19 20:16:46 +00:00
  • 82f3295794 Use more standardised format specifiers in debug messages (e.g. %p for a pointer). Michael Brown 2006-07-19 18:45:18 +00:00
  • ab633f6a73 Reserve space for lower-layer headers when allocating packet buffer. Michael Brown 2006-07-19 18:21:30 +00:00
  • 6858b14a34 Add pkb_available() Michael Brown 2006-07-19 18:16:48 +00:00
  • e8daeb62b1 Eliminate confusion between functions that return pointers and functions that return status codes. Michael Brown 2006-07-19 18:11:31 +00:00
  • 3369f93036 Add block identification to debug messages Michael Brown 2006-07-19 17:58:27 +00:00
  • 6d9d48537e Added some debug messages and DHCP test code Michael Brown 2006-07-19 17:49:31 +00:00
  • 317b962b65 Proof of concept: transmit a single DHCPDISCOVER and dump out any parsed DHCP responses. Michael Brown 2006-07-19 17:32:13 +00:00
  • 76070cd226 Added missing prototype Michael Brown 2006-07-19 17:29:18 +00:00
  • 16fc9858db Beginnings of DHCP protocol implementation Michael Brown 2006-07-19 17:01:06 +00:00
  • a7011edfd4 Add net/udp Michael Brown 2006-07-19 17:00:40 +00:00
  • bf0cdd42cf Add some DHCP options that we are likely to use Michael Brown 2006-07-19 17:00:32 +00:00
  • e0668ad8df Correct typo Michael Brown 2006-07-19 16:58:44 +00:00
  • bf515d3d65 Minor edit in net/udp.c Nikhil Chandru Rao 2006-07-19 16:27:54 +00:00
  • 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 Nikhil Chandru Rao 2006-07-19 16:25:23 +00:00
  • b8d619e822 Added macros for generating static DHCP options Michael Brown 2006-07-19 16:16:51 +00:00
  • 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. Michael Brown 2006-07-19 12:12:45 +00:00
  • e40ebb67de Allow for calling find_dhcp_option() with "options" set to NULL, in order to search through all registered option blocks. Michael Brown 2006-07-19 11:05:38 +00:00
  • 7ab29b0bfe This file breaks "make blib"; please find a way to avoid doing this. Michael Brown 2006-07-17 19:19:17 +00:00
  • 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. Derek Pryor 2006-07-17 16:38:20 +00:00
  • 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. Michael Brown 2006-07-17 13:07:14 +00:00
  • 35b0233baa Tidy up hex_dump() output. Michael Brown 2006-07-17 13:04:29 +00:00
  • b24947f0c0 Add sketch code to reassemble a DHCP packet from our internal "everything is a DHCP option" data structures. Michael Brown 2006-07-17 12:47:22 +00:00
  • 12da7ea475 Add (untested) code for parsing a received DHCP packet and constructing a DHCP options block from the contents. Michael Brown 2006-07-15 19:24:55 +00:00
  • 19e8b41562 Add code to modify DHCP option values within a block. Michael Brown 2006-07-13 20:49:04 +00:00
  • 3acbff4f00 How did this ever work properly before? Michael Brown 2006-07-13 18:27:23 +00:00
  • 47be47bf17 Adding SSL Constructs header file. (First version) Derek Pryor 2006-07-10 13:26:20 +00:00
  • 5f651f8622 Added fragment reassembly code Nikhil Chandru Rao 2006-06-30 08:52:03 +00:00
  • eb091f03e3 fix printf format args Marty Connor 2006-06-29 19:04:25 +00:00
  • e8cc1c4333 Removed vestigal FILO code Marty Connor 2006-06-29 18:07:02 +00:00
  • 623f2e7b9d Added bin/.blib.list to VERYCLEANUP so .bin directory is made empty Marty Connor 2006-06-29 17:58:48 +00:00
  • 8de630c62b Removing net/interface.c and include/gpxe/interface.h Nikhil Chandru Rao 2006-06-29 06:51:11 +00:00
  • 51d62d1a3c Provide a mechanism for returning the encapsulator as well as the encapsulated option; this will be needed for modifications to the options block. Michael Brown 2006-06-28 18:59:54 +00:00
  • 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. Nikhil Chandru Rao 2006-06-28 15:43:08 +00:00
  • 291f072b82 Add priority mechanism Michael Brown 2006-06-28 13:48:02 +00:00
  • bd0c8b21ad Change dhcp_num_option() to return the numerical value directly. Michael Brown 2006-06-28 12:16:41 +00:00