people/lynusvaz/gpxe.git
14 years agoAdd --enable-show-ips; it's useful when using the profiling code.
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.

14 years agoAdded iBFT construction to iSCSI boot test
Michael Brown [Sun, 27 Aug 2006 23:54:20 +0000 (23:54 +0000)]
Added iBFT construction to iSCSI boot test

14 years agoAdded generic function for calculating ACPI table checksum
Michael Brown [Sun, 27 Aug 2006 22:02:08 +0000 (22:02 +0000)]
Added generic function for calculating ACPI table checksum

14 years agoDoes anyone still use 9600 baud?
Michael Brown [Sun, 27 Aug 2006 01:39:11 +0000 (01:39 +0000)]
Does anyone still use 9600 baud?

14 years agoCorrect option number for DHCP_DNS_SERVERS, and add it to the request
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.

14 years agoAdded support for INT 13,15; NTLDR calls it (though it may not
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).

14 years agoAdded support for INT 13,15; NTLDR calls it (though it may not
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).

14 years agoUse TEXT16_CODE() rather than manually specifying ".code16" etc, since
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.

14 years agoAlways update the PnP checksum, even if the ident string is not being set.
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.

14 years agoAdded basic profiling support
Michael Brown [Thu, 24 Aug 2006 16:22:56 +0000 (16:22 +0000)]
Added basic profiling support

14 years agoBasic instructions to get qemu running
Michael Brown [Thu, 24 Aug 2006 13:55:43 +0000 (13:55 +0000)]
Basic instructions to get qemu running

14 years agoTowards making KEEP_IT_REAL work again.
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.

14 years agoQuick utility to pad floppy disk images for vmware/qemu
Michael Brown [Wed, 23 Aug 2006 03:07:41 +0000 (03:07 +0000)]
Quick utility to pad floppy disk images for vmware/qemu

14 years agoFixed a bug in the TCP state machine. Added a transition from ESTABLISHED to LAST_ACK...
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

14 years agoIP6 support
Nikhil Chandru Rao [Sat, 19 Aug 2006 15:58:22 +0000 (15:58 +0000)]
IP6 support

14 years agoAdded RX tracing as well.
Michael Brown [Wed, 16 Aug 2006 00:15:40 +0000 (00:15 +0000)]
Added RX tracing as well.

14 years agoAdded debug strings.
Michael Brown [Wed, 16 Aug 2006 00:05:24 +0000 (00:05 +0000)]
Added debug strings.

14 years agoRemove old-style debug message
Michael Brown [Wed, 16 Aug 2006 00:02:43 +0000 (00:02 +0000)]
Remove old-style debug message

14 years agoAdded some minimal debugging for transmitted PDUs.
Michael Brown [Tue, 15 Aug 2006 23:56:18 +0000 (23:56 +0000)]
Added some minimal debugging for transmitted PDUs.

14 years agoTake out unused cleanup() function so that we can remove the link
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.

14 years agoRemoved TAGGED_IMAGE from the default build; NBI has been broken for ages.
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.

14 years agoRemoved obsolete print_config()
Michael Brown [Mon, 14 Aug 2006 22:45:22 +0000 (22:45 +0000)]
Removed obsolete print_config()

14 years agoRemoved DNS from the default configuration; it hasn't been updated to
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.

14 years agoKill off poll_interruptions(); it is lethal when we're acting as a PXE
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.

14 years agoBug fixes to the HTTP protocol code
Derek Pryor [Sat, 12 Aug 2006 19:05:08 +0000 (19:05 +0000)]
Bug fixes to the HTTP protocol code

14 years agoBug 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

14 years agoPrint net device name when making request.
Michael Brown [Fri, 11 Aug 2006 18:49:58 +0000 (18:49 +0000)]
Print net device name when making request.

14 years agoAdded cmdl_show proof-of-concept
Michael Brown [Fri, 11 Aug 2006 18:40:27 +0000 (18:40 +0000)]
Added cmdl_show proof-of-concept

