Lines 2118-2123
icmp6_reflect(struct mbuf *m, size_t off)
Link Here
|
2118 |
ip6->ip6_nxt = IPPROTO_ICMPV6; |
2118 |
ip6->ip6_nxt = IPPROTO_ICMPV6; |
2119 |
ip6->ip6_hlim = hlim; |
2119 |
ip6->ip6_hlim = hlim; |
2120 |
|
2120 |
|
|
|
2121 |
/* XXX-MJ in6_cksum() does not yet handle unmapped mbufs */ |
2122 |
m = mb_unmapped_to_ext(m); |
2123 |
if (m == NULL) |
2124 |
goto bad; |
2121 |
icmp6->icmp6_cksum = 0; |
2125 |
icmp6->icmp6_cksum = 0; |
2122 |
icmp6->icmp6_cksum = in6_cksum(m, IPPROTO_ICMPV6, |
2126 |
icmp6->icmp6_cksum = in6_cksum(m, IPPROTO_ICMPV6, |
2123 |
sizeof(struct ip6_hdr), plen); |
2127 |
sizeof(struct ip6_hdr), plen); |
Lines 2613-2618
noredhdropt:;
Link Here
|
2613 |
|
2617 |
|
2614 |
ip6->ip6_plen = htons(m->m_pkthdr.len - sizeof(struct ip6_hdr)); |
2618 |
ip6->ip6_plen = htons(m->m_pkthdr.len - sizeof(struct ip6_hdr)); |
2615 |
|
2619 |
|
|
|
2620 |
/* XXX-MJ in6_cksum() does not yet handle unmapped mbufs */ |
2621 |
m = mb_unmapped_to_ext(m); |
2622 |
if (m == NULL) |
2623 |
goto fail; |
2616 |
nd_rd->nd_rd_cksum = 0; |
2624 |
nd_rd->nd_rd_cksum = 0; |
2617 |
nd_rd->nd_rd_cksum = in6_cksum(m, IPPROTO_ICMPV6, |
2625 |
nd_rd->nd_rd_cksum = in6_cksum(m, IPPROTO_ICMPV6, |
2618 |
sizeof(*ip6), ntohs(ip6->ip6_plen)); |
2626 |
sizeof(*ip6), ntohs(ip6->ip6_plen)); |