Lines Matching refs:kc
689 &lsta->kc[0], lsta->state, lsta->added_to_drv, lsta->in_mgd); in lkpi_lsta_dump()
1237 for (ieee80211_keyix keyix = 0; keyix < nitems(lsta->kc); keyix++) { in lkpi_sta_del_keys()
1238 struct ieee80211_key_conf *kc; in lkpi_sta_del_keys() local
1241 if (lsta->kc[keyix] == NULL) in lkpi_sta_del_keys()
1243 kc = lsta->kc[keyix]; in lkpi_sta_del_keys()
1251 kc->keyidx, kc->hw_key_idx, kc->flags, IEEE80211_KEY_FLAG_BITS); in lkpi_sta_del_keys()
1255 LSTA_TO_STA(lsta), kc); in lkpi_sta_del_keys()
1275 kc->keyidx, kc->hw_key_idx, kc->flags, IEEE80211_KEY_FLAG_BITS); in lkpi_sta_del_keys()
1278 lsta->kc[keyix] = NULL; in lkpi_sta_del_keys()
1279 free(kc, M_LKPI80211); in lkpi_sta_del_keys()
1298 struct ieee80211_key_conf *kc; in lkpi_iv_key_delete() local
1334 if (lsta->kc[k->wk_keyix] == NULL) { in lkpi_iv_key_delete()
1345 kc = lsta->kc[k->wk_keyix]; in lkpi_iv_key_delete()
1353 kc->keyidx, kc->hw_key_idx, kc->flags, IEEE80211_KEY_FLAG_BITS); in lkpi_iv_key_delete()
1357 error = lkpi_80211_mo_set_key(hw, DISABLE_KEY, vif, sta, kc); in lkpi_iv_key_delete()
1372 kc->keyidx, kc->hw_key_idx, kc->flags, IEEE80211_KEY_FLAG_BITS); in lkpi_iv_key_delete()
1374 lsta->kc[k->wk_keyix] = NULL; in lkpi_iv_key_delete()
1375 free(kc, M_LKPI80211); in lkpi_iv_key_delete()
1393 struct ieee80211_key_conf *kc; in lkpi_iv_key_set() local
1448 if (lsta->kc[k->wk_keyix] != NULL) { in lkpi_iv_key_set()
1452 kc = lsta->kc[k->wk_keyix]; in lkpi_iv_key_set()
1453 lsta->kc[k->wk_keyix] = NULL; in lkpi_iv_key_set()
1454 free(kc, M_LKPI80211); in lkpi_iv_key_set()
1455 kc = NULL; /* safeguard */ in lkpi_iv_key_set()
1458 kc = malloc(sizeof(*kc) + keylen, M_LKPI80211, M_WAITOK | M_ZERO); in lkpi_iv_key_set()
1459 kc->_k = k; /* Save the pointer to net80211. */ in lkpi_iv_key_set()
1460 kc->cipher = lcipher; in lkpi_iv_key_set()
1461 kc->keyidx = k->wk_keyix; in lkpi_iv_key_set()
1463 kc->hw_key_idx = /* set by hw and needs to be passed for TX */; in lkpi_iv_key_set()
1465 atomic64_set(&kc->tx_pn, k->wk_keytsc); in lkpi_iv_key_set()
1466 kc->keylen = k->wk_keylen; in lkpi_iv_key_set()
1467 memcpy(kc->key, k->wk_key, k->wk_keylen); in lkpi_iv_key_set()
1470 kc->flags |= IEEE80211_KEY_FLAG_PAIRWISE; in lkpi_iv_key_set()
1472 kc->flags &= ~IEEE80211_KEY_FLAG_PAIRWISE; in lkpi_iv_key_set()
1474 kc->iv_len = k->wk_cipher->ic_header; in lkpi_iv_key_set()
1475 kc->icv_len = k->wk_cipher->ic_trailer; in lkpi_iv_key_set()
1477 switch (kc->cipher) { in lkpi_iv_key_set()
1479 memcpy(kc->key + NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY, k->wk_txmic, k->wk_cipher->ic_miclen); in lkpi_iv_key_set()
1480 memcpy(kc->key + NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY, k->wk_rxmic, k->wk_cipher->ic_miclen); in lkpi_iv_key_set()
1490 lsta->kc[k->wk_keyix] = kc; in lkpi_iv_key_set()
1497 SET_KEY, "SET", sta->addr, ":", kc, kc->keyidx, kc->hw_key_idx, in lkpi_iv_key_set()
1498 kc->keylen, kc->flags, IEEE80211_KEY_FLAG_BITS); in lkpi_iv_key_set()
1503 error = lkpi_80211_mo_set_key(hw, SET_KEY, vif, sta, kc); in lkpi_iv_key_set()
1508 lsta->kc[k->wk_keyix] = NULL; in lkpi_iv_key_set()
1509 free(kc, M_LKPI80211); in lkpi_iv_key_set()
1520 kc, kc->keyidx, kc->hw_key_idx, kc->flags, IEEE80211_KEY_FLAG_BITS); in lkpi_iv_key_set()
1524 switch (kc->cipher) { in lkpi_iv_key_set()
1532 if ((kc->flags & TKIP_INVAL_COMBINATION) == TKIP_INVAL_COMBINATION) { in lkpi_iv_key_set()
1535 lkpi_cipher_suite_to_name(kc->cipher), in lkpi_iv_key_set()
1536 kc->flags, IEEE80211_KEY_FLAG_BITS); in lkpi_iv_key_set()
1541 if ((kc->flags & IEEE80211_KEY_FLAG_GENERATE_MMIC) != 0) { in lkpi_iv_key_set()
1557 if ((kc->flags & ~exp_flags) != 0) in lkpi_iv_key_set()
1560 lkpi_cipher_suite_to_name(kc->cipher), kc->flags, exp_flags, in lkpi_iv_key_set()
1561 (kc->flags & ~exp_flags), IEEE80211_KEY_FLAG_BITS); in lkpi_iv_key_set()
1565 if ((kc->flags & IEEE80211_KEY_FLAG_GENERATE_IV_MGMT) == 0) in lkpi_iv_key_set()
1567 if ((kc->flags & IEEE80211_KEY_FLAG_GENERATE_IV) == 0) in lkpi_iv_key_set()
4798 struct ieee80211_key_conf *kc, struct sk_buff *skb) argument
4819 if ((kc->flags & IEEE80211_KEY_FLAG_PUT_MIC_SPACE) != 0)
4837 if ((kc->flags & IEEE80211_KEY_FLAG_PUT_IV_SPACE) == 0 &&
4838 (kc->flags & IEEE80211_KEY_FLAG_GENERATE_IV) == 0)
4851 if ((kc->flags & IEEE80211_KEY_FLAG_PUT_IV_SPACE) != 0)
4864 struct ieee80211_key_conf *kc, struct sk_buff *skb) argument
4876 if ((kc->flags & IEEE80211_KEY_FLAG_PUT_IV_SPACE) == 0 &&
4877 (kc->flags & IEEE80211_KEY_FLAG_GENERATE_IV) == 0 &&
4879 !((kc->flags & IEEE80211_KEY_FLAG_GENERATE_IV_MGMT) != 0 &&
4892 if ((kc->flags & IEEE80211_KEY_FLAG_PUT_IV_SPACE) != 0)
4906 struct ieee80211_key_conf *kc; local
4912 kc = lsta->kc[k->wk_keyix];
4915 info->control.hw_key = kc;
4918 if (kc == NULL) {
4924 switch (kc->cipher) {
4926 return (lkpi_hw_crypto_prepare_tkip(k, kc, skb));
4928 return (lkpi_hw_crypto_prepare_ccmp(k, kc, skb));
4930 return (lkpi_hw_crypto_prepare_ccmp(k, kc, skb));
4941 "unsupported cipher suite %u (%s)\n", __func__, lsta, k, kc,
4942 skb, kc->cipher, lkpi_cipher_suite_to_name(kc->cipher));
4950 struct ieee80211_key_conf *kc; local
4952 kc = lsta->kc[k->wk_keyix];
4953 if (kc == NULL)
4957 if (kc->flags & (IEEE80211_KEY_FLAG_PUT_MIC_SPACE))
5001 if (k != NULL && lsta->kc[k->wk_keyix] != NULL)
6427 if (lsta->kc[keyix] == NULL)
6430 iterfunc(hw, vif, LSTA_TO_STA(lsta), lsta->kc[keyix], arg);
6452 for (ieee80211_keyix keyix = 0; keyix < nitems(lsta->kc);
6467 for (ieee80211_keyix keyix = 0; keyix < nitems(lsta->kc);