14 years agoAdded "hostname" and "ip" as sample settings
Michael Brown [Fri, 11 Aug 2006 18:29:20 +0000 (18:29 +0000)]
Added "hostname" and "ip" as sample settings

14 years agoAdded ipv4 configuration type
Michael Brown [Fri, 11 Aug 2006 18:22:41 +0000 (18:22 +0000)]
Added ipv4 configuration type

14 years agoAdd string configuration type
Michael Brown [Fri, 11 Aug 2006 18:16:57 +0000 (18:16 +0000)]
Add string configuration type

14 years agoFail gracefully when set_dhcp_option() is called with options==NULL.
Michael Brown [Fri, 11 Aug 2006 18:16:34 +0000 (18:16 +0000)]
Fail gracefully when set_dhcp_option() is called with options==NULL.

14 years agoAdded basic infrastructure for manipulating settings.
Michael Brown [Fri, 11 Aug 2006 18:00:22 +0000 (18:00 +0000)]
Added basic infrastructure for manipulating settings.

14 years agoRemoving because of conflict with new HTTP protocol
Derek Pryor [Fri, 11 Aug 2006 14:13:58 +0000 (14:13 +0000)]
Removing because of conflict with new HTTP protocol

14 years agoNew HTTP protocol and test code
Derek Pryor [Fri, 11 Aug 2006 14:13:02 +0000 (14:13 +0000)]
New HTTP protocol and test code

14 years agocommand->data_{in,out} are now userptr_t, so it is invalid to compare
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.

14 years agoFixed variable name in assertion
Michael Brown [Thu, 10 Aug 2006 17:09:48 +0000 (17:09 +0000)]
Fixed variable name in assertion

14 years agoAdded missing packed attribute
Michael Brown [Thu, 10 Aug 2006 00:10:09 +0000 (00:10 +0000)]
Added missing packed attribute

14 years agoAdded description for a basic ACPI table, taken from
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.

14 years agoBoth the !PXE and PXENV+ structures must be paragraph-aligned
Michael Brown [Wed, 9 Aug 2006 18:22:25 +0000 (18:22 +0000)]
Both the !PXE and PXENV+ structures must be paragraph-aligned

14 years agoTowards an RFC2988-compliant timer.
Michael Brown [Wed, 9 Aug 2006 15:54:17 +0000 (15:54 +0000)]
Towards an RFC2988-compliant timer.

14 years agoDon't call stop_timer() from within the timer expiry callback; it's
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.

14 years agoChanged the TCP state machines behaviour in the ESTABLISHED state
Nikhil Chandru Rao [Wed, 9 Aug 2006 15:04:26 +0000 (15:04 +0000)]
Changed the TCP state machines behaviour in the ESTABLISHED state

14 years agoTemporarily work around the bug when port numbers are reused between
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.

14 years agoCorrect some packet ownership and freeing bugs.
Michael Brown [Wed, 9 Aug 2006 14:27:07 +0000 (14:27 +0000)]
Correct some packet ownership and freeing bugs.

14 years agoout_flags was being set but never used.
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.

14 years agoPort the UDP port allocation code to TCP
Michael Brown [Wed, 9 Aug 2006 12:08:20 +0000 (12:08 +0000)]
Port the UDP port allocation code to TCP

14 years agoRemove some of the confusion surrounding the amount to strip off from
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().

14 years agoiphdr->hlen includes the IP header, so truncate packet *before*
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.

14 years agoRemove _PROTOCOL macros for gcc 3.2 compatibility
Marty Connor [Wed, 9 Aug 2006 04:42:14 +0000 (04:42 +0000)]
Remove _PROTOCOL macros for gcc 3.2 compatibility

14 years agoMake VERSION_MAJOR for gPXE be 0
Marty Connor [Wed, 9 Aug 2006 03:43:41 +0000 (03:43 +0000)]
Make VERSION_MAJOR for gPXE be 0

14 years agoCorrected documentation
Michael Brown [Wed, 9 Aug 2006 03:25:11 +0000 (03:25 +0000)]
Corrected documentation

