Which UDP sockets the incoming packet is delivered to when both wildcard and non-wildcard listeners are present
Maxim Sobolev
sobomax at freebsd.org
Mon Sep 5 12:47:24 UTC 2016
P.S. Destination UDP address of the message in question is obviously
X.Y.Z.W:5071.
On Mon, Sep 5, 2016 at 5:42 AM, Maxim Sobolev <sobomax at freebsd.org> wrote:
> Hi Netters,
>
> Suppose we have two threads in the system both bound to a same specific
> UDP port, one using INADDR_ANY and another one using actual IP. When
> incoming message arrives to that port is there any guarantee as to which of
> those two threads going to see the message? The question has arisen from
> the observation that most of the time the thread that is bound to a
> specific IP gets them, but occasionally we see INADDR_ANY-bound thread
> receiving few packets as well. So that behavior seems to be "almost
> deterministic" and we are wondering where that "almost" part is expected or
> some kind of socket matching bug?
>
> OS in question is 10.3-RELEASE-p5
>
> [ssp-root at dal23 ~]$ sockstat | grep 24421 | grep udp4 | grep -w 5071
> b2bua python2.7 24421 7 udp4 *:5071 *:*
> b2bua python2.7 24421 58 udp4 X.Y.Z.W:5071 *:*
>
> I apologize if this is answered somewhere already, any pointers would be
> appreciated. Thanks!
>
> -Max
>
More information about the freebsd-net
mailing list