login
Login
/
Register
Search
Search this site:
Forums
News
Blogs
Features
Site
Home
»
Mailing list archives
»
linux-netdev
»
2010
»
May
»
16
Re: TCP-MD5 checksum failure on x86_64 SMP
view
thread
Previous message: [
thread
] [
date
] [
author
]
Next message: [
thread
] [
date
] [
author
]
[view in full thread]
From: Eric Dumazet
Subject:
Re: TCP-MD5 checksum failure on x86_64 SMP
Date: Sunday, May 16, 2010 - 1:48 pm
Le mardi 11 mai 2010 à 22:50 +0200, Eric Dumazet a écrit :
quoted text
> Le mardi 11 mai 2010 à 04:08 +0000, Bijay Singh a écrit : > > Hi Eric, > > > > I guess that makes me the enviable one. So I am keen to test out this feature completely, as long as I know what to do as a next step, directions, patches. > > > > Thanks > > > I believe third problem comes from commit 4957faad > (TCPCT part 1g: Responder Cookie => Initiator), from William Allen > Simpson. > > When a SYN-ACK packet is built (in tcp_synack_options()), > it specifically forbids a TIMESTAMP option to be included if SACK is > also selected : > > doing_ts &= !ireq->sack_ok; > > Problem is this mask is done on a local variable. socket is still marked > as being timestamp enabled. > > > Later, when we build tcp options for data packets, we _include_ a > timestamp, while our SYNACK didnt mention the option. > > So the following trafic can happen (and fails) : > > 18:38:29.041966 IP 192.168.0.33.58906 > 192.168.0.56.22226: Flags [S], seq 4014064674, win 8860, options [mss 4430,sackOK,TS val 519041 ecr 0,nop,wscale 7,nop,nop,md5can't check - 9b44126367effcf3247fcbf6da76b24d], length 0 > 18:38:29.042072 IP 192.168.0.56.22226 > 192.168.0.33.58906: Flags [S.], seq 586328714, ack 4014064675, win 5792, options [nop,nop,md5can't check - badd847799ded46f39642c341cc7e92b,mss 1460,nop,nop,sackOK,nop,wscale 7], length 0 > 18:38:29.042093 IP 192.168.0.33.58906 > 192.168.0.56.22226: Flags [.], ack 1, win 70, options [nop,nop,md5can't check - 3994ef6987df02a592963fba04c5d313], length 0 > 18:38:29.043217 IP 192.168.0.33.58906 > 192.168.0.56.22226: Flags [.], seq 1:1441, ack 1, win 70, options [nop,nop,md5can't check - 8399f7ccab3a6b8c5a3027ed58bba314], length 1440 > 18:38:29.043226 IP 192.168.0.33.58906 > 192.168.0.56.22226: Flags [P.], seq 1441:2501, ack 1, win 70, options [nop,nop,md5can't check - 701ebf65b1894a6bed4cefbf7a56596a], length 1060 > 18:38:29.043374 IP 192.168.0.56.22226 > 192.168.0.33.58906: Flags [.], ack 1441, win 68, options [nop,nop,md5can't check - 1badb315ba436ab59bff5b37daa871be,nop,nop,TS val 113051377 ecr 519041], length 0 > 18:38:29.043383 IP 192.168.0.56.22226 > 192.168.0.33.58906: Flags [.], ack 2501, win 91, options [nop,nop,md5can't check - 120564dcb99f822f3b70910282a6ed9d,nop,nop,TS val 113051377 ecr 519041], length 0 > 18:38:29.043673 IP 192.168.0.56.22226 > 192.168.0.33.58906: Flags [.], seq 1:1429, ack 2501, win 91, options [nop,nop,md5can't check - fe5dfb438065373b52ba85bf800876a8,nop,nop,TS val 113051377 ecr 519041], length 1428 > 18:38:29.043681 IP 192.168.0.56.22226 > 192.168.0.33.58906: Flags [P.], seq 1429:2500, ack 2501, win 91, options [nop,nop,md5can't check - 7a910cd5ff357bf0e2c8d3489aafaa86,nop,nop,TS val 113051377 ecr 519041], length 1071 > 18:38:32.037786 IP 192.168.0.56.22226 > 192.168.0.33.58906: Flags [.], seq 1:1429, ack 2501, win 91, options [nop,nop,md5can't check - fe5dfb438065373b52ba85bf800876a8,nop,nop,TS val 113051677 ecr 519041], length 1428 > 18:38:38.037708 IP 192.168.0.56.22226 > 192.168.0.33.58906: Flags [.], seq 1:1429, ack 2501, win 91, options [nop,nop,md5can't check - fe5dfb438065373b52ba85bf800876a8,nop,nop,TS val 113052277 ecr 519041], length 1428 > 18:38:50.037524 IP 192.168.0.56.22226 > 192.168.0.33.58906: Flags [.], seq 1:1429, ack 2501, win 91, options [nop,nop,md5can't check - fe5dfb438065373b52ba85bf800876a8,nop,nop,TS val 113053477 ecr 519041], length 1428 > > > Could you try following patch ? > > diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c > index 5db3a2c..0be21cd 100644 > --- a/net/ipv4/tcp_output.c > +++ b/net/ipv4/tcp_output.c > @@ -668,7 +668,7 @@ static unsigned tcp_synack_options(struct sock *sk, > u8 cookie_plus = (xvp != NULL && !xvp->cookie_out_never) ? > xvp->cookie_plus : > 0; > - bool doing_ts = ireq->tstamp_ok; > + bool doing_ts; > > #ifdef CONFIG_TCP_MD5SIG > *md5 = tcp_rsk(req)->af_specific->md5_lookup(sk, req); > @@ -681,11 +681,12 @@ static unsigned tcp_synack_options(struct sock *sk, > * rather than TS in order to fit in better with old, > * buggy kernels, but that was deemed to be unnecessary. > */ > - doing_ts &= !ireq->sack_ok; > + ireq->tstamp_ok &= !ireq->sack_ok; > } > #else > *md5 = NULL; > #endif > + doing_ts = ireq->tstamp_ok; > > /* We always send an MSS option. */ > opts->mss = mss; > > > >
Bijay, had you tested this patch by any chance ? Thanks -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to
majordomo@vger.kernel.org
More majordomo info at
http://vger.kernel.org/majordomo-info.html
Previous message: [
thread
] [
date
] [
author
]
Next message: [
thread
] [
date
] [
author
]
Messages in current thread:
TCP-MD5 checksum failure on x86_64 SMP
, Bhaskar Dutta
, (Mon May 3, 8:30 pm)
Re: TCP-MD5 checksum failure on x86_64 SMP
, Ben Hutchings
, (Tue May 4, 4:32 am)
Re: TCP-MD5 checksum failure on x86_64 SMP
, Bhaskar Dutta
, (Tue May 4, 7:28 am)
Re: TCP-MD5 checksum failure on x86_64 SMP
, Stephen Hemminger
, (Tue May 4, 9:12 am)
Re: TCP-MD5 checksum failure on x86_64 SMP
, Bhaskar Dutta
, (Tue May 4, 10:08 am)
Re: TCP-MD5 checksum failure on x86_64 SMP
, Stephen Hemminger
, (Tue May 4, 10:13 am)
Re: TCP-MD5 checksum failure on x86_64 SMP
, Bhaskar Dutta
, (Wed May 5, 11:03 am)
Re: TCP-MD5 checksum failure on x86_64 SMP
, Eric Dumazet
, (Wed May 5, 11:53 am)
Re: TCP-MD5 checksum failure on x86_64 SMP
, Bhaskar Dutta
, (Thu May 6, 4:55 am)
Re: TCP-MD5 checksum failure on x86_64 SMP
, Eric Dumazet
, (Thu May 6, 5:06 am)
Re: TCP-MD5 checksum failure on x86_64 SMP
, David Miller
, (Thu May 6, 10:04 pm)
Re: TCP-MD5 checksum failure on x86_64 SMP
, Eric Dumazet
, (Thu May 6, 10:32 pm)
Re: TCP-MD5 checksum failure on x86_64 SMP
, Eric Dumazet
, (Thu May 6, 10:39 pm)
Re: TCP-MD5 checksum failure on x86_64 SMP
, Eric Dumazet
, (Fri May 7, 1:00 am)
Re: TCP-MD5 checksum failure on x86_64 SMP
, Lars Eggert
, (Fri May 7, 1:46 am)
Re: TCP-MD5 checksum failure on x86_64 SMP
, Eric Dumazet
, (Fri May 7, 1:55 am)
Re: TCP-MD5 checksum failure on x86_64 SMP
, Bhaskar Dutta
, (Fri May 7, 1:59 am)
Re: TCP-MD5 checksum failure on x86_64 SMP
, David Miller
, (Fri May 7, 2:12 am)
Re: TCP-MD5 checksum failure on x86_64 SMP
, Eric Dumazet
, (Fri May 7, 2:37 am)
Re: TCP-MD5 checksum failure on x86_64 SMP
, Bhaskar Dutta
, (Fri May 7, 3:50 am)
Re: TCP-MD5 checksum failure on x86_64 SMP
, Eric Dumazet
, (Fri May 7, 8:18 am)
Re: TCP-MD5 checksum failure on x86_64 SMP
, Eric Dumazet
, (Fri May 7, 8:44 am)
Re: TCP-MD5 checksum failure on x86_64 SMP
, Stephen Hemminger
, (Fri May 7, 10:14 am)
Re: TCP-MD5 checksum failure on x86_64 SMP
, Eric Dumazet
, (Fri May 7, 10:21 am)
Re: TCP-MD5 checksum failure on x86_64 SMP
, Stephen Hemminger
, (Fri May 7, 10:36 am)
Re: TCP-MD5 checksum failure on x86_64 SMP
, Eric Dumazet
, (Fri May 7, 2:18 pm)
Re: TCP-MD5 checksum failure on x86_64 SMP
, Eric Dumazet
, (Fri May 7, 2:40 pm)
Re: TCP-MD5 checksum failure on x86_64 SMP
, Bijay Singh
, (Mon May 10, 7:55 am)
Re: TCP-MD5 checksum failure on x86_64 SMP
, Eric Dumazet
, (Mon May 10, 8:18 am)
Re: TCP-MD5 checksum failure on x86_64 SMP
, Bijay Singh
, (Mon May 10, 10:27 am)
Re: TCP-MD5 checksum failure on x86_64 SMP
, Bijay Singh
, (Mon May 10, 9:08 pm)
Re: TCP-MD5 checksum failure on x86_64 SMP
, Eric Dumazet
, (Mon May 10, 11:27 pm)
Re: TCP-MD5 checksum failure on x86_64 SMP
, Bijay Singh
, (Tue May 11, 1:23 am)
Re: TCP-MD5 checksum failure on x86_64 SMP
, Eric Dumazet
, (Tue May 11, 1:50 pm)
Re: TCP-MD5 checksum failure on x86_64 SMP
, Eric Dumazet
, (Tue May 11, 8:20 pm)
Re: TCP-MD5 checksum failure on x86_64 SMP
, Stephen Hemminger
, (Wed May 12, 3:22 pm)
Re: TCP-MD5 checksum failure on x86_64 SMP
, David Miller
, (Wed May 12, 3:24 pm)
Re: TCP-MD5 checksum failure on x86_64 SMP
, David Miller
, (Sun May 16, 12:30 am)
Re: TCP-MD5 checksum failure on x86_64 SMP
, David Miller
, (Sun May 16, 12:35 am)
Re: TCP-MD5 checksum failure on x86_64 SMP
, David Miller
, (Sun May 16, 12:37 am)
Re: TCP-MD5 checksum failure on x86_64 SMP
, Eric Dumazet
, (Sun May 16, 12:53 pm)
Re: TCP-MD5 checksum failure on x86_64 SMP
, Eric Dumazet
, (Sun May 16, 1:48 pm)
Re: TCP-MD5 checksum failure on x86_64 SMP
, Bijay Singh
, (Sun May 16, 8:49 pm)
Re: TCP-MD5 checksum failure on x86_64 SMP
, Eric Dumazet
, (Sun May 16, 10:03 pm)
Re: TCP-MD5 checksum failure on x86_64 SMP
, Stephen Hemminger
, (Mon May 17, 10:22 am)
Re: TCP-MD5 checksum failure on x86_64 SMP
, Stephen Hemminger
, (Mon May 17, 1:42 pm)
[PATCH] tcp: tcp_synack_options() fix
, Eric Dumazet
, (Mon May 17, 2:04 pm)
Re: [PATCH] tcp: tcp_synack_options() fix
, David Miller
, (Mon May 17, 10:35 pm)
Navigation
Mailing list archives
Recent posts
Popular discussions
linux-kernel
:
Greg KH
Og dreams of kernels
Jens Axboe
[PATCH 31/33] Fusion: sg chaining support
Arnd Bergmann
Re: finding your own dead "CONFIG_" variables
Mark Brown
[PATCH 2/2] Subject: natsemi: Allow users to disable workaround for DspCfg reset
Tony Breeds
[LGUEST] Look in object dir for .config
git
:
Brian Downing
Re: Git in a Nutshell guide
John Benes
Re: master has some toys
Matthias Lederhofer
[PATCH 4/7] introduce GIT_WORK_TREE to specify the work tree
Alexander Sulfrian
[RFC/PATCH] RE: git calls SSH_ASKPASS even if DISPLAY is not set
Junio C Hamano
Re: Rss produced by git is not valid xml?
git-commits-head
:
Linux Kernel Mailing List
iSeries: fix section mismatch in iseries_veth
Linux Kernel Mailing List
ixbge: remove TX lock and redo TX accounting.
Linux Kernel Mailing List
ixgbe: fix several counter register errata
Linux Kernel Mailing List
b43: fix build with CONFIG_SSB_PCIHOST=n
Linux Kernel Mailing List
9p: block-based virtio client
linux-netdev
:
Michael Breuer
Re: [PATCH] af_packet: Don't use skb after dev_queue_xmit()
Michael Breuer
Re: [PATCH] af_packet: Don't use skb after dev_queue_xmit()
David Daney
[PATCH 5/7] Staging: Octeon Ethernet: Convert to NAPI.
Wolfgang Grandegger
[PATCH net-next v4 1/3] can: mscan: fix improper return if dlc < 8 in start_xmi...
Amit Kumar Salecha
[PATCHv3 NEXT 2/2] NET: Add Qlogic ethernet driver for CNA devices
openbsd-misc
:
Theo de Raadt
Re: Old IPSEC bug
Tomáš Bodžár
Problem with vpnc connection - check group password !
Insan Praja SW
Mandoc Compiling Error
Carl Roberso
Re: Cannot change MTU of carp interface?
Richard Daemon
Re: booting openbsd on eee without cd-rom
Colocation donated by:
Syndicate