Commit Graph

  • 6446767258 First draft of iSCSI protocol support. Is capable of retrieving disk blocks. Michael Brown 2006-04-05 11:44:56 +00:00
  • 9ea782d339 Make pcap_inject non-static, so that its prototype doesn't conflict with the real pcap_inject in the case where we do have it. Michael Brown 2006-04-05 11:44:05 +00:00
  • c8a7133e9f Added tcp_buffer, to give applications a zero-cost place to build data to be transmitted. Michael Brown 2006-04-05 11:43:01 +00:00
  • 988bb50979 Added set_netmask() and set_gateway() Michael Brown 2006-04-05 11:41:15 +00:00
  • ee058362fa We don't need to know anything about ARP Michael Brown 2006-03-24 17:39:05 +00:00
  • 90892d5ec7 Allow specifying the local IP address via --from. Michael Brown 2006-03-24 17:28:40 +00:00
  • b44332eb7d Split non-TCP portions of the stack out into ip.[ch]. Michael Brown 2006-03-24 17:22:09 +00:00
  • 1c607470e3 Put in a substitute pcap_inject() function, since earlier versions of libpcap are lacking the function. For now, we always use the substitute version, since there's no easy way to determine whether or not we need it. Michael Brown 2006-03-24 16:43:12 +00:00
  • 7e61f38799 Moved "hello world" protocol implementation out of prototester.c and into the first standalong uIP-based protocol module. Michael Brown 2006-03-23 22:37:05 +00:00
  • 508dcdb303 Added container_of(). This seems about the best place to put it, since the definition of it uses offsetof(), and the two concepts are related. Michael Brown 2006-03-23 22:07:21 +00:00
  • 99032becce Pick up the gPXE include files when building prototester. Michael Brown 2006-03-23 21:35:20 +00:00
  • 2299435f1c Added prototype for inet_ntoa, even though we don't have the function yet, in order to allow prototester.c to compile. It might be worth changing all the uses of "%@" in printf to use "%s" and inet_ntoa instead, in order to improve the portability of our code. Michael Brown 2006-03-23 21:34:25 +00:00
  • a4a0244aa3 Moved uIP wrapper out of prototester.c and into proto/tcp.c. Michael Brown 2006-03-23 21:32:03 +00:00
  • 17c0253ca0 Add include/gpxe as a directory to scan. Michael Brown 2006-03-23 21:06:36 +00:00
  • 2bc7c746a6 Updated with "doxygen -u" from doxygen 1.4.4 Michael Brown 2006-03-23 20:39:26 +00:00
  • 05b284399e Moved old tcp.h to old_tcp.h, to avoid name clash with new (uIP-based) tcp.h. Michael Brown 2006-03-23 20:34:08 +00:00
  • af23ff8a24 Assertions are now handled via the POSIX-like <assert.h>. Michael Brown 2006-03-23 19:33:57 +00:00
  • 55497b3402 Added missing #endif Michael Brown 2006-03-23 19:23:25 +00:00
  • cb8e89de15 Added assert.h, with assert() defined (almost) as per POSIX, and linker_assert() defined as gPXE-specific. Michael Brown 2006-03-23 17:28:51 +00:00
  • 531371efa2 Removed to make way for the uIP-based tcp.c. Michael Brown 2006-03-23 16:59:25 +00:00
  • dde1c5ad18 Moved include/in.h to include/gpxe/in.h, so that it can be included by prototester. Michael Brown 2006-03-23 16:45:01 +00:00
  • eaf40883ff Add Makefile for hijack and prototester utilities. Michael Brown 2006-03-23 13:11:41 +00:00
  • 21c58729ae Add debug symbols to objects. (They will be stripped out of the final -Obinary build anyway, so it doesn't waste any space). Michael Brown 2006-03-23 13:09:29 +00:00
  • b2c94b32fc Make the application state a void *. Michael Brown 2006-03-23 13:08:06 +00:00
  • 218c26ff2b Can now also print data sent by the remote side. Michael Brown 2006-03-23 13:06:08 +00:00
  • 0d506a5c6a Now capable of sending "Hello world!" via TCP. Michael Brown 2006-03-23 12:25:28 +00:00
  • 911486fe41 Added basic http-specific option parsing Michael Brown 2006-03-22 22:35:32 +00:00
  • 5263a5abf4 Started adding structure to allow for separate protocol tests, with individual options. Michael Brown 2006-03-22 21:25:35 +00:00
  • c32e83ad8d Skeleton version: contains device driver (connecting to network via hijack daemon) and a functional but very ugly and very primitive wrapper around uIP. Michael Brown 2006-03-22 02:23:20 +00:00
  • bb37bd47f8 Added from uip-0.9/uip/uip_arp.[ch] Michael Brown 2006-03-22 02:14:55 +00:00
  • 417e896f0a Remove htons(); it is provided elsewhere in Etherboot Michael Brown 2006-03-22 01:25:43 +00:00
  • 1c7c24f21f Basic, functional-but-extremely-pessimal versions (taken from uip-0.9/unix/uip_arch.c). Michael Brown 2006-03-22 01:24:13 +00:00
  • c5a9c38606 Terminate cleanly on SIGINT or SIGHUP Michael Brown 2006-03-21 17:48:33 +00:00
  • e072baeb8c Use libpcap API to send/receive packets. Michael Brown 2006-03-21 16:50:25 +00:00
  • 4485df516c Basic structure in place: can daemonise, listen on a Unix domain socket, accept new connections, open a network interface using libpcap and forward (all) traffic. Michael Brown 2006-03-21 02:25:30 +00:00
  • 013ee958a1 These can come back when someone wants to support them Michael Brown 2006-03-17 14:16:05 +00:00
  • 7be870acd3 More purging Michael Brown 2006-03-17 14:14:36 +00:00
  • b2909e547d They can come back when they have someone to support them. Michael Brown 2006-03-17 14:13:09 +00:00
  • a2b15fd1fe GPXE code cleanup and purge. Michael Brown 2006-03-17 14:09:45 +00:00
  • cdf1511d3e Prefix semantics have changed Michael Brown 2006-03-16 19:28:38 +00:00
  • 0e611719d2 Add uip on HEAD; it's safe to build, since nothing links against it at the moment. Michael Brown 2006-03-16 19:18:12 +00:00
  • d08ce741a4 Build in gpxe Michael Brown 2006-03-16 19:09:31 +00:00
  • 0806436d99 Remove accidental duplicate arising from merge Michael Brown 2006-03-16 19:04:19 +00:00
  • 239579efcf Build under gpxe Michael Brown 2006-03-16 19:02:18 +00:00
  • d0777627c6 Back out duplication arising from the merge Michael Brown 2006-03-16 18:56:16 +00:00
  • c4f25b637c Fix to compile under gpxe Michael Brown 2006-03-16 18:54:57 +00:00
  • 4ee0e0f85e Merge from Etherboot 5.4 Michael Brown 2006-03-16 18:51:23 +00:00
  • 46e7bd5b52 Merge from Etherboot 5.4 Michael Brown 2006-03-16 18:44:31 +00:00
  • 7e0a7a2e08 Merge from Etherboot 5.4 Michael Brown 2006-03-16 18:30:54 +00:00
  • 28cefdccc4 Merge from Etherboot 5.4 Michael Brown 2006-03-16 18:30:46 +00:00
  • 9b18017296 Merge from Etherboot 5.4 Michael Brown 2006-03-16 18:15:48 +00:00
  • bb7394b041 Merge from Etherboot 5.4 Michael Brown 2006-03-16 17:59:51 +00:00
  • 708bbc43bc Merge from Etherboot 5.4 Michael Brown 2006-03-16 17:40:55 +00:00
  • 9c8a69b673 Merge from Etherboot 5.4 Michael Brown 2006-03-16 17:31:29 +00:00
  • 9b320c1ca4 Merge from Etherboot 5.4 Michael Brown 2006-03-16 17:11:36 +00:00
  • c3d5d01832 Merge from Etherboot 5.4 Michael Brown 2006-03-16 17:05:38 +00:00
  • 5d28bae0f1 Fix up building with gcc 4.0.1 / gas 2.16.91 Michael Brown 2006-01-17 01:47:41 +00:00
  • bd9d4e0bd7 Reorder functions to match the linux driver. No code changes apart from commenting one unused function out. George Baum 2005-07-11 19:26:12 +00:00
  • 4184dc5c6a Fix COMET TxUnderrun issue Timothy Legge 2005-06-17 20:11:10 +00:00
  • 9dc2515d7e no need for depending on build library ("blib") when make is invoked without arguments Geert Stappers 2005-06-14 20:16:03 +00:00
  • df9cbc23cc Added documentation and ASSERT() statements. Michael Brown 2005-06-06 12:01:19 +00:00
  • 33dbdda28e Allow data blocks to be less than sizeof ( struct buffer_free_block ) in size. (The restriction on the size of free blocks remains.) Michael Brown 2005-06-06 11:42:14 +00:00
  • 65a731bed5 Reduce BACKOFF_LIMIT to a hopefully more reasonable value. Michael Brown 2005-06-02 10:16:05 +00:00
  • 7d8adc25bc In multicast operation, the client still has a unicast local port. Michael Brown 2005-06-02 10:15:40 +00:00
  • cbed5ed9ad Always include code for sending multicast packets. Michael Brown 2005-06-02 10:14:26 +00:00
  • 95967adc8c Jan Kiszka provided a patch for the smc9000 for missing phy-setup Timothy Legge 2005-06-02 01:26:37 +00:00
  • f242f56a73 Rewritten to use the functions in tftpcore.c. Works with a non-multicast TFTP server (i.e. the fallback path works fine). Michael Brown 2005-06-01 22:26:48 +00:00
  • be7897523d IGMP protocol now uses the generic background protocol mechanism. Michael Brown 2005-06-01 22:22:14 +00:00
  • 85a380530d Add generic mechanism for background protocols (e.g. ARP, IGMP) Michael Brown 2005-06-01 22:18:38 +00:00
  • e0cf144218 IGMP functions separated out from nic.c Michael Brown 2005-06-01 21:18:31 +00:00
  • 698e87277f Don't try to fetch another packet once we've reached EOF. Michael Brown 2005-06-01 19:13:06 +00:00
  • fa17bf0917 Make rfc2090 multicast option optional Michael Brown 2005-06-01 19:10:25 +00:00
  • 55771a462d Re-order functions for more logical documentation Michael Brown 2005-06-01 18:02:24 +00:00
  • f2198e8a65 Don't choke on duplicate OACK packets. Make await_tftp() static and create tftp_get() for fetching the next TFTP packet instead. Michael Brown 2005-06-01 18:00:01 +00:00
  • 378e922f8f Remove prototypes for obsolete functions Michael Brown 2005-06-01 17:57:27 +00:00
  • c8d6c4864f Doxygenation Michael Brown 2005-06-01 13:28:07 +00:00
  • 53a4436d94 TFTP upgraded to use a core function library (in tftpcore.c) which will be shared between TFTP, TFTM and MTFTP protocols. Michael Brown 2005-06-01 13:13:05 +00:00
  • 0b048e9cfb Now have enough functions to implement a standard TFTP client in around 50 lines of code. Michael Brown 2005-06-01 11:01:59 +00:00
  • 7d63b39e3d Add tftp_ack() and tftp_error() Michael Brown 2005-05-31 15:21:33 +00:00
  • 8ae966720d First version Michael Brown 2005-05-31 14:47:58 +00:00
  • 5265975334 patch of Helge Wagner Geert Stappers 2005-05-31 11:32:45 +00:00
  • 59582db29d Documented remainder of PXE TFTP API calls. Michael Brown 2005-05-27 16:47:45 +00:00
  • 92f1a5c677 Documented the purpose of the two timeout fields in s_PXENV_TFTP_READ_FILE. Michael Brown 2005-05-27 16:47:16 +00:00
  • 2ffc960e67 Added diatribe about the mismatch between the PXE spec and the TFTP protocol, and how we will work around it. Michael Brown 2005-05-27 11:44:46 +00:00
  • 97675c7129 Refer to implementation note on IP routing. Michael Brown 2005-05-27 11:37:09 +00:00
  • 6e74dc3460 Added implementation note on IP routing. Michael Brown 2005-05-27 11:36:36 +00:00
  • aeb984a1a9 Thoughts on how to coerce the PXE TFTP API into something resembling the TFTP protocol. Michael Brown 2005-05-26 18:52:12 +00:00
  • 572483cc59 Separate out the documentation of the PXE API from the documentation of the Etherboot implementation (i.e. don't do what Intel did). Michael Brown 2005-05-24 17:00:55 +00:00
  • 2579442865 Remove the annoying #include lines Michael Brown 2005-05-24 00:25:50 +00:00
  • 0e494614b5 Some versions of doxygen seem to object to "@ret None" or similar. Michael Brown 2005-05-24 00:11:25 +00:00
  • 7b423c0988 Fixes for gcc >= 3.2 from Georg Baum Michael Brown 2005-05-23 23:47:54 +00:00
  • 809933d9f7 Split PXE code into preboot, udp, tftp, undi and loader units. PXE code now compiles without errors (though it won't actually work). Michael Brown 2005-05-23 23:32:56 +00:00
  • 13de295b56 Added interface/pxe directory Michael Brown 2005-05-23 23:31:59 +00:00
  • 079b5d5527 Moved pxe_loader.c to pxe_image.c to avoid name clash Michael Brown 2005-05-23 23:05:45 +00:00
  • 8fcb6448bd Moved pxe_errors.c to pxe/interface/ Michael Brown 2005-05-23 22:47:21 +00:00
  • 8becf0f65f Rearranging PXE header files Michael Brown 2005-05-23 22:45:48 +00:00
  • c4c05bbbf7 the uncontroversal gcc 4.0 compilation fixes George Baum 2005-05-23 19:30:37 +00:00
  • fd49648a35 Separated out the Etherboot-specific parts of the old pxe.h header. Michael Brown 2005-05-23 16:37:05 +00:00
  • b9c7468dea Added PXENV+ and !PXE structures, and the loader API. Michael Brown 2005-05-23 16:26:49 +00:00
  • 442ba12b9e Finished documenting the UNDI API. Michael Brown 2005-05-23 13:57:23 +00:00