[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: SIIT translation



Vishwas Manral wrote:
Hi Eric/ folks,

As the ICMPv6 has a checksum which includes a pseudo header, though the
ICMPv6 does not have the same, I think we cannot do SIIT (stateless
translation) for fragmented ICMPv4 packets. We need to get all the
fragements before we can find the checksum, hence it becomes stateful.

I haven't looked at the details recently, but I think the addition of the pseudo-header checksum is solvable without needing state in the translator. The pseudo-header (from the IPv6 header) is available in the same packet as the ICMP checksum field. Thus the checksum can be adjusted based on the delta of adding or deleting (for v4->v6 and v6->v4 translation, respectively) the pseudo-header checksum by only looking at that one packet.

I think this seems to be missing in the RFC, though it talks about a
similar case for UDP packet with checksum 0. Is my understanding
correct?

The UDP with zero checksum is much different, because it requires a computation of the checksum for the whole datagram i.e. across all the fragments.

   Erik