nl80211: report 4ADDR status with GET_INTERFACE
authorAntonio Quartulli <a@unstable.cc>
Thu, 14 Jun 2018 01:43:06 +0000 (09:43 +0800)
committerJohannes Berg <johannes@sipsolutions.net>
Fri, 15 Jun 2018 11:38:40 +0000 (13:38 +0200)
User space tools might be interested in knowing the current
status of the 4ADDR property of an interface (when supported).

Send the status along with the other attributes when replying
to a GET_INTERFACE netlink query.

Signed-off-by: Antonio Quartulli <a@unstable.cc>
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
net/wireless/nl80211.c

index d2677259e13e1aa9bd89dec65bfdf14f5a7d9c20..7b21914ae18b9b351de6edebce47eecb14096294 100644 (file)
@@ -2757,7 +2757,8 @@ static int nl80211_send_iface(struct sk_buff *msg, u32 portid, u32 seq, int flag
            nla_put(msg, NL80211_ATTR_MAC, ETH_ALEN, wdev_address(wdev)) ||
            nla_put_u32(msg, NL80211_ATTR_GENERATION,
                        rdev->devlist_generation ^
-                       (cfg80211_rdev_list_generation << 2)))
+                       (cfg80211_rdev_list_generation << 2)) ||
+           nla_put_u8(msg, NL80211_ATTR_4ADDR, wdev->use_4addr))
                goto nla_put_failure;
 
        if (rdev->ops->get_channel) {