Hi Byzek,

On Jul 30, 2009, at 8:31 PM, byzek wrote:

It's not about performance; a large percentage of the currently- deployed hardware can’t do UDP checksum calculations during encapsulation because it doesn’t have access to the entire packet. Most hardware is streamlined to only provide the first n bytes of a packet to the forwarding engine, where
typically n < 128.

This is one of the primary reasons, as I understood it, why UDP-Lite was defined the way it was -- to allow for a transport-layer checksum, including an IP pseudo-header checksum, in IPv6, without the need to traverse the entire packet. In the LISP case, all of the bytes that would need to be "checksummed" for UDP-Lite would be bytes that were _added to the packet_ by the LISP encapsulating router.

When an IPv4/UDP header is pre-pended by a LISP router, the lisp ETR needs to calculate the IP header checksum over 20 bytes (the IP header).

If an IPv6/UDP-Lite header were pre-pended by a LISP router, the ETR would need to calculate an IP header checksum over 48 bytes (the IP pseudo-header and the UDP header).

While I understand that 48 bytes is larger than 20 bytes, we aren't really talking about a major difference when the checksum algorithm is well-optimized and all of the pre-pended header bytes are already in memory.

Margaret



--------------------------------------------------------------------
IETF IPv6 working group mailing list
ipv6@ietf.org
Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
--------------------------------------------------------------------

Reply via email to