aboutsummaryrefslogtreecommitdiffstats
path: root/package/network/services/hostapd/patches/710-vlan_no_bridge.patch
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2021-05-18 12:50:17 +0200
committerFelix Fietkau <nbd@nbd.name>2021-05-18 12:52:52 +0200
commitcf45caeff16256f9db777e0e652ec3a38cd476a4 (patch)
treecd2cb7689e08e2531bd17ba3029ab6e620d0620b /package/network/services/hostapd/patches/710-vlan_no_bridge.patch
parent2d89d7c7482333ecf2697dbca705f627b8bf9b52 (diff)
downloadupstream-cf45caeff16256f9db777e0e652ec3a38cd476a4.tar.gz
upstream-cf45caeff16256f9db777e0e652ec3a38cd476a4.tar.bz2
upstream-cf45caeff16256f9db777e0e652ec3a38cd476a4.zip
hostapd: add patch for disabling automatic bridging of vlan interfaces
netifd is responsible for handling that, except if the vlan bridge was provided by the config Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'package/network/services/hostapd/patches/710-vlan_no_bridge.patch')
-rw-r--r--package/network/services/hostapd/patches/710-vlan_no_bridge.patch33
1 files changed, 33 insertions, 0 deletions
diff --git a/package/network/services/hostapd/patches/710-vlan_no_bridge.patch b/package/network/services/hostapd/patches/710-vlan_no_bridge.patch
new file mode 100644
index 0000000000..7de4e2c1d4
--- /dev/null
+++ b/package/network/services/hostapd/patches/710-vlan_no_bridge.patch
@@ -0,0 +1,33 @@
+--- a/src/ap/ap_config.h
++++ b/src/ap/ap_config.h
+@@ -115,6 +115,7 @@ struct hostapd_ssid {
+ #define DYNAMIC_VLAN_OPTIONAL 1
+ #define DYNAMIC_VLAN_REQUIRED 2
+ int dynamic_vlan;
++ int vlan_no_bridge;
+ #define DYNAMIC_VLAN_NAMING_WITHOUT_DEVICE 0
+ #define DYNAMIC_VLAN_NAMING_WITH_DEVICE 1
+ #define DYNAMIC_VLAN_NAMING_END 2
+--- a/src/ap/vlan_full.c
++++ b/src/ap/vlan_full.c
+@@ -466,6 +466,9 @@ void vlan_newlink(const char *ifname, st
+
+ wpa_printf(MSG_DEBUG, "VLAN: vlan_newlink(%s)", ifname);
+
++ if (hapd->conf->ssid.vlan_no_bridge)
++ return;
++
+ for (vlan = hapd->conf->vlan; vlan; vlan = vlan->next) {
+ if (vlan->configured ||
+ os_strcmp(ifname, vlan->ifname) != 0)
+--- a/hostapd/config_file.c
++++ b/hostapd/config_file.c
+@@ -3400,6 +3400,8 @@ static int hostapd_config_fill(struct ho
+ #ifndef CONFIG_NO_VLAN
+ } else if (os_strcmp(buf, "dynamic_vlan") == 0) {
+ bss->ssid.dynamic_vlan = atoi(pos);
++ } else if (os_strcmp(buf, "vlan_no_bridge") == 0) {
++ bss->ssid.vlan_no_bridge = atoi(pos);
+ } else if (os_strcmp(buf, "per_sta_vif") == 0) {
+ bss->ssid.per_sta_vif = atoi(pos);
+ } else if (os_strcmp(buf, "vlan_file") == 0) {