Michael Brown
20681d6168
Allow empty checksums on received packets
18 years ago
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.
18 years ago
Michael Brown
7fafa89258
A DHCP session holds a persistent reference to a network device
18 years ago
Michael Brown
b29861a5aa
IPv6 minirouting table entries hold persistent references to net devices.
18 years ago
Michael Brown
b22d4405c0
An AoE session holds a persistent reference to a net device.
18 years ago
Michael Brown
35b5e5d3f5
Minirouting table entries hold a persistent reference to a net_device.
18 years ago
Michael Brown
bdf79ec8dc
Use hotplug support to notify persistent reference holders when a
net_device is unregistered.
18 years ago
Michael Brown
b0daa99dce
Send RST packets when we get a non-matching connection, or receive an
out-of-range ACK.
18 years ago
Michael Brown
eea1167a85
Accept RST on received packets
18 years ago
Michael Brown
94fc68895d
Improve consistency between TCP and UDP RX datapaths
18 years ago
Michael Brown
a0525a4ed3
Verify checksums on the RX datapath.
Simplify checksum generation on the TX datapath.
18 years ago
Michael Brown
285beeff7c
Tidy up debug messages
Move routing into a separate function
18 years ago
Michael Brown
718294553b
Fix compiler warning
18 years ago
Michael Brown
83e1340d88
Use autocolourisation
18 years ago
Michael Brown
feb4f65d1e
Use auto-colourisation for debug messages.
Truncate TX length to TCP window at time of transmission rather than at
time of adding to TX packet; this is conceptually cleaner and also allows
the application to call tcp_send() multiple times to build up a single
packet.
18 years ago
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.
18 years ago
Michael Brown
be31970e36
Don't send a second FIN if we receive a FIN while in FIN_WAIT_2
18 years ago
Michael Brown
61ed298bc7
Merge changes from mcb-tcp-fixes branch.
18 years ago
Michael Brown
1a11cc5c5b
Added times to start/stop log messages
18 years ago
Michael Brown
4cc1c1bd4c
Ensure that old TCP connection state is destroyed before attempting to
reopen connection. (The TCP API will soon change to render this step
unnecessary.)
18 years ago
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!
18 years ago
Michael Brown
66a7ed23cb
Make start_timer() and stop_timer() robust against incorrect usage.
18 years ago
Michael Brown
d6f9152bfa
Avoid null pointer dereferences when no username/password specified.
18 years ago
Michael Brown
6ceb55fad0
When login fails, leave the session open but not in full feature
phase. In iscsi_issue(), detect this state and immediately refuse the
operation. This avoids trying multiple logins when scsi.c tries
several times to read the drive capacity.
18 years ago
Michael Brown
ab242a760d
Add ability to shut down iSCSI connection
18 years ago
Michael Brown
60a3f77711
Close UDP connection when DHCP completes.
18 years ago
Michael Brown
a646e38f03
Use stdlib.h for malloc() instead of malloc.h.
18 years ago
Michael Brown
04c09823bd
Request all the options that we're prepared to do anything with.
18 years ago
Michael Brown
a1af111a87
Also request root-path.
18 years ago
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.
18 years ago
Michael Brown
5edb85c8b4
Work around another confused-by-RST bug
18 years ago
Michael Brown
b9f9230661
Work around another instance of the port re-use bug.
18 years ago
Michael Brown
8c3d09c564
Tweaked retry messages
18 years ago
Michael Brown
9600af14a3
Added debug messages
18 years ago
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.
18 years ago
Michael Brown
fcc70c9d60
Ensure that tcp_rx() always frees its received packet buffer.
18 years ago
Michael Brown
28c711b91d
Killed off spurious <stdio.h> inclusion
18 years ago
Michael Brown
3fbfbad0f7
Avoid calling NULL methods!
18 years ago
Michael Brown
89bcb57201
Update ftp.c to work with Nikhil's TCP stack.
Remove the now-totally-obsolete sockaddr_in field from tcp.h.
18 years ago
Michael Brown
6842dd3222
Handle TargetAddress
18 years ago
Michael Brown
67577556a2
Handle strings as complete units, instead of a byte at a time.
18 years ago
Michael Brown
3a7d762c1c
Add iscsi_rx_buffered_data() and supporting infrastructure.
18 years ago
Michael Brown
3f0b4d9ed8
Updated to use asynchronous operation model for iSCSI requests
Added CHAP authentication
18 years ago
Michael Brown
fedc186fd7
Split login into security negotation and operational parameter
negotiation phases, to allow inclusion of CHAP authentication.
18 years ago
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.
18 years ago
Marty Connor
6ac78f6aff
added stdio.h to includes for DBG compilation
18 years ago
Michael Brown
0dca1dc8ce
Made eth_ntoa() public for use in legacy drivers' DBG() statements.
18 years ago
Michael Brown
095fce14f8
Added extra debugging
18 years ago
Michael Brown
cab3f4502b
Correct option number for DHCP_DNS_SERVERS, and add it to the request
list.
18 years ago
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
18 years ago