Ethereal-dev: Re: [Ethereal-dev] Incorrect UDP checksum when using router header?

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Guy Harris <guy@xxxxxxxxxx>
Date: Tue, 15 Apr 2003 15:14:11 -0700
On Tue, Apr 15, 2003 at 03:54:04PM +0200, Yaniv Kaul wrote:
> I'm sending UDP packets from 3ffe:0:c0a8:979:290:27ff:febd:6ba9 to 
> 3ffe:0:a09:c901:2e0:18ff:fe22:391f via 
> 3ffe:0:c0a8:9c9:2a0:8eff:fe0c:2e1, using router header option.

The Ethereal code that supplies the "pseudo-header" for TCP and UDP
checksums doesn't handle source-routing options in IPv4 or routing
header options in IPv6; tcpdump used not to handle that, but it was
changed to do so.

Perhaps we need to add a new "destination to use in pseudo-headers"
address field to the "packet_info" structure, have the IPv4 and IPv6
dissectors initially set it to the destination address from the header
and update it when source-routing options or routing header options are
seen, and have the TCP and UDP checksum code use that address field
rather than the destination address field.