Lines Matching refs:sav

124 	struct secasvar *sav;
203 sav = key_allocsa(&dst_address, sproto, spi);
204 if (sav == NULL) {
213 if (sav->tdb_xform == NULL) {
218 key_freesav(&sav);
227 error = (*sav->tdb_xform->xf_input)(m, sav, skip, protoff);
298 struct secasvar *sav;
314 sav = key_allocsa((union sockaddr_union *)&icmpsrc, proto, spi);
315 if (sav == NULL)
318 key_freesav(&sav);
341 ipsec4_common_input_cb(struct mbuf *m, struct secasvar *sav, int skip,
353 IPSEC_ASSERT(sav != NULL, ("null SA"));
354 IPSEC_ASSERT(sav->sah != NULL, ("null SAH"));
355 saidx = &sav->sah->saidx;
369 __func__, ipsec_address(&sav->sah->saidx.dst,
370 buf, sizeof(buf)), (u_long) ntohl(sav->spi)));
389 if (sav->natt != NULL &&
391 udp_ipsec_adjust_cksum(m, sav, prot, skip);
398 IPSEC_INIT_CTX(&ctx, &m, NULL, sav, AF_INET, IPSEC_ENC_BEFORE);
453 xh->spi = sav->spi;
459 key_sa_recordxfer(sav, m); /* record data transfer */
489 IPSEC_INIT_CTX(&ctx, &m, NULL, sav, af, IPSEC_ENC_AFTER);
495 error = ipsec_if_input(m, sav, af);
497 error = netisr_queue_src(isr_prot, (uintptr_t)sav->spi, m);
505 key_freesav(&sav);
510 key_freesav(&sav);
592 ipsec6_common_input_cb(struct mbuf *m, struct secasvar *sav, int skip,
607 IPSEC_ASSERT(sav != NULL, ("null SA"));
608 IPSEC_ASSERT(sav->sah != NULL, ("null SAH"));
609 saidx = &sav->sah->saidx;
623 __func__, ipsec_address(&sav->sah->saidx.dst, buf,
624 sizeof(buf)), (u_long) ntohl(sav->spi)));
631 IPSEC_INIT_CTX(&ctx, &m, NULL, sav, af, IPSEC_ENC_BEFORE);
647 if (sav->natt != NULL &&
649 udp_ipsec_adjust_cksum(m, sav, prot, skip);
697 xh->spi = sav->spi;
703 key_sa_recordxfer(sav, m);
711 IPSEC_INIT_CTX(&ctx, &m, NULL, sav, af, IPSEC_ENC_AFTER);
737 error = ipsec_if_input(m, sav, af);
740 (uintptr_t)sav->spi, m);
748 key_freesav(&sav);
786 key_freesav(&sav);
790 key_freesav(&sav);