Date: Thu, 6 Dec 2001 12:43:47 -0800 From: Bill Fenner <fenner@research.att.com> To: freebsd@hoolan.org Cc: freebsd-hackers@freebsd.org Subject: Re: UDP checksum error after encapsulating multicast packet Message-ID: <200112062043.MAA02028@windsor.research.att.com>
next in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
Please try this patch. It gives multicast packets on a multicast
router similar treatment to those that IPSEC packets get, by calculating
the delayed checksum early and not permitting it to be offloaded to
the interface.
Thanks,
Bill
[-- Attachment #2 --]
Index: ip_output.c
===================================================================
RCS file: /home/ncvs/src/sys/netinet/ip_output.c,v
retrieving revision 1.143
diff -u -r1.143 ip_output.c
--- ip_output.c 1 Dec 2001 13:48:16 -0000 1.143
+++ ip_output.c 6 Dec 2001 20:40:24 -0000
@@ -353,6 +363,16 @@
*/
if (!rsvp_on)
imo = NULL;
+ /*
+ * XXX
+ * delayed checksums are not currently
+ * compatible with IP multicast routing
+ */
+ if (m->m_pkthdr.csum_flags & CSUM_DELAY_DATA) {
+ in_delayed_cksum(m);
+ m->m_pkthdr.csum_flags &=
+ ~CSUM_DELAY_DATA;
+ }
if (ip_mforward(ip, ifp, m, imo) != 0) {
m_freem(m);
goto done;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200112062043.MAA02028>
