IP6_EXTHDR_GET
IP6_EXTHDR_GET(dstopts, struct ip6_dest *, m, off, sizeof(*dstopts));
IP6_EXTHDR_GET(dstopts, struct ip6_dest *, m, off, dstoptlen);
IP6_EXTHDR_GET(ip6f, struct ip6_frag *, m, offset, sizeof(*ip6f));
IP6_EXTHDR_GET(prvnxtp, uint8_t *, m, prvnxt,
IP6_EXTHDR_GET(rth, struct ip6_rthdr *, m,
IP6_EXTHDR_GET(fh, struct ip6_frag *, m,
IP6_EXTHDR_GET(icmp6, struct icmp6_hdr *, m, off,
IP6_EXTHDR_GET(ni6, struct icmp6_nodeinfo *, m, off, sizeof(*ni6));
IP6_EXTHDR_GET(subj, char *, m,
IP6_EXTHDR_GET(icmp6, struct icmp6_hdr *, m, off, sizeof(*icmp6));
IP6_EXTHDR_GET(nd_rd, struct nd_redirect *, m, off, icmp6len);
IP6_EXTHDR_GET(icp, struct icmp6_hdr *, m, off,
IP6_EXTHDR_GET(icmp6, struct icmp6_hdr *, m, off, sizeof(*icmp6));
IP6_EXTHDR_GET(nicmp6, struct icmp6_hdr *, n, off,
IP6_EXTHDR_GET(icmp6, struct icmp6_hdr *, m, off,
IP6_EXTHDR_GET(eh, struct ip6_ext *, m,
IP6_EXTHDR_GET(hbh, struct ip6_hbh *, m, sizeof(struct ip6_hdr),
IP6_EXTHDR_GET(hbh, struct ip6_hbh *, m,
IP6_EXTHDR_GET(hbh, struct ip6_hbh *, m, sizeof(struct ip6_hdr),
IP6_EXTHDR_GET(pim, struct pim *, m, off, minlen);
IP6_EXTHDR_GET(mldh, struct mld_hdr *, m, off, sizeof(*mldh));
IP6_EXTHDR_GET(nd_ns, struct nd_neighbor_solicit *, m, off, icmp6len);
IP6_EXTHDR_GET(nd_na, struct nd_neighbor_advert *, m, off, icmp6len);
IP6_EXTHDR_GET(nd_ra, struct nd_router_advert *, m, off,
IP6_EXTHDR_GET(nd_rs, struct nd_router_solicit *, m, off,
IP6_EXTHDR_GET(rh, struct ip6_rthdr *, m, off, sizeof(*rh));
IP6_EXTHDR_GET(sh, struct sctphdr *, m, off, sizeof(*sh) + sizeof(*ch));
IP6_EXTHDR_GET(uh, struct udphdr *, m, off, sizeof(struct udphdr));