On Thu, Nov 15, 2018 at 10:22:59AM +0100, Florian Westphal wrote:
> This is a leftover from days where single-cpu systems were common:
> Store last port used to resolve a clash to use it as a starting point when
> the next conflict needs to be resolved.
> 
> When we have parallel attempt to connect to same address:port pair,
> its likely that both cores end up computing the same "available" port,
> as both use same starting port, and newly used ports won't become
> visible to other cores until the conntrack gets confirmed later.
> 
> One of the cores then has to drop the packet at insertion time because
> the chosen new tuple turns out to be in use after all.
> 
> Lets simplify this: remove port rover and use a pseudo-random starting
> point.
> 
> Note that this doesn't make netfilter default to 'fully random' mode;
> the 'rover' was only used if NAT could not reuse source port as-is.

Applied, thanks Florian.

Reply via email to