Lines Matching refs:ipp

2484 	ip_pkt_t	*ipp = &connp->conn_xmit_ipp;  in ip_opt_get_user()  local
2486 if (!(ipp->ipp_fields & IPPF_IPV4_OPTIONS)) in ip_opt_get_user()
2489 totallen = ipp->ipp_ipv4_options_len; in ip_opt_get_user()
2499 for (optval = ipoptp_first2(&opts, totallen, ipp->ipp_ipv4_options); in ip_opt_get_user()
5531 ip_find_hdr_v4(ipha_t *ipha, ip_pkt_t *ipp, boolean_t allocate) in ip_find_hdr_v4() argument
5538 ipp->ipp_fields |= IPPF_HOPLIMIT | IPPF_TCLASS | IPPF_ADDR; in ip_find_hdr_v4()
5539 ipp->ipp_hoplimit = ipha->ipha_ttl; in ip_find_hdr_v4()
5540 ipp->ipp_type_of_service = ipha->ipha_type_of_service; in ip_find_hdr_v4()
5541 IN6_IPADDR_TO_V4MAPPED(ipha->ipha_dst, &ipp->ipp_addr); in ip_find_hdr_v4()
5554 if (ipp->ipp_fields & IPPF_IPV4_OPTIONS) { in ip_find_hdr_v4()
5555 kmem_free(ipp->ipp_ipv4_options, in ip_find_hdr_v4()
5556 ipp->ipp_ipv4_options_len); in ip_find_hdr_v4()
5557 ipp->ipp_ipv4_options = NULL; in ip_find_hdr_v4()
5558 ipp->ipp_ipv4_options_len = 0; in ip_find_hdr_v4()
5559 ipp->ipp_fields &= ~IPPF_IPV4_OPTIONS; in ip_find_hdr_v4()
5561 if (ipp->ipp_fields & IPPF_LABEL_V4) { in ip_find_hdr_v4()
5562 kmem_free(ipp->ipp_label_v4, ipp->ipp_label_len_v4); in ip_find_hdr_v4()
5563 ipp->ipp_label_v4 = NULL; in ip_find_hdr_v4()
5564 ipp->ipp_label_len_v4 = 0; in ip_find_hdr_v4()
5565 ipp->ipp_fields &= ~IPPF_LABEL_V4; in ip_find_hdr_v4()
5577 ipp->ipp_ipv4_options = opt; in ip_find_hdr_v4()
5578 ipp->ipp_ipv4_options_len = totallen; in ip_find_hdr_v4()
5579 ipp->ipp_fields |= IPPF_IPV4_OPTIONS; in ip_find_hdr_v4()
5584 if (ipp->ipp_fields & IPPF_IPV4_OPTIONS) { in ip_find_hdr_v4()
5585 if (totallen == ipp->ipp_ipv4_options_len) { in ip_find_hdr_v4()
5586 bcopy(opt, ipp->ipp_ipv4_options, totallen); in ip_find_hdr_v4()
5589 kmem_free(ipp->ipp_ipv4_options, in ip_find_hdr_v4()
5590 ipp->ipp_ipv4_options_len); in ip_find_hdr_v4()
5591 ipp->ipp_ipv4_options = NULL; in ip_find_hdr_v4()
5592 ipp->ipp_ipv4_options_len = 0; in ip_find_hdr_v4()
5593 ipp->ipp_fields &= ~IPPF_IPV4_OPTIONS; in ip_find_hdr_v4()
5598 ipp->ipp_ipv4_options = kmem_alloc(totallen, KM_NOSLEEP); in ip_find_hdr_v4()
5599 if (ipp->ipp_ipv4_options == NULL) in ip_find_hdr_v4()
5601 ipp->ipp_ipv4_options_len = totallen; in ip_find_hdr_v4()
5602 ipp->ipp_fields |= IPPF_IPV4_OPTIONS; in ip_find_hdr_v4()
5603 bcopy(opt, ipp->ipp_ipv4_options, totallen); in ip_find_hdr_v4()
5607 if (allocate && (ipp->ipp_fields & IPPF_LABEL_V4)) { in ip_find_hdr_v4()
5608 kmem_free(ipp->ipp_label_v4, ipp->ipp_label_len_v4); in ip_find_hdr_v4()
5609 ipp->ipp_label_v4 = NULL; in ip_find_hdr_v4()
5610 ipp->ipp_label_len_v4 = 0; in ip_find_hdr_v4()
5611 ipp->ipp_fields &= ~IPPF_LABEL_V4; in ip_find_hdr_v4()
5640 ipp->ipp_label_v4 = opt; in ip_find_hdr_v4()
5641 ipp->ipp_label_len_v4 = optlen; in ip_find_hdr_v4()
5642 ipp->ipp_fields |= IPPF_LABEL_V4; in ip_find_hdr_v4()
5644 ipp->ipp_label_v4 = kmem_alloc(optlen, in ip_find_hdr_v4()
5646 if (ipp->ipp_label_v4 == NULL) in ip_find_hdr_v4()
5648 ipp->ipp_label_len_v4 = optlen; in ip_find_hdr_v4()
5649 ipp->ipp_fields |= IPPF_LABEL_V4; in ip_find_hdr_v4()
5650 bcopy(opt, ipp->ipp_label_v4, optlen); in ip_find_hdr_v4()
13600 ip_total_hdrs_len_v4(const ip_pkt_t *ipp) in ip_total_hdrs_len_v4() argument
13605 if (ipp->ipp_fields & IPPF_LABEL_V4) { in ip_total_hdrs_len_v4()
13606 ASSERT(ipp->ipp_label_len_v4 != 0); in ip_total_hdrs_len_v4()
13608 len += (ipp->ipp_label_len_v4 + 3) & ~3; in ip_total_hdrs_len_v4()
13611 if (ipp->ipp_fields & IPPF_IPV4_OPTIONS) { in ip_total_hdrs_len_v4()
13612 ASSERT(ipp->ipp_ipv4_options_len != 0); in ip_total_hdrs_len_v4()
13613 ASSERT((ipp->ipp_ipv4_options_len & 3) == 0); in ip_total_hdrs_len_v4()
13614 len += ipp->ipp_ipv4_options_len; in ip_total_hdrs_len_v4()
13628 ip_build_hdrs_v4(uchar_t *buf, uint_t buf_len, const ip_pkt_t *ipp, in ip_build_hdrs_v4() argument
13635 ipha->ipha_type_of_service = ipp->ipp_type_of_service; in ip_build_hdrs_v4()
13639 ipha->ipha_ttl = ipp->ipp_unicast_hops; in ip_build_hdrs_v4()
13643 if ((ipp->ipp_fields & IPPF_ADDR) && in ip_build_hdrs_v4()
13644 IN6_IS_ADDR_V4MAPPED(&ipp->ipp_addr)) in ip_build_hdrs_v4()
13645 ipha->ipha_src = ipp->ipp_addr_v4; in ip_build_hdrs_v4()
13648 if (ipp->ipp_fields & IPPF_LABEL_V4) { in ip_build_hdrs_v4()
13649 ASSERT(ipp->ipp_label_len_v4 != 0); in ip_build_hdrs_v4()
13650 bcopy(ipp->ipp_label_v4, cp, ipp->ipp_label_len_v4); in ip_build_hdrs_v4()
13651 cp += ipp->ipp_label_len_v4; in ip_build_hdrs_v4()
13658 if (ipp->ipp_fields & IPPF_IPV4_OPTIONS) { in ip_build_hdrs_v4()
13659 ASSERT(ipp->ipp_ipv4_options_len != 0); in ip_build_hdrs_v4()
13660 ASSERT((ipp->ipp_ipv4_options_len & 3) == 0); in ip_build_hdrs_v4()
13661 bcopy(ipp->ipp_ipv4_options, cp, ipp->ipp_ipv4_options_len); in ip_build_hdrs_v4()
13662 cp += ipp->ipp_ipv4_options_len; in ip_build_hdrs_v4()
14890 ip_pkt_free(ip_pkt_t *ipp) in ip_pkt_free() argument
14892 uint_t fields = ipp->ipp_fields; in ip_pkt_free()
14895 kmem_free(ipp->ipp_hopopts, ipp->ipp_hopoptslen); in ip_pkt_free()
14896 ipp->ipp_hopopts = NULL; in ip_pkt_free()
14897 ipp->ipp_hopoptslen = 0; in ip_pkt_free()
14900 kmem_free(ipp->ipp_rthdrdstopts, ipp->ipp_rthdrdstoptslen); in ip_pkt_free()
14901 ipp->ipp_rthdrdstopts = NULL; in ip_pkt_free()
14902 ipp->ipp_rthdrdstoptslen = 0; in ip_pkt_free()
14905 kmem_free(ipp->ipp_dstopts, ipp->ipp_dstoptslen); in ip_pkt_free()
14906 ipp->ipp_dstopts = NULL; in ip_pkt_free()
14907 ipp->ipp_dstoptslen = 0; in ip_pkt_free()
14910 kmem_free(ipp->ipp_rthdr, ipp->ipp_rthdrlen); in ip_pkt_free()
14911 ipp->ipp_rthdr = NULL; in ip_pkt_free()
14912 ipp->ipp_rthdrlen = 0; in ip_pkt_free()
14915 kmem_free(ipp->ipp_ipv4_options, ipp->ipp_ipv4_options_len); in ip_pkt_free()
14916 ipp->ipp_ipv4_options = NULL; in ip_pkt_free()
14917 ipp->ipp_ipv4_options_len = 0; in ip_pkt_free()
14920 kmem_free(ipp->ipp_label_v4, ipp->ipp_label_len_v4); in ip_pkt_free()
14921 ipp->ipp_label_v4 = NULL; in ip_pkt_free()
14922 ipp->ipp_label_len_v4 = 0; in ip_pkt_free()
14925 kmem_free(ipp->ipp_label_v6, ipp->ipp_label_len_v6); in ip_pkt_free()
14926 ipp->ipp_label_v6 = NULL; in ip_pkt_free()
14927 ipp->ipp_label_len_v6 = 0; in ip_pkt_free()
14929 ipp->ipp_fields &= ~(IPPF_HOPOPTS | IPPF_RTHDRDSTOPTS | IPPF_DSTOPTS | in ip_pkt_free()
15056 ip_pkt_source_route_v4(const ip_pkt_t *ipp) in ip_pkt_source_route_v4() argument
15065 if (!(ipp->ipp_fields & IPPF_IPV4_OPTIONS)) in ip_pkt_source_route_v4()
15068 totallen = ipp->ipp_ipv4_options_len; in ip_pkt_source_route_v4()
15072 for (optval = ipoptp_first2(&opts, totallen, ipp->ipp_ipv4_options); in ip_pkt_source_route_v4()
15107 ip_pkt_source_route_reverse_v4(ip_pkt_t *ipp) in ip_pkt_source_route_reverse_v4() argument
15115 if (!(ipp->ipp_fields & IPPF_IPV4_OPTIONS)) in ip_pkt_source_route_reverse_v4()
15118 totallen = ipp->ipp_ipv4_options_len; in ip_pkt_source_route_reverse_v4()
15122 for (optval = ipoptp_first2(&opts, totallen, ipp->ipp_ipv4_options); in ip_pkt_source_route_reverse_v4()
15153 ip_pkt_source_route_v6(const ip_pkt_t *ipp) in ip_pkt_source_route_v6() argument
15158 if (!(ipp->ipp_fields & IPPF_RTHDR)) in ip_pkt_source_route_v6()
15161 rthdr = (ip6_rthdr0_t *)ipp->ipp_rthdr; in ip_pkt_source_route_v6()