Search Linux Wireless

Re: [PATCH] ath5k: add support of HW encryption in management frames

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

 



Hi, Adrian

Appreciate your testing on this.

---
Chun-Yeow

On Fri, Aug 31, 2012 at 2:58 PM, Adrian Chadd <adrian@xxxxxxxxxxx> wrote:
> Hiya,
>
> This is cool stuff - but as I don't think MFP is enabled in any
> hardware pre-AR9280, I think it's worth doing a lot more testing
> before flipping this on.
>
> But very cool indeed. I'll see what it'll take to get it enabled in
> the FreeBSD atheros HAL for these chips.
>
>
>
> Adrian
>
> On 28 August 2012 02:34, Chun-Yeow Yeoh <yeohchunyeow@xxxxxxxxx> wrote:
>> This patch provides the support of hardware encyrption for
>> management frame, including the support of AES CMAC. This
>> patch is tested with the following chipsets:
>> - AR5213A
>> - AR5413
>> - AR2413/AR2414
>>
>> Beside, this patch also extends the IBSS RSN to mesh.
>>
>> Signed-off-by: Chun-Yeow Yeoh <yeohchunyeow@xxxxxxxxx>
>> ---
>>  drivers/net/wireless/ath/ath5k/base.c         |    4 +++-
>>  drivers/net/wireless/ath/ath5k/mac80211-ops.c |    7 +++++--
>>  2 files changed, 8 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/net/wireless/ath/ath5k/base.c b/drivers/net/wireless/ath/ath5k/base.c
>> index a0a202d..084162e 100644
>> --- a/drivers/net/wireless/ath/ath5k/base.c
>> +++ b/drivers/net/wireless/ath/ath5k/base.c
>> @@ -2446,7 +2446,9 @@ ath5k_init_ah(struct ath5k_hw *ah, const struct ath_bus_ops *bus_ops)
>>         hw->flags = IEEE80211_HW_RX_INCLUDES_FCS |
>>                         IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING |
>>                         IEEE80211_HW_SIGNAL_DBM |
>> -                       IEEE80211_HW_REPORTS_TX_ACK_STATUS;
>> +                       IEEE80211_HW_REPORTS_TX_ACK_STATUS |
>> +                       IEEE80211_HW_MFP_CAPABLE |
>> +                       IEEE80211_HW_SUPPORTS_PER_STA_GTK;
>>
>>         hw->wiphy->interface_modes =
>>                 BIT(NL80211_IFTYPE_AP) |
>> diff --git a/drivers/net/wireless/ath/ath5k/mac80211-ops.c b/drivers/net/wireless/ath/ath5k/mac80211-ops.c
>> index df61a09..7f78caa 100644
>> --- a/drivers/net/wireless/ath/ath5k/mac80211-ops.c
>> +++ b/drivers/net/wireless/ath/ath5k/mac80211-ops.c
>> @@ -489,7 +489,8 @@ ath5k_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
>>         if (ath5k_modparam_nohwcrypt)
>>                 return -EOPNOTSUPP;
>>
>> -       if (vif->type == NL80211_IFTYPE_ADHOC &&
>> +       if ((vif->type == NL80211_IFTYPE_ADHOC ||
>> +            vif->type == NL80211_IFTYPE_MESH_POINT) &&
>>             (key->cipher == WLAN_CIPHER_SUITE_TKIP ||
>>              key->cipher == WLAN_CIPHER_SUITE_CCMP) &&
>>             !(key->flags & IEEE80211_KEY_FLAG_PAIRWISE)) {
>> @@ -502,6 +503,7 @@ ath5k_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
>>         case WLAN_CIPHER_SUITE_WEP104:
>>         case WLAN_CIPHER_SUITE_TKIP:
>>                 break;
>> +       case WLAN_CIPHER_SUITE_AES_CMAC:
>>         case WLAN_CIPHER_SUITE_CCMP:
>>                 if (common->crypt_caps & ATH_CRYPT_CAP_CIPHER_AESCCM)
>>                         break;
>> @@ -522,7 +524,8 @@ ath5k_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
>>                         key->flags |= IEEE80211_KEY_FLAG_GENERATE_IV;
>>                         if (key->cipher == WLAN_CIPHER_SUITE_TKIP)
>>                                 key->flags |= IEEE80211_KEY_FLAG_GENERATE_MMIC;
>> -                       if (key->cipher == WLAN_CIPHER_SUITE_CCMP)
>> +                       if (key->cipher == WLAN_CIPHER_SUITE_CCMP &&
>> +                           !(common->crypt_caps & ATH_CRYPT_CAP_CIPHER_AESCCM))
>>                                 key->flags |= IEEE80211_KEY_FLAG_SW_MGMT;
>>                         ret = 0;
>>                 }
>> --
>> 1.7.0.4
>>
>> --
>> 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
--
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