Nikhil Chandru Rao
8de630c62b
Removing net/interface.c and include/gpxe/interface.h
2006-06-29 06:51:11 +00:00
Michael Brown
51d62d1a3c
Provide a mechanism for returning the encapsulator as well as the
...
encapsulated option; this will be needed for modifications to the options
block.
2006-06-28 18:59:54 +00:00
Nikhil Chandru Rao
c9ea710930
Renamed net/interface.c and include/gpxe/interface.h to net/tcpip_if.c and include/gpxe/tcpip_if.h respectively. Made changes in the other files.
2006-06-28 15:43:08 +00:00
Michael Brown
291f072b82
Add priority mechanism
2006-06-28 13:48:02 +00:00
Dan Lynch
d8b51332c6
typo in macro fixed
2006-06-28 11:53:41 +00:00
Nikhil Chandru Rao
6e2c97b0c0
Added ipv4_pseudo_header structure
2006-06-28 09:59:27 +00:00
Nikhil Chandru Rao
e60817fa7a
IP6 specifications
2006-06-28 09:44:41 +00:00
Nikhil Chandru Rao
a6c6b3d739
Fixed whitespaces; updated UDP code
2006-06-28 07:46:28 +00:00
Michael Brown
0bcaa8a21f
First stab at DHCP option handling in a way that will allow us to have
...
multiple option sources (e.g. multiple DHCP replies, non-volatile
storage etc.)
2006-06-27 17:24:07 +00:00
Dan Lynch
e442447f37
- multiple static inline definitions added
...
- changes made to some constants and macros
- changes made to _curses_screen struct
- identified and removed prototypes for yet more unsupportable functions
2006-06-27 10:38:57 +00:00
Nikhil Chandru Rao
f5ebf067c4
added generalized sockaddr structure and ip6 sockaddr
2006-06-25 05:18:24 +00:00
Nikhil Chandru Rao
90fbff8f34
added support for processing and transmitting without uIP
2006-06-25 05:16:54 +00:00
Nikhil Chandru Rao
74339b3c6e
updated UDP interface
2006-06-25 05:13:17 +00:00
Nikhil Chandru Rao
fdc05e2664
created interface for transport-network interface
2006-06-25 05:12:07 +00:00
Michael Brown
3a660f9b25
Update ftp.c and hello.c to use the generic async_operations API.
2006-06-19 15:46:58 +00:00
Michael Brown
15397db2b4
Placeholder
2006-06-17 23:34:48 +00:00
Michael Brown
8637834031
Made the temporary buffer part of the TCP senddata() API, to ease the
...
transition away from uIP.
Prepared ipv4.c for transition away from uIP.
2006-06-17 23:20:54 +00:00
Michael Brown
3c8aafa209
Simplify RX data path.
...
Kill off the static single net device and move to proper dynamic
registration (which we need with the new device model).
Break the (flawed) assumption that all network-layer protocols can use
ARP; such network-layer protocols (i.e. IPv4) must now register as an ARP
protocol using ARP_NET_PROTOCOL() and provide a single method for checking
the existence of a local network-layer address.
2006-06-17 22:36:27 +00:00
Michael Brown
bbd9e28061
Simplify TX datapath.
2006-06-16 00:19:46 +00:00
Michael Brown
cce2e47ff4
Added iSCSI boot test code
2006-06-14 17:00:25 +00:00
Michael Brown
3b51c719d3
Generalise three-wire interface to generic SPI interface.
...
Update rtl8139 driver to instantiate an SPI interface with a three-wire
device attached.
2006-06-14 00:22:50 +00:00
Michael Brown
ab4f96e525
Move per-transition delays from generic bit-bashing layer to i2c layer
...
(since SPI bit-bashing will require different delay semantics).
2006-06-14 00:20:35 +00:00
Michael Brown
51a36f1cfb
Change read_bit() to return 0 or -1UL, rather than 0 or 1.
2006-06-12 19:29:50 +00:00
Michael Brown
3ed40686c9
Added bit-bashing i2c interface code
2006-06-11 00:57:00 +00:00
Michael Brown
e90b64d625
Added sketch of bit-bashing interface common code
2006-06-08 19:47:09 +00:00
Michael Brown
286bf68faf
Added a very quick and dirty compatibility layer, to allow
...
not-yet-updated drivers to at least function.
2006-06-05 15:45:21 +00:00
Michael Brown
d78581297b
Improve tcpdump legibility.
2006-06-01 19:23:52 +00:00
Michael Brown
48fb6c6dc2
Updated retry timer mechanism to incorporate smoothed RTT estimation.
...
AoE now uses the retry timer mechanism.
2006-06-01 14:33:52 +00:00
Michael Brown
50415b3aca
Make DBG_DISCARD correct
2006-06-01 12:11:09 +00:00
Michael Brown
1f394c2f7c
Backing out last change; no immediate plans to make the whole block-device
...
layer asynchronous, so keeping the sync/async boundary within aoedev.c
seems cleanest for now.
2006-06-01 11:14:59 +00:00
Michael Brown
99ef98d0bf
ATA devices are now asynchronous. The ATA layer itself now performs the
...
async_wait(), though we may wish to move this higher up the stack, and
consider making the block device model asynchronous. (There is only a
marginal cost for synchronous devices, since they can simply call
async_done() before returning; async_wait() will work seamlessly in this
situation).
2006-05-31 18:57:11 +00:00
Michael Brown
68125bc441
Added generic asynchronous operations code.
...
Removed data_in_len and data_out_len from ata_command structure; the
lengths are implied by the sector count and the presence of the data_in
or data_out pointers.
Changed AoE code to use subcommands by default, and made aoe_issue()
nonblocking (with completion via async_wait()).
2006-05-31 14:34:17 +00:00
Michael Brown
1db1a6dad3
Added first sketch of a generic retry timer mechanism. The idea is to use
...
these timer objects in AoE and UDP protocols (where there is no underlying
retransmission mechanism) without requiring each protocol to implement its
own individual retry logic. Eventually, we should be able to use the same
timer code for TCP retransmissions as well.
2006-05-29 14:55:07 +00:00
Michael Brown
6541338897
Handle multi-sector reads by splitting them into subcommands.
2006-05-29 08:25:31 +00:00
Michael Brown
9a2a52693d
Initial AoE implementation. Limitations are:
...
Cannot yet handle reads of more than two sectors
No retransmission
No way to find out a target's MAC address (this proof of concept uses
broadcasts)
These limitations shall not last long! :)
2006-05-28 23:29:43 +00:00
Michael Brown
6f998cecb3
Use separate data-in and data-out buffers.
...
Increase code simplicity at the expense of around 64 bytes.
2006-05-28 23:26:42 +00:00
Michael Brown
6d6252067f
Add ETH_P_AOE
2006-05-28 21:47:52 +00:00
Michael Brown
f743de4858
Added tcp_kick(). This speed up LILO and GRUB booting by almost two
...
orders of magnitude.
2006-05-27 19:01:20 +00:00
Michael Brown
6c50564724
Make PKB_ZLEN the minimum possible size of packet buffer (to allow for
...
hardware that can't autopad).
2006-05-27 13:39:45 +00:00
Michael Brown
aa2468babe
Added abstraction layer for a three-wire serial device (e.g. the EEPROM
...
used on RTL8139 cards).
2006-05-26 15:39:24 +00:00
Michael Brown
3204a1e941
Removed some obsolete INIT_XXX constants.
2006-05-25 01:09:06 +00:00
Dan Lynch
bef8874842
- implemented printw (formatted string output, a la printf)
...
- implemented hline/vline (part of wborder family)
- screen cursor now relocates at same time as window cursor when
restoring after a non-wrapping function
2006-05-22 17:03:41 +00:00
Michael Brown
84a493b88d
Allow vcprintf() to be called by external code such as the curses library.
...
Also trim another eight bytes from vsprintf.o. :)
2006-05-22 15:41:01 +00:00
Dan Lynch
f778500739
- fixes to _wputch to get positioning and wrap working properly
...
- fixes to wborder (same)
- addition of a few minor functions
2006-05-22 13:10:19 +00:00
Michael Brown
9dfb9d84b4
Made the LBA48 example clearer.
2006-05-21 16:02:38 +00:00
Michael Brown
80958ff69c
Added (untested) support for ATA devices. This code should be generic
...
enough to support both real IDE chipsets and AoE.
2006-05-21 16:01:23 +00:00
Michael Brown
af4aacb978
Added missing @file block
2006-05-20 13:25:07 +00:00
Michael Brown
402ba15c64
READ CAPACITY (16) turns out to be an optional command (even though
...
READ(16) is mandatory); we must use READ CAPACITY (10) first and then
use READ CAPACITY (16) if the READ CAPACITY (10) returns "out of range".
2006-05-19 18:54:38 +00:00
Michael Brown
444b885a7d
Add EOVERFLOW==ERANGE
2006-05-19 18:53:12 +00:00
Dan Lynch
acf572905c
- made some of the bit shifting attribute access simpler (in my mind)
...
- added extern declarations for global vars
- removed comments from static inlines (too time consuming to do them
all, considering all so far have been due to the ridiculous amount of
redundancy within the API spec)
- removed a few more extern func decls for funcs that cannot be
implemented at this time
2006-05-19 16:22:10 +00:00