tests: Store P2P Device ifname in class WpaSupplicant
authorAvraham Stern <avraham.stern@intel.com>
Thu, 7 Apr 2016 10:31:59 +0000 (13:31 +0300)
committerJouni Malinen <j@w1.fi>
Sun, 24 Apr 2016 20:24:06 +0000 (23:24 +0300)
Add an attribute to class WpaSupplicant with the name of the
P2P Device interface. If a separate interface is not used for
P2P Device, this attribute will hold the name of the only used
interface (with functions also as the P2P Device management
interface).

This attribute will be used to direct P2P related commands to the
P2P Device interface, which is needed for configurations that use
a separate interface for the P2P Device.

Signed-off-by: Avraham Stern <avraham.stern@intel.com>
tests/hwsim/wpasupplicant.py

index b164fe0..f496724 100644 (file)
@@ -25,6 +25,11 @@ class WpaSupplicant:
         self.host = remotehost.Host(hostname, ifname)
         if ifname:
             self.set_ifname(ifname, hostname, port)
+            res = self.get_driver_status()
+            if int(res['capa.flags'], 0) & 0x20000000:
+                self.p2p_dev_ifname = 'p2p-dev-' + self.ifname
+            else:
+                self.p2p_dev_ifname = ifname
         else:
             self.ifname = None
 
@@ -129,6 +134,11 @@ class WpaSupplicant:
         if not create and set_ifname:
             port = self.get_ctrl_iface_port(ifname)
             self.set_ifname(ifname, self.hostname, port)
+            res = self.get_driver_status()
+            if int(res['capa.flags'], 0) & 0x20000000:
+                self.p2p_dev_ifname = 'p2p-dev-' + self.ifname
+            else:
+                self.p2p_dev_ifname = ifname
 
     def interface_remove(self, ifname):
         self.remove_ifname()