Subject: Re: [lisp] IPv6 UDP checksum issue

From: Fred Baker <[email-masked]>
Date: Fri, 31 Jul 2009 07:50:33 +0200

RIP is a router/router protocol and uses UDP...
SNMP is used to manage routers and uses UDP...

Yes, I wish UDP had never been invented so that people would write  
transports that actually did what they intended, but folks use UDP  
instead and build the transport in the application.

On Jul 31, 2009, at 12:27 AM, Lars Eggert wrote:

> Hi,
>
> On 2009-7-30, at 22:22, Noel Chiappa wrote:
>>> From: Lars Eggert <[email-masked]>
>>
>>> This is in direct conflict with what RFC2460 says, and I'd  
>>> personally
>>> would find it problematic to approve publication of an Experimental
>>> protocol that did this, unless there was an IETF consensus on a
>>> standards-track document that would update RFC2460 accordingly.  
>>> Such a
>>> document would IMO need to show extremely strong arguments for why  
>>> this
>>> change is needed.
>>
>> This is for an inter-router packet carriage use, not end-end. Why  
>> the dickens
>> should there be a mandatory checksum on the data in the packet for  
>> sending a
>> packet from one router to another?
>
> Since we're up-levelling the discussion, I don't understand why one  
> would use UDP as a router-router protocol in the first place,  
> especially for IPv6, where the chance that the packet will hit a NAT  
> are probably exactly zero.
>
> What I'm saying is that *if* UDP us used, it needs to be used  
> according to the RFCs that capture the IETF consensus on their use,  
> or the IETF consensus must be revised.
>
> Lars 
> --------------------------------------------------------------------
> IETF IPv6 working group mailing list
> [email-masked]
> Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
> --------------------------------------------------------------------

---

From: "Manfredi, Albert E" <[email-masked]>
Date: Fri, 31 Jul 2009 16:57:06 -0400

> -----Original Message-----
> From: Fred Baker [mailto:[email-masked]] 

> instead and build the transport in the application.

Or an alternative wish, an IPv6 option of header checksum?

Bert

---

From: Margaret Wasserman <[email-masked]>
Date: Tue, 4 Aug 2009 10:58:25 -0400

On Jul 30, 2009, at 6:33 PM, Dino Farinacci wrote:
> And what we are are saying is to be practical (and sensible).

Well, what *I* am saying is that UDP-Lite was designed to offer a  
practical and sensible alternative for exactly these situations.  Why  
won't it work for LISP?

Margaret

---

From: Sam Hartman <[email-masked]>
Date: Tue, 04 Aug 2009 11:29:16 -0400

>>>>> "Margaret" == Margaret Wasserman <[email-masked]> writes:

    Margaret> On Jul 30, 2009, at 6:33 PM, Dino Farinacci wrote:
    >>> according to the RFCs that capture the IETF consensus on their
    >>> use, or the IETF consensus must be revised.
    >> 

    Margaret> Well, what *I* am saying is that UDP-Lite was designed
    Margaret> to offer a practical and sensible alternative for
    Margaret> exactly these situations.  Why won't it work for LISP?

    Margaret> Margaret _______________________________________________
    Margaret> lisp mailing list [email-masked]
    Margaret> https://www.ietf.org/mailman/listinfo/lisp

And While we're all *saying* things, I as chair am *saying* that at
the end of this discussion we're going to document it.:-)

Assuming that the current LISP behavior does not change, it sounds like we have the following to document:

1) Add a normative reference to some standards-track or BCP document
that makes our behavior permissible.

In that document or in the LISP spec:

2) Document why you'd use UDP, not IPIP or udp-light.

3) Answer Margaret's questions about what the effects of packet
corruption are.  That probably belongs in the LISP spec.

4) If there are changes that seem sensible for the IPV6 community to
consider long-term, write them up and suggest them to 6man|intarea as
appropriate.

---

From: Marshall Eubanks <[email-masked]>
Date: Tue, 4 Aug 2009 11:57:50 -0400

> that makes our behavior permissible.

I think that that should be to
  http://tools.ietf.org/html/draft-eubanks-chimento-6man-00
assuming 6man  adopts it.

> corruption are.  That probably belongs in the LISP spec.

I think it should be in the UDP Checksum document.

> consider long-term, write them up and suggest them to 6man|intarea as

We are updating (a piece) of  RFC2460. Does there need to be more ?

Regards
Marshall

> _______________________________________________
> lisp mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/lisp
>

---

From: Sam Hartman <[email-masked]>
Date: Tue, 04 Aug 2009 12:12:22 -0400

> corruption are.  That probably belongs in the LISP spec.

Marshall> I think it should be in the UDP Checksum document.

That would be fine if you can make it work.
The problem I see is that it seems quite LISP specific to me.
Margaret was asking for example what would happen if the source address is corrupted and a control/data packet reached a valid LISP ETR but with a different source address.
How does this deal with various caches  etc?

In other words, Margaret is asking the LISP community to document the
effects of LISP over IPV6 with no integrity proection for the LISP
tunneling.  I think there are certain aspects of this that are
generic: the data packet will presumably make its way to some
destination where it will be discarded if the data packet is corrupted
and accepted if the corruption only affects the outer part of the
packet.

However, it seems like aspects of this are also specific to the
tunneling mechanism.

> consider long-term, write them up and suggest them to 6man|intarea as
Marshall> >

Marshall> We are updating (a piece) of  RFC2460. Does there need to be more ?

Need? Absolutely not.  However there have been side discussions
surrounding lots of things including how best to do ECMP, etc, etc.
If any of those side discussions reach conclusions, then they should
be sent somewhere that can act on them.

---

From: Dino Farinacci <[email-masked]>
Date: Fri, 7 Aug 2009 12:46:35 -0700

Not sensible enough.

Dino

On Aug 4, 2009, at 7:58 AM, Margaret Wasserman wrote:

> practical and sensible alternative for exactly these situations.   
> Why won't it work for LISP?
>
> Margaret

---

From: Dino Farinacci <[email-masked]>
Date: Fri, 7 Aug 2009 12:47:21 -0700

> 2) Document why you'd use UDP, not IPIP or udp-light.

This is already in the spec.

Dino

---

From: Sam Hartman <[email-masked]>
Date: Tue, 11 Aug 2009 08:42:32 -0400

>>>>> "Dino" == Dino Farinacci <[email-masked]> writes:

    >> 2) Document why you'd use UDP, not IPIP or udp-light.
    Dino> This is already in the spec.

You say that UDP is used for LAGs.  I definitely didn't see a good
discussion of other options that were considered and rejected.

It's my opinion as a chair that the issue must be documented.

It's my opinion as an individual that the current documentation is
inadequate.  Factors that lead to this conclusion include reading the
documentation and the amount of discussion this issue has generated
from people who have read the spec.

---

From: Dino Farinacci <[email-masked]>
Date: Tue, 11 Aug 2009 08:43:49 -0700

I will make it more clear in the next rev of the spec.

Dino