wireless: always enable bpdu filter for AP interfaces and VLANs
[project/netifd.git] / system-linux.c
index 85942a546d3e75e88fe66a5bc9e7fc21e9b8ae81..355bf6936d421bbfd520fa9ecd1609307ca75861 100644 (file)
@@ -404,6 +404,11 @@ static void system_bridge_set_hairpin_mode(struct device *dev, const char *val)
        system_set_dev_sysctl("/sys/class/net/%s/brport/hairpin_mode", dev->ifname, val);
 }
 
+static void system_bridge_set_bpdu_filter(struct device *dev, const char *val)
+{
+       system_set_dev_sysctl("/sys/class/net/%s/brport/bpdu_filter", dev->ifname, val);
+}
+
 static void system_bridge_set_isolated(struct device *dev, const char *val)
 {
        system_set_dev_sysctl("/sys/class/net/%s/brport/isolated", dev->ifname, val);
@@ -893,6 +898,9 @@ retry:
            dev->settings.isolate)
                system_bridge_set_isolated(dev, "1");
 
+       if (dev->bpdu_filter)
+               system_bridge_set_bpdu_filter(dev, dev->bpdu_filter ? "1" : "0");
+
        return ret;
 }