}
#endif /* notyet */
-#ifndef PULLDOWN_TEST
IP6_EXTHDR_CHECK(m, off, sizeof(*rh), return IPPROTO_DONE);
/* Expect 32-bit aligned data pointer on strict-align platforms */
ip6 = mtod(m, struct ip6_hdr *);
rh = (struct ip6_rthdr *)((caddr_t)ip6 + off);
-#else
- /* Expect 32-bit aligned data pointer on strict-align platforms */
- MBUF_STRICT_DATA_ALIGNMENT_CHECK_32(m);
-
- ip6 = mtod(m, struct ip6_hdr *);
- IP6_EXTHDR_GET(rh, struct ip6_rthdr *, m, off, sizeof(*rh));
- if (rh == NULL) {
- ip6stat.ip6s_tooshort++;
- return (IPPROTO_DONE);
- }
-#endif
switch (rh->ip6r_type) {
default:
/* unknown routing type */
if (rh->ip6r_segleft == 0) {
rhlen = (rh->ip6r_len + 1) << 3;
- break; /* Final dst. Just ignore the header. */
+ break; /* Final dst. Just ignore the header. */
}
ip6stat.ip6s_badoptions++;
icmp6_error(m, ICMP6_PARAM_PROB, ICMP6_PARAMPROB_HEADER,
(caddr_t)&rh->ip6r_type - (caddr_t)ip6);
- return (IPPROTO_DONE);
+ return IPPROTO_DONE;
}
*offp += rhlen;
- return (rh->ip6r_nxt);
+ return rh->ip6r_nxt;
}