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 MFC after: 1 week
This commit is contained in:
parent
415bcd89a6
commit
654bdb5abb
@ -2900,14 +2900,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.
|
||||
@ -2915,7 +2907,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…
Reference in New Issue
Block a user