14 years agoRemoved obsolete line merged in with the cmdline stuff
Michael Brown [Wed, 9 Aug 2006 03:22:29 +0000 (03:22 +0000)]
Removed obsolete line merged in with the cmdline stuff

14 years agoDo no evil. :)
Michael Brown [Wed, 9 Aug 2006 03:21:02 +0000 (03:21 +0000)]
Do no evil.  :)

14 years agoAttempt a PXE NBP boot as the TFTP test.
Michael Brown [Wed, 9 Aug 2006 03:00:11 +0000 (03:00 +0000)]
Attempt a PXE NBP boot as the TFTP test.

14 years agoImplement enough of PXENV_GET_CACHED_INFO to support pxelinux.
Michael Brown [Wed, 9 Aug 2006 02:59:19 +0000 (02:59 +0000)]
Implement enough of PXENV_GET_CACHED_INFO to support pxelinux.

14 years agoAdded pxe_netdev; a slight hack for now, but will need to be done
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.

14 years agoDerive xid dynamically from the netdev, so that we can call
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

14 years agoAborted
Michael Brown [Wed, 9 Aug 2006 02:37:05 +0000 (02:37 +0000)]
Aborted

14 years agoMerge of Fredrik Hultin command_line
Marty Connor [Wed, 9 Aug 2006 02:30:35 +0000 (02:30 +0000)]
Merge of Fredrik Hultin command_line

14 years agoAdd a couple of small but vital parts to PXENV_UDP_WRITE.
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.

14 years agoClarified packet ownership transfer between a few functions.
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.

14 years agoNote to self: learn to count.
Michael Brown [Wed, 9 Aug 2006 00:56:07 +0000 (00:56 +0000)]
Note to self: learn to count.

14 years agoAdded missing __from_text16()s when passing pointers to PXE NBP.
Michael Brown [Wed, 9 Aug 2006 00:39:21 +0000 (00:39 +0000)]
Added missing __from_text16()s when passing pointers to PXE NBP.

14 years agoAllow linking by converting functions to stubs
Michael Brown [Wed, 9 Aug 2006 00:25:29 +0000 (00:25 +0000)]
Allow linking by converting functions to stubs

14 years agoAllow linking by converting all functions to stubs
Michael Brown [Wed, 9 Aug 2006 00:22:28 +0000 (00:22 +0000)]
Allow linking by converting all functions to stubs

14 years agopxe_int_1a is needed by pxe_call.c
Michael Brown [Wed, 9 Aug 2006 00:16:57 +0000 (00:16 +0000)]
pxe_int_1a is needed by pxe_call.c

14 years agoAdded TFTP test code (currently just dumps file to console).
Michael Brown [Wed, 9 Aug 2006 00:09:29 +0000 (00:09 +0000)]
Added TFTP test code (currently just dumps file to console).

14 years agoInitial (untested) implementation of TFTP over the new UDP API.
Michael Brown [Tue, 8 Aug 2006 23:45:52 +0000 (23:45 +0000)]
Initial (untested) implementation of TFTP over the new UDP API.

14 years agoThe prototype for strcasecmp() is apparently in strings.h.
Michael Brown [Tue, 8 Aug 2006 22:52:16 +0000 (22:52 +0000)]
The prototype for strcasecmp() is apparently in strings.h.

14 years agoChanged ipv4_dump() to consume only one line.
Nikhil Chandru Rao [Tue, 8 Aug 2006 22:26:35 +0000 (22:26 +0000)]
Changed ipv4_dump() to consume only one line.

14 years agoCorrected bugs in the TCP logic. There might be a few more which need to be taken...
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.

14 years agoAdded some TFTP definitions for use with the new UDP API.
Michael Brown [Tue, 8 Aug 2006 22:01:16 +0000 (22:01 +0000)]
Added some TFTP definitions for use with the new UDP API.

14 years agoAdded (not yet tested) PXE API entry point and support functions.
Michael Brown [Tue, 8 Aug 2006 20:43:33 +0000 (20:43 +0000)]
Added (not yet tested) PXE API entry point and support functions.

