Commit Graph

1316 Commits (66f7bcc785481c9dbd543a632ef173145f179a45)

Author SHA1 Message Date
Michael Brown 688eb60df4 Use int rather than short for bool; it will give more efficient code. 2006-12-18 16:48:09 +00:00
Michael Brown 2ed2b2efe8 Use iskey() and getchar() to interact with console, rather than object
abstraction.
2006-12-18 16:46:25 +00:00
Michael Brown a497e16767 The "increment MAC address by port number" hack applies only to EF1. 2006-12-18 15:28:34 +00:00
Michael Brown 530bbf7cca Print welcome banner in bold (which will come out as bright white text
on the BIOS console, or genuine bold font on a xterm "serial" console),
just to prove the concept of the ANSI escape sequence handling.
2006-12-18 01:31:33 +00:00
Michael Brown 8b3a4c9862 Add basic ANSI escape sequence support to BIOS console 2006-12-18 01:19:38 +00:00
Michael Brown 1cd45decc4 Added support for interpreting ANSI escape sequences on behalf of
non-ANSI-capable consoles.
2006-12-18 00:01:30 +00:00
Michael Brown 8a45f619a9 Fix building on gas versions that don't auto-insert addr32 prefixes 2006-12-12 19:07:18 +00:00
Michael Brown a39b111684 Automatically select between the "10" and "16" variants of command set,
based on the device size.
2006-12-12 18:54:35 +00:00
Michael Brown 3bd7e479a2 Catch SCSI errors, and work around the start-of-day CHECK CONDITION
that some targets send.
2006-12-12 18:18:54 +00:00
Michael Brown c0ec119ede Typo 2006-12-12 16:18:42 +00:00
Michael Brown 04c09823bd Request all the options that we're prepared to do anything with. 2006-12-12 16:18:20 +00:00
Michael Brown 240c9512bb Added "clear" command 2006-12-12 15:52:19 +00:00
Michael Brown 007ca97f25 Added clear_setting() 2006-12-12 15:49:46 +00:00
Michael Brown 0a26cd2933 Cope with system(""). 2006-12-08 17:07:12 +00:00
Michael Brown 69b9048e1a Added "priority" and "root-path" options 2006-12-08 16:30:14 +00:00
Michael Brown 72b1629cee Add placeholder ibft.h 2006-12-08 16:16:21 +00:00
Michael Brown 9aa3e10d7c Use root-path option (as per RFC 4173) rather than filename option to
determine iSCSI boot parameters.
2006-12-08 15:53:49 +00:00
Michael Brown a1af111a87 Also request root-path. 2006-12-08 15:49:46 +00:00
Michael Brown c343a3a8ee Including the final (char *)NULL is the responsibility of the caller
of execl().
2006-12-08 09:15:12 +00:00
Michael Brown a77b32aaf6 D'oh d'oh d'oh d'oh d'oh d'oh d'oh d'oh d'oh 2006-12-08 03:07:15 +00:00
Michael Brown cc697eeb1f Added "exit" back in as a standardised command. 2006-12-08 01:40:06 +00:00
Michael Brown 7de5d32ff5 cmdlinelib.c now calls system() rather than doing its own tokenisation
(which was extremely heavy on calls to malloc()).

