[Bug 219674] rpcbind -h breaks broadcast functionality

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Wed May 31 08:34:12 UTC 2017


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=219674

            Bug ID: 219674
           Summary: rpcbind -h breaks broadcast functionality
           Product: Base System
           Version: CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: bin
          Assignee: freebsd-bugs at FreeBSD.org
          Reporter: avg at FreeBSD.org

If rpcbind is started with -h <ip-addr> option, then it does not receive any
broadcast traffic.  This is because the FreeBSD UDP stack passes an incoming
broadcast packet to a socket only if the socket is bound to either the
INADDR_ANY or to the same broadcast IP address as in the packet's destination.

Thus, any RPC services depending on the broadcast functionality stop working.
For example, ypbind is no longer able to discover ypserv(-s).

This behaviour is not documented at all neither in man pages nor in the
handbook (https://www.freebsd.org/doc/handbook/network-nis.html).  At minimum,
the issue deserves a big warning, at maximum there should be an example of the
configuration tweaks required to work around the problem (e.g. using ypset,
etc).

Ideally, though, rpcbind should bind to each broadcast address matching any IP
address passed via -h.
Alternatively, we could add a socket option to allow a UDP socket to see the
matching [the interface] broadcast traffic in addition to the traffic destined
to the bound IP address.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list