Michael Brown
0d07657296
Added setiv method
2007-01-31 17:58:36 +00:00
Michael Brown
c1aa1d0764
Add wrapper around axtls' sha1 code
2007-01-31 12:24:01 +00:00
Michael Brown
a3695b1ff6
Placeholder for TLS insertion
2007-01-31 03:47:42 +00:00
Michael Brown
1f5f900595
Add HTTPS port
2007-01-31 03:44:38 +00:00
Michael Brown
21f3789ec8
Swap downstream/upstream order so that debug messages for filters show
...
up in the same colour as debug messages for the application stream.
2007-01-31 03:43:40 +00:00
Michael Brown
e38e516463
Add insert_filter() function
2007-01-31 03:04:56 +00:00
Michael Brown
a008f9e85b
Add null crypto algorithm
2007-01-31 03:04:31 +00:00
Michael Brown
6d32f0e6e2
Changed to use the generic stream API.
2007-01-31 02:09:13 +00:00
Michael Brown
811db204a6
Added cipher wrapper functions
2007-01-30 22:54:20 +00:00
Michael Brown
b3e4418ea8
Missing check-in
2007-01-30 22:53:59 +00:00
Michael Brown
db2fde474e
Generalise digest_algorithm to crypto_algorithm.
2007-01-30 14:55:17 +00:00
Michael Brown
2f7eac1646
Low-overhead filter streams
2007-01-30 12:17:03 +00:00
Michael Brown
ddf3b56d47
Definition of a (hopefully) generic stream API
2007-01-30 12:16:36 +00:00
Michael Brown
1a79437888
Added async_block_progress() and default SIGUPDATE handler.
2007-01-29 04:15:24 +00:00
Michael Brown
c42a384709
Moved most buffer debug messages to DBG2.
...
Make expand_buffer() a non-inline function, so that we can add debug
messages.
Expandable buffers now don't *always* round up to the next power of two.
This allows e.g. loading a 137MB ISO image on a machine with only 256MB
RAM...
2007-01-29 04:12:29 +00:00
Michael Brown
bf9ec8102f
Add 64-bit rotates
2007-01-26 02:53:30 +00:00
Michael Brown
da9dc834b1
Help quick testing of building Linux code inside gPXE
2007-01-24 23:38:05 +00:00
Michael Brown
9cf5c4557d
Add Linux-compatible rol32/ror32 functions. Amazingly, gcc will
...
optimise these down to the correct single "roll"/"rorl" instruction.
2007-01-24 23:31:58 +00:00
Michael Brown
f4c1e564a1
vsprintf.h is gPXE-specific; move it to include/gpxe
2007-01-19 01:17:23 +00:00
Michael Brown
4e3976711d
A working name resolution framework
2007-01-18 22:38:13 +00:00
Michael Brown
075f8144ff
Have DHCP set the nameserver, rather than DNS read the DHCP nameserver
...
value.
2007-01-18 21:22:03 +00:00
Michael Brown
c014f607a8
Use total free memory as advertised window. This seems to be sufficient
...
to avoid drops even on slow NICs.
2007-01-18 20:39:17 +00:00
Michael Brown
6d4e37cf42
Move include/malloc.h to include/gpxe/malloc.h, since everything in there
...
is now gPXE-specific. (The standard malloc() et al have been in stdlib.h
for a while).
Add free memory counter.
2007-01-18 20:11:04 +00:00
Michael Brown
5b00fbade3
Increase window size to 64kB. Line rate downloads on a 100Mbps link,
...
anyone?
2007-01-18 16:39:55 +00:00
Michael Brown
c8b3e969a0
Allow buffers to be pre-expanded on demand.
2007-01-18 15:13:41 +00:00
Michael Brown
dd6d94004f
HTTP/DNS now working fully asynchronously. HTTP/IP addresses and any
...
other protocol won't work at the moment.
2007-01-18 03:39:45 +00:00
Michael Brown
0b11733b75
Replacement for fetch() which operates asynchronously and identifies
...
protocols by URI scheme.
2007-01-18 03:37:05 +00:00
Michael Brown
99e58865c7
Use struct sockaddr rather than struct sockaddr_tcpip
...
Tidy up code
2007-01-18 03:35:00 +00:00
Michael Brown
6601a7da6a
Added async_uninit() to simplify failure paths.
2007-01-18 03:29:40 +00:00
Michael Brown
5a807994d8
Add utility function to parse port from URI
2007-01-18 03:28:55 +00:00
Michael Brown
8ffbbebf11
Ensure that struct sockaddr is long enough...
2007-01-18 03:28:29 +00:00
Michael Brown
544fa25928
Rename e{malloc,realloc,free} to u{malloc,realloc,free}, to more obviously
...
reflect the fact that they allocate and deallocate user memory (i.e.
things reached through a userptr_t).
2007-01-16 08:36:42 +00:00
Michael Brown
ff8528ea9a
Create and use async_block() macro; it cuts down on the visual overhead
...
of blocking on asynchronous operations, when that isn't an important
aspect of the code.
2007-01-16 08:10:54 +00:00
Michael Brown
9af12d5fba
A working DNS resolver (not yet tied in to anything)
2007-01-15 17:31:35 +00:00
Michael Brown
df0397f334
Update TFTP and FTP to take the same temporary URI scheme as HTTP
2007-01-15 09:58:26 +00:00
Michael Brown
c676591cd1
Unmaintained example code is probably worse than useless.
2007-01-15 09:06:12 +00:00
Michael Brown
4e20d73bb5
Gave asynchronous operations approximate POSIX signal semantics. This
...
will enable us to cascade async operations, which is necessary in order to
properly support DNS. (For example, an HTTP request may have to redirect
to a new location and will have to perform a new DNS lookup, so we can't
just rely on doing the name lookup at the time of parsing the initial
URL).
Anything other than HTTP is probably broken right now; I'll fix the others
up asap.
2007-01-15 08:49:10 +00:00
Michael Brown
26166cf5e0
Added a URI parser that should be standards conformant. (It can certainly
...
handle something as convoluted as
ftp://joe:secret@insecure.org:8081/hidden/path/to?what=is#this
2007-01-14 23:48:31 +00:00
Michael Brown
99272f958b
Typo
2007-01-14 15:13:33 +00:00
Michael Brown
10c9b03cdb
Actually, the initrd image should be architecture-independent.
2007-01-14 15:07:11 +00:00
Michael Brown
784e10635a
Can almost start a kernel now. It dies with "No setup signature found"
2007-01-14 06:36:20 +00:00
Michael Brown
797edf28b7
Replace image->entry with image->priv.
2007-01-14 04:04:28 +00:00
Michael Brown
dca369ddc3
Call hide_etherboot() from startup(), rather than requiring the prefix to
...
do it.
2007-01-14 00:53:56 +00:00
Michael Brown
c2708df14a
Make shutdown functions callable by OS image's exec methods.
2007-01-14 00:16:41 +00:00
Michael Brown
aaed3d50a8
Some operating systems get a nasty shock if a region of the E820 map seems
...
to start on a non-page boundary. Make life safer by rounding out our
edited regions.
2007-01-13 23:38:33 +00:00
Michael Brown
526d314266
Advertise a larger MSS to improve TCP performance.
2007-01-13 17:36:17 +00:00
Michael Brown
497c3a5aad
Fixed HTTP
2007-01-12 19:18:13 +00:00
Michael Brown
369754f959
Whitespace fix
2007-01-12 19:17:25 +00:00
Michael Brown
83b7933f8a
Damn it; my lovely resilient scheme falls down when you have a protocol
...
that switches from line-oriented to byte-oriented partway through, such as
HTTP.
2007-01-12 18:09:14 +00:00
Michael Brown
ad22cccc09
No need to maintain a received byte count; we always fill in sequential
...
order so we can just use buffer->fill.
2007-01-12 17:16:46 +00:00
Michael Brown
996b091b50
Added generic line-buffering code (a la stdio)
2007-01-12 17:08:37 +00:00
Michael Brown
e2c0055e23
Let ifmgmt.c take care of calling efree(), since it's the once which
...
took out the contract to eventually call efree() when it called fetch().
Maintain the most recently loaded image at the start of the list, so that
imgautoselect() will pick it.
2007-01-12 09:46:10 +00:00
Michael Brown
2be2f3b205
Rearrange struct image to reflect usage of the fields
2007-01-12 08:58:16 +00:00
Michael Brown
48e0fc3447
API change: the raw image will no longer be (hypothetically) discarded
...
after a call to load().
2007-01-12 08:15:25 +00:00
Michael Brown
6fdc6c81a6
Force probing of multiboot before ELF.
2007-01-12 08:10:35 +00:00
Michael Brown
475d6d1f7c
fetch() now knows nothing about struct image; it simply loads a file and
...
returns the allocated buffer.
2007-01-12 08:02:27 +00:00
Michael Brown
742f242863
Add free_image
2007-01-12 06:26:59 +00:00
Michael Brown
b9fea9cbac
Added IMAGE_LOADED flag and find_image()
2007-01-12 06:03:02 +00:00
Michael Brown
e96041872e
Added missing declaration.
2007-01-12 05:27:02 +00:00
Michael Brown
9debfed07a
Place command-line inline, to save on memory allocation hassles.
2007-01-12 05:26:19 +00:00
Michael Brown
29dadc5ec6
Build automatically expanding buffers from struct buffer and erealloc().
2007-01-12 03:51:04 +00:00
Michael Brown
45ec9c907e
First version of an external memory allocator (not tested)
2007-01-12 03:15:29 +00:00
Michael Brown
859da6bd32
Allow external code to update hidden memory regions.
2007-01-12 03:13:04 +00:00
Michael Brown
2c66588f3e
Add UNULL
2007-01-12 01:40:12 +00:00
Michael Brown
f59ad50504
Provide registration mechanism for loaded images, so that we can e.g.
...
refer to them by name from the command line, or build them into a
multiboot module list.
Use setting image->type to disambiguate between "not my image" and "bad
image"; this avoids relying on specific values of the error code.
2007-01-11 23:43:29 +00:00
Michael Brown
c468c68661
Add command line that can be passed to executed images.
2007-01-11 21:19:29 +00:00
Michael Brown
819cd3f41c
Limit -ENOEXEC to mean "this is not in my format".
2007-01-11 17:06:25 +00:00
Michael Brown
c810baad37
Use generic "struct image" rather than "struct elf".
2007-01-11 16:10:32 +00:00
Michael Brown
c6c63d954d
Rename "image" field to "data", because "image->image" is just confusing.
2007-01-11 16:07:30 +00:00
Michael Brown
4fc9333159
Move include/image.h to include/gpxe/image.h
2007-01-11 16:04:36 +00:00
Michael Brown
230f16538f
Create include/gpxe/elf.h for the ELF bits that aren't part of the ELF
...
standard and so don't belong in include/elf.h
2007-01-11 15:25:07 +00:00
Michael Brown
0010e10ef3
Update TFTP to use a struct buffer rather than a callback.
...
Add debug autocolourisation to TFTP.
2007-01-11 15:14:54 +00:00
Michael Brown
3634e705b7
Remove osloader.c and replace with a prep_segment() that uses userptr_t
...
and get_memmap() in image/segment.c
2007-01-11 14:32:26 +00:00
Michael Brown
c980cdd0aa
Move memmap.h out of arch/i386; it no longer contains anything
...
architecture-dependent and is needed by the ELF code.
2007-01-11 14:08:44 +00:00
Michael Brown
fbfed96965
buffer.c should be using copy_{to,from}_user, rather than
...
copy_{to,from}_phys.
2007-01-11 05:42:06 +00:00
Michael Brown
a3ed0cbbc7
Extract packet-padding login from rtl8139.c to a separate pkbpad.c file.
2007-01-11 05:25:50 +00:00
Michael Brown
6918cf9e9e
Change FTP to use a data buffer rather than a callback function.
2007-01-11 04:51:20 +00:00
Michael Brown
e2dcd05b67
Update buffer-handling code to enable expandable buffers.
2007-01-11 03:50:47 +00:00
Michael Brown
bb2024c6d6
Move include/buffer.h to include/gpxe/buffer.h
2007-01-11 01:47:26 +00:00
Michael Brown
d9ba8f790b
Add route() function to display routing table.
2007-01-10 20:38:20 +00:00
Michael Brown
1fa5cd0e2b
Add find_pci_netdev()
2007-01-10 16:16:05 +00:00
Michael Brown
fdc97499bf
Add device description fields to struct device.
2007-01-10 15:27:48 +00:00
Michael Brown
dad5274522
Add "name" field to struct device to allow human-readable hardware device
...
names.
Add "dev" pointer in struct net_device to tie network interfaces back to a
hardware device.
Force natural alignment of data types in __table() macros. This seems to
prevent gcc from taking the unilateral decision to occasionally increase
their alignment (which screws up the table packing).
2007-01-10 04:22:09 +00:00
Michael Brown
c821a7b20d
Add udp_sendto_via() to allow e.g. DHCP to transmit without first having
...
to set up dummy routing entries.
2007-01-10 02:31:38 +00:00
Michael Brown
f008b77ba2
Allow an explicit network device to be specified for IP-layer
...
transmissions.
2007-01-10 02:25:11 +00:00
Michael Brown
55e590ab3a
Move header file for usr/autoboot.c to include/usr
2007-01-10 02:03:20 +00:00
Michael Brown
d24b80acf2
Added network interface management commands
2007-01-10 01:55:07 +00:00
Michael Brown
98b6154c3e
Add "name" field to network device, to facilitate netdev commands.
2007-01-09 23:48:18 +00:00
Michael Brown
c65fae2475
Add RX quotas to the net device poll() method. This avoids the problem
...
of alloc_pkb() exhaustion when e.g. an iSCSI-booted DOS session is left
idle for a long time at the C:\ prompt and builds up a huge packet
backlog.
2007-01-09 21:47:01 +00:00
Michael Brown
18e5353bed
Rename pkb_available() to pkb_tailroom() for consistency with Linux's
...
skb_tailroom(). Add pkb_headroom().
2007-01-09 20:56:31 +00:00
Michael Brown
b7fcfe8ece
Added net device TX queue; this will be needed to support the PXE UNDI API
...
(which will need us to wait for TX completions).
Added debug autocolourisation to netdevice.c
2007-01-09 20:18:31 +00:00
Michael Brown
76525294ee
Clean up connection closing and permanent failure logic.
2007-01-09 04:31:33 +00:00
Michael Brown
79c5f0ba04
Added PCI_BASE_CLASS() macro
2007-01-08 03:32:41 +00:00
Michael Brown
5af4918356
Added support for wildcard device/vendor ID matches
2007-01-08 03:23:38 +00:00
Michael Brown
0c03bb5a9a
Make open() and close() an official part of the netdevice API.
...
Call netdevice's poll() and transmit() methods only when device is open.
2007-01-04 04:20:08 +00:00
Michael Brown
7fafa89258
A DHCP session holds a persistent reference to a network device
2007-01-04 03:42:28 +00:00
Michael Brown
ac53da1790
Added missing #include
2007-01-04 03:40:07 +00:00
Michael Brown
b29861a5aa
IPv6 minirouting table entries hold persistent references to net devices.
2007-01-04 03:28:30 +00:00
Michael Brown
b22d4405c0
An AoE session holds a persistent reference to a net device.
2007-01-04 03:21:45 +00:00
Michael Brown
bdf79ec8dc
Use hotplug support to notify persistent reference holders when a
...
net_device is unregistered.
2007-01-04 03:09:28 +00:00
Michael Brown
0063725d28
Minimal hotplug support: provide a facility for notifying persistent
...
reference holders that their reference is about to become invalid.
2007-01-04 03:08:16 +00:00
Michael Brown
a0525a4ed3
Verify checksums on the RX datapath.
...
Simplify checksum generation on the TX datapath.
2007-01-03 20:48:52 +00:00
Michael Brown
b91b9d3d88
Use whole bytes for the ACKED and RCVD portions of tcp_state; it
...
produces slightly smaller code.
2006-12-30 01:32:22 +00:00
Michael Brown
ce9819af27
Redefine TCP state to include "flags that have been sent" rather than
...
"flags that are currently being sent". This allows at least one special
case (checking that we haven't already sent a FIN in tcp_rx_fin()) to be
collapsed.
2006-12-29 00:44:31 +00:00
Michael Brown
61ed298bc7
Merge changes from mcb-tcp-fixes branch.
2006-12-27 23:09:46 +00:00
Michael Brown
a2e3357825
Cannot immediately overwrite the peer address when we parse
...
TargetAddress from the login response, because we still need the old
address while we close the connection!
2006-12-22 12:24:12 +00:00
Michael Brown
66a7ed23cb
Make start_timer() and stop_timer() robust against incorrect usage.
2006-12-22 01:35:21 +00:00
Michael Brown
9485478acc
ibft_fill_data() prototype change.
2006-12-21 18:42:51 +00:00
Michael Brown
ab242a760d
Add ability to shut down iSCSI connection
2006-12-21 17:17:47 +00:00
Michael Brown
46c3eeba2a
Fix definition of KEY_END
2006-12-20 22:17:44 +00:00
Michael Brown
2ae27f44d9
Add insert/delete and document keys, and documentation.
2006-12-20 22:11:28 +00:00
Michael Brown
96a1a2c6f0
Key definitions
2006-12-20 21:53:07 +00:00
Michael Brown
cbeec25662
settings_ui() now returns a status code.
2006-12-20 11:42:48 +00:00
Michael Brown
84202d89f0
Split the (quick hack) boot logic out from main.c to autoboot.c, add a
...
"boot" command to attempt booting from within the command shell, fall back
to shell if boot fails for any reason.
2006-12-20 07:04:08 +00:00
Michael Brown
8f9336e0c1
Add "config" command to access config UI
2006-12-20 05:37:33 +00:00
Michael Brown
b93ff48173
Added descriptive text for settings and setting types, and display it in
...
the option config UI.
2006-12-20 04:58:26 +00:00
Michael Brown
35edecac34
Move {show,set,clear}_setting() to {show,set,clear}_named_setting().
...
Introduce new {show,set,clear}_setting() that take a struct setting *
rather than a const char *.
set_setting() handles calling clear_setting() when appropriate, so that
individual setting types don't have to check for empty strings.
2006-12-20 04:20:13 +00:00
Michael Brown
84a2b886e1
Split error-message table portions of errno.h out to gpxe/errortab.h
2006-12-20 03:40:48 +00:00
Michael Brown
3e0f7621eb
Don't automatically redraw the edit box; this allows better inheritance.
2006-12-20 02:09:41 +00:00
Michael Brown
35dcbfe771
Editable text box widget based on mucurses and edit_string.
2006-12-20 01:40:57 +00:00
Michael Brown
4919646fb9
Separated out (and tidied up) shell banner code
2006-12-20 00:24:13 +00:00
Michael Brown
a2c5744daf
Minimal shell implementation using readline() and system().
2006-12-19 23:55:05 +00:00
Michael Brown
66007fa448
Provide an edit history to allow caller to efficiently update display.
2006-12-19 23:24:16 +00:00
Michael Brown
1bc3514bd8
Start of generic editable string support
2006-12-19 19:28:12 +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
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
007ca97f25
Added clear_setting()
2006-12-12 15:49:46 +00:00
Michael Brown
72b1629cee
Add placeholder ibft.h
2006-12-08 16:16:21 +00:00
Michael Brown
f3d817d512
Added execv() and system().
2006-12-08 01:23:11 +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
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
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
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
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
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
4cd56820ea
Basic non-volatile storage support
2006-11-29 02:41:08 +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
fdaddd969a
Added "name" field to digest algorithms
2006-11-21 16:14:50 +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
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
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
Michael Brown
0dca1dc8ce
Made eth_ntoa() public for use in legacy drivers' DBG() statements.
2006-09-15 12:34:34 +00:00
Michael Brown
1ddfce2308
Generalisation of a message digest algorithm
2006-09-11 16:29:45 +00:00
Michael Brown
22511400c7
Added generic function for calculating ACPI table checksum
2006-08-27 22:02:08 +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
b4e559d7e2
Added basic profiling support
2006-08-24 16:22:56 +00:00
Nikhil Chandru Rao
d1d334b8e1
IP6 support
2006-08-19 15:58:22 +00:00
Michael Brown
cf2178f885
Added debug strings.
2006-08-16 00:05:24 +00:00
Michael Brown
7029fb8eff
Add string configuration type
2006-08-11 18:16:57 +00:00
Michael Brown
db46972349
Added basic infrastructure for manipulating settings.
2006-08-11 18:00:22 +00:00
Derek Pryor
25ea34a8d7
New HTTP protocol and test code
2006-08-11 14:13:02 +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
c3a4f3c5da
Towards an RFC2988-compliant timer.
2006-08-09 15:54:17 +00:00
Marty Connor
ee9ae8130a
Remove _PROTOCOL macros for gcc 3.2 compatibility
2006-08-09 04:42:14 +00:00
Michael Brown
e9561aafc0
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
2006-08-09 02:56:40 +00:00
Michael Brown
a3d508b648
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.
2006-08-09 01:24:32 +00:00
Michael Brown
d1a123b1f4
Added TFTP test code (currently just dumps file to console).
2006-08-09 00:09:29 +00:00
Michael Brown
3611cb17b7
Initial (untested) implementation of TFTP over the new UDP API.
2006-08-08 23:45:52 +00:00
Michael Brown
72cd29f13c
Added some TFTP definitions for use with the new UDP API.
2006-08-08 22:01:16 +00:00
Michael Brown
68e33224ef
gcc3 compatibility: removed ARP_NET_PROTOCOL().
2006-08-08 17:44:25 +00:00
Nikhil Chandru Rao
d2bdf81505
Removed some bugs in TCP
2006-08-08 03:42:30 +00:00
Nikhil Chandru Rao
cb42e573a0
Added retransmissions to TCP
2006-08-07 18:52:26 +00:00
Michael Brown
ecdcdea1af
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.
2006-08-07 17:06:31 +00:00
Michael Brown
eb24eece0e
Convert some trivial functions to static inlines.
2006-08-03 23:42:03 +00:00
Michael Brown
ffe0e24249
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.
2006-08-03 23:10:14 +00:00
Michael Brown
a0a872f7f1
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.)
2006-08-02 23:08:10 +00:00
Michael Brown
e24a6cb525
Moved the basic struct sockaddr out of in.h.
2006-08-02 00:06:30 +00:00
Michael Brown
467e9627cc
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.
2006-08-02 00:02:21 +00:00
Nikhil Chandru Rao
9225f4edac
TCP support
2006-08-01 20:46:50 +00:00
Nikhil Chandru Rao
c24546c70b
Minor changes to the network layer rx() functions
2006-08-01 20:27:26 +00:00
Michael Brown
beadd82208
Remove unused functions.
2006-08-01 14:26:02 +00:00
Michael Brown
1ebb68e49a
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).
2006-08-01 14:22:04 +00:00
Michael Brown
3a0e293123
Renamed tcpip_if.[ch] to tcpip.[ch]
2006-08-01 14:18:09 +00:00
Michael Brown
b26806cf18
Add dhcp_snprintf() for extracting DHCP string options.
2006-07-20 14:13:11 +00:00
Michael Brown
7ca8bcd98c
Print out the lease time, just to show how easy it is.
2006-07-20 03:02:34 +00:00
Michael Brown
00a1f000b1
Added dhcp_ipv4_option() and friends.
...
Added test code to configure the interface for IPv4 after DHCP.
2006-07-20 02:49:59 +00:00
Michael Brown
7ca1bb0fbe
Now successfully negotiates the whole DHCPDISCOVER/OFFER/REQUEST/ACK
...
cycle. :)
2006-07-20 02:19:06 +00:00
Michael Brown
2c0eb6eb1d
Correct TCP/IP checksum generation.
2006-07-19 23:38:05 +00:00
Nikhil Chandru Rao
13dbf5494d
Minor edits
2006-07-19 21:05:58 +00:00
Michael Brown
224529d8dd
Now capable of sending what, to me, looks like a valid DHCPDISCOVER
...
(apart from the bad UDP checksum).
2006-07-19 20:50:50 +00:00
Michael Brown
6858b14a34
Add pkb_available()
2006-07-19 18:16:48 +00:00
Michael Brown
6d9d48537e
Added some debug messages and DHCP test code
2006-07-19 17:49:31 +00:00
Michael Brown
317b962b65
Proof of concept: transmit a single DHCPDISCOVER and dump out any
...
parsed DHCP responses.
2006-07-19 17:32:13 +00:00
Michael Brown
76070cd226
Added missing prototype
2006-07-19 17:29:18 +00:00
Michael Brown
bf0cdd42cf
Add some DHCP options that we are likely to use
2006-07-19 17:00:32 +00:00
Michael Brown
e0668ad8df
Correct typo
2006-07-19 16:58:44 +00:00