svn commit: r282895 - stable/9/sys/netinet6
Andrey V. Elsukov
ae at FreeBSD.org
Thu May 14 11:52:28 UTC 2015
Author: ae
Date: Thu May 14 11:52:27 2015
New Revision: 282895
URL: https://svnweb.freebsd.org/changeset/base/282895
Log:
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
Modified:
stable/9/sys/netinet6/ip6_output.c
Directory Properties:
stable/9/sys/ (props changed)
Modified: stable/9/sys/netinet6/ip6_output.c
==============================================================================
--- stable/9/sys/netinet6/ip6_output.c Thu May 14 11:47:18 2015 (r282894)
+++ stable/9/sys/netinet6/ip6_output.c Thu May 14 11:52:27 2015 (r282895)
@@ -3005,14 +3005,6 @@ ip6_mloopback(struct ifnet *ifp, struct
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.
@@ -3020,7 +3012,11 @@ ip6_mloopback(struct ifnet *ifp, struct
*/
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);
}
More information about the svn-src-stable-9
mailing list