ip6po_rthdr
GET_PKTOPT_EXT_HDR(ip6po_rthdr);
PKTOPT_EXTHDRCPY(ip6po_rthdr); /* not copy the cached route */
if (opt->ip6po_rthdr == NULL)
opt->ip6po_rthdr = malloc(rthlen, M_IP6OPT, M_NOWAIT);
if (opt->ip6po_rthdr == NULL)
bcopy(rth, opt->ip6po_rthdr, rthlen);
if (inp->in6p_outputopts->ip6po_rthdr)
len += elen(inp->in6p_outputopts->ip6po_rthdr);
MAKE_EXTHDR(opt->ip6po_rthdr, &exthdrs.ip6e_rthdr, optlen);