diff options
author | Ondrej Zajicek <santiago@crfreenet.org> | 2015-03-31 23:59:40 +0200 |
---|---|---|
committer | Ondrej Zajicek <santiago@crfreenet.org> | 2015-03-31 23:59:40 +0200 |
commit | 16a3254c4cb592e7cfa3aea744e9fd58665d6367 (patch) | |
tree | c949d6bf453379a2cbd9db70a4a6e60518ef7210 /sysdep/linux | |
parent | 2eadd36fa004d705a4003892d1639485eeaf8486 (diff) |
Understand IFF_MULTICAST flag on ifaces in Linux
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.
Diffstat (limited to 'sysdep/linux')
-rw-r--r-- | sysdep/linux/netlink.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sysdep/linux/netlink.c b/sysdep/linux/netlink.c index 860c8601..48dd8bab 100644 --- a/sysdep/linux/netlink.c +++ b/sysdep/linux/netlink.c @@ -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) |