ip6_nxt
if (ip6h->ip6_nxt != IPPROTO_UDP)
nexthdr = ip6h->ip6_nxt;
nxt = ip6hdr->ip6_nxt;
switch (orig_ip6hdr->ip6_nxt) {
proto = ip6h->ip6_nxt;
last_hdr = hip6->ip6_nxt;
nexthdr = ip6h->ip6_nxt;
p = (u_short)ip6->ip6_nxt;
class, flow, plen, iph->ip6_nxt, iph->ip6_hlim);
return (transport_hdr(iph->ip6_nxt, nxt_proto));
nexthdrp = &ip6h->ip6_nxt;
if (v6hdr->ip6_nxt != IPPROTO_ICMPV6) {
hdr_ip6.ip6_nxt = ipproto;
hdr_ip6.ip6_nxt = IPPROTO_ROUTING;
hdr_ip6.ip6_nxt = IPPROTO_ROUTING;
l4 = in_iph6->ip6_nxt;
if (outer_ip6h->ip6_nxt != IPPROTO_ICMPV6)
ip6h->ip6_nxt = IPPROTO_HOPOPTS;
ip6h->ip6_nxt = IPPROTO_HOPOPTS;
ip6h->ip6_nxt = IPPROTO_ICMPV6;
if (ip6h->ip6_nxt == IPPROTO_ICMPV6) {
nexthdr = ip6h->ip6_nxt;
nexthdrp = &ip6h->ip6_nxt;
prev_nexthdr_offset = (uint8_t *)&ip6h->ip6_nxt - (uint8_t *)ip6h;
prev_nexthdr = ip6h->ip6_nxt;
nexthdr = ip6h->ip6_nxt;
nexthdr = ip6h->ip6_nxt;
nexthdr = ip6h->ip6_nxt;
nexthdr = ip6h->ip6_nxt;
prev_nexthdr_offset = (uint8_t *)&ip6h->ip6_nxt - (uint8_t *)ip6h;
nxthdr_ptr = (uint8_t *)&ip6h->ip6_nxt;
ip6h->ip6_nxt = IPPROTO_ICMPV6;
if (ip6h->ip6_nxt == IPPROTO_ROUTING)
nexthdr = ip6h->ip6_nxt;
nexthdr = ip6h->ip6_nxt;
rip6h.ip6_nxt = nexthdr;
if (ip6h->ip6_nxt != IPPROTO_ICMPV6)
if (ip6h->ip6_nxt != IPPROTO_ICMPV6)
if (ip6h->ip6_nxt != IPPROTO_ICMPV6) {
if ((ira->ira_protocol = ip6h->ip6_nxt) == IPPROTO_HOPOPTS) {
if (ip6h->ip6_nxt != IPPROTO_ICMPV6) {
ip6h->ip6_nxt));
ip6h->ip6_nxt = IPPROTO_ICMPV6;
if (ip6h->ip6_nxt != IPPROTO_ESP) {
prev_nexthdr = (uint8_t *)&ip6h->ip6_nxt;
nexthdr = oip6h->ip6_nxt;
ip6h->ip6_nxt = IPPROTO_AH;
((ah_t *)(ip6h + 1))->ah_nexthdr = oip6h->ip6_nxt;
ip6h->ip6_nxt = oip6h->ip6_nxt;
nexthdr = &ip6h->ip6_nxt;
nhp = &ip6h->ip6_nxt;
if (ip6h->ip6_nxt == IPPROTO_ESP) {
ip6h->ip6_nxt = nexthdr;
ip6h->ip6_nxt = nexthdr;
nexthdr = ip6h->ip6_nxt;
nexthdr = ip6h->ip6_nxt;
if (ip6h->ip6_nxt != IPPROTO_HOPOPTS)
ip6h->ip6_nxt = next_hdr;
if (ip6h->ip6_nxt == IPPROTO_HOPOPTS) {
ip6hbh[0] = ip6h->ip6_nxt;
ip6h->ip6_nxt = IPPROTO_HOPOPTS;
if (ip6h->ip6_nxt == IPPROTO_HOPOPTS) {
if (ip6h->ip6_nxt != IPPROTO_HOPOPTS)
proto = ip6h->ip6_nxt;
proto = ip6h->ip6_nxt;
p = ip6->ip6_nxt;
ip6->ip6_nxt = IPPROTO_TCP;
ip6->ip6_nxt = IPPROTO_ICMPV6;
fin->fin_ip6->ip6_nxt = IPPROTO_ICMPV6;
p = oip6->ip6_nxt;
switch (oip6->ip6_nxt) {
if ((oip6->ip6_nxt == IPPROTO_TCP) && (dlen >= 18)) {
} else if ((oip6->ip6_nxt == IPPROTO_UDP) &&
if (oip6->ip6_nxt == IPPROTO_ICMPV6) {
hv = (pr = oip6->ip6_nxt);
hv = (pr = oip6->ip6_nxt);
if ((oip6->ip6_nxt == IPPROTO_TCP) || (oip6->ip6_nxt == IPPROTO_UDP)) {
new_ip6h->ip6_nxt = IPPROTO_ICMPV6;
ASSERT(outer6->ip6_nxt == IPPROTO_IPV6);
newouter6->it6h_ip6h.ip6_nxt = IPPROTO_DSTOPTS;
newouter6->it6h_encaplim.iel_destopt.ip6d_nxt = outer6->ip6_nxt;
ixa->ixa_protocol = outer6->ip6_nxt;
ip6hp->ip6_nxt = IPPROTO_NONE;
ip6hp->ip6_nxt = IPPROTO_DSTOPTS;
iph_hdr_length = (ip6h->ip6_nxt != IPPROTO_SCTP) ?
ip6h->ip6_nxt = IPPROTO_SCTP;
ip6h->ip6_nxt = IPPROTO_SCTP;
ip6h->ip6_nxt = IPPROTO_TCP;
if (outer_ip6h->ip6_nxt != IPPROTO_ICMPV6)
if (ip6h->ip6_nxt == IPPROTO_ICMPV6) {
if (ip6h->ip6_nxt == IPPROTO_ICMPV6) {
if (ip6h->ip6_nxt == IPPROTO_ICMPV6) {
offset = offsetof(ip6_t, ip6_nxt) + mac_hdr_len;
offset = offsetof(ip6_t, ip6_nxt) + mac_hdr_len;
if (ip6h->ip6_nxt != IPPROTO_ICMPV6)
l3_off + offsetof(ip6_t, ip6_nxt), &ipproto)) {
nexthdr = ip6h->ip6_nxt;
nexthdrp = &ip6h->ip6_nxt;
ip6hp->ip6_nxt = IPPROTO_NONE;
nxt_proto = &ip6hp->ip6_nxt;
nexthdr = ip6hp->ip6_nxt;
nexthdr = ip6hp->ip6_nxt;
if (ip6->ip6_nxt == IPPROTO_TCP) {
} else if (ip6->ip6_nxt == IPPROTO_UDP)
nexthdrp = &ip6h->ip6_nxt;
header->proto = ip6h->ip6_nxt;
nexthdrp = &ip6h->ip6_nxt;
packet->proto = ip6h->ip6_nxt;
nexthdrp = &ip6h->ip6_nxt;