Lines Matching refs:aead

28 #include <crypto/aead.h>
65 static void *esp_alloc_tmp(struct crypto_aead *aead, int nfrags, int seqihlen)
71 len += crypto_aead_ivsize(aead);
74 len += crypto_aead_alignmask(aead) &
79 len += sizeof(struct aead_givcrypt_request) + crypto_aead_reqsize(aead);
92 static inline u8 *esp_tmp_iv(struct crypto_aead *aead, void *tmp, int seqhilen)
94 return crypto_aead_ivsize(aead) ?
96 crypto_aead_alignmask(aead) + 1) : tmp + seqhilen;
100 struct crypto_aead *aead, u8 *iv)
104 req = (void *)PTR_ALIGN(iv + crypto_aead_ivsize(aead),
106 aead_givcrypt_set_tfm(req, aead);
110 static inline struct aead_request *esp_tmp_req(struct crypto_aead *aead, u8 *iv)
114 req = (void *)PTR_ALIGN(iv + crypto_aead_ivsize(aead),
116 aead_request_set_tfm(req, aead);
120 static inline struct scatterlist *esp_req_sg(struct crypto_aead *aead,
124 crypto_aead_reqsize(aead),
129 struct crypto_aead *aead, struct aead_givcrypt_request *req)
132 crypto_aead_reqsize(aead),
148 struct crypto_aead *aead;
168 aead = x->data;
169 alen = crypto_aead_authsize(aead);
180 blksize = ALIGN(crypto_aead_blocksize(aead), 4);
199 tmp = esp_alloc_tmp(aead, nfrags + sglists, seqhilen);
206 iv = esp_tmp_iv(aead, tmp, seqhilen);
207 req = esp_tmp_givreq(aead, iv);
208 asg = esp_givreq_sg(aead, req);
235 esph->enc_data + crypto_aead_ivsize(aead) - skb->data,
270 struct crypto_aead *aead = x->data;
271 int alen = crypto_aead_authsize(aead);
272 int hlen = sizeof(struct ip_esp_hdr) + crypto_aead_ivsize(aead);
323 struct crypto_aead *aead = x->data;
326 int elen = skb->len - sizeof(*esph) - crypto_aead_ivsize(aead);
338 if (!pskb_may_pull(skb, sizeof(*esph) + crypto_aead_ivsize(aead))) {
365 tmp = esp_alloc_tmp(aead, nfrags + sglists, seqhilen);
371 iv = esp_tmp_iv(aead, tmp, seqhilen);
372 req = esp_tmp_req(aead, iv);
373 asg = esp_req_sg(aead, req);
384 skb_to_sgvec(skb, sg, sizeof(*esph) + crypto_aead_ivsize(aead), elen);
411 struct crypto_aead *aead = x->data;
412 u32 blksize = ALIGN(crypto_aead_blocksize(aead), 4);
420 return ((mtu - x->props.header_len - crypto_aead_authsize(aead) -
452 struct crypto_aead *aead = x->data;
454 if (!aead)
457 crypto_free_aead(aead);
462 struct crypto_aead *aead;
465 aead = crypto_alloc_aead(x->aead->alg_name, 0, 0);
466 err = PTR_ERR(aead);
467 if (IS_ERR(aead))
470 x->data = aead;
472 err = crypto_aead_setkey(aead, x->aead->alg_key,
473 (x->aead->alg_key_len + 7) / 8);
477 err = crypto_aead_setauthsize(aead, x->aead->alg_icv_len / 8);
487 struct crypto_aead *aead;
516 aead = crypto_alloc_aead(authenc_name, 0, 0);
517 err = PTR_ERR(aead);
518 if (IS_ERR(aead))
521 x->data = aead;
548 crypto_aead_authsize(aead)) {
551 crypto_aead_authsize(aead),
557 aead, x->aalg->alg_trunc_len / 8);
565 err = crypto_aead_setkey(aead, key, keylen);
576 struct crypto_aead *aead;
585 if (x->aead)
593 aead = x->data;
596 crypto_aead_ivsize(aead);
612 align = ALIGN(crypto_aead_blocksize(aead), 4);
613 x->props.trailer_len = align + 1 + crypto_aead_authsize(aead);