Lines Matching defs:off

177 	/* ip6_hbhchcheck() may be run before, then off and nxt are set */
228 int off, nxt;
239 off = ion->ion_off;
247 off = sizeof(struct ip6_hdr);
250 nxt = ip_deliver(&m, &off, nxt, AF_INET6, 0);
258 int off, nxt;
260 off = 0;
261 nxt = ip6_input_if(&m, &off, IPPROTO_IPV6, AF_UNSPEC, ifp);
729 int done = 0, lim, off, rh_cnt = 0;
731 off = ((caddr_t)ip6 - m->m_data) + sizeof(struct ip6_hdr);
738 *offp = off;
742 if (off + sizeof(rthdr) > lim) {
744 *offp = off;
748 m_copydata(m, off, sizeof(rthdr), &rthdr);
751 *offp = off +
756 off += (rthdr.ip6r_len + 1) * 8;
763 if (off + sizeof(opt6) > lim) {
772 m_copydata(m, off, sizeof(opt6), &opt6);
775 off += (opt6.ip6e_len + 2) * 4;
777 off += (opt6.ip6e_len + 1) * 8;
802 int off = *offp, hbhlen;
819 off += hbhlen;
826 *offp = off;
970 * The third argument `off' is the offset from the IPv6 header to the option,
976 ip6_unknown_opt(struct mbuf **mp, u_int8_t *optp, int off)
988 icmp6_error(*mp, ICMP6_PARAM_PROB, ICMP6_PARAMPROB_OPTION, off);
998 ICMP6_PARAMPROB_OPTION, off);
1122 int nxt = ip6->ip6_nxt, off = sizeof(struct ip6_hdr);
1150 ext = ip6_pullexthdr(m, off, nxt);
1206 off += elen;
1222 ip6_pullexthdr(struct mbuf *m, size_t off, int nxt)
1240 if (off + sizeof(ip6e) > m->m_pkthdr.len)
1243 m_copydata(m, off, sizeof(ip6e), &ip6e);
1249 if (off + elen > m->m_pkthdr.len)
1271 m_copydata(m, off, elen, mtod(n, caddr_t));
1281 ip6_get_prevhdr(struct mbuf *m, int off)
1285 if (off == sizeof(struct ip6_hdr)) {
1287 } else if (off < sizeof(struct ip6_hdr)) {
1288 panic("%s: off < sizeof(struct ip6_hdr)", __func__);
1296 while (len < off) {
1322 ip6_nexthdr(struct mbuf *m, int off, int proto, int *nxtp)
1331 if ((m->m_flags & M_PKTHDR) == 0 || m->m_pkthdr.len < off)
1336 if (m->m_pkthdr.len < off + sizeof(ip6))
1338 m_copydata(m, off, sizeof(ip6), &ip6);
1341 off += sizeof(ip6);
1342 return off;
1349 if (m->m_pkthdr.len < off + sizeof(fh))
1351 m_copydata(m, off, sizeof(fh), &fh);
1356 off += sizeof(struct ip6_frag);
1357 return off;
1360 if (m->m_pkthdr.len < off + sizeof(ip6e))
1362 m_copydata(m, off, sizeof(ip6e), &ip6e);
1365 off += (ip6e.ip6e_len + 2) << 2;
1366 if (m->m_pkthdr.len < off)
1368 return off;
1373 if (m->m_pkthdr.len < off + sizeof(ip6e))
1375 m_copydata(m, off, sizeof(ip6e), &ip6e);
1378 off += (ip6e.ip6e_len + 1) << 3;
1379 if (m->m_pkthdr.len < off)
1381 return off;
1400 ip6_lasthdr(struct mbuf *m, int off, int proto, int *nxtp)
1410 newoff = ip6_nexthdr(m, off, proto, nxtp);
1412 return off;
1413 else if (newoff < off)
1415 else if (newoff == off)
1418 off = newoff;