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()
2664 ipsec_set_ip6oa_for_interface(sav->sah->ipsec_if, &ip6oa); in ipsec6_update_routecache_and_output()
2667 ifnet_stat_increment_out(sav->sah->ipsec_if, 1, (u_int32_t)mbuf_pkthdr_len(state->m), 0); in ipsec6_update_routecache_and_output()
2687 ifnet_disable_output(sav->sah->ipsec_if); in ipsec6_update_routecache_and_output()
2710 if (((struct sockaddr *)&sav->sah->saidx.src)->sa_family in ipsec46_encapsulate()
2711 != ((struct sockaddr *)&sav->sah->saidx.dst)->sa_family in ipsec46_encapsulate()
2712 || ((struct sockaddr *)&sav->sah->saidx.src)->sa_family != AF_INET6) { in ipsec46_encapsulate()
2813 bcopy(&((struct sockaddr_in6 *)&sav->sah->saidx.src)->sin6_addr, in ipsec46_encapsulate()
2815 bcopy(&((struct sockaddr_in6 *)&sav->sah->saidx.dst)->sin6_addr, in ipsec46_encapsulate()
2819 ip6->ip6_src.s6_addr16[1] = htons((u_int16_t)sav->sah->outgoing_if); in ipsec46_encapsulate()
2820 ip6->ip6_dst.s6_addr16[1] = htons((u_int16_t)sav->sah->outgoing_if); in ipsec46_encapsulate()
3104 struct secasindex *saidx = &sav->sah->saidx; in ipsec_logsastr()
3107 if (((struct sockaddr *)&sav->sah->saidx.src)->sa_family in ipsec_logsastr()
3108 != ((struct sockaddr *)&sav->sah->saidx.dst)->sa_family) { in ipsec_logsastr()
3182 if (sav == NULL || sav->sah == NULL) { in ipsec4_output_internal()
3201 state->outgoing_if = sav->sah->outgoing_if; in ipsec4_output_internal()
3208 if (sav->sah->saidx.mode == IPSEC_MODE_TUNNEL) { in ipsec4_output_internal()
3218 if (((struct sockaddr *)&sav->sah->saidx.src)->sa_family == AF_INET6) { in ipsec4_output_internal()
3228 } else if (((struct sockaddr *)&sav->sah->saidx.src)->sa_family == AF_INET) { in ipsec4_output_internal()
3238 ro4 = (struct route *)&sav->sah->sa_route; in ipsec4_output_internal()
3254 rtalloc_scoped(ro4, sav->sah->outgoing_if); in ipsec4_output_internal()
3297 switch (sav->sah->saidx.proto) { in ipsec4_output_internal()
3320 sav->sah->saidx.proto)); in ipsec4_output_internal()
3541 if (sav == NULL || sav->sah == NULL) { in ipsec6_output_trans_internal()
3557 state->outgoing_if = sav->sah->outgoing_if; in ipsec6_output_trans_internal()
3559 switch (sav->sah->saidx.proto) { in ipsec6_output_trans_internal()
3573 "unknown ipsec protocol %d\n", sav->sah->saidx.proto)); in ipsec6_output_trans_internal()
3765 if (sav == NULL || sav->sah == NULL || sav->sah->saidx.mode != IPSEC_MODE_TUNNEL) { in ipsec6_output_tunnel_internal()
3781 state->outgoing_if = sav->sah->outgoing_if; in ipsec6_output_tunnel_internal()
3783 if (sav->sah->saidx.mode == IPSEC_MODE_TUNNEL) { in ipsec6_output_tunnel_internal()
3794 if (((struct sockaddr *)&sav->sah->saidx.src)->sa_family == AF_INET6) { in ipsec6_output_tunnel_internal()
3801 } else if (((struct sockaddr *)&sav->sah->saidx.src)->sa_family == AF_INET) { in ipsec6_output_tunnel_internal()
3829 ro4 = (struct route *)&sav->sah->sa_route; in ipsec6_output_tunnel_internal()
3857 switch (sav->sah->saidx.proto) { in ipsec6_output_tunnel_internal()
3884 sav->sah->saidx.proto)); in ipsec6_output_tunnel_internal()
3897 ipsec_set_pkthdr_for_interface(sav->sah->ipsec_if, state->m, in ipsec6_output_tunnel_internal()
3899 ipsec_set_ipoa_for_interface(sav->sah->ipsec_if, &ipoa); in ipsec6_output_tunnel_internal()
3924 ro6 = &sav->sah->sa_route; in ipsec6_output_tunnel_internal()
3941 rtalloc_scoped((struct route *)ro6, sav->sah->outgoing_if); in ipsec6_output_tunnel_internal()
3983 switch (sav->sah->saidx.proto) { in ipsec6_output_tunnel_internal()
3997 "unknown ipsec protocol %d\n", sav->sah->saidx.proto)); in ipsec6_output_tunnel_internal()
4225 if (sav->sah && sav->sah->saidx.mode == IPSEC_MODE_TUNNEL) { in ipsec6_interface_output()
4352 if (sav->sah->saidx.mode == IPSEC_MODE_TRANSPORT) { in ipsec4_tunnel_validate()
4378 sin = (struct sockaddr_in *)&sav->sah->saidx.dst; in ipsec4_tunnel_validate()
4386 if (sav->sah->ipsec_if != NULL) { in ipsec4_tunnel_validate()
4478 if (sav->sah->saidx.mode == IPSEC_MODE_TRANSPORT) { in ipsec6_tunnel_validate()
4504 sin6 = (struct sockaddr_in6 *)&sav->sah->saidx.dst; in ipsec6_tunnel_validate()
4510 struct in6_addr *sah_dst_addr = &((struct sockaddr_in6 *)&sav->sah->saidx.dst)->sin6_addr; in ipsec6_tunnel_validate()
4513 tmp_sah_dst_addr.s6_addr16[1] = htons((u_int16_t)sav->sah->outgoing_if); in ipsec6_tunnel_validate()
4520 if (sav->sah->ipsec_if != NULL) { in ipsec6_tunnel_validate()
4904 if (sav->sah->saidx.dst.ss_family == AF_INET) { in ipsec_send_natt_keepalive()
4930 if (sav->sah->dir != IPSEC_DIR_INBOUND) { in ipsec_send_natt_keepalive()
4931 ip->ip_src = ((struct sockaddr_in*)&sav->sah->saidx.src)->sin_addr; in ipsec_send_natt_keepalive()
4932 ip->ip_dst = ((struct sockaddr_in*)&sav->sah->saidx.dst)->sin_addr; in ipsec_send_natt_keepalive()
4934 ip->ip_src = ((struct sockaddr_in*)&sav->sah->saidx.dst)->sin_addr; in ipsec_send_natt_keepalive()
4935 ip->ip_dst = ((struct sockaddr_in*)&sav->sah->saidx.src)->sin_addr; in ipsec_send_natt_keepalive()
4948 if (ROUTE_UNUSABLE(&sav->sah->sa_route) || in ipsec_send_natt_keepalive()
4949 rt_key(sav->sah->sa_route.ro_rt)->sa_family != AF_INET) { in ipsec_send_natt_keepalive()
4950 ROUTE_RELEASE(&sav->sah->sa_route); in ipsec_send_natt_keepalive()
4953 route_copyout(&ro, (struct route *)&sav->sah->sa_route, sizeof(struct route)); in ipsec_send_natt_keepalive()
4960 route_copyin(&ro, (struct route *)&sav->sah->sa_route, sizeof(struct route)); in ipsec_send_natt_keepalive()
4961 } else if (sav->sah->saidx.dst.ss_family == AF_INET6) { in ipsec_send_natt_keepalive()
4967 if (sav->sah->outgoing_if) { in ipsec_send_natt_keepalive()
4968 ip6oa.ip6oa_boundif = sav->sah->outgoing_if; in ipsec_send_natt_keepalive()
4992 if (sav->sah->dir != IPSEC_DIR_INBOUND) { in ipsec_send_natt_keepalive()
4993 ip6->ip6_src = ((struct sockaddr_in6 *)&sav->sah->saidx.src)->sin6_addr; in ipsec_send_natt_keepalive()
4994 ip6->ip6_dst = ((struct sockaddr_in6 *)&sav->sah->saidx.dst)->sin6_addr; in ipsec_send_natt_keepalive()
4995 ip6_output_setsrcifscope(m, ((struct sockaddr_in6 *)&sav->sah->saidx.src)->sin6_scope_id, NULL); in ipsec_send_natt_keepalive()
4996 ip6_output_setdstifscope(m, ((struct sockaddr_in6 *)&sav->sah->saidx.dst)->sin6_scope_id, NULL); in ipsec_send_natt_keepalive()
4998 ip6->ip6_src = ((struct sockaddr_in6 *)&sav->sah->saidx.dst)->sin6_addr; in ipsec_send_natt_keepalive()
4999 ip6->ip6_dst = ((struct sockaddr_in6 *)&sav->sah->saidx.src)->sin6_addr; in ipsec_send_natt_keepalive()
5000 ip6_output_setdstifscope(m, ((struct sockaddr_in6 *)&sav->sah->saidx.src)->sin6_scope_id, NULL); in ipsec_send_natt_keepalive()
5001 ip6_output_setsrcifscope(m, ((struct sockaddr_in6 *)&sav->sah->saidx.dst)->sin6_scope_id, NULL); in ipsec_send_natt_keepalive()
5023 if (ROUTE_UNUSABLE(&sav->sah->sa_route) || in ipsec_send_natt_keepalive()
5024 rt_key(sav->sah->sa_route.ro_rt)->sa_family != AF_INET6) { in ipsec_send_natt_keepalive()
5025 ROUTE_RELEASE(&sav->sah->sa_route); in ipsec_send_natt_keepalive()
5028 …route_copyout((struct route *)&ro6, (struct route *)&sav->sah->sa_route, sizeof(struct route_in6)); in ipsec_send_natt_keepalive()
5035 route_copyin((struct route *)&ro6, (struct route *)&sav->sah->sa_route, sizeof(struct route_in6)); in ipsec_send_natt_keepalive()
5037 ipseclog((LOG_ERR, "nat keepalive: invalid address family %u\n", sav->sah->saidx.dst.ss_family)); in ipsec_send_natt_keepalive()
5063 if (sav == NULL || sav->sah == NULL || frame == NULL || in ipsec_fill_offload_frame()
5064 (ifp != NULL && ifp->if_index != sav->sah->outgoing_if) || in ipsec_fill_offload_frame()
5065 sav->sah->saidx.dst.ss_family != AF_INET || in ipsec_fill_offload_frame()
5116 if (sav->sah->dir != IPSEC_DIR_INBOUND) { in ipsec_fill_offload_frame()
5117 ip->ip_src = ((struct sockaddr_in*)&sav->sah->saidx.src)->sin_addr; in ipsec_fill_offload_frame()
5118 ip->ip_dst = ((struct sockaddr_in*)&sav->sah->saidx.dst)->sin_addr; in ipsec_fill_offload_frame()
5120 ip->ip_src = ((struct sockaddr_in*)&sav->sah->saidx.dst)->sin_addr; in ipsec_fill_offload_frame()
5121 ip->ip_dst = ((struct sockaddr_in*)&sav->sah->saidx.src)->sin_addr; in ipsec_fill_offload_frame()