Search Linux Wireless

Re: [PATCH v2] iw: Scan: Add EHT beacon info support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Sorry this took forever to bubble up on my list again ...

> +static void print_eht_capa(const uint8_t type, uint8_t len, const uint8_t *data,
> +			   const struct print_ies_data *ie_buffer)
> +{
> +	bool is_he = false;
> +	const __u16 he_phy_cap[6] = { 0 };
> +	unsigned char *ie = ie_buffer->ie;
> +	int ielen = ie_buffer->ielen;
> +
> +	while (ielen >= 2 && ielen >= ie[1]) {
> +		if (ie[0] == 255 && ie[2] == 35) {
> +			is_he = true;
> +			break;
> +		}
> +		ielen -= ie[1] + 2;
> +		ie += ie[1] + 2;
> +	}
> +
> +	if (is_he) {
> +		memcpy(&((__u8 *)he_phy_cap)[0],
> +		       ie + 9, 12);
> +	}

Hm, at the very least, that could be a helper; at first I was wondering
what you even did there :)

Also, even if I see that this exists in print_capabilities(), I'm really
not convinced this is a good idea. In the print_capabilities() case it
should probably just print max A-MSDU anyway (or "(reserved for non-
VHT)" with it perhaps). Either way, we end up double-parsing this which
isn't great...

Also, you go to great lengths to get it, and then comment out the usage
of it below?


Not really sure what we should do instead - perhaps more 'elems' style
parsing like mac80211 does, and then print that way. Clearly we can't
simply iterate any more.

> @@ -2639,8 +2667,7 @@ static int print_bss_handler(struct nl_msg *msg, void *arg)
>  				       nla_len(ies)))))
>  			printf("\tInformation elements from Probe Response "
>  			       "frame:\n");
> -		print_ies(nla_data(ies), nla_len(ies),
> -			  params->unknown, params->type);
> +		print_ies(nla_data(ies), nla_len(ies), params->unknown, params->type);

why?

> -	if (!(he_phy_cap[0] & ((BIT(2) | BIT(3) | BIT(4)) << 8))){
> +	/*if (!(he_phy_cap[0] & ((BIT(2) | BIT(3) | BIT(4)) << 8))){

Don't leave commented out stuff.

johannes





[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux