diff options
author | Surjit Reang <surjit.reang@neterion.com> | 2008-02-03 04:27:38 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-02-03 04:27:38 -0800 |
commit | c88559539bd16eae4e9056d4734b3fe8a9858c45 (patch) | |
tree | a90ea2bc129d9e4d944f49fd669ab36c98a9f15d /drivers/net/s2io.h | |
parent | 03157ac31eb4a8883382a212b161d2e6c5059fbf (diff) | |
download | talos-op-linux-c88559539bd16eae4e9056d4734b3fe8a9858c45.tar.gz talos-op-linux-c88559539bd16eae4e9056d4734b3fe8a9858c45.zip |
S2io: Fix for LRO Bugs
Resubmitting patch from Al Viro <viro@zeniv.linux.org.uk>, with subject -
[PATCH] s2io LRO bugs.
a) initiate_new_session() sets ->tcp_ack to ntohl(...); everything
else stores and expects to find there the net-endian value.
b) check for monotonic timestamps in verify_l3_l4_lro_capable()
compares the value sitting in TCP option (right there in the skb->data,
net-endian 32bit) with the value picked from earlier packet.
Doing that without ntohl() is an interesting idea and it might even
work occasionally; unfortunately, it's quite broken.
Signed-off-by: Surjit Reang <surjit.reang@neterion.com>
Signed-off-by: Ramkrishna Vepa <ram.vepa@neterion.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/s2io.h')
-rw-r--r-- | drivers/net/s2io.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/s2io.h b/drivers/net/s2io.h index 9f6016c6f135..64b88eb48287 100644 --- a/drivers/net/s2io.h +++ b/drivers/net/s2io.h @@ -809,7 +809,7 @@ struct lro { int in_use; __be16 window; u32 cur_tsval; - u32 cur_tsecr; + __be32 cur_tsecr; u8 saw_ts; }; |