Lines Matching refs:ip6h
198 ip6_t *ip6h;
295 ip6h = (ip6_t *)mp->b_rptr;
296 if (!OK_32PTR(ip6h) || MBLKL(mp) < IPV6_HDR_LEN) {
300 ip6h = (ip6_t *)mp->b_rptr;
304 if (IPH_HDR_VERSION(ip6h) != IPV6_VERSION) {
318 if (IN6_IS_ADDR_UNSPECIFIED(&ip6h->ip6_dst)) {
346 iras.ira_pktlen = ntohs(ip6h->ip6_plen) + IPV6_HDR_LEN;
356 (*ill->ill_inputfn)(mp, ip6h, &ip6h->ip6_dst, &iras, &rtc);
411 ip6_t *ip6h = (ip6_t *)iph_arg;
439 ip6h = (ip6_t *)mp->b_rptr;
441 ill_input_short_v6(mp, ip6h, nexthop, ira, rtc);
522 ip6_t *ip6h = (ip6_t *)iph_arg;
526 #define rptr ((uchar_t *)ip6h)
534 if (ip6h->ip6_src.s6_addr32[0] == 0 &&
535 ip6h->ip6_src.s6_addr32[1] == 0) {
536 if (ip6_bad_address(&ip6h->ip6_src, B_TRUE)) {
544 if (ip6h->ip6_dst.s6_addr32[0] == 0 &&
545 ip6h->ip6_dst.s6_addr32[1] == 0) {
546 if (ip6_bad_address(&ip6h->ip6_dst, B_FALSE)) {
564 ip6h = (ip6_t *)mp->b_rptr;
568 ip6h, __dtrace_ipsr_ill_t *, ill, ipha_t *, NULL, ip6_t *, ip6h,
578 ip6_t *, ip6h, mblk_t *, mp);
583 in6_addr_t orig_dst = ip6h->ip6_dst;
592 ill, NULL, ip6h, mp, mp, ll_multicast, ipst, error);
600 ip6h = (ip6_t *)mp->b_rptr;
601 ira->ira_pktlen = ntohs(ip6h->ip6_plen) + IPV6_HDR_LEN;
608 if (!IN6_ARE_ADDR_EQUAL(&orig_dst, &ip6h->ip6_dst))
609 nexthop = ip6h->ip6_dst;
631 if ((ip6h->ip6_vcf & IPV6_VERS_AND_FLOW_MASK) !=
645 if ((ira->ira_protocol = ip6h->ip6_nxt) == IPPROTO_HOPOPTS) {
658 ip6h = ip_pullup(mp, IPV6_HDR_LEN + MIN_EHDR_LEN, ira);
659 if (ip6h == NULL) {
666 hbhhdr = (ip6_hbh_t *)&ip6h[1];
677 ip6h = ip_pullup(mp, IPV6_HDR_LEN + ehdrlen, ira);
678 if (ip6h == NULL) {
684 hbhhdr = (ip6_hbh_t *)&ip6h[1];
695 switch (ip_process_options_v6(mp, ip6h, optptr,
743 ip6h = (ip6_t *)mp->b_rptr;
745 lb_ret = ilb_check_v6(ilbs, ill, mp, ip6h, ira->ira_protocol,
746 (uint8_t *)ip6h + ira->ira_ip_hdr_length, &lb_dst);
820 (*ire->ire_recvfn)(ire, mp, ip6h, ira);
830 ip6_t *ip6h = (ip6_t *)iph_arg;
889 nce1 = ire_handle_condemned_nce(nce, ire, NULL, ip6h, B_FALSE);
924 ire = ire_route_recursive_v6(&ip6h->ip6_dst, 0, NULL,
929 (*ire->ire_recvfn)(ire, mp, ip6h, ira);
955 ill_t *, ill, ill_t *, dst_ill, ip6_t *, ip6h, mblk_t *, mp);
962 ill, dst_ill, ip6h, mp, mp, 0, ipst, error);
977 ip6h = (ip6_t *)mp->b_rptr;
978 ira->ira_pktlen = ntohs(ip6h->ip6_plen) + IPV6_HDR_LEN;
996 if (IN6_IS_ADDR_UNSPECIFIED(&ip6h->ip6_src) ||
997 IN6_IS_ADDR_MULTICAST(&ip6h->ip6_src)) {
1018 if (IN6_IS_ADDR_LINKLOCAL(&ip6h->ip6_dst) ||
1019 IN6_IS_ADDR_LINKLOCAL(&ip6h->ip6_src)) {
1028 ip_send_potential_redirect_v6(mp, ip6h, ire, ira);
1052 ip6h = (ip6_t *)mp->b_rptr;
1053 ira->ira_pktlen = ntohs(ip6h->ip6_plen) + IPV6_HDR_LEN;
1062 ip_forward_xmit_v6(nce, mp, ip6h, ira, mtu, added_tx_len);
1073 ip_forward_xmit_v6(nce_t *nce, mblk_t *mp, ip6_t *ip6h, ip_recv_attr_t *ira,
1081 if (ip6h->ip6_hops-- <= 1) {
1147 ip6_t *ip6h = (ip6_t *)iph_arg;
1176 ip_rts_change_v6(RTM_MISS, &ip6h->ip6_dst, 0, 0, 0, 0, 0, 0, RTA_DST,
1200 ip6_t *ip6h = (ip6_t *)iph_arg;
1205 if (ip6h->ip6_nxt != IPPROTO_ICMPV6) {
1219 ip6h = ip_pullup(mp, ip_hdr_length + ICMP6_MINLEN, ira);
1220 if (ip6h == NULL) {
1235 ire_recv_local_v6(ire, mp, ip6h, ira);
1245 ip6_t *ip6h = (ip6_t *)iph_arg;
1353 if (!ill_hasmembers_v6(ill, &ip6h->ip6_dst)) {
1375 ip_input_local_v6(ire, mp, ip6h, ira);
1408 ip6_t *ip6h = (ip6_t *)iph_arg;
1424 ip_input_local_v6(ire, mp, ip6h, ira);
1432 ip_input_local_v6(ire, mp, ip6h, ira);
1441 ip6_t *ip6h = (ip6_t *)iph_arg;
1462 new_ire = ip_check_multihome(&ip6h->ip6_dst, ire, ill);
1484 ip_input_local_v6(new_ire, mp, ip6h, ira);
1496 ip_input_local_v6(ire, mp, ip6h, ira);
1504 ip_input_local_v6(ire_t *ire, mblk_t *mp, ip6_t *ip6h, ip_recv_attr_t *ira)
1514 ip_input_multicast_v6(ire, mp, ip6h, ira);
1517 ip_fanout_v6(mp, ip6h, ira);
1534 ip_input_multicast_v6(ire_t *ire, mblk_t *mp, ip6_t *ip6h, ip_recv_attr_t *ira)
1555 !ill_hasmembers_otherzones_v6(ill, &ip6h->ip6_dst,
1566 ip_fanout_v6(mp, ip6h, ira);
1578 zoneid = ill_hasmembers_nextzone_v6(ill, &ip6h->ip6_dst, ALL_ZONES);
1580 zoneid = ill_hasmembers_nextzone_v6(ill, &ip6h->ip6_dst, zoneid)) {
1620 ip_fanout_v6(mp, ip6h, ira);
1630 ip_fanout_tx_v6(mblk_t *mp, ip6_t *ip6h, uint8_t protocol, uint_t ip_hdr_length,
1653 up = (uint16_t *)((uchar_t *)ip6h + ip_hdr_length);
1659 ASSERT(((uchar_t *)ip6h) + ip_hdr_length +4 <= mp->b_wptr);
1736 ip_input_cksum_pseudo_v6(ip6_t *ip6h, ip_recv_attr_t *ira)
1743 #define iphs ((uint16_t *)ip6h)
1761 udpha = (udpha_t *)((uchar_t *)ip6h + ip_hdr_length);
1798 ip_input_sw_cksum_v6(mblk_t *mp, ip6_t *ip6h, ip_recv_attr_t *ira)
1810 cksum = ip_input_cksum_pseudo_v6(ip6h, ira);
1826 ip_input_cksum_v6(iaflags_t iraflags, mblk_t *mp, ip6_t *ip6h,
1846 udpha = (udpha_t *)((uchar_t *)ip6h + ip_hdr_length);
1869 sctph = (sctp_hdr_t *)((uchar_t *)ip6h + ip_hdr_length);
1904 return (ip_input_sw_cksum_v6(mp, ip6h, ira));
1944 cksum = ip_input_cksum_pseudo_v6(ip6h, ira);
1946 cksum_start = ((uchar_t *)ip6h + DB_CKSUMSTART(mp));
1973 return (ip_input_sw_cksum_v6(mp, ip6h, ira));
1987 ip_fanout_v6(mblk_t *mp, ip6_t *ip6h, ip_recv_attr_t *ira)
1994 #define rptr ((uchar_t *)ip6h)
2003 ASSERT(ira->ira_pktlen == ntohs(ip6h->ip6_plen) + IPV6_HDR_LEN);
2071 ip6h = ip_pullup(mp, ip_hdr_length + min_ulp_header_length,
2073 if (ip6h == NULL)
2084 ip_fanout_tx_v6(mp, ip6h, protocol, ip_hdr_length, ira);
2091 if (!ip_input_cksum_v6(iraflags, mp, ip6h, ira)) {
2110 offset = ((uchar_t *)ip6h)[ip_hdr_length + 12] >> 4;
2126 ip6h = ip_pullup(mp, offset, ira);
2127 if (ip6h == NULL)
2163 NULL, ip6h, ira);
2257 ip_fanout_sctp_raw(mp, NULL, ip6h, ports, ira);
2260 connp = sctp_fanout(&ip6h->ip6_src, &ip6h->ip6_dst, ports,
2264 ip_fanout_sctp_raw(mp, NULL, ip6h, ports, ira);
2272 ip_fanout_sctp_raw(mp, NULL, ip6h, ports, ira);
2278 sctp_input(connp, NULL, ip6h, mp, ira);
2290 up = (uint16_t *)((uchar_t *)ip6h + ip_hdr_length);
2292 ip_fanout_udp_multi_v6(mp, ip6h, up[1], up[0], ira);
2304 ip_fanout_proto_v6(mp, ip6h, ira);
2328 NULL, ip6h, ira);
2381 NULL, ip6h, ira, ns);
2425 ip6h = (ip6_t *)mp->b_rptr;
2432 ip6h = ip_pullup(mp, ip_hdr_length + MIN_EHDR_LEN, ira);
2433 if (ip6h == NULL)
2442 ip6h = ip_pullup(mp, IPV6_HDR_LEN + ehdrlen, ira);
2443 if (ip6h == NULL)
2467 switch (ip_process_options_v6(mp, ip6h, optptr,
2504 ip6h = ip_pullup(mp,
2506 if (ip6h == NULL)
2534 ip6h, fraghdr);
2558 mp = ip_input_fragment_v6(mp, ip6h, fraghdr,
2571 ip6h = (ip6_t *)mp->b_rptr;
2599 ip6h = (ip6_t *)mp->b_rptr;
2606 ip6h = ip_pullup(mp, ip_hdr_length + MIN_EHDR_LEN, ira);
2607 if (ip6h == NULL)
2617 ip6h = ip_pullup(mp, IPV6_HDR_LEN + ehdrlen, ira);
2618 if (ip6h == NULL)
2633 ip_process_rthdr(mp, ip6h, rthdr, ira);
2736 * So ip6h need to be reinitialized.
2738 ip6h = (ip6_t *)mp->b_rptr;
2753 ip_fanout_proto_v6(mp, ip6h, ira);