On Aug 31, 2009, at 5:47 PM, Dino Farinacci wrote:
UDP Checksum: this field MAY be transmitted as zero by an ITR and
when received by an ETR, MUST accept the packet for forwarding.
Aside from the grammatical issue with this sentence (no subject), the ETR does not really "accept a packet for forwarding", it decapsulates it and forwards the inner packet. So, this isn't quite right, either...
When an ITR transmits a non-zero value, an ETR MAY verify the
checksum value.
The ETR validates a checksum when it receives it, not when the ITR transmits it...
If the checksum is verified, the packet isaccepted for forwarding, otherwise, it is silently dropped. Note,even when the UDP checksum is transmitted as zero an intervening NAT device can recalculate the checksum and rewrite the UDP checksum field to non-zero. See draft [UDP-TUNNELS] for details.
Is it really necessary for us to describe the normal parts of UDP checksum handling here? What about saying less? Something like:
UDP Checksum: This is the UDP checksum field, as described in [RFC 768] as updated by [UDP-TUNNELS].
And leave it at that? Margaret
Note Well: Messages sent to this mailing list are the opinions of the senders and do not imply endorsement by the IETF.