Lines Matching refs:off

782 	int off = sizeof(struct ip6_hdr), nest;  in ip6_input()  local
1194 if (ip6_hopopts_input(&plen, &rtalert, &m, &off)) { in ip6_input()
1373 if (m->m_pkthdr.len < off) { in ip6_input()
1412 (mbuf_t *)&m, off, (uint8_t)nxt); in ip6_input()
1437 nxt = pr_input(&m, &off, nxt); in ip6_input()
1440 nxt = pr_input(&m, &off, nxt); in ip6_input()
1578 int off = *offp, hbhlen; 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()
1589 off += hbhlen; in ip6_hopopts_input()
1598 *offp = off; in ip6_hopopts_input()
1751 ip6_unknown_opt(uint8_t *__counted_by(optplen) optp, size_t optplen, struct mbuf *m, size_t off) in ip6_unknown_opt() argument
1767 icmp6_error(m, ICMP6_PARAM_PROB, ICMP6_PARAMPROB_OPTION, (int)off); in ip6_unknown_opt()
1778 ICMP6_PARAMPROB_OPTION, (int)off); in ip6_unknown_opt()
2006 int nxt = ip6->ip6_nxt, off = sizeof(struct ip6_hdr); in ip6_savecontrol() local
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()
2086 off += elen; in ip6_savecontrol()
2161 ip6_get_prevhdr(struct mbuf *m, int off) in ip6_get_prevhdr() argument
2165 if (off == sizeof(struct ip6_hdr)) { in ip6_get_prevhdr()
2173 while (len < off) { in ip6_get_prevhdr()
2201 ip6_nexthdr(struct mbuf *m, int off, int proto, int *nxtp) in ip6_nexthdr() argument
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()
2222 off += sizeof(ip6); in ip6_nexthdr()
2223 return off; 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()
2241 off += sizeof(struct ip6_frag); in ip6_nexthdr()
2242 return off; 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()
2252 off += (ip6e.ip6e_len + 2) << 2; in ip6_nexthdr()
2253 return off; 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()
2265 off += (ip6e.ip6e_len + 1) << 3; in ip6_nexthdr()
2266 return off; 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()
2295 return off; in ip6_lasthdr()
2296 } else if (newoff < off) { in ip6_lasthdr()
2298 } else if (newoff == off) { in ip6_lasthdr()
2302 off = newoff; in ip6_lasthdr()
2310 int off = 0, nxt = IPPROTO_NONE; in ip6_pkt_has_ulp() local
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()