Moved include/command.h to include/gpxe/command.h, since it's
gPXE-specific.
2006-12-08 01:26:11 +00:00
Michael Brown f3d817d512 Added execv() and system(). 2006-12-08 01:23:11 +00:00
Michael Brown e106a39ce8 Added missing include of stdint.h 2006-12-08 01:21:13 +00:00
Michael Brown 496563071d Added strdup() 2006-12-08 00:34:47 +00:00
Michael Brown 1e4a838f55 Added missing prototype 2006-12-08 00:21:08 +00:00
Michael Brown be0cd1cddd Added a functional version of getopt() and getopt_long(), ready for use
in our commands.
2006-12-07 03:54:57 +00:00
Michael Brown 29db66fb51 Add support for non-volatile stored options in the RTL8139 EEPROM. 2006-12-06 20:45:44 +00:00
Michael Brown 2863d1a1de inet_aton() has a non-traditional return value 2006-12-06 20:44:29 +00:00
Michael Brown 38ae94f8ce A cleaner method of handling login redirection; just use the existing
reconnection mechanism.  This avoids the problems of trying to reuse
the TCP connection structure before the old connection has cleanly exited.
2006-12-06 19:53:56 +00:00
Michael Brown d2bf7abe75 Added write support for three-wire devices (e.g. the RTL8139 EEPROM) 2006-12-06 19:51:58 +00:00
Michael Brown ac401f481d Verify data after writing 2006-12-06 18:51:31 +00:00
Michael Brown 5edb85c8b4 Work around another confused-by-RST bug 2006-12-06 18:09:33 +00:00
Michael Brown d88832ad7e Support PXE and iSCSI by default 2006-12-05 23:26:07 +00:00
Michael Brown b9f9230661 Work around another instance of the port re-use bug. 2006-12-05 23:15:35 +00:00
Michael Brown 8c3d09c564 Tweaked retry messages 2006-12-05 23:12:54 +00:00
Michael Brown 9600af14a3 Added debug messages 2006-12-05 22:53:49 +00:00
Michael Brown cc0b92652f Call closed() method only when the connection is genuinely in the
TCP_CLOSED state (i.e. after the final FIN/ACK exchange), and has been
removed from the list of TCP connections.
2006-12-05 22:53:28 +00:00
Michael Brown fcc70c9d60 Ensure that tcp_rx() always frees its received packet buffer. 2006-12-05 21:23:23 +00:00
Michael Brown 28c711b91d Killed off spurious <stdio.h> inclusion 2006-12-05 21:16:52 +00:00
Michael Brown 3fbfbad0f7 Avoid calling NULL methods! 2006-12-05 21:09:37 +00:00
Michael Brown 89bcb57201 Update ftp.c to work with Nikhil's TCP stack.
Remove the now-totally-obsolete sockaddr_in field from tcp.h.
2006-12-05 19:07:47 +00:00
Michael Brown a128b33b8b The VPD engine is broken and can't actually handle placing VPD
anywhere other than offset 0 within the EEPROM, so we have to put our
settings at 0x100 instead.
2006-12-05 17:56:13 +00:00
Michael Brown 4c3e0fede5 Adjust EEPROM/flash detection to fit expected manufacturing practice. 2006-12-05 16:00:06 +00:00
Michael Brown 6a91a03409 Added options listed in
http://www.microsoft.com/whdc/winlogo/hwrequirements.mspx as required
for iSCSI boot.  Note that options 204-206 are listed in the document
but don't seem to be defined anywhere on the web.
2006-12-05 15:40:28 +00:00
Michael Brown c6060a8fea Tidy up some more output. The command-line code needs some severe
overhauling, but this is not the time to do it.
2006-12-05 10:27:16 +00:00
Michael Brown e852f8e504 Slightly tidied up console messages. 2006-12-05 10:14:58 +00:00
Michael Brown cb883b3faf Change some debugging messages to use DBG() 2006-12-05 10:01:00 +00:00
Michael Brown 8bff0f0619 Avoid draining the keyboard buffer during gateA20_set(). It shouldn't
technically be necessary, because the "enable A20" command requires
only that the keyboard controller is ready to accept input (i.e. that
its input buffer is empty), and shouldn't also require that the
keyboard is ready to send output (i.e. that its output buffer is also
empty).  See http://www.smsc.com/main/tools/io-bios/42i.pdf section
3.1 ("Command Invocation") for a justification.

gateA20_set() is called on every real-mode transition (in case some
idiot piece of external code such as Intel's PXE stack decided it
would be fun to re-disable A20), so draining the keyboard buffer means
that we end up losing keypresses on some systems.  In particular, this
makes typing at the command line almost impossible, and causes
Etherboot to ignore Ctrl-Alt-Del.

