aboutsummaryrefslogtreecommitdiffstats
path: root/package/network/services/hostapd/patches/710-vlan_no_bridge.patch
blob: d5aa33520b6da027c2f96575af21774fbe57a196 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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
@@ -3366,6 +3366,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) {