include/net/tcp.h | 26 +-
net/ipv4/tcp.c | 57 ++++++
net/ipv4/tcp_input.c | 46 +++--
net/ipv4/tcp_ipv4.c | 184 +++++++++-----------
net/ipv4/tcp_output.c | 449 +++++++++++++++++++++++++++-----------------------
net/ipv4/tcp_timer.c | 15 +
net/ipv6/tcp_ipv6.c | 164 ++++++++----------
7 files changed, 521 insertions(+), 420 deletions(-)
New commits:
commit 5737c13342805594de05b4533c0cc663d7622797
Author: Philip Love <[EMAIL PROTECTED]>
Date: Wed Aug 27 02:33:50 2008 -0700
tcp: fix tcp header size miscalculation when window scale is unused
The size of the TCP header is miscalculated when the window scale ends
up being 0. Additionally, this can be induced by sending a SYN to a
passive open port with a window scale option with value 0.
Signed-off-by: Philip Love <[EMAIL PROTECTED]>
Signed-off-by: Adam Langley <[EMAIL PROTECTED]>
Signed-off-by: David S. Miller <[EMAIL PROTECTED]>
commit 1296060e9ebb13e361f34773366c876261b9e5c3
Author: David S. Miller <[EMAIL PROTECTED]>
Date: Mon Jul 21 18:45:34 2008 -0700
tcp: Fix bitmask test in tcp_syn_options()
As reported by Alexey Dobriyan:
CHECK net/ipv4/tcp_output.c
net/ipv4/tcp_output.c:475:7: warning: dubious: !x & y
And sparse is damn right!
if (unlikely(!OPTION_TS & opts->options))
^^^
size += TCPOLEN_SACKPERM_ALIGNED;
OPTION_TS is (1 << 1), so condition will never trigger.
Signed-off-by: David S. Miller <[EMAIL PROTECTED]>
commit f2440ebfab427da068c55b0f1b79549d7142640c
Author: Adam Langley <[EMAIL PROTECTED]>
Date: Sat Jul 19 00:04:31 2008 -0700
tcp: options clean up
This should fix the following bugs:
* Connections with MD5 signatures produce invalid packets whenever SACK
options are included
* MD5 signatures are counted twice in the MSS calculations
Behaviour changes:
* A SYN with MD5 + SACK + TS elicits a SYNACK with MD5 + SACK
This is because we can't fit any SACK blocks in a packet with MD5 + TS
options. There was discussion about disabling SACK rather than TS in
order to fit in better with old, buggy kernels, but that was deemed to
be unnecessary.
* SYNs with MD5 don't include a TS option
See above.
Additionally, it removes a bunch of duplicated logic for calculating
options,
which should help avoid these sort of issues in the future.
Signed-off-by: Adam Langley <[EMAIL PROTECTED]>
Signed-off-by: David S. Miller <[EMAIL PROTECTED]>
commit bcd4cbb0258e54e950c41658571b3bedb7fb1603
Author: Adam Langley <[EMAIL PROTECTED]>
Date: Sat Jul 19 00:01:42 2008 -0700
tcp: Fix MD5 signatures for non-linear skbs
Currently, the MD5 code assumes that the SKBs are linear and, in the case
that they aren't, happily goes off and hashes off the end of the SKB and
into random memory.
Reported by Stephen Hemminger in [1]. Advice thanks to Stephen and Evgeniy
Polyakov. Also includes a couple of missed route_caps from Stephen's patch
in [2].
[1] http://marc.info/?l=linux-netdev&m=121445989106145&w=2
[2] http://marc.info/?l=linux-netdev&m=121459157816964&w=2
Signed-off-by: Adam Langley <[EMAIL PROTECTED]>
Acked-by: Stephen Hemminger <[EMAIL PROTECTED]>
Signed-off-by: David S. Miller <[EMAIL PROTECTED]>
commit c3c5d8e44949ba8bf308fe3fd790cb4648165eca
Author: Pavel Emelyanov <[EMAIL PROTECTED]>
Date: Thu Jul 3 01:05:41 2008 -0700
tcp: de-bloat a bit with factoring NET_INC_STATS_BH out
There are some places in TCP that select one MIB index to
bump snmp statistics like this:
if (<something>)
NET_INC_STATS_BH(<some_id>);
else if (<something_else>)
NET_INC_STATS_BH(<some_other_id>);
...
else
NET_INC_STATS_BH(<default_id>);
or in a more tricky but still similar way.
On the other hand, this NET_INC_STATS_BH is a camouflaged
increment of percpu variable, which is not that small.
Factoring those cases out de-bloats 235 bytes on non-preemptible
i386 config and drives parts of the code into 80 columns.
add/remove: 0/0 grow/shrink: 0/7 up/down: 0/-235 (-235)
function old new delta
tcp_fastretrans_alert 1437 1424 -13
tcp_dsack_set 137 124 -13
tcp_xmit_retransmit_queue 690 676 -14
tcp_try_undo_recovery 283 265 -18
tcp_sacktag_write_queue 1550 1515 -35
tcp_update_reordering 162 106 -56
tcp_retransmit_timer 990 904 -86
Signed-off-by: Pavel Emelyanov <[EMAIL PROTECTED]>
Signed-off-by: David S. Miller <[EMAIL PROTECTED]>
commit cec93d41f0facdcd9f29015c29b3d4f1b5f919c6
Author: YOSHIFUJI Hideaki <[EMAIL PROTECTED]>
Date: Thu Apr 17 12:48:12 2008 +0900
tcp md5sig: Remove redundant protocol argument.
Protocol is always TCP, so remove useless protocol argument.
Signed-off-by: YOSHIFUJI Hideaki <[EMAIL PROTECTED]>
http://suva.vyatta.com/git/?p=linux-vyatta.git;a=commitdiff;h=5737c13342805594de05b4533c0cc663d7622797
http://suva.vyatta.com/git/?p=linux-vyatta.git;a=commitdiff;h=1296060e9ebb13e361f34773366c876261b9e5c3
http://suva.vyatta.com/git/?p=linux-vyatta.git;a=commitdiff;h=f2440ebfab427da068c55b0f1b79549d7142640c
http://suva.vyatta.com/git/?p=linux-vyatta.git;a=commitdiff;h=bcd4cbb0258e54e950c41658571b3bedb7fb1603
http://suva.vyatta.com/git/?p=linux-vyatta.git;a=commitdiff;h=c3c5d8e44949ba8bf308fe3fd790cb4648165eca
http://suva.vyatta.com/git/?p=linux-vyatta.git;a=commitdiff;h=cec93d41f0facdcd9f29015c29b3d4f1b5f919c6
_______________________________________________
svn mailing list
[email protected]
http://mailman.vyatta.com/mailman/listinfo/svn