Lines Matching refs:saidx

109 static int ipsec_encap(struct mbuf **mp, struct secasindex *saidx);
117 struct secasindex *saidx, tmpsaidx; in ipsec4_allocsa() local
127 if ((isr->saidx.proto == IPPROTO_ESP && !V_esp_enable) || in ipsec4_allocsa()
128 (isr->saidx.proto == IPPROTO_AH && !V_ah_enable) || in ipsec4_allocsa()
129 (isr->saidx.proto == IPPROTO_IPCOMP && !V_ipcomp_enable)) { in ipsec4_allocsa()
132 IPSEC_OSTAT_INC(isr->saidx.proto, pdrops); in ipsec4_allocsa()
141 if (isr->saidx.mode == IPSEC_MODE_TRANSPORT) { in ipsec4_allocsa()
142 saidx = &tmpsaidx; in ipsec4_allocsa()
143 *saidx = isr->saidx; in ipsec4_allocsa()
144 if (saidx->src.sa.sa_len == 0) { in ipsec4_allocsa()
145 sin = &saidx->src.sin; in ipsec4_allocsa()
151 if (saidx->dst.sa.sa_len == 0) { in ipsec4_allocsa()
152 sin = &saidx->dst.sin; in ipsec4_allocsa()
159 saidx = &sp->req[*pidx]->saidx; in ipsec4_allocsa()
163 sav = key_allocsa_policy(sp, saidx, error); in ipsec4_allocsa()
262 dst = &sav->sah->saidx.dst; in ipsec4_perform_request()
264 if (sp->req[idx]->saidx.mode == IPSEC_MODE_TUNNEL || /* Tunnel requ'd */ in ipsec4_perform_request()
273 error = ipsec_encap(&m, &sav->sah->saidx); in ipsec4_perform_request()
312 IPSEC_OSTAT_INC(sav->sah->saidx.proto, nopf); in ipsec4_perform_request()
542 struct secasindex *saidx, tmpsaidx; in ipsec6_allocsa() local
553 if ((isr->saidx.proto == IPPROTO_ESP && !V_esp_enable) || in ipsec6_allocsa()
554 (isr->saidx.proto == IPPROTO_AH && !V_ah_enable) || in ipsec6_allocsa()
555 (isr->saidx.proto == IPPROTO_IPCOMP && !V_ipcomp_enable)) { in ipsec6_allocsa()
558 IPSEC_OSTAT_INC(isr->saidx.proto, pdrops); in ipsec6_allocsa()
567 if (isr->saidx.mode == IPSEC_MODE_TRANSPORT) { in ipsec6_allocsa()
568 saidx = &tmpsaidx; in ipsec6_allocsa()
569 *saidx = isr->saidx; in ipsec6_allocsa()
571 if (saidx->src.sin6.sin6_len == 0) { in ipsec6_allocsa()
572 sin6 = (struct sockaddr_in6 *)&saidx->src; in ipsec6_allocsa()
584 if (saidx->dst.sin6.sin6_len == 0) { in ipsec6_allocsa()
585 sin6 = (struct sockaddr_in6 *)&saidx->dst; in ipsec6_allocsa()
598 saidx = &sp->req[*pidx]->saidx; in ipsec6_allocsa()
602 sav = key_allocsa_policy(sp, saidx, error); in ipsec6_allocsa()
682 dst = &sav->sah->saidx.dst; in ipsec6_perform_request()
685 if (sp->req[idx]->saidx.mode == IPSEC_MODE_TUNNEL || /* Tunnel requ'd */ in ipsec6_perform_request()
695 error = ipsec_encap(&m, &sav->sah->saidx); in ipsec6_perform_request()
729 IPSEC_OSTAT_INC(sav->sah->saidx.proto, nopf); in ipsec6_perform_request()
907 struct secasindex *saidx; in ipsec_process_done() local
918 saidx = &sav->sah->saidx; in ipsec_process_done()
919 switch (saidx->dst.sa.sa_family) { in ipsec_process_done()
945 saidx->dst.sa.sa_family)); in ipsec_process_done()
961 xh->dst = saidx->dst; in ipsec_process_done()
962 xh->proto = saidx->proto; in ipsec_process_done()
963 xh->mode = saidx->mode; in ipsec_process_done()
977 switch (saidx->dst.sa.sa_family) { in ipsec_process_done()
996 saidx->dst.sa.sa_family)); in ipsec_process_done()
1018 switch (saidx->dst.sa.sa_family) { in ipsec_process_done()
1097 dst = &sav->sah->saidx.dst; in ipsec_get_pmtu()
1144 ipsec_encap(struct mbuf **mp, struct secasindex *saidx) in ipsec_encap() argument
1182 switch (saidx->dst.sa.sa_family) { in ipsec_encap()
1185 if (saidx->src.sa.sa_family != AF_INET || in ipsec_encap()
1186 saidx->src.sin.sin_addr.s_addr == INADDR_ANY || in ipsec_encap()
1187 saidx->dst.sin.sin_addr.s_addr == INADDR_ANY) in ipsec_encap()
1200 ip->ip_src = saidx->src.sin.sin_addr; in ipsec_encap()
1201 ip->ip_dst = saidx->dst.sin.sin_addr; in ipsec_encap()
1208 if (saidx->src.sa.sa_family != AF_INET6 || in ipsec_encap()
1209 IN6_IS_ADDR_UNSPECIFIED(&saidx->src.sin6.sin6_addr) || in ipsec_encap()
1210 IN6_IS_ADDR_UNSPECIFIED(&saidx->dst.sin6.sin6_addr)) in ipsec_encap()
1220 ip6->ip6_dst = saidx->dst.sin6.sin6_addr; in ipsec_encap()
1224 htons(saidx->dst.sin6.sin6_scope_id & 0xffff); in ipsec_encap()
1225 ip6->ip6_src = saidx->src.sin6.sin6_addr; in ipsec_encap()
1228 htons(saidx->src.sin6.sin6_scope_id & 0xffff); in ipsec_encap()