nl80211: Include wiphy address setup in NEW_WIPHY
Include wiphy address setup in wiphy dumps and new wiphy events. The wiphy permanent address is exposed as ATTR_MAC. If addr_mask is setup, then it is included as ATTR_MAC_MASK attribute. If multiple addresses are available, then their are exposed in a nested ATTR_MAC_ADDRS array. This information is already exposed via sysfs, but it makes sense to include it in the wiphy dump as well. Signed-off-by: Denis Kenzior <denkenz@gmail.com> Link: https://lore.kernel.org/r/20190722113312.14031-3-denkenz@gmail.com [use just nla_nest_start(), this is new functionality] Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
7a113110fc
commit
ae6fa4d5e9
net/wireless
|
@ -2172,6 +2172,30 @@ static int nl80211_send_wiphy(struct cfg80211_registered_device *rdev,
|
|||
rdev->wiphy.vht_capa_mod_mask))
|
||||
goto nla_put_failure;
|
||||
|
||||
if (nla_put(msg, NL80211_ATTR_MAC, ETH_ALEN,
|
||||
rdev->wiphy.perm_addr))
|
||||
goto nla_put_failure;
|
||||
|
||||
if (!is_zero_ether_addr(rdev->wiphy.addr_mask) &&
|
||||
nla_put(msg, NL80211_ATTR_MAC_MASK, ETH_ALEN,
|
||||
rdev->wiphy.addr_mask))
|
||||
goto nla_put_failure;
|
||||
|
||||
if (rdev->wiphy.n_addresses > 1) {
|
||||
void *attr;
|
||||
|
||||
attr = nla_nest_start(msg, NL80211_ATTR_MAC_ADDRS);
|
||||
if (!attr)
|
||||
goto nla_put_failure;
|
||||
|
||||
for (i = 0; i < rdev->wiphy.n_addresses; i++)
|
||||
if (nla_put(msg, i + 1, ETH_ALEN,
|
||||
rdev->wiphy.addresses[i].addr))
|
||||
goto nla_put_failure;
|
||||
|
||||
nla_nest_end(msg, attr);
|
||||
}
|
||||
|
||||
state->split_start++;
|
||||
break;
|
||||
case 10:
|
||||
|
|
Loading…
Reference in New Issue