[PATCH v2 2/2] ANQP/hostapd: Add more data to the ANQP RNR response.

Jouni Malinen j at w1.fi
Sat Apr 9 07:45:11 PDT 2022


On Tue, Feb 22, 2022 at 03:37:21PM +0100, sharadanandk at gmail.com wrote:
> Adding more data apart from BSSID, Channel number -
> - SSID
> - HE Capabilities
> - HE Operations
> - HT Capabilities.
> - HT Operations.
> - Load BSS.

Why is this talking about RNR? Isn't this targeting Neighbor Report
ANQP-element and none of RNR cases? It would sound a bit strange to add
all this type of details into RNR.

> diff --git a/src/ap/ieee802_11_he.c b/src/ap/ieee802_11_he.c
>  u8 * hostapd_eid_he_capab(struct hostapd_data *hapd, u8 *eid,
> -			  enum ieee80211_op_mode opmode)
> +			  enum ieee80211_op_mode opmode, bool for_rnr)

> -	*pos++ = WLAN_EID_EXTENSION;
> -	*pos++ = 1 + ie_size;
> -	*pos++ = WLAN_EID_EXT_HE_CAPABILITIES;
> +	if(for_rnr)
> +	{
> +		*pos++ = WMM_NEIGHBOR_HE_CAPB;

That "WMM_" prefix is really confusing.. I think you meant "WNM_" for
the new items here (i.e., Wireless Network Management).

And this "for_rnr" part is also very confusing in this context. That
WMM_NEIGHBOR_HE_CAPB is defined in the list of subelements for the
Neighbor Report, not RNR.

> diff --git a/src/ap/neighbor_db.c b/src/ap/neighbor_db.c
> @@ -291,9 +312,49 @@ void hostapd_neighbor_set_own_report(struct hostapd_data *hapd)

> +	// TODO: Add more IEs

Why would we add that comment here?

> +	hostapd_neighbor_bss_load(hapd, &nr);
> +
> +	wpabuf_put_u8(nr, WMM_NEIGHBOR_SSID);
> +	wpabuf_put_u8(nr, ssid.ssid_len);
> +	wpabuf_put_data(nr, ssid.ssid, ssid.ssid_len);

What is the use case for included own SSID in the neighbor report? Isn't
that neighbor report being sent by an AP that is advertising this same
SSID in its own Beacon frame?

What about use of hidden SSID? It would be strange to allow a STA to
fetch the SSID with this means if the AP is configured to not allow that
to be done with Probe Request frame.

> diff --git a/src/common/ieee802_11_defs.h b/src/common/ieee802_11_defs.h
> @@ -1871,6 +1871,11 @@ enum bss_trans_mgmt_status_code {
>  #define WNM_NEIGHBOR_MULTIPLE_BSSID             71
>  #define WNM_NEIGHBOR_VHT_CAPAB                 191
>  #define WNM_NEIGHBOR_VHT_OPER                  192
> +#define WMM_NEIGHBOR_HE_CAPB                   193
> +#define WMM_NEIGHBOR_HE_OPER                   194
> +#define WMM_NEIGHBOR_BSS_LOAD                  195
> +#define WMM_NEIGHBOR_HE_BSS_LOAD               196
> +#define WMM_NEIGHBOR_SSID                      197

Please note the prefix difference here.. "WNM_" vs. "WMM_"

-- 
Jouni Malinen                                            PGP id EFC895FA



More information about the Hostap mailing list