From 629d369674d197c2f3e3f0482666efbe556dc811 Mon Sep 17 00:00:00 2001 From: Michael Braun Date: Thu, 21 Jan 2016 14:52:02 +0100 Subject: [PATCH] tests: Verify tagged-only connectivity Signed-off-by: Michael Braun --- tests/hwsim/auth_serv/eap_user.conf | 3 +++ tests/hwsim/test_ap_vlan.py | 25 +++++++++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/tests/hwsim/auth_serv/eap_user.conf b/tests/hwsim/auth_serv/eap_user.conf index 2a2b245a7..9a03a9b70 100644 --- a/tests/hwsim/auth_serv/eap_user.conf +++ b/tests/hwsim/auth_serv/eap_user.conf @@ -41,6 +41,9 @@ radius_accept_attr=64:d:13 radius_accept_attr=65:d:6 radius_accept_attr=81:s:2 +"vlan1tagged" PAX 0123456789abcdef0123456789abcdef +radius_accept_attr=56:x:31000001 + "test-class" PAX 0123456789abcdef0123456789abcdef radius_accept_attr=25:x:00112233445566778899 diff --git a/tests/hwsim/test_ap_vlan.py b/tests/hwsim/test_ap_vlan.py index ef2532199..bb601e3c9 100644 --- a/tests/hwsim/test_ap_vlan.py +++ b/tests/hwsim/test_ap_vlan.py @@ -465,3 +465,28 @@ def test_ap_vlan_without_station(dev, apdev, p): subprocess.call(['brctl', 'delif', 'brvlan1', 'wlan3.1'], stderr=open('/dev/null', 'w')) subprocess.call(['brctl', 'delbr', 'brvlan1']) + +def test_ap_vlan_wpa2_radius_tagged(dev, apdev): + """AP VLAN with WPA2-Enterprise and RADIUS EGRESS_VLANID attributes""" + ifname = 'wlan0.1' + try: + params = hostapd.wpa2_eap_params(ssid="test-vlan") + params['dynamic_vlan'] = "1" + params["vlan_naming"] = "1" + hapd = hostapd.add_ap(apdev[0]['ifname'], params) + + dev[0].connect("test-vlan", key_mgmt="WPA-EAP", eap="PAX", + identity="vlan1tagged", + password_hex="0123456789abcdef0123456789abcdef", + scan_freq="2412") + + # Create tagged interface for wpa_supplicant + subprocess.call(['ip', 'link', 'add', 'link', dev[0].ifname, + 'name', ifname, 'type', 'vlan', 'id', '1']) + subprocess.call(['ifconfig', ifname, 'up']) + + hwsim_utils.run_connectivity_test(dev[0], hapd, 0, ifname1=ifname, + ifname2="brvlan1") + finally: + subprocess.call(['ifconfig', ifname, 'down']) + subprocess.call(['ip', 'link', 'del', ifname])