* [PATCH][v4] tcp: fix ICMP-RTO war @ 2010-02-10 19:06 Damian Lukowski 2010-02-10 19:08 ` David Miller ` (2 more replies) 0 siblings, 3 replies; 9+ messages in thread From: Damian Lukowski @ 2010-02-10 19:06 UTC (permalink / raw) To: Netdev; +Cc: David Miller, Ilpo Järvinen Make sure, that TCP has a nonzero RTT estimation after three-way handshake. Currently, a listening TCP has a value of 0 for srtt, rttvar and rto right after the three-way handshake is completed with TCP timestamps disabled. This will lead to corrupt RTO recalculation and retransmission flood when RTO is recalculated on backoff reversion as introduced in "Revert RTO on ICMP destination unreachable" (f1ecd5d9e7366609d640ff4040304ea197fbc618). This behaviour can be provoked by connecting to a server which "responds first" (like SMTP) and rejecting every packet after the handshake with dest-unreachable, which will lead to softirq load on the server (up to 30% per socket in some tests). Thanks to Ilpo Jarvinen for providing debug patches and to Denys Fedoryshchenko for reporting and testing. Changes since v3: Removed bad characters in patchfile. Reported-by: Denys Fedoryshchenko <denys@visp.net.lb> Signed-off-by: Damian Lukowski <damian@tvk.rwth-aachen.de> --- net/ipv4/tcp_input.c | 8 +++----- 1 files changed, 3 insertions(+), 5 deletions(-) diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index 28e0296..da7173b 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c @@ -5783,12 +5783,10 @@ int tcp_rcv_state_process(struct sock *sk, struct sk_buff *skb, /* tcp_ack considers this ACK as duplicate * and does not calculate rtt. - * Fix it at least with timestamps. + * Force it here. */ - if (tp->rx_opt.saw_tstamp && - tp->rx_opt.rcv_tsecr && !tp->srtt) - tcp_ack_saw_tstamp(sk, 0); - + tcp_ack_update_rtt(sk, 0, 0); + if (tp->rx_opt.tstamp_ok) tp->advmss -= TCPOLEN_TSTAMP_ALIGNED; -- 1.6.4.4 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH][v4] tcp: fix ICMP-RTO war 2010-02-10 19:06 [PATCH][v4] tcp: fix ICMP-RTO war Damian Lukowski @ 2010-02-10 19:08 ` David Miller 2010-02-11 2:04 ` David Miller 2010-02-16 12:45 ` Ilpo Järvinen 2 siblings, 0 replies; 9+ messages in thread From: David Miller @ 2010-02-10 19:08 UTC (permalink / raw) To: damian; +Cc: netdev, ilpo.jarvinen From: Damian Lukowski <damian@tvk.rwth-aachen.de> Date: Wed, 10 Feb 2010 20:06:42 +0100 > Make sure, that TCP has a nonzero RTT estimation after three-way > handshake. Currently, a listening TCP has a value of 0 for srtt, > rttvar and rto right after the three-way handshake is completed > with TCP timestamps disabled. > This will lead to corrupt RTO recalculation and retransmission > flood when RTO is recalculated on backoff reversion as introduced > in "Revert RTO on ICMP destination unreachable" > (f1ecd5d9e7366609d640ff4040304ea197fbc618). > This behaviour can be provoked by connecting to a server which > "responds first" (like SMTP) and rejecting every packet after > the handshake with dest-unreachable, which will lead to softirq > load on the server (up to 30% per socket in some tests). > > Thanks to Ilpo Jarvinen for providing debug patches and to > Denys Fedoryshchenko for reporting and testing. > > Changes since v3: Removed bad characters in patchfile. > > Reported-by: Denys Fedoryshchenko <denys@visp.net.lb> > Signed-off-by: Damian Lukowski <damian@tvk.rwth-aachen.de> Thanks for doing this work, I'll study these issues and review this patch today. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH][v4] tcp: fix ICMP-RTO war 2010-02-10 19:06 [PATCH][v4] tcp: fix ICMP-RTO war Damian Lukowski 2010-02-10 19:08 ` David Miller @ 2010-02-11 2:04 ` David Miller 2010-02-16 12:45 ` Ilpo Järvinen 2 siblings, 0 replies; 9+ messages in thread From: David Miller @ 2010-02-11 2:04 UTC (permalink / raw) To: damian; +Cc: netdev, ilpo.jarvinen From: Damian Lukowski <damian@tvk.rwth-aachen.de> Date: Wed, 10 Feb 2010 20:06:42 +0100 > Make sure, that TCP has a nonzero RTT estimation after three-way > handshake. Currently, a listening TCP has a value of 0 for srtt, > rttvar and rto right after the three-way handshake is completed > with TCP timestamps disabled. > This will lead to corrupt RTO recalculation and retransmission > flood when RTO is recalculated on backoff reversion as introduced > in "Revert RTO on ICMP destination unreachable" > (f1ecd5d9e7366609d640ff4040304ea197fbc618). > This behaviour can be provoked by connecting to a server which > "responds first" (like SMTP) and rejecting every packet after > the handshake with dest-unreachable, which will lead to softirq > load on the server (up to 30% per socket in some tests). > > Thanks to Ilpo Jarvinen for providing debug patches and to > Denys Fedoryshchenko for reporting and testing. > > Changes since v3: Removed bad characters in patchfile. > > Reported-by: Denys Fedoryshchenko <denys@visp.net.lb> > Signed-off-by: Damian Lukowski <damian@tvk.rwth-aachen.de> Applied, thank you very much for fixing this bug. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH][v4] tcp: fix ICMP-RTO war 2010-02-10 19:06 [PATCH][v4] tcp: fix ICMP-RTO war Damian Lukowski 2010-02-10 19:08 ` David Miller 2010-02-11 2:04 ` David Miller @ 2010-02-16 12:45 ` Ilpo Järvinen 2010-02-22 2:10 ` David Miller 2 siblings, 1 reply; 9+ messages in thread From: Ilpo Järvinen @ 2010-02-16 12:45 UTC (permalink / raw) To: Damian Lukowski; +Cc: Netdev, David Miller First of all I want to let you know that I've no objection to this fix itself (DaveM applied it already), it certainly does it's jobs in preventing invalid < RTO_MIN state. However, I wonder if we could do further improvements in this area... On Wed, 10 Feb 2010, Damian Lukowski wrote: > Make sure, that TCP has a nonzero RTT estimation after three-way > handshake. Currently, a listening TCP has a value of 0 for srtt, > rttvar and rto right after the three-way handshake is completed > with TCP timestamps disabled. > This will lead to corrupt RTO recalculation and retransmission > flood when RTO is recalculated on backoff reversion as introduced > in "Revert RTO on ICMP destination unreachable" > (f1ecd5d9e7366609d640ff4040304ea197fbc618). > This behaviour can be provoked by connecting to a server which > "responds first" (like SMTP) and rejecting every packet after > the handshake with dest-unreachable, which will lead to softirq > load on the server (up to 30% per socket in some tests). > > Thanks to Ilpo Jarvinen for providing debug patches and to > Denys Fedoryshchenko for reporting and testing. > > Changes since v3: Removed bad characters in patchfile. > > Reported-by: Denys Fedoryshchenko <denys@visp.net.lb> > Signed-off-by: Damian Lukowski <damian@tvk.rwth-aachen.de> > --- > net/ipv4/tcp_input.c | 8 +++----- > 1 files changed, 3 insertions(+), 5 deletions(-) > > diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c > index 28e0296..da7173b 100644 > --- a/net/ipv4/tcp_input.c > +++ b/net/ipv4/tcp_input.c > @@ -5783,12 +5783,10 @@ int tcp_rcv_state_process(struct sock *sk, struct sk_buff *skb, > > /* tcp_ack considers this ACK as duplicate > * and does not calculate rtt. > - * Fix it at least with timestamps. > + * Force it here. > */ > - if (tp->rx_opt.saw_tstamp && > - tp->rx_opt.rcv_tsecr && !tp->srtt) > - tcp_ack_saw_tstamp(sk, 0); > - > + tcp_ack_update_rtt(sk, 0, 0); > + ...Here a zero seq_rtt is given to RTT estimator (it will be effective only in the case w/o timestamps, TS case recalculates it from the stored timestamps). Maybe we could use some field (timestamp related one comes to my mind) in request sock to get a real RTT estimate for non-timestamp case too. ...It seems possible to me, though tricky because the request_sock is no longer that easily available here so some parameter passing would be needed. -- i. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH][v4] tcp: fix ICMP-RTO war 2010-02-16 12:45 ` Ilpo Järvinen @ 2010-02-22 2:10 ` David Miller [not found] ` <o2z349f35ee1005071622z38fcd66ek398402d7512542ae@mail.gmail.com> 0 siblings, 1 reply; 9+ messages in thread From: David Miller @ 2010-02-22 2:10 UTC (permalink / raw) To: ilpo.jarvinen; +Cc: damian, netdev From: "Ilpo Järvinen" <ilpo.jarvinen@helsinki.fi> Date: Tue, 16 Feb 2010 14:45:25 +0200 (EET) > On Wed, 10 Feb 2010, Damian Lukowski wrote: > >> @@ -5783,12 +5783,10 @@ int tcp_rcv_state_process(struct sock *sk, struct sk_buff *skb, >> >> /* tcp_ack considers this ACK as duplicate >> * and does not calculate rtt. >> - * Fix it at least with timestamps. >> + * Force it here. >> */ >> - if (tp->rx_opt.saw_tstamp && >> - tp->rx_opt.rcv_tsecr && !tp->srtt) >> - tcp_ack_saw_tstamp(sk, 0); >> - >> + tcp_ack_update_rtt(sk, 0, 0); >> + > > ...Here a zero seq_rtt is given to RTT estimator (it will be effective > only in the case w/o timestamps, TS case recalculates it from the stored > timestamps). Maybe we could use some field (timestamp related one comes to > my mind) in request sock to get a real RTT estimate for non-timestamp case > too. ...It seems possible to me, though tricky because the request_sock is > no longer that easily available here so some parameter passing would be > needed. Agreed. But even more simply I think we should make even the current tcp_ack_update_rtt() call here conditional on at least tp->srtt being zero. Damian do you at least agree with that? ^ permalink raw reply [flat|nested] 9+ messages in thread
[parent not found: <o2z349f35ee1005071622z38fcd66ek398402d7512542ae@mail.gmail.com>]
* Re: [PATCH][v4] tcp: fix ICMP-RTO war [not found] ` <o2z349f35ee1005071622z38fcd66ek398402d7512542ae@mail.gmail.com> @ 2010-05-07 23:25 ` Jerry Chu 2010-05-08 8:30 ` Damian Lukowski 0 siblings, 1 reply; 9+ messages in thread From: Jerry Chu @ 2010-05-07 23:25 UTC (permalink / raw) To: damian; +Cc: ilpo.jarvinen, netdev Hi, I'm working on a patch that tries to measure and use the RTT for the passive open side when the TS option is NOT enabled. My code conflicts with your recently added "tcp_ack_update_rtt(sk, 0, 0);" Could you tell me why do you force this call for the no-TS case when obviously "0" is not a measured RTT? If you try to force icsk_rto to be initialized correctly, it is already initialized to TCP_TIMEOUT_INIT by tcp_create_openreq_child(). What am I missing? Thanks, Jerry >From: David Miller <davem@davemloft.net> > > Date: Sun, Feb 21, 2010 at 7:10 PM > Subject: Re: [PATCH][v4] tcp: fix ICMP-RTO war > To: ilpo.jarvinen@helsinki.fi > Cc: damian@tvk.rwth-aachen.de, netdev@vger.kernel.org > > > From: "Ilpo Järvinen" <ilpo.jarvinen@helsinki.fi> > Date: Tue, 16 Feb 2010 14:45:25 +0200 (EET) > > > On Wed, 10 Feb 2010, Damian Lukowski wrote: > > > >> @@ -5783,12 +5783,10 @@ int tcp_rcv_state_process(struct sock *sk, struct sk_buff *skb, > >> > >> /* tcp_ack considers this ACK as duplicate > >> * and does not calculate rtt. > >> - * Fix it at least with timestamps. > >> + * Force it here. > >> */ > >> - if (tp->rx_opt.saw_tstamp && > >> - tp->rx_opt.rcv_tsecr && !tp->srtt) > >> - tcp_ack_saw_tstamp(sk, 0); > >> - > >> + tcp_ack_update_rtt(sk, 0, 0); > >> + > > > > ...Here a zero seq_rtt is given to RTT estimator (it will be effective > > only in the case w/o timestamps, TS case recalculates it from the stored > > timestamps). Maybe we could use some field (timestamp related one comes to > > my mind) in request sock to get a real RTT estimate for non-timestamp case > > too. ...It seems possible to me, though tricky because the request_sock is > > no longer that easily available here so some parameter passing would be > > needed. > > Agreed. > > But even more simply I think we should make even the current > tcp_ack_update_rtt() call here conditional on at least > tp->srtt being zero. > > Damian do you at least agree with that? > -- > 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 ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH][v4] tcp: fix ICMP-RTO war 2010-05-07 23:25 ` Jerry Chu @ 2010-05-08 8:30 ` Damian Lukowski 2010-05-08 17:27 ` Jerry Chu 0 siblings, 1 reply; 9+ messages in thread From: Damian Lukowski @ 2010-05-08 8:30 UTC (permalink / raw) To: Jerry Chu; +Cc: ilpo.jarvinen, netdev > I'm working on a patch that tries to measure and use the RTT for the passive > open side when the TS option is NOT enabled. My code conflicts with your > recently added "tcp_ack_update_rtt(sk, 0, 0);" Could you tell me why do you > force this call for the no-TS case when obviously "0" is not a measured RTT? > If you try to force icsk_rto to be initialized correctly, it is > already initialized to > TCP_TIMEOUT_INIT by tcp_create_openreq_child(). What am I missing? Hi, the backoff reversion code uses __tcp_set_rto() to recalculate icsk_rto, which itself relies on tp->srtt and rttvar. srtt is explicitly set to 0 in tcp_create_openreq_child(), so I didn't change it. Initializing it with TCP_TIMEOUT_INIT should also fix that specific bug, but I don't know if there are other impacts. Regards Damian > Thanks, > > Jerry > >> From: David Miller <davem@davemloft.net> >> >> Date: Sun, Feb 21, 2010 at 7:10 PM >> Subject: Re: [PATCH][v4] tcp: fix ICMP-RTO war >> To: ilpo.jarvinen@helsinki.fi >> Cc: damian@tvk.rwth-aachen.de, netdev@vger.kernel.org >> >> >> From: "Ilpo Järvinen" <ilpo.jarvinen@helsinki.fi> >> Date: Tue, 16 Feb 2010 14:45:25 +0200 (EET) >> >>> On Wed, 10 Feb 2010, Damian Lukowski wrote: >>> >>>> @@ -5783,12 +5783,10 @@ int tcp_rcv_state_process(struct sock *sk, struct sk_buff *skb, >>>> >>>> /* tcp_ack considers this ACK as duplicate >>>> * and does not calculate rtt. >>>> - * Fix it at least with timestamps. >>>> + * Force it here. >>>> */ >>>> - if (tp->rx_opt.saw_tstamp && >>>> - tp->rx_opt.rcv_tsecr && !tp->srtt) >>>> - tcp_ack_saw_tstamp(sk, 0); >>>> - >>>> + tcp_ack_update_rtt(sk, 0, 0); >>>> + >>> >>> ...Here a zero seq_rtt is given to RTT estimator (it will be effective >>> only in the case w/o timestamps, TS case recalculates it from the stored >>> timestamps). Maybe we could use some field (timestamp related one comes to >>> my mind) in request sock to get a real RTT estimate for non-timestamp case >>> too. ...It seems possible to me, though tricky because the request_sock is >>> no longer that easily available here so some parameter passing would be >>> needed. >> >> Agreed. >> >> But even more simply I think we should make even the current >> tcp_ack_update_rtt() call here conditional on at least >> tp->srtt being zero. >> >> Damian do you at least agree with that? >> -- >> 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 ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH][v4] tcp: fix ICMP-RTO war 2010-05-08 8:30 ` Damian Lukowski @ 2010-05-08 17:27 ` Jerry Chu 2010-05-08 22:00 ` Ilpo Järvinen 0 siblings, 1 reply; 9+ messages in thread From: Jerry Chu @ 2010-05-08 17:27 UTC (permalink / raw) To: Damian Lukowski; +Cc: ilpo.jarvinen, netdev On Sat, May 8, 2010 at 1:30 AM, Damian Lukowski <damian@tvk.rwth-aachen.de> wrote: > > > I'm working on a patch that tries to measure and use the RTT for the passive > > open side when the TS option is NOT enabled. My code conflicts with your > > recently added "tcp_ack_update_rtt(sk, 0, 0);" Could you tell me why do you > > force this call for the no-TS case when obviously "0" is not a measured RTT? > > If you try to force icsk_rto to be initialized correctly, it is > > already initialized to > > TCP_TIMEOUT_INIT by tcp_create_openreq_child(). What am I missing? > > Hi, > the backoff reversion code uses __tcp_set_rto() to recalculate icsk_rto, > which itself relies on tp->srtt and rttvar. Guess you are talking about inet_csk(sk)->icsk_rto = __tcp_set_rto(tp) << icsk->icsk_backoff; inside tcp_v4_err(), right? (I'm looking at 2.6.33 kernel.) Yes it seems to be a bug when __tcp_set_rto() is called before tcp_rtt_estimator() gets a chance to initialize all the variables properly. But I don't like your fix of adding tcp_ack_update_rtt(sk, 0, 0); to tcp_rcv_state_process() because that means you've got a measured RTT of 0 (really meaning < 1 tick) for the no-TS case, which will cause tcp_rtt_estimator() to compute all the variables as if there has been a valid RTT measurement of 1. A better fix IMHO is to make sure all the variables are properly initialized when exiting tcp_init_metrics(), e.g, if srtt remains 0, make sure tp->mdev = tp->mdev_max = tp->rttvar = TCP_TIMEOUT_INIT; (mdev already been initialized to TCP_TIMEOUT_INIT. I think you got hit by rttvar == 0) > srtt is explicitly set to 0 in tcp_create_openreq_child(), so I didn't change it. > Initializing it with TCP_TIMEOUT_INIT should also fix that specific bug, > but I don't know if there are other impacts. So what do I care? Because I'm mucking with the code in this area and your fix causes some conflict with my logic. What do you think? Best, Jerry > > Regards > Damian > > > Thanks, > > > > Jerry > > > >> From: David Miller <davem@davemloft.net> > >> > >> Date: Sun, Feb 21, 2010 at 7:10 PM > >> Subject: Re: [PATCH][v4] tcp: fix ICMP-RTO war > >> To: ilpo.jarvinen@helsinki.fi > >> Cc: damian@tvk.rwth-aachen.de, netdev@vger.kernel.org > >> > >> > >> From: "Ilpo Järvinen" <ilpo.jarvinen@helsinki.fi> > >> Date: Tue, 16 Feb 2010 14:45:25 +0200 (EET) > >> > >>> On Wed, 10 Feb 2010, Damian Lukowski wrote: > >>> > >>>> @@ -5783,12 +5783,10 @@ int tcp_rcv_state_process(struct sock *sk, struct sk_buff *skb, > >>>> > >>>> /* tcp_ack considers this ACK as duplicate > >>>> * and does not calculate rtt. > >>>> - * Fix it at least with timestamps. > >>>> + * Force it here. > >>>> */ > >>>> - if (tp->rx_opt.saw_tstamp && > >>>> - tp->rx_opt.rcv_tsecr && !tp->srtt) > >>>> - tcp_ack_saw_tstamp(sk, 0); > >>>> - > >>>> + tcp_ack_update_rtt(sk, 0, 0); > >>>> + > >>> > >>> ...Here a zero seq_rtt is given to RTT estimator (it will be effective > >>> only in the case w/o timestamps, TS case recalculates it from the stored > >>> timestamps). Maybe we could use some field (timestamp related one comes to > >>> my mind) in request sock to get a real RTT estimate for non-timestamp case > >>> too. ...It seems possible to me, though tricky because the request_sock is > >>> no longer that easily available here so some parameter passing would be > >>> needed. > >> > >> Agreed. > >> > >> But even more simply I think we should make even the current > >> tcp_ack_update_rtt() call here conditional on at least > >> tp->srtt being zero. > >> > >> Damian do you at least agree with that? > >> -- > >> 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 > ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH][v4] tcp: fix ICMP-RTO war 2010-05-08 17:27 ` Jerry Chu @ 2010-05-08 22:00 ` Ilpo Järvinen 0 siblings, 0 replies; 9+ messages in thread From: Ilpo Järvinen @ 2010-05-08 22:00 UTC (permalink / raw) To: Jerry Chu; +Cc: Damian Lukowski, Netdev [-- Attachment #1: Type: TEXT/PLAIN, Size: 2678 bytes --] On Sat, 8 May 2010, Jerry Chu wrote: > On Sat, May 8, 2010 at 1:30 AM, Damian Lukowski > <damian@tvk.rwth-aachen.de> wrote: > > > > > I'm working on a patch that tries to measure and use the RTT for the passive > > > open side when the TS option is NOT enabled. My code conflicts with your > > > recently added "tcp_ack_update_rtt(sk, 0, 0);" Could you tell me why do you > > > force this call for the no-TS case when obviously "0" is not a measured RTT? > > > If you try to force icsk_rto to be initialized correctly, it is > > > already initialized to > > > TCP_TIMEOUT_INIT by tcp_create_openreq_child(). What am I missing? > > > > Hi, > > the backoff reversion code uses __tcp_set_rto() to recalculate icsk_rto, > > which itself relies on tp->srtt and rttvar. > > Guess you are talking about > > inet_csk(sk)->icsk_rto = __tcp_set_rto(tp) << > icsk->icsk_backoff; > > inside tcp_v4_err(), right? (I'm looking at 2.6.33 kernel.) > > Yes it seems to be a bug when __tcp_set_rto() is called before > tcp_rtt_estimator() > gets a chance to initialize all the variables properly. > > But I don't like your fix of adding tcp_ack_update_rtt(sk, 0, 0); to > tcp_rcv_state_process() > because that means you've got a measured RTT of 0 (really meaning < 1 tick) for > the no-TS case, which will cause tcp_rtt_estimator() to compute all > the variables as if > there has been a valid RTT measurement of 1. > > A better fix IMHO is to make sure all the variables are properly > initialized when exiting > tcp_init_metrics(), e.g, if srtt remains 0, make sure > tp->mdev = tp->mdev_max = tp->rttvar = TCP_TIMEOUT_INIT; > (mdev already been initialized to TCP_TIMEOUT_INIT. I think you got > hit by rttvar == 0) > > > srtt is explicitly set to 0 in tcp_create_openreq_child(), so I didn't change it. > > Initializing it with TCP_TIMEOUT_INIT should also fix that specific bug, > > but I don't know if there are other impacts. > > So what do I care? Because I'm mucking with the code in this area and your fix > causes some conflict with my logic. > > What do you think? I didn't/don't like the fix either, but it's better than ICMP-RTO war that it fixed. I think that most sensible solution to this issue would not be to initialize with the TCP_TIMEOUT_INIT bogosity either but do the real measurement for rtt which should be possible already. I suggested this already when the fix was made but nobody has yet found the time and energy to code the rtt measurement for the early rtt when not using TS. Since you're going to make that lack of feature to go away, please change this illogical call too then while you go :-). -- i. ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2010-05-08 22:00 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-02-10 19:06 [PATCH][v4] tcp: fix ICMP-RTO war Damian Lukowski 2010-02-10 19:08 ` David Miller 2010-02-11 2:04 ` David Miller 2010-02-16 12:45 ` Ilpo Järvinen 2010-02-22 2:10 ` David Miller [not found] ` <o2z349f35ee1005071622z38fcd66ek398402d7512542ae@mail.gmail.com> 2010-05-07 23:25 ` Jerry Chu 2010-05-08 8:30 ` Damian Lukowski 2010-05-08 17:27 ` Jerry Chu 2010-05-08 22:00 ` Ilpo Järvinen
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).