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 [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message

