Skip site navigation (1)Skip section navigation (2)
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>