We should really implement a gateA20_test() function to verify that
gate A20 has been correctly enabled, and think about adding other
commonly-used methods such as Fast Gate A20.
2006-12-05 09:45:39 +00:00
Michael Brown d041d74054 Tied NVO commands into the human-interactable settings code that I
completely forgot I'd written ages ago.
2006-12-05 02:40:03 +00:00
Michael Brown 6842dd3222 Handle TargetAddress 2006-12-05 01:41:32 +00:00
Michael Brown 67577556a2 Handle strings as complete units, instead of a byte at a time. 2006-12-05 01:08:56 +00:00
Michael Brown 3a7d762c1c Add iscsi_rx_buffered_data() and supporting infrastructure. 2006-12-05 00:39:05 +00:00
Michael Brown 16b81e442f Added more debug messages 2006-12-04 23:47:44 +00:00
Michael Brown d9f32726b4 Added quick and dirty commands for testing the new NVO code. 2006-12-04 23:40:35 +00:00
Michael Brown 6b45947a59 Added debug statements 2006-12-04 23:20:56 +00:00
Michael Brown 052ef6dc5a Added nvs_write(). This shares a lot of code in common with nvs_read();
this can probably be optimised down quite a lot.
2006-12-04 22:06:54 +00:00
Michael Brown ab4e1dba3f Added nvo_save() 2006-12-04 22:04:10 +00:00
Michael Brown cc9bcb99a0 Add the concept of a fragment list for non-volatile stored options. 2006-12-04 21:46:13 +00:00
Michael Brown f944737045 Fixed two logic errors that were cancelling each other out. 2006-12-04 21:12:52 +00:00
Michael Brown d62c83a350 Migrated etherfabric driver to using generic SPI layer. 2006-12-04 20:47:51 +00:00
Michael Brown 2d8d21fe74 Added the generic block-splitting code to nvs.c 2006-12-04 19:06:07 +00:00
Michael Brown 1961ba44e1 Added generic SPI protocol handler with read and write support. 2006-12-04 18:32:55 +00:00
Michael Brown 946967f09c Abstracted out part of the concept of an SPI device to a generalised NVS
device.

Separated the mechanisms of non-volatile storage access and non-volatile
stored options.
2006-12-04 18:23:06 +00:00
Michael Brown dc06c895fc Changed length parameter in SPI methods to be a byte length, rather than
a word length.
2006-12-04 16:09:59 +00:00
Michael Brown 931f94dca3 Generalised the SPI abstraction layer to also be able to handle interfaces
that don't provide the full flexibility of a bit-bashing interface.

Temporarily hacked rtl8139.c to use the new interface.
2006-12-04 15:36:51 +00:00
Michael Brown 2e41bfd268 Force syntax-checking on assertions even in non-asserting builds. 2006-12-04 15:09:57 +00:00
Michael Brown 3e0286dee3 Move ANSI C standard prototypes to stdlib.h; leave the gPXE-specific
function prototypes (e.g. malloc_dma()) in malloc.h.
2006-12-02 20:10:21 +00:00
Michael Brown 4cd56820ea Basic non-volatile storage support 2006-11-29 02:41:08 +00:00
Michael Brown 70d4b4f7cf Make the "drive number" option apply to iSCSI as well as AoE 2006-11-29 00:27:10 +00:00
Michael Brown 3234ef1b0b Merged changes from Solarflare 2006-11-28 13:25:23 +00:00
Michael Brown 74c41fac06 Create "username" and "password" DHCP options, ready for placing this
information in NVS.
2006-11-28 02:14:20 +00:00
Michael Brown 3f0b4d9ed8 Updated to use asynchronous operation model for iSCSI requests
Added CHAP authentication
2006-11-28 00:29:02 +00:00
Michael Brown 82342e0b8f Marked memcmp/strcmp as "pure" functions, to allow gcc to optimise
away code such as

  if ( strcmp ( some_string, "some_value" ) != 0 ) {
     DBG ( "Bad value received!" );
  }
