Date: Thu, 6 Dec 2001 12:34:54 -0800 From: Bill Fenner <fenner@research.att.com> To: tinguely@web.cs.ndsu.nodak.edu Cc: freebsd@hoolan.org, tlambert2@mindspring.com, freebsd-hackers@freebsd.org Subject: Re: UDP checksum error after encapsulating multicast packet Message-ID: <200112062034.MAA01807@windsor.research.att.com>
next in thread | raw e-mail | index | archive | help
This is a bug in delayed checksum. The checksum in the encapsulated packet is the pseudo-header checksum: mango% ipcksum 0011 0018 c009 c87f e002 0304 correct checksum of the 12 bytes is 9446 1's complement is 6bb9 (6bb9 is the udp checksum in the encapsulated packet). ip_output() has to do the udp checksum if it's going to hand it to ip_mforward(); this is particularly problematic if the outgoing interface is actually going to perform the checksum. It is probably necessary to create a copy of the IP/UDP headers and perform the delayed checksum before handing off to ip_mforward(). Bill 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?200112062034.MAA01807>