Re: [BEHAVE] (no subject)

Simon Perreault <> Thu, 27 June 2013 13:45 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 6DE6321F9DEB for <>; Thu, 27 Jun 2013 06:45:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.835
X-Spam-Status: No, score=-1.835 tagged_above=-999 required=5 tests=[AWL=0.765, BAYES_00=-2.599, NO_RELAYS=-0.001]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id mR+icmlwy4G8 for <>; Thu, 27 Jun 2013 06:45:41 -0700 (PDT)
Received: from ( [IPv6:2620:0:230:8000::2]) by (Postfix) with ESMTP id E14AB21F9DE8 for <>; Thu, 27 Jun 2013 06:45:40 -0700 (PDT)
Received: from [IPv6:::1] (unknown [IPv6:2001:660:3001:4012:7ddf:d947:bc5f:fe38]) by (Postfix) with ESMTPSA id 318B94150E; Thu, 27 Jun 2013 09:45:40 -0400 (EDT)
Message-ID: <>
Date: Thu, 27 Jun 2013 15:45:40 +0200
From: Simon Perreault <>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130620 Thunderbird/17.0.7
MIME-Version: 1.0
References: <> <> <> <> <> <> <> <> <> <> <> <>
In-Reply-To: <>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Subject: Re: [BEHAVE] (no subject)
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: mailing list of BEHAVE IETF WG <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 27 Jun 2013 13:45:41 -0000

Le 2013-06-27 15:27, ivan c a écrit :
>>> Your pseudo-code will never bind the sockets on the same local
> endpoint.
>>> It is forbidden POSIX behavior.
>> I'm ready to accept that, with a proper citation.
> Without the option SO_REUSEADDR, this is forbidden POSIX behavior

Please provide a citation.

>>> The option SO_REUSEADDR won't help either, this option is used to bind
>>> over an *already closed* socket in TIME_WAIT state, that's all.
>> I humbly believe that you are mistaken. It works, try it.
> It surely *works* on platforms that support this use of SO_REUSEADDR, we
> discussed it numerous times already, including on the phone.

So what is the problem exactly?

My point is that UDP and TCP are not different from the point of view of 
the NAT w.r.t. port preservation, since applications routinely call 
connect() on UDP sockets and it is entirely possible that two UDP 
sockets share the same local endpoint. POSIX standards have nothing to 
do with it. The functionality is available on many (all?) platforms, and 
applications use it.

> I also made the point in numerous posts already that SO_REUSEADDR is used
> to bypass the TIME_WAIT state on closed sockets, and even this is not
> specified by POSIX. See
> In another post, I explained that if you use SO_REUSEADDR on all your TCP
> sockets you expose them to the old duplicate problem, and the worst is that
> this crosses applications boundaries. See

We're talking about UDP here. There is no TIME_WAIT.