2006-11-27 23:50:24 +00:00
Michael Brown c4677c7e73 Implemented realloc(), and changed the semantics of malloc(0) to allow
for realloc(0) being a valid way to free memory.
2006-11-24 16:51:18 +00:00
Michael Brown 6a18721ce8 Fixed off-by-one error 2006-11-22 04:54:17 +00:00
Michael Brown fdaddd969a Added "name" field to digest algorithms 2006-11-21 16:14:50 +00:00
Michael Brown d37f82509f Added debug statements.
Don't crash when called on an uninitialised chap structure; this
allows us to avoid extra checks within iscsi.c to make sure that we
receive the CHAP_XXX keys in a sensible order.
2006-11-21 16:14:17 +00:00
Michael Brown a9415d3da2 Reduce from 157 to 123 bytes 2006-11-21 16:01:12 +00:00
Michael Brown c5428303e4 Added generic CHAP layer, independent of iSCSI 2006-11-21 13:26:59 +00:00
Michael Brown 57d539aab0 Made it temporarily possible to call MD5 routines directly from external
code, rather than going through the digest layer.

Removed a spurious line of constants.
2006-11-15 04:22:22 +00:00
Michael Brown ea97fe42dd Note to self: do not write code late at night 2006-11-15 04:16:26 +00:00
Michael Brown 5753f2c58b May as well add octal support to strtoul() 2006-11-15 02:57:24 +00:00
Michael Brown bbfb2e02fd Fixed endp bug in strtoul() 2006-11-15 02:54:28 +00:00
Michael Brown 65ff5357f1 Extend strtoul() to cope with hex as well as decimal. Doesn't cope
with octal yet, but we can probably live without that.
2006-11-15 02:52:06 +00:00
Michael Brown fedc186fd7 Split login into security negotation and operational parameter
negotiation phases, to allow inclusion of CHAP authentication.
2006-10-03 09:17:38 +00:00
Michael Brown b16de6ae66 Inhibit compiler warnings on DBG() when building a non-debug object,
while retaining the format string checking.
2006-09-27 11:09:56 +00:00
Michael Brown 88e38fa148 We don't actually have a stdio.h header file. Our printf() functions are
defined in vsprintf.h.  (This may change, since vsprintf.h is a
non-standard name, but for now it's the one to use.)

There should be no need to include vsprintf.h just for DBG() statements,
since include/compiler.h forces it in for a debug build anyway.
2006-09-27 10:58:14 +00:00
Marty Connor 6ac78f6aff added stdio.h to includes for DBG compilation 2006-09-27 05:57:06 +00:00
Marty Connor 1da4faa896 include stdio.h to suppress printf warning, general warnings fixups 2006-09-27 04:04:55 +00:00
Marty Connor 757618edea eth_ntoa and warnings cleanup 2006-09-27 03:05:21 +00:00
Marty Connor cd8168b071 eth_ntoa cleanup. still has warnings. needs work. 2006-09-27 03:00:21 +00:00
Marty Connor 727a88709e eth_ntoa and warnings cleanup 2006-09-27 02:18:07 +00:00
Marty Connor 0d1087a5de eth_ntoa and warnings cleanup 2006-09-27 02:07:59 +00:00
Marty Connor 859cc71158 compilation warnings cleanup 2006-09-26 22:18:00 +00:00
Marty Connor a02dccdafa eth_ntoa cleanup 2006-09-26 22:11:45 +00:00
Marty Connor b88aa51b07 warnings cleanup (still gives lots of compilation warnings from unused functions and missing legacy support) 2006-09-26 22:09:03 +00:00
Marty Connor 9588e20828 warnings cleanup 2006-09-26 22:04:33 +00:00
Marty Connor e753444e04 compilation warnings cleanup 2006-09-26 21:58:08 +00:00
Marty Connor cf84605271 eth_ntoa and compilation warnings fixes 2006-09-26 21:33:12 +00:00
Marty Connor 097c1b341d eth_ntoa fixes 2006-09-26 21:06:29 +00:00
Michael Brown 7952bb76ec Minor fix 2006-09-25 14:41:54 +00:00
Marty Connor cce8755fb8 eth_ntoa and warnings fixups, memcpy compilation fix 2006-09-25 09:06:50 +00:00
Marty Connor d86c080024 eth_ntoa and warnings fixups 2006-09-25 03:52:01 +00:00
Marty Connor eefac0e258 eth_ntoa and warnings fixups 2006-09-25 03:21:25 +00:00
Marty Connor d4b060be3b eth_ntoa and warnings fixups 2006-09-25 02:55:13 +00:00
Marty Connor f4d0f2e5b5 eth_ntoa and warnings fixups 2006-09-25 02:47:50 +00:00
Marty Connor 9e71390930 eth_ntoa and warnings fixups 2006-09-25 02:41:46 +00:00
Marty Connor 447ed77525 eth_ntoa and warnings fixups 2006-09-25 02:18:11 +00:00
Marty Connor 3ffeffebb2 eth_ntoa and warnings fixups 2006-09-25 02:11:52 +00:00
Marty Connor c0e91255d0 eth_ntoa fixups 2006-09-20 00:20:37 +00:00
Marty Connor fe62800bad eth_ntoa fixups 2006-09-20 00:06:52 +00:00
Marty Connor 637411c2ab eth_ntoa fixups 2006-09-20 00:00:44 +00:00
Marty Connor 3df3ac72e1 eth_ntoa fixups 2006-09-19 16:33:46 +00:00
Marty Connor 896f871fba eth_ntoa fixups 2006-09-19 15:58:37 +00:00
Marty Connor 077bbc220a eth_ntoa fixup 2006-09-19 15:49:57 +00:00
Marty Connor 338a6de549 eth_ntoa fixup, some warnings fixups (isa/pnp fixups still needed) 2006-09-19 15:23:28 +00:00
Marty Connor 5a39995f8b eth_ntoa fixup, _disable arg fixup 2006-09-19 15:17:51 +00:00
Marty Connor c4964c3e3a fix args to _disable routine 2006-09-19 15:01:16 +00:00
Marty Connor 31d65dd73f Minor edit to make HEAD build 2006-09-19 14:16:15 +00:00
Michael Brown 1a944a894e Killed 2006-09-18 21:57:59 +00:00
Michael Brown b8baee7632 Removed as a gesture of goodwill following a request from Microsoft 2006-09-18 21:56:15 +00:00
Michael Brown 2f60aa42e7 Killed 2006-09-18 21:55:27 +00:00
Marty Connor be0b19a690 commented out contents of core/nic.c, which should now be obsolete. 2006-09-18 15:08:08 +00:00
Marty Connor a9cb4ca079 DBG MAC addr printout in driver 2006-09-15 12:54:11 +00:00
Marty Connor a998286c8b change MAC address printout to DBG using eth_ntoa (temporary legacy support) 2006-09-15 12:42:43 +00:00
Michael Brown 0dca1dc8ce Made eth_ntoa() public for use in legacy drivers' DBG() statements. 2006-09-15 12:34:34 +00:00
Marty Connor 56a3ff7202 get rid of compile warnings (except intentionally generated ones) 2006-09-14 20:54:05 +00:00
Marty Connor c30623b739 fix DBG macro unknown variable 2006-09-14 20:34:53 +00:00
Marty Connor b41f754e3a Fix compile warnings, remove unused var 2006-09-14 17:58:23 +00:00
Marty Connor e2aca77132 update DBG_DISCARD macro to allow the compiler to see the argument for compile-time checking, while still having it optimized away during compilation 2006-09-14 17:38:17 +00:00
Marty Connor 08d7ea1d34 Fixed DBG macro format, fixed compile warnings. removed extra parameter from mtd80x_disable(...) 2006-09-14 17:15:53 +00:00
Marty Connor 35f90278a8 Remove nic_disable call from drivers. Call should be made at a higher level 2006-09-14 14:51:38 +00:00
Marty Connor 1ed6e69ea5 Remove printf of MAC address in driver. 2006-09-14 14:06:33 +00:00
Michael Brown 4ef1ef0ee4 Restored the le32_to_cpus() and cpu_to_le32s() calls 2006-09-11 17:54:50 +00:00
Michael Brown bb8725bffa Added the "swap in place" macros 2006-09-11 17:54:19 +00:00
Michael Brown 013f8c119a Tidied up. 2006-09-11 17:45:51 +00:00
Michael Brown 2eed0bb8e5 Reduced size from 2087 bytes to 1056 bytes 2006-09-11 17:18:06 +00:00
Michael Brown 48bdde5d7b Taken from Linux's md5.c. This implementation is not very
size-efficient, and will probably be rewritten.

The md5.c from MatrixSSL is too ugly to consider importing.
2006-09-11 16:30:36 +00:00
Michael Brown 1ddfce2308 Generalisation of a message digest algorithm 2006-09-11 16:29:45 +00:00
Michael Brown 0566ab2a2f Added geometry-guessing code based on the partition table 2006-09-08 22:22:03 +00:00
Michael Brown 21bc2015f2 Fix gcc-induced reference to memcpy 2006-09-01 10:48:35 +00:00
Michael Brown 69d2261016 Check that serial port init actually happens 2006-09-01 00:26:32 +00:00
Michael Brown 66dcd22f61 Added debug to catch initialisation failures 2006-09-01 00:19:09 +00:00
Michael Brown 78dd963c1f Check to see if we've reached the end of the map before attempting to
skip past an empty region, otherwise we end up generating an infinitely
long e820 map.  (Yes, there *are* real systems that provide e820 maps
with a zero-length region at the end...)
2006-08-31 13:25:45 +00:00
Michael Brown c399e88aa3 Hopefully fix gcc3 build issue 2006-08-30 13:55:52 +00:00
Michael Brown 095fce14f8 Added extra debugging 2006-08-30 13:39:07 +00:00
Michael Brown 7e95980858 Added iBFT construction to iSCSI boot test 2006-08-27 23:54:20 +00:00
Michael Brown 22511400c7 Added generic function for calculating ACPI table checksum 2006-08-27 22:02:08 +00:00
Michael Brown c46126bfa4 Does anyone still use 9600 baud? 2006-08-27 01:39:11 +00:00
Michael Brown cab3f4502b Correct option number for DHCP_DNS_SERVERS, and add it to the request
list.
2006-08-27 01:37:58 +00:00
Michael Brown 5a54225aef 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).
2006-08-27 01:22:01 +00:00
Michael Brown 40724431e8 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).
2006-08-26 23:42:02 +00:00
Michael Brown 19883779ba Use TEXT16_CODE() rather than manually specifying ".code16" etc, since
our manual ".code32" will break a KEEP_IT_REAL build.
2006-08-24 18:43:28 +00:00
Michael Brown 028bc034e4 Always update the PnP checksum, even if the ident string is not being set. 2006-08-24 17:56:46 +00:00
Michael Brown b4e559d7e2 Added basic profiling support 2006-08-24 16:22:56 +00:00
Michael Brown 6abfaa153b Towards making KEEP_IT_REAL work again.
Fix bug that caused over-allocation of .text16 and .data16 memory areas
by a factor of 16.
2006-08-24 13:18:05 +00:00
Michael Brown cddf8df8d4 Quick utility to pad floppy disk images for vmware/qemu 2006-08-23 03:07:41 +00:00
Nikhil Chandru Rao dccb8358bd Fixed a bug in the TCP state machine. Added a transition from ESTABLISHED to LAST_ACK on receiving a FIN,ACK 2006-08-19 16:14:53 +00:00
Nikhil Chandru Rao d1d334b8e1 IP6 support 2006-08-19 15:58:22 +00:00
Michael Brown f1e1dfae3d Added RX tracing as well. 2006-08-16 00:15:40 +00:00
Michael Brown cf2178f885 Added debug strings. 2006-08-16 00:05:24 +00:00
Michael Brown bb3df618b8 Remove old-style debug message 2006-08-16 00:02:43 +00:00
Michael Brown 0743dc5b0d Added some minimal debugging for transmitted PDUs. 2006-08-15 23:56:18 +00:00
Michael Brown 27ba2d7527 Take out unused cleanup() function so that we can remove the link
dependency on dev.o.
2006-08-14 22:52:35 +00:00
Michael Brown d475ecd561 Removed TAGGED_IMAGE from the default build; NBI has been broken for ages. 2006-08-14 22:46:50 +00:00
Michael Brown dbf3482ef5 Removed obsolete print_config() 2006-08-14 22:45:22 +00:00
Michael Brown dd59181a0a Removed DNS from the default configuration; it hasn't been updated to
the new UDP API yet.
2006-08-14 22:42:56 +00:00
Michael Brown 97439cb6eb Kill off poll_interruptions(); it is lethal when we're acting as a PXE
stack or INT 13 emulator etc.
2006-08-14 22:29:51 +00:00
Derek Pryor 562ab6d65c Bug fixes to the HTTP protocol code 2006-08-12 19:05:08 +00:00
Derek Pryor 0f88703019 Bug fixes to the HTTP protocol code 2006-08-12 18:54:59 +00:00
Michael Brown c48170ffaf Print net device name when making request. 2006-08-11 18:49:58 +00:00
Michael Brown 3c35a0b16d Added cmdl_show proof-of-concept 2006-08-11 18:40:27 +00:00
Michael Brown dd9399f527 Added "hostname" and "ip" as sample settings 2006-08-11 18:29:20 +00:00
Michael Brown fe774fe356 Added ipv4 configuration type 2006-08-11 18:22:41 +00:00
Michael Brown 7029fb8eff Add string configuration type 2006-08-11 18:16:57 +00:00
Michael Brown db0ff1731f Fail gracefully when set_dhcp_option() is called with options==NULL. 2006-08-11 18:16:34 +00:00
Michael Brown db46972349 Added basic infrastructure for manipulating settings. 2006-08-11 18:00:22 +00:00
Derek Pryor 3b45f05be4 Removing because of conflict with new HTTP protocol 2006-08-11 14:13:58 +00:00
Derek Pryor 25ea34a8d7 New HTTP protocol and test code 2006-08-11 14:13:02 +00:00
Michael Brown 2497270c14 command->data_{in,out} are now userptr_t, so it is invalid to compare
against NULL.
2006-08-10 17:35:14 +00:00
Michael Brown ea5fa82b91 Fixed variable name in assertion 2006-08-10 17:09:48 +00:00
Michael Brown bc1a37eacb Added missing packed attribute 2006-08-10 00:10:09 +00:00
Michael Brown 35559ad87c Added description for a basic ACPI table, taken from
include/linux/acpi.h.
2006-08-10 00:09:31 +00:00
Michael Brown 4afc494b83 Both the !PXE and PXENV+ structures must be paragraph-aligned 2006-08-09 18:22:25 +00:00
Michael Brown c3a4f3c5da Towards an RFC2988-compliant timer. 2006-08-09 15:54:17 +00:00
Michael Brown f0718d562f 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.
2006-08-09 15:50:20 +00:00
Nikhil Chandru Rao 3aff701001 Changed the TCP state machines behaviour in the ESTABLISHED state 2006-08-09 15:04:26 +00:00
Michael Brown dc8b96b446 Temporarily work around the bug when port numbers are reused between
subsequent runs.
2006-08-09 14:44:58 +00:00
Michael Brown 09688cb3b5 Correct some packet ownership and freeing bugs. 2006-08-09 14:27:07 +00:00
Michael Brown 43d601b678 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.
2006-08-09 13:35:03 +00:00
Michael Brown 065a2a486d Port the UDP port allocation code to TCP 2006-08-09 12:08:20 +00:00
Michael Brown de0c36a98a Remove some of the confusion surrounding the amount to strip off from
a TCP packet before passing to newdata().
2006-08-09 12:01:09 +00:00
Michael Brown 867c7aef59 iphdr->hlen includes the IP header, so truncate packet *before*
stripping the header.  Also fix an htons/ntohs confusion.
2006-08-09 11:52:53 +00:00
Marty Connor ee9ae8130a Remove _PROTOCOL macros for gcc 3.2 compatibility 2006-08-09 04:42:14 +00:00
Marty Connor dd7e103d58 Make VERSION_MAJOR for gPXE be 0 2006-08-09 03:43:41 +00:00
Michael Brown 0dd0a8366e Removed obsolete line merged in with the cmdline stuff 2006-08-09 03:22:29 +00:00
Michael Brown 504a705d9e Do no evil. :) 2006-08-09 03:21:02 +00:00
Michael Brown c9e6c33bba Attempt a PXE NBP boot as the TFTP test. 2006-08-09 03:00:11 +00:00
Michael Brown f018da8215 Implement enough of PXENV_GET_CACHED_INFO to support pxelinux. 2006-08-09 02:59:19 +00:00