Re: [tcpm] poll for adoption of draft-ananth-persist-02

"Anantha Ramaiah (ananth)" <> Thu, 01 April 2010 20:55 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 53EEE3A684B for <>; Thu, 1 Apr 2010 13:55:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -9.469
X-Spam-Status: No, score=-9.469 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13, RCVD_IN_DNSWL_HI=-8]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id SXTBoNfkrsuW for <>; Thu, 1 Apr 2010 13:55:38 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 17D963A6888 for <>; Thu, 1 Apr 2010 13:55:37 -0700 (PDT)
Authentication-Results:; dkim=neutral (message not signed) header.i=none
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AvsEAMektEurR7Ht/2dsb2JhbACbSnGdPZkOhQEEgyM
X-IronPort-AV: E=Sophos;i="4.51,350,1267401600"; d="scan'208";a="507140698"
Received: from ([]) by with ESMTP; 01 Apr 2010 20:54:58 +0000
Received: from ( []) by (8.13.8/8.14.3) with ESMTP id o31Ksw3A022957; Thu, 1 Apr 2010 20:54:58 GMT
Received: from ([]) by with Microsoft SMTPSVC(6.0.3790.3959); Thu, 1 Apr 2010 13:54:58 -0700
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Date: Thu, 01 Apr 2010 13:54:57 -0700
Message-ID: <>
In-Reply-To: <>
Thread-Topic: [tcpm] poll for adoption of draft-ananth-persist-02
Thread-Index: AcrR1QxSicz6NBhNT46X8AmRuQV3WwAAPMTg
References: <EC7B72027914A242B991C029F5F213CF3EBF3BAB5B@exchsvr01.ocarina.local> <>
From: "Anantha Ramaiah (ananth)" <>
To:, Murali Bashyam <>
X-OriginalArrivalTime: 01 Apr 2010 20:54:58.0319 (UTC) FILETIME=[96E729F0:01CAD1DD]
Subject: Re: [tcpm] poll for adoption of draft-ananth-persist-02
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 01 Apr 2010 20:55:39 -0000

Hi Mark, 

> -----Original Message-----
> From: [] On 
> Behalf Of Mark Allman
> Sent: Thursday, April 01, 2010 12:53 PM
> To: Murali Bashyam
> Cc:
> Subject: Re: [tcpm] poll for adoption of draft-ananth-persist-02
> > There are other aspects too, it's also important for the 
> application 
> > to control the duration that the connection spends in 
> persist state, 
> > this is planned to be accomplished via a socket option.
> Why?
> I mean, sure, an app may want to not let a connection hang 
> around forever.  But, can't it just ABORT whenever it wants?

Yes, the application can ABORT the connection whenever it wants. 

The socket option is suggested for multiple reasons (use cases) :-

- orphaned connections, where the application has already closed the
connection and the connection is in persist state.
- Typically when the data cannot be sent (due to retransmisions) there
is a retransmit timeout happening and a error ETIMEDOUT returned to the
application, for persist case there is no way for the application to
know about the connection not making any progress. When this socket
option is set, TCP would behave the same way as would for ETIMEDOUT

The reason why the socket option is been suggested because we want to
preserve the default behaviour of persist forever but an override
suggested by the application if needed by means of a socket option. (or
sysctl or something equivalent). This ensures that we are not violating
RFC 1122.

Also this is an informational draft and typically one would want to
explain the situation better and some implementation advice, that is the
reason we have put the socket option in the appendix. Hope this
explanation conveys the functionality of the socket option, do you think
some clarfication are needed in the document?. (actually we have
received other comments too and will put all of them together when we
submit the next revision).


> allman