From owner-freebsd-hackers Thu Dec 6 7:22:49 2001 Delivered-To: freebsd-hackers@freebsd.org Received: from web.cs.ndsu.nodak.edu (web.cs.ndsu.NoDak.edu [134.129.125.7]) by hub.freebsd.org (Postfix) with ESMTP id 125E237B416 for ; Thu, 6 Dec 2001 07:22:42 -0800 (PST) Received: (from tinguely@localhost) by web.cs.ndsu.nodak.edu (8.11.4/8.11.4) id fB6FMf588025; Thu, 6 Dec 2001 09:22:41 -0600 (CST) (envelope-from tinguely) Date: Thu, 6 Dec 2001 09:22:41 -0600 (CST) From: mark tinguely Message-Id: <200112061522.fB6FMf588025@web.cs.ndsu.nodak.edu> To: freebsd@hoolan.org, tlambert2@mindspring.com Subject: Re: UDP checksum error after encapsulating multicast packet Cc: freebsd-hackers@FreeBSD.ORG In-Reply-To: <3C0F86D4.77A6748B@mindspring.com> 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 the UDP checksum should not change before encapsulation. re-displaying your packets: 18:27:12.968167 192.9.200.127.1399 > 224.2.3.4.1234: [udp sum ok] udp 16 (ttl 16, id 38554, len 44) 4500 002c 969a 0000 1011 a897 c009 c87f ^^ ^^^^ ttl ipcksm e002 0304 0577 04d2 0018 22c5 ^^^^ udpcksm ea02 0400 3c0f 4401 0001 3145 c7c6 0000 data 18:27:12.968185 192.9.200.127 > 150.9.120.183: 192.9.200.127.1399 > 224.2.3.4.1234: [bad udp cksum bb7!] udp 16 (ttl 15, id 38554, len 44) (ttl 64, id 38555, len 64) 4500 0040 969b 0000 4004 4cd5 c009 c87f 9609 78b7 ip-ip ecap (not use in the below UDP checksum) 4500 002c 969a 0000 0f11 a997 c009 c87f ^^ ^^^^ ttl ipcksm e002 0304 0577 04d2 0018 6bb9 ^^^^ udpcksm ea02 0400 3c0f 4401 0001 3145 c7c6 0000 the only thing that changes from the first calculation of the UDP checksum to the final calculation of the UDP checksum is the decrement of the TTL and the adjustment of the IP header checksum these changes will not change the UDP checksum (they cancel out). My best guess is that someone has the UDP src, dst and ports in host order not net order and on Intel arch. this causes a UDP checksum error. It may have something to do with this being the originating host, and wee have a copy of the packet before the net byte order was restored. --mark tinguely. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message