Lines Matching refs:sah

2298 	if (((struct sockaddr *)&sav->sah->saidx.src)->sa_family  in ipsec4_encapsulate()
2299 != ((struct sockaddr *)&sav->sah->saidx.dst)->sa_family in ipsec4_encapsulate()
2300 || ((struct sockaddr *)&sav->sah->saidx.src)->sa_family != AF_INET) { in ipsec4_encapsulate()
2389 bcopy(&((struct sockaddr_in *)&sav->sah->saidx.src)->sin_addr, in ipsec4_encapsulate()
2391 bcopy(&((struct sockaddr_in *)&sav->sah->saidx.dst)->sin_addr, in ipsec4_encapsulate()
2409 if (((struct sockaddr *)&sav->sah->saidx.src)->sa_family in ipsec6_encapsulate()
2410 != ((struct sockaddr *)&sav->sah->saidx.dst)->sa_family in ipsec6_encapsulate()
2411 || ((struct sockaddr *)&sav->sah->saidx.src)->sa_family != AF_INET6) { in ipsec6_encapsulate()
2462 bcopy(&((struct sockaddr_in6 *)&sav->sah->saidx.src)->sin6_addr, in ipsec6_encapsulate()
2464 bcopy(&((struct sockaddr_in6 *)&sav->sah->saidx.dst)->sin6_addr, in ipsec6_encapsulate()
2481 if (((struct sockaddr *)&sav->sah->saidx.src)->sa_family in ipsec64_encapsulate()
2482 != ((struct sockaddr *)&sav->sah->saidx.dst)->sa_family in ipsec64_encapsulate()
2483 || ((struct sockaddr *)&sav->sah->saidx.src)->sa_family != AF_INET) { in ipsec64_encapsulate()
2548 bcopy(&((struct sockaddr_in *)&sav->sah->saidx.src)->sin_addr, in ipsec64_encapsulate()
2550 bcopy(&((struct sockaddr_in *)&sav->sah->saidx.dst)->sin_addr, in ipsec64_encapsulate()
2578 ro6 = &sav->sah->sa_route; in ipsec6_update_routecache_and_output()
2595 rtalloc_scoped((struct route *)ro6, sav->sah->outgoing_if); in ipsec6_update_routecache_and_output()
2637 switch (sav->sah->saidx.proto) { in ipsec6_update_routecache_and_output()
2650 ipseclog((LOG_ERR, "%s: unknown ipsec protocol %d\n", __FUNCTION__, sav->sah->saidx.proto)); in ipsec6_update_routecache_and_output()
2672 ipsec_set_pkthdr_for_interface(sav->sah->ipsec_if, state->m, AF_INET6); in ipsec6_update_routecache_and_output()
2673 ipsec_set_ip6oa_for_interface(sav->sah->ipsec_if, &ip6oa); in ipsec6_update_routecache_and_output()
2676 ifnet_stat_increment_out(sav->sah->ipsec_if, 1, (u_int32_t)mbuf_pkthdr_len(state->m), 0); in ipsec6_update_routecache_and_output()
2696 ifnet_disable_output(sav->sah->ipsec_if); in ipsec6_update_routecache_and_output()
2719 if (((struct sockaddr *)&sav->sah->saidx.src)->sa_family in ipsec46_encapsulate()
2720 != ((struct sockaddr *)&sav->sah->saidx.dst)->sa_family in ipsec46_encapsulate()
2721 || ((struct sockaddr *)&sav->sah->saidx.src)->sa_family != AF_INET6) { in ipsec46_encapsulate()
2822 bcopy(&((struct sockaddr_in6 *)&sav->sah->saidx.src)->sin6_addr, in ipsec46_encapsulate()
2824 bcopy(&((struct sockaddr_in6 *)&sav->sah->saidx.dst)->sin6_addr, in ipsec46_encapsulate()
3108 struct secasindex *saidx = &sav->sah->saidx; in ipsec_logsastr()
3111 if (((struct sockaddr *)&sav->sah->saidx.src)->sa_family in ipsec_logsastr()
3112 != ((struct sockaddr *)&sav->sah->saidx.dst)->sa_family) { in ipsec_logsastr()
3186 if (sav == NULL || sav->sah == NULL) { in ipsec4_output_internal()
3205 state->outgoing_if = sav->sah->outgoing_if; in ipsec4_output_internal()
3212 if (sav->sah->saidx.mode == IPSEC_MODE_TUNNEL) { in ipsec4_output_internal()
3222 if (((struct sockaddr *)&sav->sah->saidx.src)->sa_family == AF_INET6) { in ipsec4_output_internal()
3232 } else if (((struct sockaddr *)&sav->sah->saidx.src)->sa_family == AF_INET) { in ipsec4_output_internal()
3242 ro4 = (struct route *)&sav->sah->sa_route; in ipsec4_output_internal()
3258 rtalloc_scoped(ro4, sav->sah->outgoing_if); in ipsec4_output_internal()
3301 switch (sav->sah->saidx.proto) { in ipsec4_output_internal()
3324 sav->sah->saidx.proto)); in ipsec4_output_internal()
3540 if (sav == NULL || sav->sah == NULL) { in ipsec6_output_trans_internal()
3556 state->outgoing_if = sav->sah->outgoing_if; in ipsec6_output_trans_internal()
3558 switch (sav->sah->saidx.proto) { in ipsec6_output_trans_internal()
3572 "unknown ipsec protocol %d\n", sav->sah->saidx.proto)); in ipsec6_output_trans_internal()
3759 if (sav == NULL || sav->sah == NULL || sav->sah->saidx.mode != IPSEC_MODE_TUNNEL) { in ipsec6_output_tunnel_internal()
3775 state->outgoing_if = sav->sah->outgoing_if; in ipsec6_output_tunnel_internal()
3777 if (sav->sah->saidx.mode == IPSEC_MODE_TUNNEL) { in ipsec6_output_tunnel_internal()
3788 if (((struct sockaddr *)&sav->sah->saidx.src)->sa_family == AF_INET6) { in ipsec6_output_tunnel_internal()
3795 } else if (((struct sockaddr *)&sav->sah->saidx.src)->sa_family == AF_INET) { in ipsec6_output_tunnel_internal()
3823 ro4 = (struct route *)&sav->sah->sa_route; in ipsec6_output_tunnel_internal()
3851 switch (sav->sah->saidx.proto) { in ipsec6_output_tunnel_internal()
3878 sav->sah->saidx.proto)); in ipsec6_output_tunnel_internal()
3891 ipsec_set_pkthdr_for_interface(sav->sah->ipsec_if, state->m, AF_INET); in ipsec6_output_tunnel_internal()
3892 ipsec_set_ipoa_for_interface(sav->sah->ipsec_if, &ipoa); in ipsec6_output_tunnel_internal()
3917 ro6 = &sav->sah->sa_route; in ipsec6_output_tunnel_internal()
3934 rtalloc_scoped((struct route *)ro6, sav->sah->outgoing_if); in ipsec6_output_tunnel_internal()
3976 switch (sav->sah->saidx.proto) { in ipsec6_output_tunnel_internal()
3990 "unknown ipsec protocol %d\n", sav->sah->saidx.proto)); in ipsec6_output_tunnel_internal()
4211 if (sav->sah && sav->sah->saidx.mode == IPSEC_MODE_TUNNEL) { in ipsec6_interface_output()
4338 if (sav->sah->saidx.mode == IPSEC_MODE_TRANSPORT) { in ipsec4_tunnel_validate()
4364 sin = (struct sockaddr_in *)&sav->sah->saidx.dst; in ipsec4_tunnel_validate()
4372 if (sav->sah->ipsec_if != NULL) { in ipsec4_tunnel_validate()
4464 if (sav->sah->saidx.mode == IPSEC_MODE_TRANSPORT) { in ipsec6_tunnel_validate()
4490 sin6 = (struct sockaddr_in6 *)&sav->sah->saidx.dst; in ipsec6_tunnel_validate()
4498 if (sav->sah->ipsec_if != NULL) { in ipsec6_tunnel_validate()
4890 if (sav->sah->saidx.dst.ss_family == AF_INET) { in ipsec_send_natt_keepalive()
4916 if (sav->sah->dir != IPSEC_DIR_INBOUND) { in ipsec_send_natt_keepalive()
4917 ip->ip_src = ((struct sockaddr_in*)&sav->sah->saidx.src)->sin_addr; in ipsec_send_natt_keepalive()
4918 ip->ip_dst = ((struct sockaddr_in*)&sav->sah->saidx.dst)->sin_addr; in ipsec_send_natt_keepalive()
4920 ip->ip_src = ((struct sockaddr_in*)&sav->sah->saidx.dst)->sin_addr; in ipsec_send_natt_keepalive()
4921 ip->ip_dst = ((struct sockaddr_in*)&sav->sah->saidx.src)->sin_addr; in ipsec_send_natt_keepalive()
4934 if (ROUTE_UNUSABLE(&sav->sah->sa_route) || in ipsec_send_natt_keepalive()
4935 rt_key(sav->sah->sa_route.ro_rt)->sa_family != AF_INET) { in ipsec_send_natt_keepalive()
4936 ROUTE_RELEASE(&sav->sah->sa_route); in ipsec_send_natt_keepalive()
4939 route_copyout(&ro, (struct route *)&sav->sah->sa_route, sizeof(struct route)); in ipsec_send_natt_keepalive()
4946 route_copyin(&ro, (struct route *)&sav->sah->sa_route, sizeof(struct route)); in ipsec_send_natt_keepalive()
4947 } else if (sav->sah->saidx.dst.ss_family == AF_INET6) { in ipsec_send_natt_keepalive()
4953 if (sav->sah->outgoing_if) { in ipsec_send_natt_keepalive()
4954 ip6oa.ip6oa_boundif = sav->sah->outgoing_if; in ipsec_send_natt_keepalive()
4978 if (sav->sah->dir != IPSEC_DIR_INBOUND) { in ipsec_send_natt_keepalive()
4979 ip6->ip6_src = ((struct sockaddr_in6 *)&sav->sah->saidx.src)->sin6_addr; in ipsec_send_natt_keepalive()
4980 ip6->ip6_dst = ((struct sockaddr_in6 *)&sav->sah->saidx.dst)->sin6_addr; in ipsec_send_natt_keepalive()
4981 ip6_output_setsrcifscope(m, ((struct sockaddr_in6 *)&sav->sah->saidx.src)->sin6_scope_id, NULL); in ipsec_send_natt_keepalive()
4982 ip6_output_setdstifscope(m, ((struct sockaddr_in6 *)&sav->sah->saidx.dst)->sin6_scope_id, NULL); in ipsec_send_natt_keepalive()
4984 ip6->ip6_src = ((struct sockaddr_in6 *)&sav->sah->saidx.dst)->sin6_addr; in ipsec_send_natt_keepalive()
4985 ip6->ip6_dst = ((struct sockaddr_in6 *)&sav->sah->saidx.src)->sin6_addr; in ipsec_send_natt_keepalive()
4986 ip6_output_setdstifscope(m, ((struct sockaddr_in6 *)&sav->sah->saidx.src)->sin6_scope_id, NULL); in ipsec_send_natt_keepalive()
4987 ip6_output_setsrcifscope(m, ((struct sockaddr_in6 *)&sav->sah->saidx.dst)->sin6_scope_id, NULL); in ipsec_send_natt_keepalive()
5009 if (ROUTE_UNUSABLE(&sav->sah->sa_route) || in ipsec_send_natt_keepalive()
5010 rt_key(sav->sah->sa_route.ro_rt)->sa_family != AF_INET6) { in ipsec_send_natt_keepalive()
5011 ROUTE_RELEASE(&sav->sah->sa_route); in ipsec_send_natt_keepalive()
5014 …route_copyout((struct route *)&ro6, (struct route *)&sav->sah->sa_route, sizeof(struct route_in6)); in ipsec_send_natt_keepalive()
5021 route_copyin((struct route *)&ro6, (struct route *)&sav->sah->sa_route, sizeof(struct route_in6)); in ipsec_send_natt_keepalive()
5023 ipseclog((LOG_ERR, "nat keepalive: invalid address family %u\n", sav->sah->saidx.dst.ss_family)); in ipsec_send_natt_keepalive()
5049 if (sav == NULL || sav->sah == NULL || frame == NULL || in ipsec_fill_offload_frame()
5050 (ifp != NULL && ifp->if_index != sav->sah->outgoing_if) || in ipsec_fill_offload_frame()
5051 sav->sah->saidx.dst.ss_family != AF_INET || in ipsec_fill_offload_frame()
5102 if (sav->sah->dir != IPSEC_DIR_INBOUND) { in ipsec_fill_offload_frame()
5103 ip->ip_src = ((struct sockaddr_in*)&sav->sah->saidx.src)->sin_addr; in ipsec_fill_offload_frame()
5104 ip->ip_dst = ((struct sockaddr_in*)&sav->sah->saidx.dst)->sin_addr; in ipsec_fill_offload_frame()
5106 ip->ip_src = ((struct sockaddr_in*)&sav->sah->saidx.dst)->sin_addr; in ipsec_fill_offload_frame()
5107 ip->ip_dst = ((struct sockaddr_in*)&sav->sah->saidx.src)->sin_addr; in ipsec_fill_offload_frame()