Michael Brown [Mon, 28 Aug 2006 01:58:52 +0000 (01:58 +0000)]
Document requisite patch for qemu
Michael Brown [Mon, 28 Aug 2006 01:54:59 +0000 (01:54 +0000)]
Add --enable-show-ips; it's useful when using the profiling code.
Michael Brown [Sun, 27 Aug 2006 23:54:20 +0000 (23:54 +0000)]
Added iBFT construction to iSCSI boot test
Michael Brown [Sun, 27 Aug 2006 22:02:08 +0000 (22:02 +0000)]
Added generic function for calculating ACPI table checksum
Michael Brown [Sun, 27 Aug 2006 01:39:11 +0000 (01:39 +0000)]
Does anyone still use 9600 baud?
Michael Brown [Sun, 27 Aug 2006 01:37:58 +0000 (01:37 +0000)]
Correct option number for DHCP_DNS_SERVERS, and add it to the request
list.
Michael Brown [Sun, 27 Aug 2006 01:22:01 +0000 (01:22 +0000)]
Added support for INT 13,15; NTLDR calls it (though it may not
actually do anything with the result, since it carried on using us
even when we returned failure).
Michael Brown [Sat, 26 Aug 2006 23:42:02 +0000 (23:42 +0000)]
Added support for INT 13,15; NTLDR calls it (though it may not
actually do anything with the result, since it carried on using us
even when we returned failure).
Michael Brown [Thu, 24 Aug 2006 18:43:28 +0000 (18:43 +0000)]
Use TEXT16_CODE() rather than manually specifying ".code16" etc, since
our manual ".code32" will break a KEEP_IT_REAL build.
Michael Brown [Thu, 24 Aug 2006 17:56:46 +0000 (17:56 +0000)]
Always update the PnP checksum, even if the ident string is not being set.
Michael Brown [Thu, 24 Aug 2006 16:22:56 +0000 (16:22 +0000)]
Added basic profiling support
Michael Brown [Thu, 24 Aug 2006 13:55:43 +0000 (13:55 +0000)]
Basic instructions to get qemu running
Michael Brown [Thu, 24 Aug 2006 13:18:05 +0000 (13:18 +0000)]
Towards making KEEP_IT_REAL work again.
Fix bug that caused over-allocation of .text16 and .data16 memory areas
by a factor of 16.
Michael Brown [Wed, 23 Aug 2006 03:07:41 +0000 (03:07 +0000)]
Quick utility to pad floppy disk images for vmware/qemu
Nikhil Chandru Rao [Sat, 19 Aug 2006 16:14:53 +0000 (16:14 +0000)]
Fixed a bug in the TCP state machine. Added a transition from ESTABLISHED to LAST_ACK on receiving a FIN,ACK
Nikhil Chandru Rao [Sat, 19 Aug 2006 15:58:22 +0000 (15:58 +0000)]
IP6 support
Michael Brown [Wed, 16 Aug 2006 00:15:40 +0000 (00:15 +0000)]
Added RX tracing as well.
Michael Brown [Wed, 16 Aug 2006 00:05:24 +0000 (00:05 +0000)]
Added debug strings.
Michael Brown [Wed, 16 Aug 2006 00:02:43 +0000 (00:02 +0000)]
Remove old-style debug message
Michael Brown [Tue, 15 Aug 2006 23:56:18 +0000 (23:56 +0000)]
Added some minimal debugging for transmitted PDUs.
Michael Brown [Mon, 14 Aug 2006 22:52:35 +0000 (22:52 +0000)]
Take out unused cleanup() function so that we can remove the link
dependency on dev.o.
Michael Brown [Mon, 14 Aug 2006 22:46:50 +0000 (22:46 +0000)]
Removed TAGGED_IMAGE from the default build; NBI has been broken for ages.
Michael Brown [Mon, 14 Aug 2006 22:45:22 +0000 (22:45 +0000)]
Removed obsolete print_config()
Michael Brown [Mon, 14 Aug 2006 22:42:56 +0000 (22:42 +0000)]
Removed DNS from the default configuration; it hasn't been updated to
the new UDP API yet.
Michael Brown [Mon, 14 Aug 2006 22:29:51 +0000 (22:29 +0000)]
Kill off poll_interruptions(); it is lethal when we're acting as a PXE
stack or INT 13 emulator etc.
Derek Pryor [Sat, 12 Aug 2006 19:05:08 +0000 (19:05 +0000)]
Bug fixes to the HTTP protocol code
Derek Pryor [Sat, 12 Aug 2006 18:54:59 +0000 (18:54 +0000)]
Bug fixes to the HTTP protocol code
Michael Brown [Fri, 11 Aug 2006 18:49:58 +0000 (18:49 +0000)]
Print net device name when making request.
Michael Brown [Fri, 11 Aug 2006 18:40:27 +0000 (18:40 +0000)]
Added cmdl_show proof-of-concept
Michael Brown [Fri, 11 Aug 2006 18:29:20 +0000 (18:29 +0000)]
Added "hostname" and "ip" as sample settings
Michael Brown [Fri, 11 Aug 2006 18:22:41 +0000 (18:22 +0000)]
Added ipv4 configuration type
Michael Brown [Fri, 11 Aug 2006 18:16:57 +0000 (18:16 +0000)]
Add string configuration type
Michael Brown [Fri, 11 Aug 2006 18:16:34 +0000 (18:16 +0000)]
Fail gracefully when set_dhcp_option() is called with options==NULL.
Michael Brown [Fri, 11 Aug 2006 18:00:22 +0000 (18:00 +0000)]
Added basic infrastructure for manipulating settings.
Derek Pryor [Fri, 11 Aug 2006 14:13:58 +0000 (14:13 +0000)]
Removing because of conflict with new HTTP protocol
Derek Pryor [Fri, 11 Aug 2006 14:13:02 +0000 (14:13 +0000)]
New HTTP protocol and test code
Michael Brown [Thu, 10 Aug 2006 17:35:14 +0000 (17:35 +0000)]
command->data_{in,out} are now userptr_t, so it is invalid to compare
against NULL.
Michael Brown [Thu, 10 Aug 2006 17:09:48 +0000 (17:09 +0000)]
Fixed variable name in assertion
Michael Brown [Thu, 10 Aug 2006 00:10:09 +0000 (00:10 +0000)]
Added missing packed attribute
Michael Brown [Thu, 10 Aug 2006 00:09:31 +0000 (00:09 +0000)]
Added description for a basic ACPI table, taken from
include/linux/acpi.h.
Michael Brown [Wed, 9 Aug 2006 18:22:25 +0000 (18:22 +0000)]
Both the !PXE and PXENV+ structures must be paragraph-aligned
Michael Brown [Wed, 9 Aug 2006 15:54:17 +0000 (15:54 +0000)]
Towards an RFC2988-compliant timer.
Michael Brown [Wed, 9 Aug 2006 15:50:20 +0000 (15:50 +0000)]
Don't call stop_timer() from within the timer expiry callback; it's
already stopped.
Don't call start_timer() when sending a dataless ACK. This may or may
not be the right thing to do; I can't tell.
Back out broken "send ACK only if required to" logic temporarily.
Nikhil Chandru Rao [Wed, 9 Aug 2006 15:04:26 +0000 (15:04 +0000)]
Changed the TCP state machines behaviour in the ESTABLISHED state
Michael Brown [Wed, 9 Aug 2006 14:44:58 +0000 (14:44 +0000)]
Temporarily work around the bug when port numbers are reused between
subsequent runs.
Michael Brown [Wed, 9 Aug 2006 14:27:07 +0000 (14:27 +0000)]
Correct some packet ownership and freeing bugs.
Michael Brown [Wed, 9 Aug 2006 13:35:03 +0000 (13:35 +0000)]
out_flags was being set but never used.
Use just random() to allocate initial sequence numbers; the previous
algorithm ended up with a high probability of zeroing the high word.
Michael Brown [Wed, 9 Aug 2006 12:08:20 +0000 (12:08 +0000)]
Port the UDP port allocation code to TCP
Michael Brown [Wed, 9 Aug 2006 12:01:09 +0000 (12:01 +0000)]
Remove some of the confusion surrounding the amount to strip off from
a TCP packet before passing to newdata().
Michael Brown [Wed, 9 Aug 2006 11:52:53 +0000 (11:52 +0000)]
iphdr->hlen includes the IP header, so truncate packet *before*
stripping the header. Also fix an htons/ntohs confusion.
Marty Connor [Wed, 9 Aug 2006 04:42:14 +0000 (04:42 +0000)]
Remove _PROTOCOL macros for gcc 3.2 compatibility
Marty Connor [Wed, 9 Aug 2006 03:43:41 +0000 (03:43 +0000)]
Make VERSION_MAJOR for gPXE be 0
Michael Brown [Wed, 9 Aug 2006 03:25:11 +0000 (03:25 +0000)]
Corrected documentation
Michael Brown [Wed, 9 Aug 2006 03:22:29 +0000 (03:22 +0000)]
Removed obsolete line merged in with the cmdline stuff
Michael Brown [Wed, 9 Aug 2006 03:21:02 +0000 (03:21 +0000)]
Do no evil. :)
Michael Brown [Wed, 9 Aug 2006 03:00:11 +0000 (03:00 +0000)]
Attempt a PXE NBP boot as the TFTP test.
Michael Brown [Wed, 9 Aug 2006 02:59:19 +0000 (02:59 +0000)]
Implement enough of PXENV_GET_CACHED_INFO to support pxelinux.
Michael Brown [Wed, 9 Aug 2006 02:58:27 +0000 (02:58 +0000)]
Added pxe_netdev; a slight hack for now, but will need to be done
properly for the PXE UNDI API anyway.
Michael Brown [Wed, 9 Aug 2006 02:56:40 +0000 (02:56 +0000)]
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.
Expose the functions required by pxe_preboot.c
Michael Brown [Wed, 9 Aug 2006 02:37:05 +0000 (02:37 +0000)]
Aborted
Marty Connor [Wed, 9 Aug 2006 02:30:35 +0000 (02:30 +0000)]
Merge of Fredrik Hultin command_line
Michael Brown [Wed, 9 Aug 2006 01:57:02 +0000 (01:57 +0000)]
Add a couple of small but vital parts to PXENV_UDP_WRITE.
Michael Brown [Wed, 9 Aug 2006 01:24:32 +0000 (01:24 +0000)]
Clarified packet ownership transfer between a few functions.
Added a large number of missing calls to free_pkb(). In the case of UDP,
no received packets were ever freed, which lead to memory exhaustion
remarkably quickly once pxelinux started up.
In general, any function with _rx() in its name which accepts a pk_buff
*must* either call free_pkb() or pass the pkb to another _rx() function
(e.g. the next layer up the stack). Since the UDP (and TCP) layers don't
pass packet buffers up to the higher-layer protocols (the
"applications"), they must free the packet buffer after calling the
application's newdata() method.
Michael Brown [Wed, 9 Aug 2006 00:56:07 +0000 (00:56 +0000)]
Note to self: learn to count.
Michael Brown [Wed, 9 Aug 2006 00:39:21 +0000 (00:39 +0000)]
Added missing __from_text16()s when passing pointers to PXE NBP.
Michael Brown [Wed, 9 Aug 2006 00:25:29 +0000 (00:25 +0000)]
Allow linking by converting functions to stubs
Michael Brown [Wed, 9 Aug 2006 00:22:28 +0000 (00:22 +0000)]
Allow linking by converting all functions to stubs
Michael Brown [Wed, 9 Aug 2006 00:16:57 +0000 (00:16 +0000)]
pxe_int_1a is needed by pxe_call.c
Michael Brown [Wed, 9 Aug 2006 00:09:29 +0000 (00:09 +0000)]
Added TFTP test code (currently just dumps file to console).
Michael Brown [Tue, 8 Aug 2006 23:45:52 +0000 (23:45 +0000)]
Initial (untested) implementation of TFTP over the new UDP API.
Michael Brown [Tue, 8 Aug 2006 22:52:16 +0000 (22:52 +0000)]
The prototype for strcasecmp() is apparently in strings.h.
Nikhil Chandru Rao [Tue, 8 Aug 2006 22:26:35 +0000 (22:26 +0000)]
Changed ipv4_dump() to consume only one line.
Nikhil Chandru Rao [Tue, 8 Aug 2006 22:25:20 +0000 (22:25 +0000)]
Corrected bugs in the TCP logic. There might be a few more which need to be taken care of.
Michael Brown [Tue, 8 Aug 2006 22:01:16 +0000 (22:01 +0000)]
Added some TFTP definitions for use with the new UDP API.
Michael Brown [Tue, 8 Aug 2006 20:43:33 +0000 (20:43 +0000)]
Added (not yet tested) PXE API entry point and support functions.
Michael Brown [Tue, 8 Aug 2006 20:43:05 +0000 (20:43 +0000)]
Update to match the daft capitalisation in the actual PXE spec
Michael Brown [Tue, 8 Aug 2006 17:44:25 +0000 (17:44 +0000)]
gcc3 compatibility: removed ARP_NET_PROTOCOL().
Nikhil Chandru Rao [Tue, 8 Aug 2006 03:42:30 +0000 (03:42 +0000)]
Removed some bugs in TCP
Nikhil Chandru Rao [Mon, 7 Aug 2006 18:52:26 +0000 (18:52 +0000)]
Added retransmissions to TCP
Michael Brown [Mon, 7 Aug 2006 18:49:10 +0000 (18:49 +0000)]
Add very, very quick and dirty hello world test
Michael Brown [Mon, 7 Aug 2006 17:51:19 +0000 (17:51 +0000)]
Fix routing when a gateway exists. This should probably be split into
a separate function.
Michael Brown [Mon, 7 Aug 2006 17:50:41 +0000 (17:50 +0000)]
Set a NUL terminator before calling inet_aton.
Michael Brown [Mon, 7 Aug 2006 17:06:31 +0000 (17:06 +0000)]
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 [Mon, 7 Aug 2006 16:48:24 +0000 (16:48 +0000)]
Add iSCSI to the DHCP tests.
Start updating iscsi.c to use Nikhil's TCP API.
Nikhil Chandru Rao [Mon, 7 Aug 2006 07:37:23 +0000 (07:37 +0000)]
Minor corrections
Michael Brown [Thu, 3 Aug 2006 23:42:03 +0000 (23:42 +0000)]
Convert some trivial functions to static inlines.
Michael Brown [Thu, 3 Aug 2006 23:10:14 +0000 (23:10 +0000)]
Make the UDP senddata() methods return a status code.
udp_connect() now follows the standard BSD sockets semantics and simply
sets the default address for outgoing packets; it doesn't filter incoming
packets.
Michael Brown [Wed, 2 Aug 2006 23:08:10 +0000 (23:08 +0000)]
Updated PXE UDP implementation to use the new Etherboot UDP API.
Updated PXE API dispatcher to use copy_{to,from}_user, and moved to
arch/i386 since the implementation is quite architecture-dependent.
(The individual PXE API calls can be largely
architecture-independent.)
Michael Brown [Wed, 2 Aug 2006 00:06:30 +0000 (00:06 +0000)]
Moved the basic struct sockaddr out of in.h.
Michael Brown [Wed, 2 Aug 2006 00:02:21 +0000 (00:02 +0000)]
Added features that will be required for PXE UDP support.
Introduced struct sockaddr_tcpip, to simplify code that deals with
both IPv4 and IPv6 addresses.
Reorganised parts of tcpip.c and udp.c.
Nikhil Chandru Rao [Tue, 1 Aug 2006 20:46:50 +0000 (20:46 +0000)]
TCP support
Nikhil Chandru Rao [Tue, 1 Aug 2006 20:27:26 +0000 (20:27 +0000)]
Minor changes to the network layer rx() functions
Michael Brown [Tue, 1 Aug 2006 14:26:02 +0000 (14:26 +0000)]
Remove unused functions.
Michael Brown [Tue, 1 Aug 2006 14:22:04 +0000 (14:22 +0000)]
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 [Tue, 1 Aug 2006 14:18:09 +0000 (14:18 +0000)]
Renamed tcpip_if.[ch] to tcpip.[ch]
Michael Brown [Tue, 1 Aug 2006 14:13:58 +0000 (14:13 +0000)]
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 [Tue, 1 Aug 2006 14:12:27 +0000 (14:12 +0000)]
Request bootfile name; it doesn't seem to be automatically supplied by
all servers.
Michael Brown [Tue, 25 Jul 2006 14:33:20 +0000 (14:33 +0000)]
Accept '%i' as a synonym for '%d'.
Michael Brown [Thu, 20 Jul 2006 14:20:11 +0000 (14:20 +0000)]
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 [Thu, 20 Jul 2006 14:15:23 +0000 (14:15 +0000)]
Allow an AoE boot to be directed via DHCP, so that we have a proof of
concept demo that actually does something useful.