Lines Matching refs:sav

108 	struct secasvar *sav;  in ipcomp_encapcheck()  local
110 sav = key_allocsa_tunnel(src, dst, IPPROTO_IPCOMP); in ipcomp_encapcheck()
111 if (sav == NULL) in ipcomp_encapcheck()
113 key_freesav(&sav); in ipcomp_encapcheck()
153 ipcomp_init(struct secasvar *sav, struct xformsw *xsp) in ipcomp_init() argument
159 tcomp = comp_algorithm_lookup(sav->alg_enc); in ipcomp_init()
162 sav->alg_comp)); in ipcomp_init()
165 sav->alg_comp = sav->alg_enc; /* set for doing histogram */ in ipcomp_init()
166 sav->tdb_xform = xsp; in ipcomp_init()
167 sav->tdb_compalgxform = tcomp; in ipcomp_init()
171 cric.cri_alg = sav->tdb_compalgxform->type; in ipcomp_init()
173 return crypto_newsession(&sav->tdb_cryptoid, &cric, V_crypto_support); in ipcomp_init()
180 ipcomp_zeroize(struct secasvar *sav) in ipcomp_zeroize() argument
183 crypto_freesession(sav->tdb_cryptoid); in ipcomp_zeroize()
184 sav->tdb_cryptoid = NULL; in ipcomp_zeroize()
192 ipcomp_input(struct mbuf *m, struct secasvar *sav, int skip, int protoff) in ipcomp_input() argument
210 key_freesav(&sav); in ipcomp_input()
244 crdc->crd_alg = sav->tdb_compalgxform->type; in ipcomp_input()
255 xd->sav = sav; in ipcomp_input()
260 SECASVAR_LOCK(sav); in ipcomp_input()
261 crp->crp_session = xd->cryptoid = sav->tdb_cryptoid; in ipcomp_input()
262 SECASVAR_UNLOCK(sav); in ipcomp_input()
267 key_freesav(&sav); in ipcomp_input()
280 struct secasvar *sav; in ipcomp_input_cb() local
291 sav = xd->sav; in ipcomp_input_cb()
295 saidx = &sav->sah->saidx; in ipcomp_input_cb()
304 if (ipsec_updateid(sav, &crp->crp_session, &cryptoid) != 0) in ipcomp_input_cb()
322 IPCOMPSTAT_INC(ipcomps_hist[sav->alg_comp]); in ipcomp_input_cb()
349 ipsec_address(&sav->sah->saidx.dst, buf, sizeof(buf)), in ipcomp_input_cb()
350 (u_long) ntohl(sav->spi))); in ipcomp_input_cb()
360 error = ipsec6_common_input_cb(m, sav, skip, protoff); in ipcomp_input_cb()
365 error = ipsec4_common_input_cb(m, sav, skip, protoff); in ipcomp_input_cb()
376 if (sav != NULL) in ipcomp_input_cb()
377 key_freesav(&sav); in ipcomp_input_cb()
391 ipcomp_output(struct mbuf *m, struct secpolicy *sp, struct secasvar *sav, in ipcomp_output() argument
401 IPSEC_ASSERT(sav != NULL, ("null SA")); in ipcomp_output()
402 ipcompx = sav->tdb_compalgxform; in ipcomp_output()
413 return ipsec_process_done(m, sp, sav, idx); in ipcomp_output()
420 switch (sav->sah->saidx.dst.sa.sa_family) { in ipcomp_output()
435 sav->sah->saidx.dst.sa.sa_family, in ipcomp_output()
436 ipsec_address(&sav->sah->saidx.dst, buf, sizeof(buf)), in ipcomp_output()
437 (u_long) ntohl(sav->spi))); in ipcomp_output()
445 ipsec_address(&sav->sah->saidx.dst, buf, sizeof(buf)), in ipcomp_output()
446 (u_long) ntohl(sav->spi), in ipcomp_output()
459 __func__, ipsec_address(&sav->sah->saidx.dst, buf, in ipcomp_output()
460 sizeof(buf)), (u_long) ntohl(sav->spi))); in ipcomp_output()
497 xd->sav = sav; in ipcomp_output()
510 SECASVAR_LOCK(sav); in ipcomp_output()
511 crp->crp_session = xd->cryptoid = sav->tdb_cryptoid; in ipcomp_output()
512 SECASVAR_UNLOCK(sav); in ipcomp_output()
518 key_freesav(&sav); in ipcomp_output()
532 struct secasvar *sav; in ipcomp_output_cb() local
543 sav = xd->sav; in ipcomp_output_cb()
552 if (ipsec_updateid(sav, &crp->crp_session, &cryptoid) != 0) in ipcomp_output_cb()
570 IPCOMPSTAT_INC(ipcomps_hist[sav->alg_comp]); in ipcomp_output_cb()
584 __func__, ipsec_address(&sav->sah->saidx.dst, buf, in ipcomp_output_cb()
585 sizeof(buf)), (u_long) ntohl(sav->spi))); in ipcomp_output_cb()
593 switch (sav->sah->saidx.dst.sa.sa_family) { in ipcomp_output_cb()
606 ipcomp->comp_cpi = htons((u_int16_t) ntohl(sav->spi)); in ipcomp_output_cb()
614 switch (sav->sah->saidx.dst.sa.sa_family) { in ipcomp_output_cb()
630 sav->sah->saidx.dst.sa.sa_family, in ipcomp_output_cb()
631 ipsec_address(&sav->sah->saidx.dst, buf, in ipcomp_output_cb()
632 sizeof(buf)), (u_long) ntohl(sav->spi))); in ipcomp_output_cb()
650 error = ipsec_process_done(m, sp, sav, idx); in ipcomp_output_cb()
659 key_freesav(&sav); in ipcomp_output_cb()