"UDP Checksum: this field MUST be transmitted as 0 and ignored on
receipt by the ETR. Note, even when the UDP checksum is transmitted
as 0 an intervening NAT device can recalculate the checksum and
rewrite the UDP checksum field to non-zero. For performance reasons,
the ETR MUST ignore the checksum and MUST not do a checksum
computation."
I would expect a NAT that saw a zero value to not recalculate the
checksum.
I agree that the unilateral change to the UDP protocol built into RFC
2460 was a bad idea; if you want to change UDP, change UDP. That is
probably water under the bridge now.
I think that I would word this as:
UDP Checksum: this field MAY be transmitted as zero, and the receiver
MAY ignore the checksum on receipt.
As to the performance issues, that is an implementation question. You
can do a full packet checksum at 100 GBPS if you want to, it just has
a cost implication (very different hardware than the usual store-and-
forward design). The datagram will likely have to be handled in a flow-
through manner and the checksum read from a register upon completion.
The argument in favor of this is, I think, that the interior packet
has checksums on it, so this one is not called for, by the end-to-end
principle.
--------------------------------------------------------------------
IETF IPv6 working group mailing list
ipv6@ietf.org
Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
--------------------------------------------------------------------