]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
nl80211: Support network hierarchy of a master interface under bridge
authorDedy Lansky <qca_dlansky@qca.qualcomm.com>
Sun, 28 Feb 2016 13:54:17 +0000 (15:54 +0200)
committerJouni Malinen <j@w1.fi>
Wed, 9 Mar 2016 19:03:41 +0000 (21:03 +0200)
Since commit cb05808c46539922cf02e9e8527a062e90637ff9 ('nl80211: Generic
Linux master interface support for hostapd'), hostapd is listening for
EAPOL frames on any master which the interface is enslaved under.

This commit allows hostapd to support network hierarchy in which the
interface is enslaved under some master which in turn is enslaved under
a bridge.

Signed-off-by: Dedy Lansky <qca_dlansky@qca.qualcomm.com>
src/drivers/driver_nl80211.c

index 570dee662022f4b36e64c918703253b8a9fd0c12..5fb6652a031ed8860ecb388598a76630f7d49c6f 100644 (file)
@@ -5912,6 +5912,14 @@ static void *i802_init(struct hostapd_data *hapd,
                        params->ifname, master_ifname);
                /* start listening for EAPOL on the master interface */
                add_ifidx(drv, if_nametoindex(master_ifname), drv->ifindex);
+
+               /* check if master itself is under bridge */
+               if (linux_br_get(master_ifname, master_ifname) == 0) {
+                       wpa_printf(MSG_DEBUG, "nl80211: which is in bridge %s",
+                                  master_ifname);
+                       br_ifindex = if_nametoindex(master_ifname);
+                       os_strlcpy(bss->brname, master_ifname, IFNAMSIZ);
+               }
        } else {
                master_ifname[0] = '\0';
        }