FreeBSD if_wg POINTTOPOINT and MULTICAST behaviour
stefan.haller at stha.de
Wed Apr 14 21:50:45 UTC 2021
Thanks for your clarification. I understand that setting this flag would
be a false promise to userspace, because generally Wireguard is
point-to-multipoint and doesn't copy messages to multiple peers (which
is not exactly necessary in my case, where only a single peer is
configured on both sides).
I just wanted to ensure that the introduced change was intentional
before looking into other directions, hence my question.
On Wed, Apr 14, 2021 at 02:24:20PM -0600, Jason A. Donenfeld wrote:
> Does bird completely ignore interfaces without it? Is there no setting
> to change that?
At least a brief look at the code suggests this: 
The Babel protocol seems to rely on well-known *link-local* IPv6
multicast addresses. I did not find anything related to unicast "hello"
messages in the RFC or in the implementations. (OSPF is similar, but
as far as I remember unicast hellos are explicitly allowed.)
One odd thing I noticed: On Linux (5.11.13-arch1-1, so quite recent),
the interface does not list the MULTICAST flag and the interface is
still used by bird:
# ip l show dev wg1
4: wg1: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1400 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
I will have a closer look why it doesn't work on FreeBSD but the same thing
works on Linux. I am probably missing something important.
More information about the WireGuard