Parcourir la source

tests: Verify connectivity with untagged/tagged VLAN mixed configuration

Signed-off-by: Michael Braun <michael-dev@fami-braun.de>
Michael Braun il y a 9 ans
Parent
commit
732bbcc709
2 fichiers modifiés avec 36 ajouts et 0 suppressions
  1. 6 0
      tests/hwsim/auth_serv/eap_user.conf
  2. 30 0
      tests/hwsim/test_ap_vlan.py

+ 6 - 0
tests/hwsim/auth_serv/eap_user.conf

@@ -47,6 +47,12 @@ radius_accept_attr=56:x:32000001
 "vlan1tagged"   PAX     0123456789abcdef0123456789abcdef
 radius_accept_attr=56:x:31000001
 
+"vlan12mixed"   PAX     0123456789abcdef0123456789abcdef
+radius_accept_attr=56:x:31000001
+radius_accept_attr=64:d:13
+radius_accept_attr=65:d:6
+radius_accept_attr=81:s:2
+
 "test-class"	PAX	0123456789abcdef0123456789abcdef
 radius_accept_attr=25:x:00112233445566778899
 

+ 30 - 0
tests/hwsim/test_ap_vlan.py

@@ -535,3 +535,33 @@ def test_ap_vlan_wpa2_radius_tagged(dev, apdev):
     finally:
         subprocess.call(['ifconfig', ifname, 'down'])
         subprocess.call(['ip', 'link', 'del', ifname])
+
+def test_ap_vlan_wpa2_radius_mixed(dev, apdev):
+    """AP VLAN with WPA2-Enterprise and tagged+untagged VLANs"""
+    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="vlan12mixed",
+                       password_hex="0123456789abcdef0123456789abcdef",
+                       scan_freq="2412")
+
+        # Add tagged VLAN interface to wpa_supplicant interface for testing
+        subprocess.call(['ip', 'link', 'add', 'link', dev[0].ifname,
+                         'name', ifname, 'type', 'vlan', 'id', '1'])
+        subprocess.call(['ifconfig', ifname, 'up'])
+
+        logger.info("Test connectivity in untagged VLAN 2")
+        hwsim_utils.run_connectivity_test(dev[0], hapd, 0,
+                                          ifname1=dev[0].ifname,
+                                          ifname2="brvlan2")
+        logger.info("Test connectivity in tagged VLAN 1")
+        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])