Message ID | 1467277258-2331-1-git-send-email-masashi.honma@gmail.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Johannes Berg |
Headers | show |
Hi, [auto build test WARNING on mac80211-next/master] [also build test WARNING on next-20160629] [cannot apply to v4.7-rc5] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Masashi-Honma/cfg80211-Add-mesh-peer-AID-setting-API/20160630-171005 base: https://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git master reproduce: make htmldocs All warnings (new ones prefixed by >>): >> include/net/cfg80211.h:827: warning: No description found for parameter 'mesh_aid' >> include/net/cfg80211.h:827: warning: No description found for parameter 'mesh_aid' >> include/net/cfg80211.h:827: warning: No description found for parameter 'mesh_aid' >> include/net/cfg80211.h:827: warning: No description found for parameter 'mesh_aid' >> include/net/cfg80211.h:827: warning: No description found for parameter 'mesh_aid' >> include/net/cfg80211.h:827: warning: No description found for parameter 'mesh_aid' >> include/net/cfg80211.h:827: warning: No description found for parameter 'mesh_aid' >> include/net/cfg80211.h:827: warning: No description found for parameter 'mesh_aid' >> include/net/cfg80211.h:827: warning: No description found for parameter 'mesh_aid' >> include/net/cfg80211.h:827: warning: No description found for parameter 'mesh_aid' >> include/net/cfg80211.h:827: warning: No description found for parameter 'mesh_aid' >> include/net/cfg80211.h:827: warning: No description found for parameter 'mesh_aid' >> include/net/cfg80211.h:827: warning: No description found for parameter 'mesh_aid' >> include/net/cfg80211.h:827: warning: No description found for parameter 'mesh_aid' >> include/net/cfg80211.h:827: warning: No description found for parameter 'mesh_aid' >> include/net/cfg80211.h:827: warning: No description found for parameter 'mesh_aid' >> include/net/cfg80211.h:827: warning: No description found for parameter 'mesh_aid' >> include/net/cfg80211.h:827: warning: No description found for parameter 'mesh_aid' >> include/net/cfg80211.h:827: warning: No description found for parameter 'mesh_aid' >> include/net/cfg80211.h:827: warning: No description found for parameter 'mesh_aid' vim +/mesh_aid +827 include/net/cfg80211.h 9c3990aa Javier Cardona 2011-05-03 811 u8 plink_state; 2c1aabf3 Johannes Berg 2013-02-14 812 const struct ieee80211_ht_cap *ht_capa; 2c1aabf3 Johannes Berg 2013-02-14 813 const struct ieee80211_vht_cap *vht_capa; c75786c9 Eliad Peller 2011-08-23 814 u8 uapsd_queues; c75786c9 Eliad Peller 2011-08-23 815 u8 max_sp; 3b1c5a53 Marco Porsch 2013-01-07 816 enum nl80211_mesh_power_mode local_pm; 9d62a986 Jouni Malinen 2013-02-14 817 u16 capability; 2c1aabf3 Johannes Berg 2013-02-14 818 const u8 *ext_capab; 9d62a986 Jouni Malinen 2013-02-14 819 u8 ext_capab_len; c01fc9ad Sunil Dutt 2013-10-09 820 const u8 *supported_channels; c01fc9ad Sunil Dutt 2013-10-09 821 u8 supported_channels_len; c01fc9ad Sunil Dutt 2013-10-09 822 const u8 *supported_oper_classes; c01fc9ad Sunil Dutt 2013-10-09 823 u8 supported_oper_classes_len; 60f4a7b1 Marek Kwaczynski 2013-12-03 824 u8 opmode_notif; 60f4a7b1 Marek Kwaczynski 2013-12-03 825 bool opmode_notif_used; 17b94247 Ayala Beker 2016-03-17 826 int support_p2p_ps; 5727ef1b Johannes Berg 2007-12-19 @827 }; 5727ef1b Johannes Berg 2007-12-19 828 fd5b74dc Johannes Berg 2007-12-19 829 /** 89c771e5 Jouni Malinen 2014-10-10 830 * struct station_del_parameters - station deletion parameters 89c771e5 Jouni Malinen 2014-10-10 831 * 89c771e5 Jouni Malinen 2014-10-10 832 * Used to delete a station entry (or all stations). 89c771e5 Jouni Malinen 2014-10-10 833 * 89c771e5 Jouni Malinen 2014-10-10 834 * @mac: MAC address of the station to remove or NULL to remove all stations 98856866 Jouni Malinen 2014-10-20 835 * @subtype: Management frame subtype to use for indicating removal :::::: The code at line 827 was first introduced by commit :::::: 5727ef1b2e797a1922f5bc239b6afb2b4cfb80bc cfg80211/nl80211: station handling :::::: TO: Johannes Berg <johannes@sipsolutions.net> :::::: CC: David S. Miller <davem@davemloft.net> --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
On Thu, Jun 30, 2016 at 06:00:58PM +0900, Masashi Honma wrote: > diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h > index 7bbb00d..2fa5896 100644 > --- a/include/net/cfg80211.h > +++ b/include/net/cfg80211.h > @@ -805,6 +805,7 @@ struct station_parameters { > u32 sta_modify_mask; > int listen_interval; > u16 aid; > + u16 mesh_aid; Let's call it peer_aid or mesh_peer_aid or something like that, per my email on hostapd list. Also you probably saw kbuild robot pointed out missing documentation for the field. > diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c > index c503e96..f41fb61 100644 > --- a/net/wireless/nl80211.c > +++ b/net/wireless/nl80211.c > @@ -4410,6 +4410,9 @@ static int nl80211_set_station(struct sk_buff *skb, struct genl_info *info) > nla_get_u8(info->attrs[NL80211_ATTR_STA_PLINK_STATE]); > if (params.plink_state >= NUM_NL80211_PLINK_STATES) > return -EINVAL; > + if (info->attrs[NL80211_ATTR_MESH_PEER_AID]) > + params.mesh_aid = nla_get_u16( > + info->attrs[NL80211_ATTR_MESH_PEER_AID]); We need a check against IEEE80211_MAX_AID somewhere.
On 2016年06月30日 20:11, Bob Copeland wrote: > Let's call it peer_aid or mesh_peer_aid or something like that, per my > email on hostapd list. Also you probably saw kbuild robot pointed out > missing documentation for the field. Yes. I will modify this also. > We need a check against IEEE80211_MAX_AID somewhere. Sure. I will add a check. -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index 7bbb00d..2fa5896 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h @@ -805,6 +805,7 @@ struct station_parameters { u32 sta_modify_mask; int listen_interval; u16 aid; + u16 mesh_aid; u8 supported_rates_len; u8 plink_action; u8 plink_state; diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h index 53c8278..f8c454e 100644 --- a/include/uapi/linux/nl80211.h +++ b/include/uapi/linux/nl80211.h @@ -1829,6 +1829,9 @@ enum nl80211_commands { * %NL80211_ATTR_EXT_CAPA_MASK, to specify the extended capabilities per * interface type. * + * @NL80211_ATTR_MESH_PEER_AID: Association ID for the mesh peer (u16). This is + * used to pull the stored data for mesh peer in power save state. + * * @NUM_NL80211_ATTR: total number of nl80211_attrs available * @NL80211_ATTR_MAX: highest attribute number currently defined * @__NL80211_ATTR_AFTER_LAST: internal use @@ -2213,6 +2216,8 @@ enum nl80211_attrs { NL80211_ATTR_IFTYPE_EXT_CAPA, + NL80211_ATTR_MESH_PEER_AID, + /* add attributes here, update the policy in nl80211.c */ __NL80211_ATTR_AFTER_LAST, diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c index 0c12e40..08802f7 100644 --- a/net/mac80211/cfg.c +++ b/net/mac80211/cfg.c @@ -997,6 +997,7 @@ static void sta_apply_mesh_params(struct ieee80211_local *local, if (sta->mesh->plink_state != NL80211_PLINK_ESTAB) changed = mesh_plink_inc_estab_count(sdata); sta->mesh->plink_state = params->plink_state; + sta->mesh->aid = params->mesh_aid; ieee80211_mps_sta_status_update(sta); changed |= ieee80211_mps_set_sta_local_pm(sta, diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c index c503e96..f41fb61 100644 --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c @@ -4410,6 +4410,9 @@ static int nl80211_set_station(struct sk_buff *skb, struct genl_info *info) nla_get_u8(info->attrs[NL80211_ATTR_STA_PLINK_STATE]); if (params.plink_state >= NUM_NL80211_PLINK_STATES) return -EINVAL; + if (info->attrs[NL80211_ATTR_MESH_PEER_AID]) + params.mesh_aid = nla_get_u16( + info->attrs[NL80211_ATTR_MESH_PEER_AID]); params.sta_modify_mask |= STATION_PARAM_APPLY_PLINK_STATE; }
Previously, mesh peer AID is not reported to kernel when local mesh STA is created without iw command. The mesh peer AID is needed by mesh peer power management functionality to identify a AID in a TIM element. This patch creates mesh peer AID setting API. Signed-off-by: Masashi Honma <masashi.honma@gmail.com> --- include/net/cfg80211.h | 1 + include/uapi/linux/nl80211.h | 5 +++++ net/mac80211/cfg.c | 1 + net/wireless/nl80211.c | 3 +++ 4 files changed, 10 insertions(+)