MFC r282578:
Mark data checksum as valid for multicast packets, that we send back to myself via simloop. Also remove duplicate check under #ifdef DIAGNOSTIC. PR: 180065
This commit is contained in:
parent
c595c29b97
commit
d29714b5d5
@ -2816,14 +2816,6 @@ ip6_mloopback(struct ifnet *ifp, struct mbuf *m, struct sockaddr_in6 *dst)
|
||||
if (copym == NULL)
|
||||
return;
|
||||
}
|
||||
|
||||
#ifdef DIAGNOSTIC
|
||||
if (copym->m_len < sizeof(*ip6)) {
|
||||
m_freem(copym);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
ip6 = mtod(copym, struct ip6_hdr *);
|
||||
/*
|
||||
* clear embedded scope identifiers if necessary.
|
||||
@ -2831,7 +2823,11 @@ ip6_mloopback(struct ifnet *ifp, struct mbuf *m, struct sockaddr_in6 *dst)
|
||||
*/
|
||||
in6_clearscope(&ip6->ip6_src);
|
||||
in6_clearscope(&ip6->ip6_dst);
|
||||
|
||||
if (copym->m_pkthdr.csum_flags & CSUM_DELAY_DATA_IPV6) {
|
||||
copym->m_pkthdr.csum_flags |= CSUM_DATA_VALID_IPV6 |
|
||||
CSUM_PSEUDO_HDR;
|
||||
copym->m_pkthdr.csum_data = 0xffff;
|
||||
}
|
||||
(void)if_simloop(ifp, copym, dst->sin6_family, 0);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user