ip6po_nexthop
if (opts && opts->ip6po_nexthop) {
struct sockaddr_in6 *sin6_next = satosin6(opts->ip6po_nexthop);
if (opt->ip6po_pktinfo || opt->ip6po_nexthop ||
GET_PKTOPT_SOCKADDR(ip6po_nexthop);
if (pktopt->ip6po_nexthop)
free(pktopt->ip6po_nexthop, M_IP6OPT);
pktopt->ip6po_nexthop = NULL;
if (src->ip6po_nexthop) {
dst->ip6po_nexthop = malloc(src->ip6po_nexthop->sa_len,
if (dst->ip6po_nexthop == NULL)
bcopy(src->ip6po_nexthop, dst->ip6po_nexthop,
src->ip6po_nexthop->sa_len);
opt->ip6po_nexthop = malloc(*buf, M_IP6OPT, M_NOWAIT);
if (opt->ip6po_nexthop == NULL)
bcopy(buf, opt->ip6po_nexthop, *buf);
dst = (struct sockaddr_in6 *)opt->ip6po_nexthop;