[PATCH] SO_REUSEADDR and SO_REUSEPORT behaviour
dnebdal at gmail.com
Fri Nov 29 12:19:50 UTC 2013
On Fri, Nov 29, 2013 at 1:04 PM, Ermal Luçi <eri at freebsd.org> wrote:
> since SO_REUSEADDR and SO_REUSEPORT are supposed to allow two daemons to
> share the same port and possibly listening ip, you would expect if you bind
> two daemon with such options to same port to see the same traffic on both!
> This is not the case today.
> Only multicast sockets seem to have the behaviour of broadcasting the data
> to all sockets sharing the same properties through these options!
> The patch at  implements/corrects the behaviour for UDP sockets.
> Is there anything to be corrected in that patch?
> Why it has not been provided there before?
> Can it be committed to the tree?
> Any extra security checks for jails needed there?
I understood it as working sort of like for TCP, where packages from a
given remote host+port all end up at exactly one of the local sockets? If
the idea is to split the workload over multiple threads holding their own
sockets listening to the same interface+port, wouldn't sending all packets
to all sockets all the time be kind of counterproductive?
Of course, I haven't actually used it much; I might be wrong.
More information about the freebsd-net