• Tom Herbert's avatar
    soreuseport: UDP/IPv6 implementation · 72289b96
    Tom Herbert authored
    Motivation for soreuseport would be something like a DNS server.  An
    alternative would be to recv on the same socket from multiple threads.
    As in the case of TCP, the load across these threads tends to be
    disproportionate and we also see a lot of contection on the socket lock.
    Note that SO_REUSEADDR already allows multiple UDP sockets to bind to
    the same port, however there is no provision to prevent hijacking and
    nothing to distribute packets across all the sockets sharing the same
    bound port.  This patch does not change the semantics of SO_REUSEADDR,
    but provides usable functionality of it for unicast.
    Signed-off-by: default avatarTom Herbert <therbert@google.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    72289b96
udp.c 36.7 KB