On Wed, May 20, 2015 at 10:59:02AM -0700, Eric Dumazet wrote: > inet_csk_get_port() randomization effort tends to spread > sockets on all the available range (ip_local_port_range) > > This is unfortunate because SO_REUSEADDR sockets have > less requirements than non SO_REUSEADDR ones. > > If an application uses SO_REUSEADDR hint, it is to try to > allow source ports being shared. > > So instead of picking a random port number in ip_local_port_range, > lets try first in first half of the range. > > This gives more chances to use upper half of the range for the > sockets with strong requirements (not using SO_REUSEADDR) > > Note this patch does not add a new sysctl, and only changes > the way we try to pick port number. > > Signed-off-by: Eric Dumazet <eduma...@google.com> > Cc: Marcelo Ricardo Leitner <mleit...@redhat.com> > Cc: Flavio Leitner <f...@redhat.com> > ---
The only downside I can see is that after the patch the applications using the SO_REUSEADDR will reuse ports more often and that could potentially trigger some bug. Looks like a good change to me. Acked-by: Flavio Leitner <f...@redhat.com> -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html