Search Linux Wireless

Re: [RFC] cfg80211: Add feature flag for 4-way handshake offload

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

 



hi,

On Thu, Dec 18, 2014 at 2:51 PM, Arend van Spriel <arend@xxxxxxxxxxxx> wrote:
> From: Gautam Kumar Shukla <gautams@xxxxxxxxxxxx>
>
> The new feature flag allows the driver to indicate that it can
> offload the 4-way handshake for WPA/RSN-PSK. With the
> wiphy::features flag being used up this patch adds a new
> field wiphy::ext_features. Considering extensibility this
> new field is declared as a byte array.
>
> Signed-off-by: Gautam (Gautam Kumar) Shukla <gautams@xxxxxxxxxxxx>
> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx>
> ---
> Hi Johannes,
>
> Here the proposed way to deal with new feature flags. Let
> me know if this is suitable.
>
> Regards,
> Arend
> ---

> @@ -3122,6 +3124,7 @@ struct wiphy {
>         u16 max_acl_mac_addrs;
>
>         u32 flags, regulatory_flags, features;
> +       u8 ext_features[1];
>
i think it would be nicer to use unsigned long (instead of u8) along
with BITS_TO_LONGS

>
>  /**
> + * enum nl80211_ext_feature_index - bit index of extended features.
> + *
> + * @NL80211_EXT_FEATURE_4WAY_HANDSHAKE: the device supports 4way handshake
> + */
> +enum nl80211_ext_feature_index {
> +       NL80211_EXT_FEATURE_4WAY_HANDSHAKE,
> +};

just add the standard LAST/MAX defines here, and the bitmap size will
be allocated automatically.

>
> +void cfg80211_ext_feature_set(struct wiphy *wiphy,
> +                             enum nl80211_ext_feature_index ftidx)
> +{
> +       u8 *ft_byte;
> +
> +       ft_byte = &wiphy->ext_features[ftidx / 8];
> +       *ft_byte |= BIT(ftidx % 8);
> +}
> +EXPORT_SYMBOL(cfg80211_ext_feature_set);
> +
> +bool cfg80211_ext_feature_isset(struct wiphy *wiphy,
> +                               enum nl80211_ext_feature_index ftidx)
> +{
> +       u8 ft_byte;
> +
> +       ft_byte = wiphy->ext_features[ftidx / 8];
> +       return (ft_byte & BIT(ftidx % 8)) != 0;
> +}
> +EXPORT_SYMBOL(cfg80211_ext_feature_isset);

and these (or only the implementations) could be replaced by set_bit/test_bit.

Eliad.
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[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