Lines Matching refs:ipp
2606 ip_find_hdr_v6(mblk_t *mp, ip6_t *ip6h, boolean_t label_separate, ip_pkt_t *ipp, in ip_find_hdr_v6() argument
2617 ipp->ipp_fields |= IPPF_HOPLIMIT | IPPF_TCLASS | IPPF_ADDR; in ip_find_hdr_v6()
2618 ipp->ipp_hoplimit = ip6h->ip6_hops; in ip_find_hdr_v6()
2619 ipp->ipp_tclass = IPV6_FLOW_TCLASS(ip6h->ip6_flow); in ip_find_hdr_v6()
2620 ipp->ipp_addr = ip6h->ip6_dst; in ip_find_hdr_v6()
2658 ipp->ipp_fields |= IPPF_LABEL_V6; in ip_find_hdr_v6()
2659 ipp->ipp_label_v6 = secopt; in ip_find_hdr_v6()
2660 ipp->ipp_label_len_v6 = after_secopt - whereptr; in ip_find_hdr_v6()
2662 ipp->ipp_label_len_v6 = 0; in ip_find_hdr_v6()
2667 if (hbh_needed && !(ipp->ipp_fields & IPPF_HOPOPTS)) { in ip_find_hdr_v6()
2668 ipp->ipp_fields |= IPPF_HOPOPTS; in ip_find_hdr_v6()
2669 ipp->ipp_hopopts = (ip6_hbh_t *)after_secopt; in ip_find_hdr_v6()
2670 ipp->ipp_hopoptslen = ehdrlen - in ip_find_hdr_v6()
2671 ipp->ipp_label_len_v6; in ip_find_hdr_v6()
2687 if (!(ipp->ipp_fields & IPPF_DSTOPTS)) { in ip_find_hdr_v6()
2688 ipp->ipp_fields |= IPPF_DSTOPTS; in ip_find_hdr_v6()
2689 ipp->ipp_dstopts = tmpdstopts; in ip_find_hdr_v6()
2690 ipp->ipp_dstoptslen = ehdrlen; in ip_find_hdr_v6()
2700 if (!(ipp->ipp_fields & IPPF_RTHDR)) { in ip_find_hdr_v6()
2701 ipp->ipp_fields |= IPPF_RTHDR; in ip_find_hdr_v6()
2702 ipp->ipp_rthdr = tmprthdr; in ip_find_hdr_v6()
2703 ipp->ipp_rthdrlen = ehdrlen; in ip_find_hdr_v6()
2709 if (ipp->ipp_fields & IPPF_DSTOPTS) { in ip_find_hdr_v6()
2710 ipp->ipp_fields &= ~IPPF_DSTOPTS; in ip_find_hdr_v6()
2711 ipp->ipp_fields |= IPPF_RTHDRDSTOPTS; in ip_find_hdr_v6()
2712 ipp->ipp_rthdrdstopts = ipp->ipp_dstopts; in ip_find_hdr_v6()
2713 ipp->ipp_dstopts = NULL; in ip_find_hdr_v6()
2714 ipp->ipp_rthdrdstoptslen = ipp->ipp_dstoptslen; in ip_find_hdr_v6()
2715 ipp->ipp_dstoptslen = 0; in ip_find_hdr_v6()
2724 if (!(ipp->ipp_fields & IPPF_FRAGHDR)) { in ip_find_hdr_v6()
2725 ipp->ipp_fields |= IPPF_FRAGHDR; in ip_find_hdr_v6()
2726 ipp->ipp_fraghdr = tmpfraghdr; in ip_find_hdr_v6()
2727 ipp->ipp_fraghdrlen = ehdrlen; in ip_find_hdr_v6()
4509 ip_total_hdrs_len_v6(const ip_pkt_t *ipp) in ip_total_hdrs_len_v6() argument
4519 if (ipp->ipp_fields & IPPF_LABEL_V6) { in ip_total_hdrs_len_v6()
4526 ASSERT(ipp->ipp_label_len_v6 != 0); in ip_total_hdrs_len_v6()
4527 hopoptslen = ipp->ipp_label_len_v6 + sizeof (ip6_hbh_t); in ip_total_hdrs_len_v6()
4530 } else if (ipp->ipp_fields & IPPF_HOPOPTS) { in ip_total_hdrs_len_v6()
4531 ASSERT(ipp->ipp_hopoptslen != 0); in ip_total_hdrs_len_v6()
4532 len += ipp->ipp_hopoptslen; in ip_total_hdrs_len_v6()
4539 if ((ipp->ipp_fields & (IPPF_RTHDRDSTOPTS|IPPF_RTHDR)) == in ip_total_hdrs_len_v6()
4541 ASSERT(ipp->ipp_rthdrdstoptslen != 0); in ip_total_hdrs_len_v6()
4542 len += ipp->ipp_rthdrdstoptslen; in ip_total_hdrs_len_v6()
4544 if (ipp->ipp_fields & IPPF_RTHDR) { in ip_total_hdrs_len_v6()
4545 ASSERT(ipp->ipp_rthdrlen != 0); in ip_total_hdrs_len_v6()
4546 len += ipp->ipp_rthdrlen; in ip_total_hdrs_len_v6()
4548 if (ipp->ipp_fields & IPPF_DSTOPTS) { in ip_total_hdrs_len_v6()
4549 ASSERT(ipp->ipp_dstoptslen != 0); in ip_total_hdrs_len_v6()
4550 len += ipp->ipp_dstoptslen; in ip_total_hdrs_len_v6()
4566 ip_build_hdrs_v6(uchar_t *buf, uint_t buf_len, const ip_pkt_t *ipp, in ip_build_hdrs_v6() argument
4578 if (ipp->ipp_fields & IPPF_TCLASS) { in ip_build_hdrs_v6()
4581 ipp->ipp_tclass); in ip_build_hdrs_v6()
4584 if (ipp->ipp_fields & IPPF_HOPLIMIT) in ip_build_hdrs_v6()
4585 ip6h->ip6_hops = ipp->ipp_hoplimit; in ip_build_hdrs_v6()
4587 ip6h->ip6_hops = ipp->ipp_unicast_hops; in ip_build_hdrs_v6()
4589 if ((ipp->ipp_fields & IPPF_ADDR) && in ip_build_hdrs_v6()
4590 !IN6_IS_ADDR_V4MAPPED(&ipp->ipp_addr)) in ip_build_hdrs_v6()
4591 ip6h->ip6_src = ipp->ipp_addr; in ip_build_hdrs_v6()
4604 if (ipp->ipp_fields & IPPF_LABEL_V6) { in ip_build_hdrs_v6()
4615 padlen = ipp->ipp_label_len_v6 + sizeof (ip6_hbh_t); in ip_build_hdrs_v6()
4623 bcopy(ipp->ipp_label_v6, cp, ipp->ipp_label_len_v6); in ip_build_hdrs_v6()
4624 cp += ipp->ipp_label_len_v6; in ip_build_hdrs_v6()
4640 } else if (ipp->ipp_fields & IPPF_HOPOPTS) { in ip_build_hdrs_v6()
4647 bcopy(ipp->ipp_hopopts, cp, ipp->ipp_hopoptslen); in ip_build_hdrs_v6()
4648 cp += ipp->ipp_hopoptslen; in ip_build_hdrs_v6()
4654 if ((ipp->ipp_fields & (IPPF_RTHDRDSTOPTS|IPPF_RTHDR)) == in ip_build_hdrs_v6()
4661 bcopy(ipp->ipp_rthdrdstopts, cp, ipp->ipp_rthdrdstoptslen); in ip_build_hdrs_v6()
4662 cp += ipp->ipp_rthdrdstoptslen; in ip_build_hdrs_v6()
4667 if (ipp->ipp_fields & IPPF_RTHDR) { in ip_build_hdrs_v6()
4673 bcopy(ipp->ipp_rthdr, cp, ipp->ipp_rthdrlen); in ip_build_hdrs_v6()
4674 cp += ipp->ipp_rthdrlen; in ip_build_hdrs_v6()
4679 if (ipp->ipp_fields & IPPF_DSTOPTS) { in ip_build_hdrs_v6()
4685 bcopy(ipp->ipp_dstopts, cp, ipp->ipp_dstoptslen); in ip_build_hdrs_v6()
4686 cp += ipp->ipp_dstoptslen; in ip_build_hdrs_v6()