]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Understand IFF_MULTICAST flag on ifaces in Linux
authorOndrej Zajicek <santiago@crfreenet.org>
Tue, 31 Mar 2015 21:59:40 +0000 (23:59 +0200)
committerOndrej Zajicek <santiago@crfreenet.org>
Tue, 31 Mar 2015 21:59:40 +0000 (23:59 +0200)
Unfortunately, some interfaces support multicast but do not have
this flag set, so we use it only as a positive hint.

Thanks to Clint Armstrong for noticing the problem.

sysdep/linux/netlink.c

index 860c8601dbf9443184293692d8fa20b3baa80374..48dd8babb264a331c2fb2dfb7bed91c6dda8b587 100644 (file)
@@ -436,6 +436,9 @@ nl_parse_link(struct nlmsghdr *h, int scan)
       else
        f.flags |= IF_MULTIACCESS;      /* NBMA */
 
+      if (fl & IFF_MULTICAST)
+       f.flags |= IF_MULTICAST;
+
       ifi = if_update(&f);
 
       if (!scan)