Lines Matching refs:sav

119 	int, struct secasvar *sav);
142 struct secasvar *sav;
150 /*%%%% this needs to change - no sav in ipsecrequest any more */
151 sav = isr->sav;
156 if (sav == NULL)
158 if (sav->state != SADB_SASTATE_MATURE
159 && sav->state != SADB_SASTATE_DYING)
163 algo = esp_algorithm_lookup(sav->alg_enc);
166 ivlen = sav->ivlen;
176 if (sav->flags & SADB_X_EXT_OLD) {
181 aalgo = ah_algorithm_lookup(sav->alg_auth);
182 if (aalgo && sav->replay && sav->key_auth)
183 authlen = (aalgo->sumsiz)(sav);
193 if ((sav->flags & SADB_X_EXT_NATT) != 0) hdrsiz += sizeof(struct udphdr) + 4;
234 esp_output(m, nexthdrp, md, af, sav)
239 struct secasvar *sav;
256 int udp_encapsulate = (sav->flags & SADB_X_EXT_NATT && af == AF_INET &&
259 KERNEL_DEBUG(DBG_FNC_ESPOUT | DBG_FUNC_START, sav->ivlen,0,0,0,0);
280 if ((sav->flags & SADB_X_EXT_OLD) == 0 && !sav->replay) {
289 "sav->replay is null: %x->%x, SPI=%u\n",
292 (u_int32_t)ntohl(sav->spi)));
300 "sav->replay is null: SPI=%u\n",
301 (u_int32_t)ntohl(sav->spi)));
313 algo = esp_algorithm_lookup(sav->alg_enc);
316 "SPI=%u\n", (u_int32_t)ntohl(sav->spi)));
321 spi = sav->spi;
322 ivlen = sav->ivlen;
345 if (sav->flags & SADB_X_EXT_OLD) {
350 if (sav->flags & SADB_X_EXT_DERIV)
403 if ((sav->flags & SADB_X_EXT_NATT_MULTIPLEUSERS) != 0) {
414 /* if src port not set in sav - find it */
415 if (sav->natt_encapsulated_src_port == 0)
416 if (key_natt_get_translated_port(sav) == 0) {
421 if (sav->remote_ike_port == htons(udp->uh_dport)) {
423 udp->uh_dport = sav->natt_encapsulated_src_port;
502 if ((sav->flags & SADB_X_EXT_OLD) == 0) {
505 if (sav->replay->count == ~0) {
506 if ((sav->flags & SADB_X_EXT_CYCSEQ) == 0) {
510 ipsec_logsastr(sav)));
518 sav->replay->count++;
524 nesp->esp_seq = htonl(sav->replay->count);
630 switch (sav->flags & SADB_X_EXT_PMASK) {
649 udp->uh_dport = ntohs(sav->remote_ike_port);
654 sav->natt_last_activity = natt_now;
693 error = esp_schedule(algo, sav);
707 if ((*algo->encrypt)(m, espoff, plen + extendsiz, sav, algo, ivlen)) {
720 if (!sav->replay)
722 if (!sav->key_auth)
724 if (sav->key_auth == SADB_AALG_NONE)
736 aalgo = ah_algorithm_lookup(sav->alg_auth);
739 siz = ((aalgo->sumsiz)(sav) + 3) & ~(4 - 1);
743 if (esp_auth(m, espoff, m->m_pkthdr.len - espoff, sav, authbuf)) {
818 stat->out_esphist[sav->alg_enc]++;
820 key_sa_recordxfer(sav, m);
835 esp4_output(m, sav)
837 struct secasvar *sav;
847 return esp_output(m, &ip->ip_p, m->m_next, AF_INET, sav);
853 esp6_output(m, nexthdrp, md, sav)
857 struct secasvar *sav;
864 return esp_output(m, nexthdrp, md, AF_INET6, sav);