Lines Matching refs:m
531 ip6_input_adjust(struct mbuf *m, struct ip6_hdr *ip6, uint32_t plen, in ip6_input_adjust() argument
537 ASSERT(m_pktlen(m) > tot_len); in ip6_input_adjust()
546 (m->m_pkthdr.csum_flags & CSUM_DATA_VALID) && in ip6_input_adjust()
548 !(m->m_pkthdr.pkt_flags & PKTF_LOOP)) { in ip6_input_adjust()
549 m->m_pkthdr.csum_flags &= ~CSUM_DATA_VALID; in ip6_input_adjust()
550 m->m_pkthdr.csum_data = 0; in ip6_input_adjust()
562 (m->m_pkthdr.csum_flags & (CSUM_DATA_VALID | CSUM_PARTIAL)) == in ip6_input_adjust()
564 m->m_pkthdr.csum_rx_val = m_adj_sum16(m, in ip6_input_adjust()
565 m->m_pkthdr.csum_rx_start, m->m_pkthdr.csum_rx_start, in ip6_input_adjust()
566 (tot_len - m->m_pkthdr.csum_rx_start), in ip6_input_adjust()
567 m->m_pkthdr.csum_rx_val); in ip6_input_adjust()
568 } else if ((m->m_pkthdr.csum_flags & in ip6_input_adjust()
585 m->m_pkthdr.csum_flags &= ~CSUM_DATA_VALID; in ip6_input_adjust()
586 m->m_pkthdr.csum_data = 0; in ip6_input_adjust()
593 if (m->m_len == m->m_pkthdr.len) { in ip6_input_adjust()
594 m->m_len = tot_len; in ip6_input_adjust()
595 m->m_pkthdr.len = tot_len; in ip6_input_adjust()
597 m_adj(m, tot_len - m->m_pkthdr.len); in ip6_input_adjust()
602 ip6_input_check_interface(struct mbuf *m, struct ip6_hdr *ip6, struct ifnet *inifp, struct route_in… in ip6_input_check_interface() argument
612 if (m->m_pkthdr.pkt_flags & PKTF_IFAINFO) { in ip6_input_check_interface()
613 dst_ifscope = m->m_pkthdr.dst_ifindex; in ip6_input_check_interface()
657 ip6_setdstifaddr_info(m, 0, best_ia6); in ip6_input_check_interface()
658 ip6_setsrcifaddr_info(m, best_ia6->ia_ifp->if_index, NULL); in ip6_input_check_interface()
726 (void) ip6_setdstifaddr_info(m, 0, ia6); in ip6_input_check_interface()
727 (void) ip6_setsrcifaddr_info(m, ia6->ia_ifp->if_index, NULL); in ip6_input_check_interface()
741 ip6_setdstifaddr_info(m, inifp->if_index, NULL); in ip6_input_check_interface()
742 ip6_setsrcifaddr_info(m, inifp->if_index, NULL); in ip6_input_check_interface()
779 ip6_input(struct mbuf *m) in ip6_input() argument
799 MBUF_INPUT_CHECK(m, m->m_pkthdr.rcvif); in ip6_input()
800 inifp = m->m_pkthdr.rcvif; in ip6_input()
804 IP6_HDR_ALIGNMENT_FIXUP(m, inifp, return ); in ip6_input()
806 m->m_pkthdr.pkt_flags &= ~PKTF_FORWARDED; in ip6_input()
812 m->m_flags &= ~M_AUTHIPHDR; in ip6_input()
813 m->m_flags &= ~M_AUTHIPDGM; in ip6_input()
819 ip6_delaux(m); in ip6_input()
822 if ((tag = m_tag_locate(m, KERNEL_MODULE_TAG_ID, in ip6_input()
830 m_tag_delete(m, tag); in ip6_input()
834 ip6 = mtod(m, struct ip6_hdr *); /* In case PF got disabled */ in ip6_input()
843 inject_ipfref = ipf_get_inject_filter(m); in ip6_input()
845 ip6 = mtod(m, struct ip6_hdr *); in ip6_input()
853 if (__improbable(m->m_pkthdr.pkt_flags & PKTF_WAKE_PKT)) { in ip6_input()
854 if_ports_used_match_mbuf(inifp, PF_INET6, m); in ip6_input()
860 if (m->m_flags & M_EXT) { in ip6_input()
861 if (m->m_next != NULL) { in ip6_input()
868 if (m->m_next != NULL) { in ip6_input()
869 if (m->m_pkthdr.pkt_flags & PKTF_LOOP) { in ip6_input()
887 …m_drop(m, DROPTAP_FLAG_DIR_IN | DROPTAP_FLAG_L2_MISSING, DROP_REASON_IP6_IF_IPV6_DISABLED, NULL, 0… in ip6_input()
899 if (m->m_next != NULL && m->m_pkthdr.len < MCLBYTES) { in ip6_input()
904 M_COPY_PKTHDR(n, m); in ip6_input()
906 if (n && m->m_pkthdr.len > MHLEN) { in ip6_input()
909 m_drop(m, DROPTAP_FLAG_DIR_IN | DROPTAP_FLAG_L2_MISSING, DROP_REASON_IP_TOO_SMALL, NULL, 0); in ip6_input()
917 m_copydata(m, 0, m->m_pkthdr.len, mtod(n, caddr_t)); in ip6_input()
918 n->m_len = m->m_pkthdr.len; in ip6_input()
919 m_freem(m); in ip6_input()
920 m = n; in ip6_input()
922 IP6_EXTHDR_CHECK(m, 0, sizeof(struct ip6_hdr), { goto done; }); in ip6_input()
924 if (m->m_len < sizeof(struct ip6_hdr)) { in ip6_input()
925 if ((m = m_pullup(m, sizeof(struct ip6_hdr))) == 0) { in ip6_input()
932 ip6 = mtod(m, struct ip6_hdr *); in ip6_input()
937 m_drop(m, DROPTAP_FLAG_DIR_IN | DROPTAP_FLAG_L2_MISSING, DROP_REASON_IP_BAD_VERSION, NULL, 0); in ip6_input()
946 if (!(m->m_pkthdr.pkt_flags & PKTF_LOOP) && in ip6_input()
950 m_drop(m, DROPTAP_FLAG_DIR_IN | DROPTAP_FLAG_L2_MISSING, DROP_REASON_IP6_BAD_SCOPE, NULL, 0); in ip6_input()
960 m_drop(m, DROPTAP_FLAG_DIR_IN | DROPTAP_FLAG_L2_MISSING, DROP_REASON_IP6_BAD_SCOPE, NULL, 0); in ip6_input()
964 !(m->m_pkthdr.pkt_flags & PKTF_LOOP)) { in ip6_input()
973 m_drop(m, DROPTAP_FLAG_DIR_IN | DROPTAP_FLAG_L2_MISSING, DROP_REASON_IP6_BAD_SCOPE, NULL, 0); in ip6_input()
993 m_drop(m, DROPTAP_FLAG_DIR_IN | DROPTAP_FLAG_L2_MISSING, DROP_REASON_IP6_BAD_SCOPE, NULL, 0); in ip6_input()
998 m->m_pkthdr.pkt_ext_flags |= PKTF_EXT_L4S; in ip6_input()
1013 m_drop(m, DROPTAP_FLAG_DIR_IN | DROPTAP_FLAG_L2_MISSING, DROP_REASON_IP6_BAD_SCOPE, NULL, 0); in ip6_input()
1033 nstat_route_rx(rte, 1, m->m_pkthdr.len, 0); in ip6_input()
1046 error = pf_af_hook(inifp, NULL, &m, AF_INET6, TRUE, &args); in ip6_input()
1048 error = pf_af_hook(inifp, NULL, &m, AF_INET6, TRUE, NULL); in ip6_input()
1050 if (error != 0 || m == NULL) { in ip6_input()
1051 if (m != NULL) { in ip6_input()
1053 __func__, m); in ip6_input()
1059 ip6 = mtod(m, struct ip6_hdr *); in ip6_input()
1065 !(m->m_pkthdr.pkt_flags & PKTF_LOOP)) { in ip6_input()
1069 m_drop(m, DROPTAP_FLAG_DIR_IN | DROPTAP_FLAG_L2_MISSING, DROP_REASON_IP6_BAD_SCOPE, NULL, 0); in ip6_input()
1075 m_drop(m, DROPTAP_FLAG_DIR_IN | DROPTAP_FLAG_L2_MISSING, DROP_REASON_IP6_BAD_SCOPE, NULL, 0); in ip6_input()
1080 if ((m->m_pkthdr.pkt_flags & PKTF_IFAINFO) != 0 && in6_embedded_scope) { in ip6_input()
1083 htons(m->m_pkthdr.src_ifindex); in ip6_input()
1087 htons(m->m_pkthdr.dst_ifindex); in ip6_input()
1119 …m_drop(m, DROPTAP_FLAG_DIR_IN | DROPTAP_FLAG_L2_MISSING, DROP_REASON_IP_UNKNOWN_MULTICAST_GROUP, N… in ip6_input()
1133 (void) ip6_setdstifaddr_info(m, 0, ia6); in ip6_input()
1134 (void) ip6_setsrcifaddr_info(m, ia6->ia_ifp->if_index, NULL); in ip6_input()
1137 (void) ip6_setdstifaddr_info(m, inifp->if_index, NULL); in ip6_input()
1138 (void) ip6_setsrcifaddr_info(m, inifp->if_index, NULL); in ip6_input()
1147 check_if_result = ip6_input_check_interface(m, ip6, inifp, &rin6, &deliverifp); in ip6_input()
1153 … m_drop(m, DROPTAP_FLAG_DIR_IN | DROPTAP_FLAG_L2_MISSING, DROP_REASON_IP_RCV_IF_NO_MATCH, NULL, 0); in ip6_input()
1174 m_drop(m, DROPTAP_FLAG_DIR_IN | DROPTAP_FLAG_L2_MISSING, DROP_REASON_IP_CANNOT_FORWARD, NULL, 0); in ip6_input()
1193 m->m_pkthdr.pkt_flags |= PKTF_HBH_CHKED; in ip6_input()
1194 if (ip6_hopopts_input(&plen, &rtalert, &m, &off)) { in ip6_input()
1202 ip6 = mtod(m, struct ip6_hdr *); in ip6_input()
1218 icmp6_error(m, ICMP6_PARAM_PROB, ICMP6_PARAMPROB_HEADER, in ip6_input()
1256 if (m->m_pkthdr.len - sizeof(struct ip6_hdr) < plen) { in ip6_input()
1259 m_drop(m, DROPTAP_FLAG_DIR_IN | DROPTAP_FLAG_L2_MISSING, DROP_REASON_IP_TOO_SHORT, NULL, 0); in ip6_input()
1263 if (m->m_pkthdr.len > sizeof(struct ip6_hdr) + plen) { in ip6_input()
1264 ip6_input_adjust(m, ip6, plen, inifp); in ip6_input()
1279 ours = nd6_prproxy_isours(m, ip6, NULL, IFSCOPE_NONE); in ip6_input()
1281 (m->m_pkthdr.pkt_flags & PKTF_PROXY_DST)); in ip6_input()
1284 m_drop(m, DROPTAP_FLAG_DIR_IN | DROPTAP_FLAG_L2_MISSING, DROP_REASON_IP6_UNPROXIED_NS, NULL, 0); in ip6_input()
1300 if ((m = ip6_forward(m, &rin6, 0)) == NULL) { in ip6_input()
1304 VERIFY(m->m_pkthdr.pkt_flags & PKTF_PROXY_DST); in ip6_input()
1309 ip6 = mtod(m, struct ip6_hdr *); in ip6_input()
1324 m_drop(m, DROPTAP_FLAG_DIR_IN | DROPTAP_FLAG_L2_MISSING, DROP_REASON_IP6_BAD_SCOPE, NULL, 0); in ip6_input()
1342 IP6_HDR_ALIGNMENT_FIXUP(m, inifp, return ); in ip6_input()
1353 (m->m_pkthdr.pkt_flags & PKTF_HBH_CHKED) == 0) { in ip6_input()
1359 m_drop(m, DROPTAP_FLAG_DIR_IN | DROPTAP_FLAG_L2_MISSING, DROP_REASON_IP6_BAD_OPTION, NULL, 0); in ip6_input()
1365 …m_drop(m, DROPTAP_FLAG_DIR_IN | DROPTAP_FLAG_L2_MISSING, DROP_REASON_IP6_TOO_MANY_OPTIONS, NULL, 0… in ip6_input()
1373 if (m->m_pkthdr.len < off) { in ip6_input()
1376 m_drop(m, DROPTAP_FLAG_DIR_IN | DROPTAP_FLAG_L2_MISSING, DROP_REASON_IP_TOO_SHORT, NULL, 0); in ip6_input()
1388 if (ipsec6_in_reject(m, NULL)) { in ip6_input()
1390 m_drop(m, DROPTAP_FLAG_DIR_IN | DROPTAP_FLAG_L2_MISSING, DROP_REASON_IPSEC_REJECT, NULL, 0); in ip6_input()
1412 (mbuf_t *)&m, off, (uint8_t)nxt); in ip6_input()
1419 m_drop(m, DROPTAP_FLAG_DIR_IN | DROPTAP_FLAG_L2_MISSING, DROP_REASON_IP_FILTER_DROP, NULL, 0); in ip6_input()
1427 DTRACE_IP6(receive, struct mbuf *, m, struct inpcb *, NULL, in ip6_input()
1432 m_drop(m, DROPTAP_FLAG_DIR_IN | DROPTAP_FLAG_L2_MISSING, DROP_REASON_IP_NO_PROTO, NULL, 0); in ip6_input()
1433 m = NULL; in ip6_input()
1437 nxt = pr_input(&m, &off, nxt); in ip6_input()
1440 nxt = pr_input(&m, &off, nxt); in ip6_input()
1451 ip6_setsrcifaddr_info(struct mbuf *m, uint32_t src_idx, struct in6_ifaddr *ia6) in ip6_setsrcifaddr_info() argument
1453 VERIFY(m->m_flags & M_PKTHDR); in ip6_setsrcifaddr_info()
1454 m->m_pkthdr.pkt_ext_flags &= ~PKTF_EXT_OUTPUT_SCOPE; in ip6_setsrcifaddr_info()
1461 m->m_pkthdr.pkt_flags |= PKTF_IFAINFO; in ip6_setsrcifaddr_info()
1462 m->m_pkthdr.src_ifindex = ia6->ia_ifp->if_index; in ip6_setsrcifaddr_info()
1465 m->m_pkthdr.src_iff = (ia6->ia6_flags & 0xffff); in ip6_setsrcifaddr_info()
1467 m->m_pkthdr.src_iff = 0; in ip6_setsrcifaddr_info()
1468 m->m_pkthdr.src_ifindex = (uint16_t)src_idx; in ip6_setsrcifaddr_info()
1470 m->m_pkthdr.pkt_flags |= PKTF_IFAINFO; in ip6_setsrcifaddr_info()
1476 ip6_setdstifaddr_info(struct mbuf *m, uint32_t dst_idx, struct in6_ifaddr *ia6) in ip6_setdstifaddr_info() argument
1478 VERIFY(m->m_flags & M_PKTHDR); in ip6_setdstifaddr_info()
1479 m->m_pkthdr.pkt_ext_flags &= ~PKTF_EXT_OUTPUT_SCOPE; in ip6_setdstifaddr_info()
1487 m->m_pkthdr.pkt_flags |= PKTF_IFAINFO; in ip6_setdstifaddr_info()
1488 m->m_pkthdr.dst_ifindex = ia6->ia_ifp->if_index; in ip6_setdstifaddr_info()
1491 m->m_pkthdr.dst_iff = (ia6->ia6_flags & 0xffff); in ip6_setdstifaddr_info()
1493 m->m_pkthdr.dst_iff = 0; in ip6_setdstifaddr_info()
1494 m->m_pkthdr.dst_ifindex = (uint16_t)dst_idx; in ip6_setdstifaddr_info()
1496 m->m_pkthdr.pkt_flags |= PKTF_IFAINFO; in ip6_setdstifaddr_info()
1502 ip6_getsrcifaddr_info(struct mbuf *m, uint32_t *src_idx, uint32_t *ia6f) in ip6_getsrcifaddr_info() argument
1504 VERIFY(m->m_flags & M_PKTHDR); in ip6_getsrcifaddr_info()
1506 if (!(m->m_pkthdr.pkt_flags & PKTF_IFAINFO)) { in ip6_getsrcifaddr_info()
1511 *src_idx = m->m_pkthdr.src_ifindex; in ip6_getsrcifaddr_info()
1515 *ia6f = m->m_pkthdr.src_iff; in ip6_getsrcifaddr_info()
1522 ip6_getdstifaddr_info(struct mbuf *m, uint32_t *dst_idx, uint32_t *ia6f) in ip6_getdstifaddr_info() argument
1524 VERIFY(m->m_flags & M_PKTHDR); in ip6_getdstifaddr_info()
1526 if (!(m->m_pkthdr.pkt_flags & PKTF_IFAINFO)) { in ip6_getdstifaddr_info()
1531 *dst_idx = m->m_pkthdr.dst_ifindex; in ip6_getdstifaddr_info()
1535 *ia6f = m->m_pkthdr.dst_iff; in ip6_getdstifaddr_info()
1542 ip6_input_getsrcifscope(struct mbuf *m) in ip6_input_getsrcifscope() argument
1544 VERIFY(m->m_flags & M_PKTHDR); in ip6_input_getsrcifscope()
1546 if (m->m_pkthdr.rcvif != NULL) { in ip6_input_getsrcifscope()
1547 return m->m_pkthdr.rcvif->if_index; in ip6_input_getsrcifscope()
1551 ip6_getsrcifaddr_info(m, &src_ifscope, NULL); in ip6_input_getsrcifscope()
1556 ip6_input_getdstifscope(struct mbuf *m) in ip6_input_getdstifscope() argument
1558 VERIFY(m->m_flags & M_PKTHDR); in ip6_input_getdstifscope()
1560 if (m->m_pkthdr.rcvif != NULL) { in ip6_input_getdstifscope()
1561 return m->m_pkthdr.rcvif->if_index; in ip6_input_getdstifscope()
1565 ip6_getdstifaddr_info(m, &dst_ifscope, NULL); in ip6_input_getdstifscope()
1577 mbuf_ref_t m = *mp; in ip6_hopopts_input() local
1583 IP6_EXTHDR_CHECK(m, off, sizeof(*hbh), return (-1)); in ip6_hopopts_input()
1584 hbh = (struct ip6_hbh *)(mtod(m, caddr_t) + off); in ip6_hopopts_input()
1587 IP6_EXTHDR_CHECK(m, off, hbhlen, return (-1)); in ip6_hopopts_input()
1588 hbh = (struct ip6_hbh *)(mtod(m, caddr_t) + off); in ip6_hopopts_input()
1593 if (ip6_process_hopopts(m, (u_int8_t *)hbh + sizeof(struct ip6_hbh), in ip6_hopopts_input()
1599 *mp = m; in ip6_hopopts_input()
1614 ip6_process_hopopts(struct mbuf *m, u_int8_t *__sized_by(inhbhlen)opthead, int inhbhlen, in ip6_process_hopopts() argument
1633 m_drop(m, DROPTAP_FLAG_DIR_IN | DROPTAP_FLAG_L2_MISSING, DROP_REASON_IP_TOO_SMALL, NULL, 0); in ip6_process_hopopts()
1646 icmp6_error(m, ICMP6_PARAM_PROB, in ip6_process_hopopts()
1659 m_drop(m, DROPTAP_FLAG_DIR_IN | DROPTAP_FLAG_L2_MISSING, DROP_REASON_IP_TOO_SMALL, NULL, 0); in ip6_process_hopopts()
1664 icmp6_error(m, ICMP6_PARAM_PROB, in ip6_process_hopopts()
1675 ip6 = mtod(m, struct ip6_hdr *); in ip6_process_hopopts()
1678 icmp6_error(m, ICMP6_PARAM_PROB, in ip6_process_hopopts()
1702 icmp6_error(m, ICMP6_PARAM_PROB, in ip6_process_hopopts()
1714 icmp6_error(m, ICMP6_PARAM_PROB, in ip6_process_hopopts()
1725 m_drop(m, DROPTAP_FLAG_DIR_IN | DROPTAP_FLAG_L2_MISSING, DROP_REASON_IP_TOO_SMALL, NULL, 0); in ip6_process_hopopts()
1728 optlen = ip6_unknown_opt(opt, hbhlen, m, in ip6_process_hopopts()
1751 ip6_unknown_opt(uint8_t *__counted_by(optplen) optp, size_t optplen, struct mbuf *m, size_t off) in ip6_unknown_opt() argument
1762 m_drop(m, DROPTAP_FLAG_DIR_IN | DROPTAP_FLAG_L2_MISSING, DROP_REASON_IP6_OPT_DISCARD, NULL, 0); in ip6_unknown_opt()
1767 icmp6_error(m, ICMP6_PARAM_PROB, ICMP6_PARAMPROB_OPTION, (int)off); in ip6_unknown_opt()
1772 ip6 = mtod(m, struct ip6_hdr *); in ip6_unknown_opt()
1774 (m->m_flags & (M_BCAST | M_MCAST))) { in ip6_unknown_opt()
1775 m_drop(m, DROPTAP_FLAG_DIR_IN | DROPTAP_FLAG_L2_MISSING, DROP_REASON_IP6_BAD_OPTION, NULL, 0); in ip6_unknown_opt()
1777 icmp6_error(m, ICMP6_PARAM_PROB, in ip6_unknown_opt()
1783 …m_drop(m, DROPTAP_FLAG_DIR_IN | DROPTAP_FLAG_L2_MISSING, DROP_REASON_UNSPECIFIED, NULL, 0); /* XXX… in ip6_unknown_opt()
1803 ip6_savecontrol_v4(struct inpcb *inp, struct mbuf *m, struct mbuf **mp, in ip6_savecontrol_v4() argument
1806 struct ip6_hdr *__single ip6 = mtod(m, struct ip6_hdr *); in ip6_savecontrol_v4()
1839 int tc = m_get_traffic_class(m); in ip6_savecontrol_v4()
1849 (m->m_pkthdr.pkt_flags & PKTF_WAKE_PKT)) { in ip6_savecontrol_v4()
1867 struct ip *__single ip_header = mtod(m, struct ip *); in ip6_savecontrol_v4()
1881 .ipi6_ifindex = (m && m->m_pkthdr.rcvif) ? m->m_pkthdr.rcvif->if_index : 0, in ip6_savecontrol_v4()
1884 struct ip *__single ip_header = mtod(m, struct ip *); in ip6_savecontrol_v4()
1905 (m && m->m_pkthdr.rcvif) ? m->m_pkthdr.rcvif->if_index : 0; in ip6_savecontrol_v4()
1934 ip6_savecontrol(struct inpcb *in6p, struct mbuf *m, struct mbuf **mp) in ip6_savecontrol() argument
1937 struct ip6_hdr *ip6 = mtod(m, struct ip6_hdr *); in ip6_savecontrol()
1941 np = ip6_savecontrol_v4(in6p, m, mp, &v4only); in ip6_savecontrol()
1981 ip6 = mtod(m, struct ip6_hdr *); in ip6_savecontrol()
2033 if (off + sizeof(*ip6e) > m->m_len) { in ip6_savecontrol()
2036 ip6e = (struct ip6_ext *)(mtod(m, caddr_t) + off); in ip6_savecontrol()
2042 if (off + elen > m->m_len) { in ip6_savecontrol()
2161 ip6_get_prevhdr(struct mbuf *m, int off) in ip6_get_prevhdr() argument
2163 struct ip6_hdr *ip6 = mtod(m, struct ip6_hdr *); in ip6_get_prevhdr()
2174 ip6e = (struct ip6_ext *)(mtod(m, caddr_t) + len); in ip6_get_prevhdr()
2201 ip6_nexthdr(struct mbuf *m, int off, int proto, int *nxtp) in ip6_nexthdr() argument
2208 VERIFY(m != NULL); in ip6_nexthdr()
2209 if ((m->m_flags & M_PKTHDR) == 0 || m->m_pkthdr.len < off) { in ip6_nexthdr()
2215 if (m->m_pkthdr.len < off + sizeof(ip6)) { in ip6_nexthdr()
2218 m_copydata(m, off, sizeof(ip6), (caddr_t)&ip6); in ip6_nexthdr()
2230 if (m->m_pkthdr.len < off + sizeof(fh)) { in ip6_nexthdr()
2233 m_copydata(m, off, sizeof(fh), (caddr_t)&fh); in ip6_nexthdr()
2245 if (m->m_pkthdr.len < off + sizeof(ip6e)) { in ip6_nexthdr()
2248 m_copydata(m, off, sizeof(ip6e), (caddr_t)&ip6e); in ip6_nexthdr()
2258 if (m->m_pkthdr.len < off + sizeof(ip6e)) { in ip6_nexthdr()
2261 m_copydata(m, off, sizeof(ip6e), (caddr_t)&ip6e); in ip6_nexthdr()
2283 ip6_lasthdr(struct mbuf *m, int off, int proto, int *nxtp) in ip6_lasthdr() argument
2293 newoff = ip6_nexthdr(m, off, proto, nxtp); in ip6_lasthdr()
2308 ip6_pkt_has_ulp(struct mbuf *m) in ip6_pkt_has_ulp() argument
2312 off = ip6_lasthdr(m, 0, IPPROTO_IPV6, &nxt); in ip6_pkt_has_ulp()
2313 if (off < 0 || m->m_pkthdr.len < off) { in ip6_pkt_has_ulp()
2319 if (off + sizeof(struct tcphdr) > m->m_pkthdr.len) { in ip6_pkt_has_ulp()
2324 if (off + sizeof(struct udphdr) > m->m_pkthdr.len) { in ip6_pkt_has_ulp()
2329 if (off + sizeof(uint32_t) > m->m_pkthdr.len) { in ip6_pkt_has_ulp()
2346 ip6_addaux(struct mbuf *m) in ip6_addaux() argument
2351 tag = m_tag_locate(m, KERNEL_MODULE_TAG_ID, in ip6_addaux()
2356 sizeof(struct ip6aux), M_DONTWAIT, m); in ip6_addaux()
2360 m_tag_prepend(m, tag); in ip6_addaux()
2368 ip6_findaux(struct mbuf *m) in ip6_findaux() argument
2372 tag = m_tag_locate(m, KERNEL_MODULE_TAG_ID, in ip6_findaux()
2379 ip6_delaux(struct mbuf *m) in ip6_delaux() argument
2383 tag = m_tag_locate(m, KERNEL_MODULE_TAG_ID, in ip6_delaux()
2386 m_tag_delete(m, tag); in ip6_delaux()