Subject: Re: [lisp] Checksum-related issues for the tracker

From: [email-masked] (Noel Chiappa)
Date: Tue, 11 Aug 2009 16:43:45 -0400 (EDT)

> From: Margaret Wasserman <[email-masked]>

    > changing the text that indicates that LISP ITRs "MUST" send zero UDP
    > checksums to a "MAY".

What's wrong with "SHOULD"?

    > Not checking non-zero UDP checksums on inbound traffic (at the ETR in
    > LISP) violates RFC 1122 (for IPv4)

RFC 1122 is for _hosts_ (i.e. end-nodes), not for forwarding nodes, so you/we
can ignore RFC-1122.

    > changing the text that indicates that LISP ETRs "MUST" ignore incoming
    > UDP checksums to a "MAY".

"SHOULD".

    > Research .. and prior experience .. have indicated that it is (at least
    > sometimes) a very bad idea to disable and/or bypass UDP or IP checksums.

Sure - for end-end traffic. This is encapsulated traffic, very different ball
game. You can't recycle end-end usage analysis to this case.

	Noel

---

From: Margaret Wasserman <[email-masked]>
Date: Tue, 11 Aug 2009 17:21:19 -0400

> RFC 1122 is for _hosts_ (i.e. end-nodes), not for forwarding nodes,  

Nice try. :-)

But, if you claim that LISP xTRs don't have to comply with RFC 1122  
because they are routers, then they do need to comply with RFC 1812  
(Requirements for IP Version 4 Routers), which says:

"6.1 USER DATAGRAM PROTOCOL - UDP
The User Datagram Protocol (UDP) is specified in [TRANS:1].
A router that implements UDP MUST be compliant, and SHOULD be  
unconditionally compliant, with the requirements of [INTRO:2], except  
that:
o This specification does not specify the interfaces between the  
various protocol layers. Thus, a router's interfaces need not comply  
with [INTRO:2], except where compliance is required for proper  
functioning of Application Layer protocols supported by the router.
o Contrary to [INTRO:2], an application SHOULD NOT disable generation  
of UDP checksums.
DISCUSSION
Although a particular application protocol may require that UDP  
datagrams it receives must contain a UDP checksum, there is no general  
requirement that received UDP datagrams contain UDP checksums. Of  
course, if a UDP checksum is present in a received datagram, the  
checksum must be verified and the datagram discarded if the checksum  
is incorrect."
I would not object to replacing "RFC 1122" with "RFC 1812" in my issue  
description, though.
> game. You can't recycle end-end usage analysis to this case.

Given the "SHOULD NOT" in RFC 1812 and the other evidence presented, I  
think that the burden is on us to prove that turning off UDP checksums  
in LISP will not cause a problem for the LISP protocol itself, or for  
other hosts and applications that need to co-exist with it.

Margaret

---

From: Sam Hartman <[email-masked]>
Date: Tue, 11 Aug 2009 17:26:49 -0400

Can we please wait until the authors or secretary opens these issues and assigns numbers before discussing in this thread?