Lines Matching refs:pn
307 static void ccmp_special_blocks(struct sk_buff *skb, u8 *pn, u8 *b_0, u8 *aad) in ccmp_special_blocks() argument
351 memcpy(&b_0[8], pn, IEEE80211_CCMP_PN_LEN); in ccmp_special_blocks()
374 static inline void ccmp_pn2hdr(u8 *hdr, u8 *pn, int key_id) in ccmp_pn2hdr() argument
376 hdr[0] = pn[5]; in ccmp_pn2hdr()
377 hdr[1] = pn[4]; in ccmp_pn2hdr()
380 hdr[4] = pn[3]; in ccmp_pn2hdr()
381 hdr[5] = pn[2]; in ccmp_pn2hdr()
382 hdr[6] = pn[1]; in ccmp_pn2hdr()
383 hdr[7] = pn[0]; in ccmp_pn2hdr()
387 static inline void ccmp_hdr2pn(u8 *pn, u8 *hdr) in ccmp_hdr2pn() argument
389 pn[0] = hdr[7]; in ccmp_hdr2pn()
390 pn[1] = hdr[6]; in ccmp_hdr2pn()
391 pn[2] = hdr[5]; in ccmp_hdr2pn()
392 pn[3] = hdr[4]; in ccmp_hdr2pn()
393 pn[4] = hdr[1]; in ccmp_hdr2pn()
394 pn[5] = hdr[0]; in ccmp_hdr2pn()
406 u8 pn[6]; in ccmp_encrypt_skb() local
449 pn[5] = pn64; in ccmp_encrypt_skb()
450 pn[4] = pn64 >> 8; in ccmp_encrypt_skb()
451 pn[3] = pn64 >> 16; in ccmp_encrypt_skb()
452 pn[2] = pn64 >> 24; in ccmp_encrypt_skb()
453 pn[1] = pn64 >> 32; in ccmp_encrypt_skb()
454 pn[0] = pn64 >> 40; in ccmp_encrypt_skb()
456 ccmp_pn2hdr(pos, pn, key->conf.keyidx); in ccmp_encrypt_skb()
463 ccmp_special_blocks(skb, pn, b_0, aad); in ccmp_encrypt_skb()
497 u8 pn[IEEE80211_CCMP_PN_LEN]; in ieee80211_crypto_ccmp_decrypt() local
519 ccmp_hdr2pn(pn, skb->data + hdrlen); in ieee80211_crypto_ccmp_decrypt()
523 if (memcmp(pn, key->u.ccmp.rx_pn[queue], IEEE80211_CCMP_PN_LEN) <= 0) { in ieee80211_crypto_ccmp_decrypt()
532 ccmp_special_blocks(skb, pn, b_0, aad); in ieee80211_crypto_ccmp_decrypt()
542 memcpy(key->u.ccmp.rx_pn[queue], pn, IEEE80211_CCMP_PN_LEN); in ieee80211_crypto_ccmp_decrypt()
553 static void gcmp_special_blocks(struct sk_buff *skb, u8 *pn, u8 *j_0, u8 *aad) in gcmp_special_blocks() argument
560 memcpy(&j_0[ETH_ALEN], pn, IEEE80211_GCMP_PN_LEN); in gcmp_special_blocks()
602 static inline void gcmp_pn2hdr(u8 *hdr, const u8 *pn, int key_id) in gcmp_pn2hdr() argument
604 hdr[0] = pn[5]; in gcmp_pn2hdr()
605 hdr[1] = pn[4]; in gcmp_pn2hdr()
608 hdr[4] = pn[3]; in gcmp_pn2hdr()
609 hdr[5] = pn[2]; in gcmp_pn2hdr()
610 hdr[6] = pn[1]; in gcmp_pn2hdr()
611 hdr[7] = pn[0]; in gcmp_pn2hdr()
614 static inline void gcmp_hdr2pn(u8 *pn, const u8 *hdr) in gcmp_hdr2pn() argument
616 pn[0] = hdr[7]; in gcmp_hdr2pn()
617 pn[1] = hdr[6]; in gcmp_hdr2pn()
618 pn[2] = hdr[5]; in gcmp_hdr2pn()
619 pn[3] = hdr[4]; in gcmp_hdr2pn()
620 pn[4] = hdr[1]; in gcmp_hdr2pn()
621 pn[5] = hdr[0]; in gcmp_hdr2pn()
631 u8 pn[6]; in gcmp_encrypt_skb() local
675 pn[5] = pn64; in gcmp_encrypt_skb()
676 pn[4] = pn64 >> 8; in gcmp_encrypt_skb()
677 pn[3] = pn64 >> 16; in gcmp_encrypt_skb()
678 pn[2] = pn64 >> 24; in gcmp_encrypt_skb()
679 pn[1] = pn64 >> 32; in gcmp_encrypt_skb()
680 pn[0] = pn64 >> 40; in gcmp_encrypt_skb()
682 gcmp_pn2hdr(pos, pn, key->conf.keyidx); in gcmp_encrypt_skb()
689 gcmp_special_blocks(skb, pn, j_0, aad); in gcmp_encrypt_skb()
719 u8 pn[IEEE80211_GCMP_PN_LEN]; in ieee80211_crypto_gcmp_decrypt() local
742 gcmp_hdr2pn(pn, skb->data + hdrlen); in ieee80211_crypto_gcmp_decrypt()
746 if (memcmp(pn, key->u.gcmp.rx_pn[queue], IEEE80211_GCMP_PN_LEN) <= 0) { in ieee80211_crypto_gcmp_decrypt()
755 gcmp_special_blocks(skb, pn, j_0, aad); in ieee80211_crypto_gcmp_decrypt()
765 memcpy(key->u.gcmp.rx_pn[queue], pn, IEEE80211_GCMP_PN_LEN); in ieee80211_crypto_gcmp_decrypt()
893 static inline void bip_ipn_set64(u8 *d, u64 pn) in bip_ipn_set64() argument
895 *d++ = pn; in bip_ipn_set64()
896 *d++ = pn >> 8; in bip_ipn_set64()
897 *d++ = pn >> 16; in bip_ipn_set64()
898 *d++ = pn >> 24; in bip_ipn_set64()
899 *d++ = pn >> 32; in bip_ipn_set64()
900 *d = pn >> 40; in bip_ipn_set64()