Date: Wed, 5 Sep 2018 01:46:48 -0400 From: James Blachly <james.blachly@gmail.com> To: freebsd-net@freebsd.org Subject: multicast packets not seen on PHY bridge member Message-ID: <5F7908EB-0240-476F-9EED-5EEBFA5547C4@gmail.com>
next in thread | raw e-mail | index | archive | help
I am new to FreeBSD so please forgive (and correct) wrong terminology = and concepts. I=E2=80=99ve installed FreeBSD 11.2 as a VM host and run in to a problem = with multicast packets over a bridge not being seen by programs [on the = host] listening on the bridge=E2=80=99s physical interface constituent = (igb1), which I discovered when running avahi-daemon. Briefly, my setup is as follows: FreeBSD 11.2 host, bare metal, eth PHY igb1 bridge0 with members igb1, tap0, tap1 VM linux guest virtio-net to tap0 to bridge on FreeBSD VM freebsd guest virtio-net to tap1 to bridge on FreeBSD=20 Mac, 802.11 to AP to same switch as FreeBSD mDNS query/response operates properly between the mac and any of the = others (both physical and virtual), and all work in the converse = direction with the mac. The guests, all of which are constituents of = the bridge, are able to communicate via mDNS with one another. However, = the guests are _unable_ to communicate with the host via mDNS. tcpdump = shows the query packets appearing on igb1, but truss on avahi-daemon = shows they are not received. This means multicast packets are forwarded out all members of the = bridge, but not IN (at least, to physical interfaces =E2=80=94 they do = seem to go both directions on the taps) If I add an IP address to the bridge, avahi-daemon on the host binds to = the bridge interface directly and then receives incoming packets, = responding with the IP of the bridge. All then operates correctly, = except that the host now has two IPs on the same subnet of course. My question is: given that if_bridge(4) is described as a virtual = switch: A bridge works like a switch, forwarding traffic from one interface = to another. Multicast and broadcast packets are always forwarded to = all interfaces that are part of the bridge. For unicast traffic, the = bridge learns which MAC addresses are associated with which interfaces and = will forward the traffic selectively. and given that unicast packets originating on one of the bridge=E2=80=99s = taps are received by host programs bound to igb1, it seems to me that = anything bound to igb1 should also be receiving the multicast packets.=20= Is this an error specifically related to multicast and bridging, or is = it an accident that unicast connections work? (or, none of the above) Kind regards and thanks in advance. jsb
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5F7908EB-0240-476F-9EED-5EEBFA5547C4>