From owner-freebsd-hackers Thu Dec 6 12:44: 1 2001 Delivered-To: freebsd-hackers@freebsd.org Received: from mail-blue.research.att.com (mail-blue.research.att.com [135.207.30.102]) by hub.freebsd.org (Postfix) with ESMTP id D13AE37B416 for ; Thu, 6 Dec 2001 12:43:57 -0800 (PST) Received: from alliance.research.att.com (alliance.research.att.com [135.207.26.26]) by mail-blue.research.att.com (Postfix) with ESMTP id 9E94C4CF40; Thu, 6 Dec 2001 15:43:48 -0500 (EST) Received: from windsor.research.att.com (windsor.research.att.com [135.207.26.46]) by alliance.research.att.com (8.8.7/8.8.7) with ESMTP id PAA27588; Thu, 6 Dec 2001 15:43:47 -0500 (EST) From: Bill Fenner Received: (from fenner@localhost) by windsor.research.att.com (8.8.8+Sun/8.8.5) id MAA02028; Thu, 6 Dec 2001 12:43:47 -0800 (PST) Message-Id: <200112062043.MAA02028@windsor.research.att.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary=19701020; charset=US-ASCII To: freebsd@hoolan.org Subject: Re: UDP checksum error after encapsulating multicast packet Cc: freebsd-hackers@freebsd.org Date: Thu, 6 Dec 2001 12:43:47 -0800 Versions: dmail (solaris) 2.2j/makemail 2.9b Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG --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