wpa_supplicant: Parse ifname argument from DATA_TEST_CONFIG
authorMichael Braun <michael-dev@fami-braun.de>
Thu, 21 Jan 2016 13:52:01 +0000 (14:52 +0100)
committerJouni Malinen <j@w1.fi>
Wed, 17 Feb 2016 09:46:13 +0000 (11:46 +0200)
This is required to test tagged VLANs.

Signed-off-by: Michael Braun <michael-dev@fami-braun.de>
wpa_supplicant/ctrl_iface.c

index b3d6246..83d8473 100644 (file)
@@ -7729,6 +7729,8 @@ static int wpas_ctrl_iface_data_test_config(struct wpa_supplicant *wpa_s,
                                            char *cmd)
 {
        int enabled = atoi(cmd);
+       char *pos;
+       const char *ifname;
 
        if (!enabled) {
                if (wpa_s->l2_test) {
@@ -7742,7 +7744,13 @@ static int wpas_ctrl_iface_data_test_config(struct wpa_supplicant *wpa_s,
        if (wpa_s->l2_test)
                return 0;
 
-       wpa_s->l2_test = l2_packet_init(wpa_s->ifname, wpa_s->own_addr,
+       pos = os_strstr(cmd, " ifname=");
+       if (pos)
+               ifname = pos + 8;
+       else
+               ifname = wpa_s->ifname;
+
+       wpa_s->l2_test = l2_packet_init(ifname, wpa_s->own_addr,
                                        ETHERTYPE_IP, wpas_data_test_rx,
                                        wpa_s, 1);
        if (wpa_s->l2_test == NULL)