BSD: Propagate OS-level IFF_MULTICAST to internal IF_MULTICAST flag

The BSD code did not propagate the OS-level IFF_MULTICAST flag to the
Bird-internal IF_MULTICAST flag, which causes problems with Wireguard
interfaces on FreeBSD. The Linux sysdep code does propagate the flag
already, so just copy over the same check and flag update.
This commit is contained in:
Toke Høiland-Jørgensen 2021-05-10 19:49:43 +02:00 committed by Ondrej Zajicek (work)
parent 2a0af925b8
commit b17adf0735

View file

@ -665,6 +665,9 @@ krt_read_ifinfo(struct ks_msg *msg, int scan)
else else
f.flags |= IF_MULTIACCESS; /* NBMA */ f.flags |= IF_MULTIACCESS; /* NBMA */
if (fl & IFF_MULTICAST)
f.flags |= IF_MULTICAST;
iface = if_update(&f); iface = if_update(&f);
if (!scan) if (!scan)