[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <5640c7e00707120254u7fa2f963gfe07637f2f6eb891@mail.gmail.com>
Date: Thu, 12 Jul 2007 21:54:36 +1200
From: "Ian McDonald" <ian.mcdonald@...di.co.nz>
To: "OBATA Noboru" <noboru.obata.ar@...achi.com>
Cc: rick.jones2@...com, davem@...emloft.net,
shemminger@...ux-foundation.org, yoshfuji@...ux-ipv6.org,
netdev@...r.kernel.org
Subject: Re: [PATCH 2.6.22-rc5] TCP: Make TCP_RTO_MAX a variable
On 7/12/07, OBATA Noboru <noboru.obata.ar@...achi.com> wrote:
> > Ian McDonald wrote:
> > > On 6/26/07, OBATA Noboru <noboru.obata.ar@...achi.com> wrote:
> > >
> > >> From: OBATA Noboru <noboru.obata.ar@...achi.com>
> > >>
> > >> Make TCP_RTO_MAX a variable, and allow a user to change it via a
> > >> new sysctl entry /proc/sys/net/ipv4/tcp_rto_max. A user can
> > >> then guarantee TCP retransmission to be more controllable, say,
> > >> at least once per 10 seconds, by setting it to 10. This is
> > >> quite helpful on failover-capable network devices, such as an
> > >> active-backup bonding device. On such devices, it is desirable
> > >> that TCP retransmits a packet shortly after the failover, which
> > >> is what I would like to do with this patch. Please see
> > >> Background and Problem below for rationale in detail.
> > >>
> > > RFC2988 says this:
> > > (2.4) Whenever RTO is computed, if it is less than 1 second then the
> > > RTO SHOULD be rounded up to 1 second.
> > >
> > > Traditionally, TCP implementations use coarse grain clocks to
> > > measure the RTT and trigger the RTO, which imposes a large
> > > minimum value on the RTO. Research suggests that a large
> > > minimum RTO is needed to keep TCP conservative and avoid
> > > spurious retransmissions [AP99]. Therefore, this
> > > specification requires a large minimum RTO as a conservative
> > > approach, while at the same time acknowledging that at some
> > > future point, research may show that a smaller minimum RTO is
> > > acceptable or superior.
> > >
> > > (2.5) A maximum value MAY be placed on RTO provided it is at least 60
> > > seconds.
> > >
> > > Your code doesn't seem to meet requirements of section 2.5 as your
> > > minimum is 1 second.
> >
> > (At the risk of having another Emily Litella moment entering a
> > discussion late...)
> >
> > I thought that those sorts of things were generally referring to the
> > _default_ setting?
>
> I believe so. And the requirement of section 2.5 is rather weak
> (it says "MAY").
>
It is weak in saying you don't have to have a maximum, but if you do
have one IT IS AT LEAST 60 seconds (emphasis mine). So the time period
is a strong requirement if you decide to implement - which is a weak
requirement.
Ian
--
Web: http://wand.net.nz/~iam4/
Blog: http://iansblog.jandi.co.nz
WAND Network Research Group
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists