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
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
cc9b32c405
Remove uIP; we haven't used it for quite some time now.
2007-01-10 02:52:58 +00:00
Michael Brown
753e156844
Allow udp_{send,sendto,sendto_via} to be called outside of the
...
udp_senddata() callback. This will simplify any UDP protocols that don't
need the temporary buffer.
2007-01-10 02:46:39 +00:00
Michael Brown
649b789e93
DHCP transmits via specified net device, so no need to create a dummy
...
routing table entry just to fool ipv4.c any more.
2007-01-10 02:37:23 +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
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
8a268073a7
Move start/stop/expire debug messages to DBG2() level.
2007-01-09 17:39:52 +00:00
Michael Brown
2eeb7c4fe7
Define "connected" as
...
"when SYN is ACKed and we have already received SYN", or
"when SYN is received and we have already had SYN ACKed"
rather than just
"when SYN is ACKed"
This avoids spuriously calling the connected() method when we receive
a RST,ACK in response to a SYN.
2007-01-09 05:01:22 +00:00
Michael Brown
aaca21a2b6
We can't assert that the RX engine is idle in iscsi_done(), because it
...
may be called during the RX data processor, before the RX engine
transitions back to idle. It doesn't really matter if the RX engine
isn't idle when iscsi_done() is called, because it will just pick up
where it left off on the next call. (The same is not true for the TX
engine, so keep the TX engine assertion.)
2007-01-09 04:42:23 +00:00
Michael Brown
6ea07b9247
Use debug auto-colourisation.
2007-01-09 04:38:39 +00:00
Michael Brown
76525294ee
Clean up connection closing and permanent failure logic.
2007-01-09 04:31:33 +00:00
Michael Brown
20681d6168
Allow empty checksums on received packets
2007-01-04 05:17:28 +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
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
35b5e5d3f5
Minirouting table entries hold a persistent reference to a net_device.
2007-01-04 03:10:21 +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
b0daa99dce
Send RST packets when we get a non-matching connection, or receive an
...
out-of-range ACK.
2007-01-03 22:21:59 +00:00
Michael Brown
eea1167a85
Accept RST on received packets
2007-01-03 21:51:36 +00:00
Michael Brown
94fc68895d
Improve consistency between TCP and UDP RX datapaths
2007-01-03 21:13:11 +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
285beeff7c
Tidy up debug messages
...
Move routing into a separate function
2007-01-03 16:39:11 +00:00
Michael Brown
718294553b
Fix compiler warning
2007-01-03 15:56:15 +00:00
Michael Brown
83e1340d88
Use autocolourisation
2006-12-29 14:09:23 +00:00
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.
2006-12-29 14:03:03 +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
be31970e36
Don't send a second FIN if we receive a FIN while in FIN_WAIT_2
2006-12-27 23:44:05 +00:00
Michael Brown
61ed298bc7
Merge changes from mcb-tcp-fixes branch.
2006-12-27 23:09:46 +00:00
Michael Brown
1a11cc5c5b
Added times to start/stop log messages
2006-12-27 22:56:39 +00:00
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.)
2006-12-22 13:04:50 +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
d6f9152bfa
Avoid null pointer dereferences when no username/password specified.
2006-12-21 18:38:24 +00:00
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.
2006-12-21 17:43:43 +00:00
Michael Brown
ab242a760d
Add ability to shut down iSCSI connection
2006-12-21 17:17:47 +00:00
Michael Brown
60a3f77711
Close UDP connection when DHCP completes.
2006-12-20 07:19:48 +00:00
Michael Brown
a646e38f03
Use stdlib.h for malloc() instead of malloc.h.
2006-12-19 23:42:46 +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
a1af111a87
Also request root-path.
2006-12-08 15:49:46 +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
5edb85c8b4
Work around another confused-by-RST bug
2006-12-06 18:09:33 +00:00
Michael Brown
b9f9230661
Work around another instance of the port re-use bug.
2006-12-05 23:15:35 +00:00