[PATCH] SO_REUSEADDR and SO_REUSEPORT behaviour
Joe Holden
lists at rewt.org.uk
Fri Nov 29 16:31:16 UTC 2013
On 29/11/2013 16:14, Julian Elischer wrote:
> On 11/29/13, 8:04 PM, Ermal Luçi wrote:
>> Hello,
>>
>> 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 how I interpret it.. I presume it is is to allow two
> OUTGOING sessions from the same source.
>>
No, it is to allow multiple listeners bound to the same ip:port. This
already works in FreeBSD but the kernel does not distribute incoming
connections to the different threads, rather just the last one that
called listen().
See the article in my previous post for how it should be implemented...
>> 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 [1] 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?
>>
>>
>> [1]
>> https://github.com/pfsense/pfsense-tools/blob/master/patches/RELENG_10_0/udp_SO_REUSEADDR%2BPORT.diff
>>
>>
>
> _______________________________________________
> freebsd-net at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"
More information about the freebsd-net
mailing list