14 years agoUpdate to match the daft capitalisation in the actual PXE spec
Michael Brown [Tue, 8 Aug 2006 20:43:05 +0000 (20:43 +0000)]
Update to match the daft capitalisation in the actual PXE spec

14 years agogcc3 compatibility: removed ARP_NET_PROTOCOL().
Michael Brown [Tue, 8 Aug 2006 17:44:25 +0000 (17:44 +0000)]
gcc3 compatibility: removed ARP_NET_PROTOCOL().

14 years agoRemoved some bugs in TCP
Nikhil Chandru Rao [Tue, 8 Aug 2006 03:42:30 +0000 (03:42 +0000)]
Removed some bugs in TCP

14 years agoAdded retransmissions to TCP
Nikhil Chandru Rao [Mon, 7 Aug 2006 18:52:26 +0000 (18:52 +0000)]
Added retransmissions to TCP

14 years agoAdd very, very quick and dirty hello world test
Michael Brown [Mon, 7 Aug 2006 18:49:10 +0000 (18:49 +0000)]
Add very, very quick and dirty hello world test

14 years agoFix routing when a gateway exists. This should probably be split into
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.

14 years agoSet a NUL terminator before calling inet_aton.
Michael Brown [Mon, 7 Aug 2006 17:50:41 +0000 (17:50 +0000)]
Set a NUL terminator before calling inet_aton.

14 years agoRemove unused attribute from __table macros; the tables are no longer
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.

14 years agoAdd iSCSI to the DHCP tests.
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.

14 years agoMinor corrections
Nikhil Chandru Rao [Mon, 7 Aug 2006 07:37:23 +0000 (07:37 +0000)]
Minor corrections

14 years agoConvert some trivial functions to static inlines.
Michael Brown [Thu, 3 Aug 2006 23:42:03 +0000 (23:42 +0000)]
Convert some trivial functions to static inlines.

14 years agoMake the UDP senddata() methods return a status code.
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.

14 years agoUpdated PXE UDP implementation to use the new Etherboot UDP API.
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.)

14 years agoMoved the basic struct sockaddr out of in.h.
Michael Brown [Wed, 2 Aug 2006 00:06:30 +0000 (00:06 +0000)]
Moved the basic struct sockaddr out of in.h.

14 years agoAdded features that will be required for PXE UDP support.
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.

14 years agoTCP support
Nikhil Chandru Rao [Tue, 1 Aug 2006 20:46:50 +0000 (20:46 +0000)]
TCP support

14 years agoMinor changes to the network layer rx() functions
Nikhil Chandru Rao [Tue, 1 Aug 2006 20:27:26 +0000 (20:27 +0000)]
Minor changes to the network layer rx() functions

14 years agoRemove unused functions.
Michael Brown [Tue, 1 Aug 2006 14:26:02 +0000 (14:26 +0000)]
Remove unused functions.

14 years agoRenamed trans_{rx,tx}() to tcpip_{rx,tx}(), since they are specific to
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).

14 years agoRenamed tcpip_if.[ch] to tcpip.[ch]
Michael Brown [Tue, 1 Aug 2006 14:18:09 +0000 (14:18 +0000)]
Renamed tcpip_if.[ch] to tcpip.[ch]

14 years agoWe shouldn't need to allocate a TX packet buffer when calling newdata();
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.

14 years agoRequest bootfile name; it doesn't seem to be automatically supplied by
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.

14 years agoAccept '%i' as a synonym for '%d'.
Michael Brown [Tue, 25 Jul 2006 14:33:20 +0000 (14:33 +0000)]
Accept '%i' as a synonym for '%d'.

14 years agoPrint out "DHCP..." message just in case people think the demo is sitting
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.

14 years agoAllow an AoE boot to be directed via DHCP, so that we have a proof of
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.

14 years agoRequest Etherboot encapsulated options.
Michael Brown [Thu, 20 Jul 2006 14:14:41 +0000 (14:14 +0000)]
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.