mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-03-22 07:27:12 +08:00
wifi: nl80211: Add support for EPP peer indication
Introduce a new netlink attribute NL80211_ATTR_EPP_PEER to be used with NL80211_CMD_NEW_STA and NL80211_CMD_ADD_LINK_STA for the userspace to indicate that a non-AP STA is an Enhanced Privacy Protection (EPP) peer. Co-developed-by: Rohan Dutta <quic_drohan@quicinc.com> Signed-off-by: Rohan Dutta <quic_drohan@quicinc.com> Signed-off-by: Sai Pratyusha Magam <sai.magam@oss.qualcomm.com> Signed-off-by: Kavita Kavita <kavita.kavita@oss.qualcomm.com> Link: https://patch.msgid.link/20260114111900.2196941-5-kavita.kavita@oss.qualcomm.com Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
committed by
Johannes Berg
parent
dc54de8db6
commit
6ee3a22c61
@@ -1785,6 +1785,7 @@ struct cfg80211_ttlm_params {
|
||||
* present/updated
|
||||
* @eml_cap: EML capabilities of this station
|
||||
* @link_sta_params: link related params.
|
||||
* @epp_peer: EPP peer indication
|
||||
*/
|
||||
struct station_parameters {
|
||||
struct net_device *vlan;
|
||||
@@ -1811,6 +1812,7 @@ struct station_parameters {
|
||||
bool eml_cap_present;
|
||||
u16 eml_cap;
|
||||
struct link_station_parameters link_sta_params;
|
||||
bool epp_peer;
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -2973,6 +2973,9 @@ enum nl80211_commands {
|
||||
* primary channel is 2 MHz wide, and the control channel designates
|
||||
* the 1 MHz primary subchannel within that 2 MHz primary.
|
||||
*
|
||||
* @NL80211_ATTR_EPP_PEER: A flag attribute to indicate if the peer is an EPP
|
||||
* STA. Used with %NL80211_CMD_NEW_STA and %NL80211_CMD_ADD_LINK_STA
|
||||
*
|
||||
* @NUM_NL80211_ATTR: total number of nl80211_attrs available
|
||||
* @NL80211_ATTR_MAX: highest attribute number currently defined
|
||||
* @__NL80211_ATTR_AFTER_LAST: internal use
|
||||
@@ -3541,6 +3544,8 @@ enum nl80211_attrs {
|
||||
|
||||
NL80211_ATTR_S1G_PRIMARY_2MHZ,
|
||||
|
||||
NL80211_ATTR_EPP_PEER,
|
||||
|
||||
/* add attributes here, update the policy in nl80211.c */
|
||||
|
||||
__NL80211_ATTR_AFTER_LAST,
|
||||
|
||||
@@ -932,6 +932,7 @@ static const struct nla_policy nl80211_policy[NUM_NL80211_ATTR] = {
|
||||
NLA_POLICY_NESTED(nl80211_s1g_short_beacon),
|
||||
[NL80211_ATTR_BSS_PARAM] = { .type = NLA_FLAG },
|
||||
[NL80211_ATTR_S1G_PRIMARY_2MHZ] = { .type = NLA_FLAG },
|
||||
[NL80211_ATTR_EPP_PEER] = { .type = NLA_FLAG },
|
||||
};
|
||||
|
||||
/* policy for the key attributes */
|
||||
@@ -8792,6 +8793,10 @@ static int nl80211_new_station(struct sk_buff *skb, struct genl_info *info)
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
|
||||
params.epp_peer =
|
||||
nla_get_flag(info->attrs[NL80211_ATTR_EPP_PEER]);
|
||||
|
||||
err = rdev_add_station(rdev, dev, mac_addr, ¶ms);
|
||||
out:
|
||||
dev_put(params.vlan);
|
||||
|
||||
Reference in New Issue
Block a user