Lines Matching defs:ik
877 struct ieee80211req_key ik;
883 if (ireq->i_len != sizeof(ik))
885 error = copyin(ireq->i_data, &ik, sizeof(ik));
888 kid = ik.ik_keyix;
890 ni = ieee80211_find_node(&ic->ic_sta, ik.ik_macaddr);
898 IEEE80211_ADDR_COPY(&ik.ik_macaddr, ic->ic_bss->ni_macaddr);
902 ik.ik_type = cip->ic_cipher;
903 ik.ik_keylen = wk->wk_keylen;
904 ik.ik_flags = wk->wk_flags & (IEEE80211_KEY_XMIT | IEEE80211_KEY_RECV);
906 ik.ik_flags |= IEEE80211_KEY_DEFAULT;
911 ik.ik_keyrsc = wk->wk_keyrsc;
912 ik.ik_keytsc = wk->wk_keytsc;
913 memcpy(ik.ik_keydata, wk->wk_key, wk->wk_keylen);
915 memcpy(ik.ik_keydata+wk->wk_keylen,
918 ik.ik_keylen += IEEE80211_MICBUF_SIZE;
921 ik.ik_keyrsc = 0;
922 ik.ik_keytsc = 0;
923 memset(ik.ik_keydata, 0, sizeof(ik.ik_keydata));
927 return copyout(&ik, ireq->i_data, sizeof(ik));
1621 struct ieee80211req_key ik;
1627 if (ireq->i_len != sizeof(ik))
1629 error = copyin(ireq->i_data, &ik, sizeof(ik));
1633 /* NB: this also checks ik->ik_keylen > sizeof(wk->wk_key) */
1634 if (ik.ik_keylen > sizeof(ik.ik_keydata))
1636 kid = ik.ik_keyix;
1639 if (ik.ik_flags != (IEEE80211_KEY_XMIT | IEEE80211_KEY_RECV))
1643 if (!IEEE80211_ADDR_EQ(ik.ik_macaddr, ni->ni_bssid)) {
1648 ni = ieee80211_find_node(&ic->ic_sta, ik.ik_macaddr);
1661 if (ieee80211_crypto_newkey(ic, ik.ik_type, ik.ik_flags, wk)) {
1662 wk->wk_keylen = ik.ik_keylen;
1666 wk->wk_keyrsc = ik.ik_keyrsc;
1669 memcpy(wk->wk_key, ik.ik_keydata, ik.ik_keylen);
1671 ni != NULL ? ni->ni_macaddr : ik.ik_macaddr))
1673 else if ((ik.ik_flags & IEEE80211_KEY_DEFAULT))