Lines Matching refs:outer4
2299 iptun_find_headers(mblk_t *mp, size_t outer_hlen, ipha_t **outer4, in iptun_find_headers() argument
2317 *outer4 = ipha; in iptun_find_headers()
2323 *outer4 = NULL; in iptun_find_headers()
2389 ipha_t *outer4, *inner4; in iptun_input_icmp_v4() local
2407 outer_hlen = iptun_find_headers(data_mp, 0, &outer4, &inner4, &outer6, in iptun_input_icmp_v4()
2417 ASSERT(outer4->ipha_protocol == IPPROTO_ENCAP || in iptun_input_icmp_v4()
2418 outer4->ipha_protocol == IPPROTO_IPV6); in iptun_input_icmp_v4()
2421 inner4, inner6, outer4, outer6, -outer_hlen, iptun->iptun_ns); in iptun_input_icmp_v4()
2430 data_mp->b_rptr = (uint8_t *)outer4 + outer_hlen; in iptun_input_icmp_v4()
2562 ipha_t *outer4, *inner4; in iptun_input_icmp_v6() local
2581 outer_hlen = iptun_find_headers(data_mp, 0, &outer4, &inner4, &outer6, in iptun_input_icmp_v6()
2583 ASSERT(outer4 == NULL); in iptun_input_icmp_v6()
2591 inner4, inner6, outer4, outer6, -outer_hlen, iptun->iptun_ns); in iptun_input_icmp_v6()
2720 iptun_in_6to4_ok(iptun_t *iptun, ipha_t *outer4, ip6_t *inner6) in iptun_in_6to4_ok() argument
2737 if (outer4->ipha_dst != v4addr) in iptun_in_6to4_ok()
2749 if (outer4->ipha_src != v4addr) in iptun_in_6to4_ok()
2776 ipha_t *outer4, *inner4; in iptun_input() local
2783 &outer4, &inner4, &outer6, &inner6); in iptun_input()
2797 if (tsol_check_dest(ira->ira_tsl, (outer4 != NULL ? in iptun_input()
2798 (void *)&outer4->ipha_dst : (void *)&outer6->ip6_dst), in iptun_input()
2799 (outer4 != NULL ? IPV4_VERSION : IPV6_VERSION), in iptun_input()
2805 inner4, inner6, outer4, outer6, outer_hlen, iptun->iptun_ns); in iptun_input()
2812 !iptun_in_6to4_ok(iptun, outer4, inner6)) in iptun_input()
2842 iptun_out_process_6to4(iptun_t *iptun, ipha_t *outer4, ip6_t *inner6) in iptun_out_process_6to4() argument
2862 if (outer4->ipha_src != v4addr) in iptun_out_process_6to4()
2892 (struct in_addr *)&outer4->ipha_dst); in iptun_out_process_6to4()
2895 if (outer4->ipha_dst == INADDR_ANY) in iptun_out_process_6to4()
2905 outer4->ipha_dst = iptun->iptun_iptuns->iptuns_relay_rtr_addr; in iptun_out_process_6to4()
2914 return (outer4->ipha_src != outer4->ipha_dst); in iptun_out_process_6to4()
2922 iptun_out_process_ipv4(iptun_t *iptun, mblk_t *mp, ipha_t *outer4, in iptun_out_process_ipv4() argument
2930 ASSERT(outer4->ipha_protocol == IPPROTO_ENCAP); in iptun_out_process_ipv4()
2938 outer4->ipha_type_of_service = in iptun_out_process_ipv4()
2941 ASSERT(outer4->ipha_protocol == IPPROTO_IPV6 && in iptun_out_process_ipv4()
2945 outer4->ipha_fragment_offset_and_flags |= IPH_DF_HTONS; in iptun_out_process_ipv4()
2947 outer4->ipha_fragment_offset_and_flags &= ~IPH_DF_HTONS; in iptun_out_process_ipv4()
2958 outer4->ipha_fragment_offset_and_flags = 0; in iptun_out_process_ipv4()
2965 ixa->ixa_ip_hdr_length = IPH_HDR_LENGTH(outer4); in iptun_out_process_ipv4()
2967 ixa->ixa_protocol = outer4->ipha_protocol; in iptun_out_process_ipv4()
2969 outer4->ipha_length = htons(ixa->ixa_pktlen); in iptun_out_process_ipv4()
3180 ipha_t *outer4, *inner4; in iptun_output_6to4() local
3192 (void) iptun_find_headers(mp, 0, &outer4, &inner4, &outer6, &inner6); in iptun_output_6to4()
3193 ASSERT(outer4 != NULL); in iptun_output_6to4()
3194 if (!iptun_out_process_6to4(iptun, outer4, inner6)) { in iptun_output_6to4()
3219 if (connp->conn_v4lastdst == outer4->ipha_dst) { in iptun_output_6to4()
3240 IN6_IPADDR_TO_V4MAPPED(outer4->ipha_dst, &v6dst); in iptun_output_6to4()
3265 if (connp->conn_v4lastdst != outer4->ipha_dst) { in iptun_output_6to4()
3355 ipha_t *outer4, *inner4; in iptun_output_common() local
3362 outer_hlen = iptun_find_headers(mp, 0, &outer4, &inner4, &outer6, in iptun_output_common()
3373 if (outer4 != NULL) { in iptun_output_common()
3374 mp = iptun_out_process_ipv4(iptun, mp, outer4, inner4, inner6, in iptun_output_common()
3388 mp = ipsec_tun_outbound(mp, iptun, inner4, inner6, outer4, in iptun_output_common()
3464 mp = ip_output_attach_policy(mp, outer4, outer6, NULL, ixa); in iptun_output_common()