Search Linux Wireless

Re: [RFC] cfg80211: Add support for FILS shared key authentication offload

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

 



>  struct cfg80211_pmksa {
>  	const u8 *bssid;
>  	const u8 *pmkid;
> +	const u8 *pmk;
> +	size_t pmk_len;
> +	const u8 *ssid;
> +	size_t ssid_len;
> +	u16 cache_id;
>  };

So how does that work - from a flow perspective?

> +void cfg80211_connect_done(struct net_device *dev, const u8 *bssid,
> +			   struct cfg80211_bss *bss, const u8
> *req_ie,
> +			   size_t req_ie_len, const u8 *resp_ie,
> +			   size_t resp_ie_len, const u8 *fils_kek,
> +			   size_t fils_kek_len, bool
> update_erp_seq_num,
> +			   u16 fils_erp_seq_num, const u8 *pmk,
> size_t pmk_len,
> +			   const u8 *pmkid, int status, gfp_t gfp,
> +			   enum nl80211_timeout_reason
> timeout_reason);

Ouch. Please declare most of those (perhaps other than dev) as a
structure and pass a pointer here.

Also, why require the BSSID when BSS is set? Seems you could say one or
the other.

Also, what do you need the PMK for? If you have all of this stuff
offloaded, why does the host need to know the PMK?

> @@ -227,6 +227,13 @@ struct cfg80211_event {
>  			size_t req_ie_len;
>  			size_t resp_ie_len;
>  			struct cfg80211_bss *bss;
> +			const u8 *kek;
> +			size_t kek_len;
> +			bool update_erp_seq_num;
> +			u16 fils_erp_seq_num;
> +			const u8 *pmk;
> +			size_t pmk_len;
> +			const u8 *pmkid;
>  			int status; /* -1 = failed; 0..65535 =
> status code */
>  			enum nl80211_timeout_reason timeout_reason;
>  		} cr;

Could probably use the new struct from cfg80211.h that I asked to add
here then.


Other than that, most of the patch seems mechanical - I think it'd be
good to have a DOC: section or so somewhere (nl80211.h?) that explains
how this is intended to be used? I've already migrated the
documentation to the new rst/sphinx format so we can generate it nicely
and that would be a good addition - I'll probably do some more
additions too.

johannes



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

  Powered by Linux