Lines Matching refs:sah
2283 if (((struct sockaddr *)&sav->sah->saidx.src)->sa_family in ipsec4_encapsulate()
2284 != ((struct sockaddr *)&sav->sah->saidx.dst)->sa_family in ipsec4_encapsulate()
2285 || ((struct sockaddr *)&sav->sah->saidx.src)->sa_family != AF_INET) { in ipsec4_encapsulate()
2374 bcopy(&((struct sockaddr_in *)&sav->sah->saidx.src)->sin_addr, in ipsec4_encapsulate()
2376 bcopy(&((struct sockaddr_in *)&sav->sah->saidx.dst)->sin_addr, in ipsec4_encapsulate()
2394 if (((struct sockaddr *)&sav->sah->saidx.src)->sa_family in ipsec6_encapsulate()
2395 != ((struct sockaddr *)&sav->sah->saidx.dst)->sa_family in ipsec6_encapsulate()
2396 || ((struct sockaddr *)&sav->sah->saidx.src)->sa_family != AF_INET6) { in ipsec6_encapsulate()
2447 bcopy(&((struct sockaddr_in6 *)&sav->sah->saidx.src)->sin6_addr, in ipsec6_encapsulate()
2449 bcopy(&((struct sockaddr_in6 *)&sav->sah->saidx.dst)->sin6_addr, in ipsec6_encapsulate()
2454 ip6->ip6_src.s6_addr16[1] = htons((u_int16_t)sav->sah->outgoing_if); in ipsec6_encapsulate()
2455 ip6->ip6_dst.s6_addr16[1] = htons((u_int16_t)sav->sah->outgoing_if); in ipsec6_encapsulate()
2471 if (((struct sockaddr *)&sav->sah->saidx.src)->sa_family in ipsec64_encapsulate()
2472 != ((struct sockaddr *)&sav->sah->saidx.dst)->sa_family in ipsec64_encapsulate()
2473 || ((struct sockaddr *)&sav->sah->saidx.src)->sa_family != AF_INET) { in ipsec64_encapsulate()
2538 bcopy(&((struct sockaddr_in *)&sav->sah->saidx.src)->sin_addr, in ipsec64_encapsulate()
2540 bcopy(&((struct sockaddr_in *)&sav->sah->saidx.dst)->sin_addr, in ipsec64_encapsulate()
2568 ro6 = &sav->sah->sa_route; in ipsec6_update_routecache_and_output()
2585 rtalloc_scoped((struct route *)ro6, sav->sah->outgoing_if); in ipsec6_update_routecache_and_output()
2627 switch (sav->sah->saidx.proto) { in ipsec6_update_routecache_and_output()
2640 ipseclog((LOG_ERR, "%s: unknown ipsec protocol %d\n", __FUNCTION__, sav->sah->saidx.proto)); in ipsec6_update_routecache_and_output()
2662 ipsec_set_pkthdr_for_interface(sav->sah->ipsec_if, state->m, AF_INET6); in ipsec6_update_routecache_and_output()
2663 ipsec_set_ip6oa_for_interface(sav->sah->ipsec_if, &ip6oa); in ipsec6_update_routecache_and_output()
2666 ifnet_stat_increment_out(sav->sah->ipsec_if, 1, (u_int32_t)mbuf_pkthdr_len(state->m), 0); in ipsec6_update_routecache_and_output()
2686 ifnet_disable_output(sav->sah->ipsec_if); in ipsec6_update_routecache_and_output()
2709 if (((struct sockaddr *)&sav->sah->saidx.src)->sa_family in ipsec46_encapsulate()
2710 != ((struct sockaddr *)&sav->sah->saidx.dst)->sa_family in ipsec46_encapsulate()
2711 || ((struct sockaddr *)&sav->sah->saidx.src)->sa_family != AF_INET6) { in ipsec46_encapsulate()
2812 bcopy(&((struct sockaddr_in6 *)&sav->sah->saidx.src)->sin6_addr, in ipsec46_encapsulate()
2814 bcopy(&((struct sockaddr_in6 *)&sav->sah->saidx.dst)->sin6_addr, in ipsec46_encapsulate()
2818 ip6->ip6_src.s6_addr16[1] = htons((u_int16_t)sav->sah->outgoing_if); in ipsec46_encapsulate()
2819 ip6->ip6_dst.s6_addr16[1] = htons((u_int16_t)sav->sah->outgoing_if); in ipsec46_encapsulate()
3103 struct secasindex *saidx = &sav->sah->saidx; in ipsec_logsastr()
3106 if (((struct sockaddr *)&sav->sah->saidx.src)->sa_family in ipsec_logsastr()
3107 != ((struct sockaddr *)&sav->sah->saidx.dst)->sa_family) { in ipsec_logsastr()
3181 if (sav == NULL || sav->sah == NULL) { in ipsec4_output_internal()
3200 state->outgoing_if = sav->sah->outgoing_if; in ipsec4_output_internal()
3207 if (sav->sah->saidx.mode == IPSEC_MODE_TUNNEL) { in ipsec4_output_internal()
3217 if (((struct sockaddr *)&sav->sah->saidx.src)->sa_family == AF_INET6) { in ipsec4_output_internal()
3227 } else if (((struct sockaddr *)&sav->sah->saidx.src)->sa_family == AF_INET) { in ipsec4_output_internal()
3237 ro4 = (struct route *)&sav->sah->sa_route; in ipsec4_output_internal()
3253 rtalloc_scoped(ro4, sav->sah->outgoing_if); in ipsec4_output_internal()
3296 switch (sav->sah->saidx.proto) { in ipsec4_output_internal()
3319 sav->sah->saidx.proto)); in ipsec4_output_internal()
3535 if (sav == NULL || sav->sah == NULL) { in ipsec6_output_trans_internal()
3551 state->outgoing_if = sav->sah->outgoing_if; in ipsec6_output_trans_internal()
3553 switch (sav->sah->saidx.proto) { in ipsec6_output_trans_internal()
3567 "unknown ipsec protocol %d\n", sav->sah->saidx.proto)); in ipsec6_output_trans_internal()
3754 if (sav == NULL || sav->sah == NULL || sav->sah->saidx.mode != IPSEC_MODE_TUNNEL) { in ipsec6_output_tunnel_internal()
3770 state->outgoing_if = sav->sah->outgoing_if; in ipsec6_output_tunnel_internal()
3772 if (sav->sah->saidx.mode == IPSEC_MODE_TUNNEL) { in ipsec6_output_tunnel_internal()
3783 if (((struct sockaddr *)&sav->sah->saidx.src)->sa_family == AF_INET6) { in ipsec6_output_tunnel_internal()
3790 } else if (((struct sockaddr *)&sav->sah->saidx.src)->sa_family == AF_INET) { in ipsec6_output_tunnel_internal()
3818 ro4 = (struct route *)&sav->sah->sa_route; in ipsec6_output_tunnel_internal()
3846 switch (sav->sah->saidx.proto) { in ipsec6_output_tunnel_internal()
3873 sav->sah->saidx.proto)); in ipsec6_output_tunnel_internal()
3886 ipsec_set_pkthdr_for_interface(sav->sah->ipsec_if, state->m, AF_INET); in ipsec6_output_tunnel_internal()
3887 ipsec_set_ipoa_for_interface(sav->sah->ipsec_if, &ipoa); in ipsec6_output_tunnel_internal()
3912 ro6 = &sav->sah->sa_route; in ipsec6_output_tunnel_internal()
3929 rtalloc_scoped((struct route *)ro6, sav->sah->outgoing_if); in ipsec6_output_tunnel_internal()
3971 switch (sav->sah->saidx.proto) { in ipsec6_output_tunnel_internal()
3985 "unknown ipsec protocol %d\n", sav->sah->saidx.proto)); in ipsec6_output_tunnel_internal()
4206 if (sav->sah && sav->sah->saidx.mode == IPSEC_MODE_TUNNEL) { in ipsec6_interface_output()
4333 if (sav->sah->saidx.mode == IPSEC_MODE_TRANSPORT) { in ipsec4_tunnel_validate()
4359 sin = (struct sockaddr_in *)&sav->sah->saidx.dst; in ipsec4_tunnel_validate()
4367 if (sav->sah->ipsec_if != NULL) { in ipsec4_tunnel_validate()
4459 if (sav->sah->saidx.mode == IPSEC_MODE_TRANSPORT) { in ipsec6_tunnel_validate()
4485 sin6 = (struct sockaddr_in6 *)&sav->sah->saidx.dst; in ipsec6_tunnel_validate()
4491 struct in6_addr *sah_dst_addr = &((struct sockaddr_in6 *)&sav->sah->saidx.dst)->sin6_addr; in ipsec6_tunnel_validate()
4494 tmp_sah_dst_addr.s6_addr16[1] = htons((u_int16_t)sav->sah->outgoing_if); in ipsec6_tunnel_validate()
4501 if (sav->sah->ipsec_if != NULL) { in ipsec6_tunnel_validate()
4893 if (sav->sah->saidx.dst.ss_family == AF_INET) { in ipsec_send_natt_keepalive()
4919 if (sav->sah->dir != IPSEC_DIR_INBOUND) { in ipsec_send_natt_keepalive()
4920 ip->ip_src = ((struct sockaddr_in*)&sav->sah->saidx.src)->sin_addr; in ipsec_send_natt_keepalive()
4921 ip->ip_dst = ((struct sockaddr_in*)&sav->sah->saidx.dst)->sin_addr; in ipsec_send_natt_keepalive()
4923 ip->ip_src = ((struct sockaddr_in*)&sav->sah->saidx.dst)->sin_addr; in ipsec_send_natt_keepalive()
4924 ip->ip_dst = ((struct sockaddr_in*)&sav->sah->saidx.src)->sin_addr; in ipsec_send_natt_keepalive()
4937 if (ROUTE_UNUSABLE(&sav->sah->sa_route) || in ipsec_send_natt_keepalive()
4938 rt_key(sav->sah->sa_route.ro_rt)->sa_family != AF_INET) { in ipsec_send_natt_keepalive()
4939 ROUTE_RELEASE(&sav->sah->sa_route); in ipsec_send_natt_keepalive()
4942 route_copyout(&ro, (struct route *)&sav->sah->sa_route, sizeof(struct route)); in ipsec_send_natt_keepalive()
4949 route_copyin(&ro, (struct route *)&sav->sah->sa_route, sizeof(struct route)); in ipsec_send_natt_keepalive()
4950 } else if (sav->sah->saidx.dst.ss_family == AF_INET6) { in ipsec_send_natt_keepalive()
4956 if (sav->sah->outgoing_if) { in ipsec_send_natt_keepalive()
4957 ip6oa.ip6oa_boundif = sav->sah->outgoing_if; in ipsec_send_natt_keepalive()
4981 if (sav->sah->dir != IPSEC_DIR_INBOUND) { in ipsec_send_natt_keepalive()
4982 ip6->ip6_src = ((struct sockaddr_in6 *)&sav->sah->saidx.src)->sin6_addr; in ipsec_send_natt_keepalive()
4983 ip6->ip6_dst = ((struct sockaddr_in6 *)&sav->sah->saidx.dst)->sin6_addr; in ipsec_send_natt_keepalive()
4984 ip6_output_setsrcifscope(m, ((struct sockaddr_in6 *)&sav->sah->saidx.src)->sin6_scope_id, NULL); in ipsec_send_natt_keepalive()
4985 ip6_output_setdstifscope(m, ((struct sockaddr_in6 *)&sav->sah->saidx.dst)->sin6_scope_id, NULL); in ipsec_send_natt_keepalive()
4987 ip6->ip6_src = ((struct sockaddr_in6 *)&sav->sah->saidx.dst)->sin6_addr; in ipsec_send_natt_keepalive()
4988 ip6->ip6_dst = ((struct sockaddr_in6 *)&sav->sah->saidx.src)->sin6_addr; in ipsec_send_natt_keepalive()
4989 ip6_output_setdstifscope(m, ((struct sockaddr_in6 *)&sav->sah->saidx.src)->sin6_scope_id, NULL); in ipsec_send_natt_keepalive()
4990 ip6_output_setsrcifscope(m, ((struct sockaddr_in6 *)&sav->sah->saidx.dst)->sin6_scope_id, NULL); in ipsec_send_natt_keepalive()
5012 if (ROUTE_UNUSABLE(&sav->sah->sa_route) || in ipsec_send_natt_keepalive()
5013 rt_key(sav->sah->sa_route.ro_rt)->sa_family != AF_INET6) { in ipsec_send_natt_keepalive()
5014 ROUTE_RELEASE(&sav->sah->sa_route); in ipsec_send_natt_keepalive()
5017 …route_copyout((struct route *)&ro6, (struct route *)&sav->sah->sa_route, sizeof(struct route_in6)); in ipsec_send_natt_keepalive()
5024 route_copyin((struct route *)&ro6, (struct route *)&sav->sah->sa_route, sizeof(struct route_in6)); in ipsec_send_natt_keepalive()
5026 ipseclog((LOG_ERR, "nat keepalive: invalid address family %u\n", sav->sah->saidx.dst.ss_family)); in ipsec_send_natt_keepalive()
5052 if (sav == NULL || sav->sah == NULL || frame == NULL || in ipsec_fill_offload_frame()
5053 (ifp != NULL && ifp->if_index != sav->sah->outgoing_if) || in ipsec_fill_offload_frame()
5054 sav->sah->saidx.dst.ss_family != AF_INET || in ipsec_fill_offload_frame()
5105 if (sav->sah->dir != IPSEC_DIR_INBOUND) { in ipsec_fill_offload_frame()
5106 ip->ip_src = ((struct sockaddr_in*)&sav->sah->saidx.src)->sin_addr; in ipsec_fill_offload_frame()
5107 ip->ip_dst = ((struct sockaddr_in*)&sav->sah->saidx.dst)->sin_addr; in ipsec_fill_offload_frame()
5109 ip->ip_src = ((struct sockaddr_in*)&sav->sah->saidx.dst)->sin_addr; in ipsec_fill_offload_frame()
5110 ip->ip_dst = ((struct sockaddr_in*)&sav->sah->saidx.src)->sin_addr; in ipsec_fill_offload_frame()