ip6_dest
hlen = (((struct ip6_dest *)cp)->ip6d_len+1) << 3;
nh = ((struct ip6_dest *)cp)->ip6d_nxt;
struct ip6_dest *dstopts;
IP6_EXTHDR_GET(dstopts, struct ip6_dest *, m, off, sizeof(*dstopts));
IP6_EXTHDR_GET(dstopts, struct ip6_dest *, m, off, dstoptlen);
dstoptlen -= sizeof(struct ip6_dest);
opt = (u_int8_t *)dstopts + sizeof(struct ip6_dest);
__CTASSERT(sizeof(struct ip6_dest) == 2);
struct ip6_dest *dest, **newdest = NULL;
if (len < sizeof(struct ip6_dest))
dest = (struct ip6_dest *)buf;
struct ip6_dest *ip6po_dest1; /* Destination options header(1st part) */
struct ip6_dest *ip6po_dest2; /* Destination options header(2nd part) */