path: root/hostapd
diff options
authorMichael Braun <michael-dev@fami-braun.de>2016-01-21 13:52:00 (GMT)
committerJouni Malinen <j@w1.fi>2016-02-17 09:46:13 (GMT)
commit8be640b78029d4642d54f2657132e384db18cab7 (patch)
treed207fcff1573ff48a3e64568ba35661f9817c429 /hostapd
parentd0bdc96bdda1e37a32eca0a77e323613f1e61038 (diff)
VLAN: Add per-STA vif option
This allows the stations to be assigned to their own vif. It does not need dynamic_vlan to be set. Make hostapd call ap_sta_set_vlan even if !vlan_desc.notempty, so vlan_id can be assigned regardless. Signed-off-by: Michael Braun <michael-dev@fami-braun.de>
Diffstat (limited to 'hostapd')
2 files changed, 13 insertions, 0 deletions
diff --git a/hostapd/config_file.c b/hostapd/config_file.c
index 91eea9c..76f02ca 100644
--- a/hostapd/config_file.c
+++ b/hostapd/config_file.c
@@ -2769,6 +2769,8 @@ static int hostapd_config_fill(struct hostapd_config *conf,
} else if (os_strcmp(buf, "dynamic_vlan") == 0) {
bss->ssid.dynamic_vlan = 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) {
if (hostapd_config_read_vlan_file(bss, pos)) {
wpa_printf(MSG_ERROR, "Line %d: failed to read VLAN file '%s'",
diff --git a/hostapd/hostapd.conf b/hostapd/hostapd.conf
index 2c083f5..d535eec 100644
--- a/hostapd/hostapd.conf
+++ b/hostapd/hostapd.conf
@@ -978,6 +978,17 @@ own_ip_addr=
# 2 = required; reject authentication if RADIUS server does not include VLAN ID
+# Per-Station AP_VLAN interface mode
+# If enabled, each station is assigned its own AP_VLAN interface.
+# This implies per-station group keying and ebtables filtering of inter-STA
+# traffic (when passed through the AP).
+# If the sta is not assigned to any VLAN, then its AP_VLAN interface will be
+# added to the bridge given by the "bridge" configuration option (see above).
+# Otherwise, it will be added to the per-VLAN bridge.
+# 0 = disabled (default)
+# 1 = enabled
# VLAN interface list for dynamic VLAN mode is read from a separate text file.
# This list is used to map VLAN ID from the RADIUS server to a network
# interface. Each station is bound to one interface in the same way as with