[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <1416417120.14060.55.camel@edumazet-glaptop2.roam.corp.google.com>
Date: Wed, 19 Nov 2014 09:12:00 -0800
From: Eric Dumazet <eric.dumazet@...il.com>
To: Jon Maxwell <jmaxwell37@...il.com>
Cc: davem@...emloft.net, kuznet@....inr.ac.ru, jmorris@...ei.org,
yoshfuji@...ux-ipv6.org, kaber@...sh.net, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org, jmaxwell@...hat.com
Subject: Re: [PATCH net] tcp: fix connect() invalid -EADDRNOTAVAIL error
On Wed, 2014-11-19 at 17:37 +1100, Jon Maxwell wrote:
> Prerequisites for this to happen:
> 1) The local tcp port range must be exhausted.
> 2) A process must have called bind() followed by connect() for all
> local ports.
How the bind() is done exactly ? How SO_REUSEADDR is used ?
> 3) A different process calls connect() only which returns -EADDRNOTAVAIL.
> 4) The system more than 1 interface configured.
>
> If a system has 2 IP Addresses and all local tcp ports are in use
> for connection from IP Address (1). Connecting to the same ports
> via IP Address (2) should work based on the 4 tuple rule. But it
> fails under this condition.
I do not think this is generally true.
If process called bind() to reserve a port, another process should not
be able to use the same port.
Do you have a test program exhibiting the problem ?
Thanks !
--
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