[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4CF3F114.2070108@oracle.com>
Date: Mon, 29 Nov 2010 18:29:40 +0000
From: John Haxby <john.haxby@...cle.com>
To: Eric Dumazet <eric.dumazet@...il.com>
CC: NetDev <netdev@...r.kernel.org>
Subject: Re: inet_hash_connect: source port allocation
On 29/11/10 17:26, Eric Dumazet wrote:
> Le lundi 29 novembre 2010 à 17:04 +0000, John Haxby a écrit :
>> Hello,
>>
>> Please forgive me if this is a stupid question, but is there any
>> particular reason why the source port allocation in
>> __inet_hash_connect() shouldn't use the same random allocation that
>> inet_csk_get_port() uses? The latter, of course, is used when bind()
>> doesn't specify a source port but the implicit "bind" for a connect()
>> gets its port allocated by __inet_hash_connect().
>>
>> jch
> autobind vs bind
>
> bind() gives more information, like local address (if any)
>
> autobind(), we dont know local address, it'll be chose later by routing.
Sorry, I think I phrased my question badly.
inet_csk_get_port() starts its search for a free port with
smallest_rover = rover = net_random() % remaining + low;
whereas __inet_hash_connect() basically misses out that call to
net_random() so you get a predictable port number.
Is there any good reason why that is the case?
jch
--
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