aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJouni Malinen <j@w1.fi>2014-10-26 09:20:01 (GMT)
committerJouni Malinen <j@w1.fi>2014-10-26 09:27:31 (GMT)
commit392dfd37e8508cf1bb5fdf127ec2674f3e38ec67 (patch)
treee28f4e09733535c1b9274ee1762311d3200f1017 /src
parentcded555f069e1d17514b9c6c8a7005dc22f74f53 (diff)
downloadhostap-392dfd37e8508cf1bb5fdf127ec2674f3e38ec67.zip
hostap-392dfd37e8508cf1bb5fdf127ec2674f3e38ec67.tar.gz
hostap-392dfd37e8508cf1bb5fdf127ec2674f3e38ec67.tar.bz2
nl80211: Store externally managed bridge name in driver status
This makes it easier to figure out from hostapd control interface whether an interface had been added to a bridge externally at the time hostapd interface was enabled or if the interface gets added during hostapd operations. Signed-off-by: Jouni Malinen <j@w1.fi>
Diffstat (limited to 'src')
-rw-r--r--src/drivers/driver_nl80211.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
index 8c7508d..7fac1de 100644
--- a/src/drivers/driver_nl80211.c
+++ b/src/drivers/driver_nl80211.c
@@ -1375,11 +1375,20 @@ static void wpa_driver_nl80211_event_rtm_newlink(void *ctx,
wpa_driver_nl80211_event_newlink(drv, ifname);
if (ifi->ifi_family == AF_BRIDGE && brid) {
+ struct i802_bss *bss;
+
/* device has been added to bridge */
if_indextoname(brid, namebuf);
wpa_printf(MSG_DEBUG, "nl80211: Add ifindex %u for bridge %s",
brid, namebuf);
add_ifidx(drv, brid);
+
+ for (bss = drv->first_bss; bss; bss = bss->next) {
+ if (os_strcmp(ifname, bss->ifname) == 0) {
+ os_strlcpy(bss->brname, namebuf, IFNAMSIZ);
+ break;
+ }
+ }
}
}
@@ -10400,6 +10409,7 @@ static void *i802_init(struct hostapd_data *hapd,
wpa_printf(MSG_DEBUG, "nl80211: Interface %s is in bridge %s",
params->ifname, brname);
br_ifindex = if_nametoindex(brname);
+ os_strlcpy(bss->brname, brname, IFNAMSIZ);
} else {
brname[0] = '\0';
br_ifindex = 0;