Re: [BEHAVE] (no subject)

ivan c <> Thu, 27 June 2013 14:16 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id EBF5521F88AC for <>; Thu, 27 Jun 2013 07:16:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.382
X-Spam-Status: No, score=-2.382 tagged_above=-999 required=5 tests=[AWL=0.217, BAYES_00=-2.599]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id HyY4Zz+8x+xB for <>; Thu, 27 Jun 2013 07:16:21 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id AD71B21F88A9 for <>; Thu, 27 Jun 2013 07:16:21 -0700 (PDT)
Received: from www-data by with local (Exim 4.72) (envelope-from <>) id 1UsD0j-0007Z8-4z; Thu, 27 Jun 2013 16:17:21 +0200
To: Simon Perreault <>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Date: Thu, 27 Jun 2013 16:17:21 +0200
From: ivan c <>
Organization: cacaoweb
In-Reply-To: <>
References: <> <> <> <> <> <> <> <> <> <> <> <> <>
Message-ID: <>
User-Agent: RoundCube Webmail/0.3.1
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 14:16:26 -0000

On Thu, 27 Jun 2013 15:45:40 +0200, Simon Perreault
<> wrote:
> So what is the problem exactly?

I have no problem, however it seems that you do have an attitude problem
(joking, but please do try keep it in friendly way, as this is a public
mailing list after all)

> 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. 

It has everything to do with POSIX standards. Options that are outside the
POSIX standards are usually quite flaky. See the shortcomings of the
SO_REUSEADDR option that I mention in my previous post.
I also totally agree that: UDP and TCP are not different from the point of
view of the NAT w.r.t. port overloading (i assume you meant port
overloading, you wrote "port preservation")
It's just that applications usually use many more TCP local endpoints than
UDP ones. See bittorrent and all others, empirical observations. So if
there is a shortage of internal endpoints, it's more likely to happen for
TCP. But it can also happen for UDP, i totally agree.

> The functionality is available on many (all?) platforms, and 
> applications use it.

Which applications use it for TCP? Reference needed.
(Although I fully agree that p2p applications should consider using it)
This was the point of this post:
With this follow-up:

>> I also made the point in numerous posts already that SO_REUSEADDR is
>> 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
>> 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.

No, we are talking about TCP and UDP, this is the point of the whole
SO_REUSEADDR is not needed on UDP anyway since you can already multiplex
multiple sessions over the same UDP socket. Applications can still use it
for pure convenience though, i agree, your previous post being a nice
illustration of this use case.

_Ivan Chollet_