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