diff options
author | Felix Fietkau <nbd@nbd.name> | 2022-12-19 18:15:01 +0100 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2022-12-19 18:15:24 +0100 |
commit | a2e8cd75dbf6196f9408165e2e5f56c84fa37ca3 (patch) | |
tree | 4c5c4ccfa7218ab6bb513a9506ddd7417723bb9f /system-linux.c | |
parent | 96bcbb2e4eb69065150203deaa2c13046a22af6a (diff) | |
download | netifd-a2e8cd75dbf6196f9408165e2e5f56c84fa37ca3.tar.gz |
wireless: add support for disabling multicast-to-unicast per virtual interface
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'system-linux.c')
-rw-r--r-- | system-linux.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/system-linux.c b/system-linux.c index 9fe869f..f16a955 100644 --- a/system-linux.c +++ b/system-linux.c @@ -847,8 +847,10 @@ system_bridge_set_wireless(struct device *bridge, struct device *dev) bool mcast_to_ucast = dev->wireless_ap; bool hairpin; - if (bridge->settings.flags & DEV_OPT_MULTICAST_TO_UNICAST && - !bridge->settings.multicast_to_unicast) + if (dev->settings.flags & DEV_OPT_MULTICAST_TO_UNICAST) + mcast_to_ucast = dev->settings.multicast_to_unicast; + else if (bridge->settings.flags & DEV_OPT_MULTICAST_TO_UNICAST && + !bridge->settings.multicast_to_unicast) mcast_to_ucast = false; hairpin = mcast_to_ucast || dev->wireless_proxyarp; |