svn commit: r295607 - head/sys/dev/usb/wlan
Andriy Voskoboinyk
s3erios at gmail.com
Sun Feb 14 15:42:25 UTC 2016
Sun, 14 Feb 2016 17:39:32 +0200 було написано Hans Petter Selasky
<hps at selasky.org>:
This does not related to pairwise keys management:
static void
rum_group_key_set_cb(struct rum_softc *sc, union sec_param *data,
uint8_t rvp_id)
{
...
/* Set cipher mode. */
if (rum_modbits(sc, rvp_id < 2 ? RT2573_SEC_CSR1 :
RT2573_SEC_CSR5,
mode << (rvp_id % 2 + k->wk_keyix) * RT2573_SKEY_MAX,
RT2573_MODE_MASK << (rvp_id % 2 + k->wk_keyix) *
RT2573_SKEY_MAX) != 0)
goto print_err;
...
}
For group keys, k->wk_keyix is assigned in another way:
static int
rum_key_alloc(struct ieee80211vap *vap, struct ieee80211_key *k,
ieee80211_keyix *keyix, ieee80211_keyix *rxkeyix)
{
...
*keyix = k - vap->iv_nw_keys;
}
...
}
> On 02/14/16 16:23, Adrian Chadd wrote:
>> uhm, why'd you not just file a separate pr for this?
>>
>> 8 keys limits how many stations it can support in hostap mode :( I'd
>> rather the bitmap management code gets fixed.
>>
>
> Hi,
>
> From what I can see 8 keys is the maximum due to the following shift:
>
> /* Set cipher mode. */
> if (rum_modbits(sc, rvp_id < 2 ? RT2573_SEC_CSR1 :
> RT2573_SEC_CSR5,
> mode << (rvp_id % 2 + k->wk_keyix) * RT2573_SKEY_MAX,
> RT2573_MODE_MASK << (rvp_id % 2 + k->wk_keyix) *
> RT2573_SKEY_MAX)
> != 0)
> goto print_err;
>
>
> It is only about bitmanagement, but about where to actually write those
> bits. Feel free to fix it.
>
> --HPS
More information about the svn-src-all
mailing list