Skip site navigation (1)Skip section navigation (2)
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

--19701020
Content-Type: text/plain; charset=US-ASCII
Content-Disposition: inline


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


--19701020
Content-Type: text/plain; name="ip_output.c.diff"; x-unix-mode=0644
Content-Disposition: attachment; filename="ip_output.c.diff"

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;

--19701020--

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200112062043.MAA02028>