Lines Matching refs:sa_entry
109 struct ipsec_sa_entry *sa_entry) in chcr_ipsec_setauthsize() argument
114 sa_entry->authsize = authsize; in chcr_ipsec_setauthsize()
133 struct ipsec_sa_entry *sa_entry) in chcr_ipsec_setkey() argument
144 memcpy(sa_entry->salt, key + keylen, 4); in chcr_ipsec_setkey()
159 memcpy(sa_entry->key, key, keylen); in chcr_ipsec_setkey()
160 sa_entry->enckey_len = keylen; in chcr_ipsec_setkey()
165 sa_entry->key_ctx_hdr = FILL_KEY_CTX_HDR(ck_size, in chcr_ipsec_setkey()
175 sa_entry->enckey_len = 0; in chcr_ipsec_setkey()
182 memcpy(sa_entry->key + (DIV_ROUND_UP(sa_entry->enckey_len, 16) * in chcr_ipsec_setkey()
184 sa_entry->kctx_len = ((DIV_ROUND_UP(sa_entry->enckey_len, 16)) << 4) + in chcr_ipsec_setkey()
197 struct ipsec_sa_entry *sa_entry; in chcr_xfrm_add_state() local
253 sa_entry = kzalloc(sizeof(*sa_entry), GFP_KERNEL); in chcr_xfrm_add_state()
254 if (!sa_entry) { in chcr_xfrm_add_state()
259 sa_entry->hmac_ctrl = chcr_ipsec_setauthsize(x, sa_entry); in chcr_xfrm_add_state()
261 sa_entry->esn = 1; in chcr_xfrm_add_state()
262 chcr_ipsec_setkey(x, sa_entry); in chcr_xfrm_add_state()
263 x->xso.offload_handle = (unsigned long)sa_entry; in chcr_xfrm_add_state()
278 struct ipsec_sa_entry *sa_entry; in chcr_xfrm_free_state() local
283 sa_entry = (struct ipsec_sa_entry *)x->xso.offload_handle; in chcr_xfrm_free_state()
284 kfree(sa_entry); in chcr_xfrm_free_state()
313 struct ipsec_sa_entry *sa_entry) in is_eth_imm() argument
318 kctx_len = sa_entry->kctx_len; in is_eth_imm()
323 if (sa_entry->esn) in is_eth_imm()
332 struct ipsec_sa_entry *sa_entry, in calc_tx_sec_flits() argument
340 kctx_len = sa_entry->kctx_len; in calc_tx_sec_flits()
341 hdrlen = is_eth_imm(skb, sa_entry); in calc_tx_sec_flits()
342 aadivlen = sa_entry->esn ? DIV_ROUND_UP(sizeof(struct chcr_ipsec_aadiv), in calc_tx_sec_flits()
377 struct ipsec_sa_entry *sa_entry) in copy_esn_pktxt() argument
417 if (is_eth_imm(skb, sa_entry) && !skb_is_nonlinear(skb)) { in copy_esn_pktxt()
431 struct ipsec_sa_entry *sa_entry) in copy_cpltx_pktxt() argument
467 if (sa_entry->esn) in copy_cpltx_pktxt()
468 pos = copy_esn_pktxt(skb, dev, pos, sa_entry); in copy_cpltx_pktxt()
475 struct ipsec_sa_entry *sa_entry) in copy_key_cpltx_pktxt() argument
488 key_len = sa_entry->kctx_len; in copy_key_cpltx_pktxt()
500 key_ctx->ctx_hdr = sa_entry->key_ctx_hdr; in copy_key_cpltx_pktxt()
501 memcpy(key_ctx->salt, sa_entry->salt, MAX_SALT); in copy_key_cpltx_pktxt()
506 memcpy(key_ctx->key, sa_entry->key, key_len); in copy_key_cpltx_pktxt()
509 memcpy(pos, sa_entry->key, left); in copy_key_cpltx_pktxt()
510 memcpy(q->q.desc, sa_entry->key + left, in copy_key_cpltx_pktxt()
515 pos = copy_cpltx_pktxt(skb, dev, pos, sa_entry); in copy_key_cpltx_pktxt()
524 struct ipsec_sa_entry *sa_entry) in chcr_crypto_wreq() argument
544 unsigned int kctx_len = sa_entry->kctx_len; in chcr_crypto_wreq()
549 flits = calc_tx_sec_flits(skb, sa_entry, &immediate); in chcr_crypto_wreq()
551 if (sa_entry->esn) in chcr_crypto_wreq()
557 if (sa_entry->esn) { in chcr_crypto_wreq()
591 ivinoffset = sa_entry->esn ? (ESN_IV_INSERT_OFFSET + 1) : in chcr_crypto_wreq()
602 aadstart = sa_entry->esn ? 1 : (skb_transport_offset(skb) + 1); in chcr_crypto_wreq()
603 aadstop = sa_entry->esn ? ESN_IV_INSERT_OFFSET : in chcr_crypto_wreq()
608 ciphstart += sa_entry->esn ? esnlen : 0; in chcr_crypto_wreq()
617 sa_entry->authsize, in chcr_crypto_wreq()
618 sa_entry->authsize); in chcr_crypto_wreq()
623 sa_entry->hmac_ctrl, in chcr_crypto_wreq()
633 pos = copy_key_cpltx_pktxt(skb, dev, pos, sa_entry); in chcr_crypto_wreq()
676 struct ipsec_sa_entry *sa_entry; in chcr_ipsec_xmit() local
690 sa_entry = (struct ipsec_sa_entry *)x->xso.offload_handle; in chcr_ipsec_xmit()
705 flits = calc_tx_sec_flits(skb, sa_entry, &immediate); in chcr_ipsec_xmit()
729 credits, sa_entry); in chcr_ipsec_xmit()