Re: [lisp] #16: map versioning resolution

"Joel M. Halpern" <jmh@joelhalpern.com> Wed, 02 September 2009 19:22 UTC

Return-Path: <jmh@joelhalpern.com>
X-Original-To: lisp@core3.amsl.com
Delivered-To: lisp@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 82AB028C113 for <lisp@core3.amsl.com>; Wed, 2 Sep 2009 12:22:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.435
X-Spam-Level:
X-Spam-Status: No, score=-3.435 tagged_above=-999 required=5 tests=[AWL=0.164, BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id j0s+cV-bYCgV for <lisp@core3.amsl.com>; Wed, 2 Sep 2009 12:22:44 -0700 (PDT)
Received: from hermes.mail.tigertech.net (hermes.mail.tigertech.net [64.62.209.72]) by core3.amsl.com (Postfix) with ESMTP id 2296C28C8CC for <lisp@ietf.org>; Wed, 2 Sep 2009 12:22:44 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by hermes.tigertech.net (Postfix) with ESMTP id C49F043075B; Wed, 2 Sep 2009 12:23:00 -0700 (PDT)
X-Virus-Scanned: Debian amavisd-new at hermes.tigertech.net
Received: from [10.10.10.101] (pool-71-161-51-226.clppva.btas.verizon.net [71.161.51.226]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by hermes.tigertech.net (Postfix) with ESMTP id A747B430746; Wed, 2 Sep 2009 12:22:59 -0700 (PDT)
Message-ID: <4A9EC611.2070300@joelhalpern.com>
Date: Wed, 02 Sep 2009 15:22:57 -0400
From: "Joel M. Halpern" <jmh@joelhalpern.com>
User-Agent: Thunderbird 2.0.0.23 (Windows/20090812)
MIME-Version: 1.0
To: Dino Farinacci <dino@cisco.com>
References: <tsleiqxz4of.fsf@mit.edu> <BC6CC04B-A296-4C2B-8C5C-FFE44DB78E4E@net.t-labs.tu-berlin.de> <137C5442-2AFB-4455-AAEC-827FF287458B@cisco.com>
In-Reply-To: <137C5442-2AFB-4455-AAEC-827FF287458B@cisco.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
Cc: lisp@ietf.org
Subject: Re: [lisp] #16: map versioning resolution
X-BeenThere: lisp@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: List for the discussion of the Locator/ID Separation Protocol <lisp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/lisp>, <mailto:lisp-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/lisp>
List-Post: <mailto:lisp@ietf.org>
List-Help: <mailto:lisp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/lisp>, <mailto:lisp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 02 Sep 2009 19:22:45 -0000

I do not see why, based on this note, this document should mandate 
anything about the relationship of the N and L bits to the R bit.
Everything works if we say nothing about that relationship.

(Sorry, I guess I do not understand eithe ryours or Luigi's reasoning 
for defining a relationship between defined bits and undefined bits.)

Just treat the R bit the way we do all reserved bits.  (Until redefined 
by some other document, the bit MUST be set to zero on transmission, and 
the value in that bit position MUST be ignored upon reception.)

Then, wherever we define the R bit, we can describe what is bits may be 
set along with the R bit.  And we can specify what error checks and 
error behaviors a node which understands the R bit will apply.

To do otherwise is to fold into this document decisions about the usage 
of the R bit that belong in some other document.  In a way that can not 
be reviewed, since there is no meaning.
Please explain what harm is done by following the usual IETF protocol 
definition practice in this case.  (I have already attempted to explain 
what harm I believe is done by not doing so, and why I do not see any 
harm in doing so.)

Yours,
Joel

Dino Farinacci wrote:
> Based on this response, I propose no changes to the spec. Any objections?
> 
> Dino
> 
> On Sep 2, 2009, at 3:57 AM, Luigi Iannone wrote:
> 
>>
>> On Aug 27, 2009, at 16:56 , Sam Hartman wrote:
>>
>>>
>>>
>>> The chair would like to ask the authors of
>>> draft-iannone-lisp-mapping-versioning-00 and others involved in the
>>> discussion to comment on Dino's proposed changes for
>>> draft-ietf-lisp-04.
>>>
>>> In particular, do you prefer his proposal to your original proposal?
>>
>> Yes
>>
>>> If so, why?
>>
>> Interoperability.
>>
>> Let me try to explain the idea  about the R-bit (and hopefully 
>> addressing Joel's concerns).
>>
>> The basic idea is to have a bit that allows to overload two fields of 
>> the LISP header: Nonce and Loc-bits.
>>
>> In this way, when R = 1 we can put version numbers in the overloaded 
>> fields.
>>
>> Concerning draft-iannone-lisp-versioning-00, will update it
>> in order to respect bit's position of the new header and to be 
>> coherent with draft-ietf-lisp-04.
>>
>> Having said that, we have also to keep in mind interoperability with 
>> boxes that do not support the R-bit.
>> Those boxes will ignore the R bit, thus making mandatory that when R=1 
>> then N and L must be 0 allows to safely make the ETR ignore the 
>> overloaded fields.
>> Doing otherwise would lead to totally incompatible headers and 
>> implementations. We really do not need that.
>>
>> About Joel's concern on the case R=1 and L and N any combination that 
>> is not 00:
>>
>> For boxes that do not understand R bit:
>> These boxes will ignore the R-bit and behave normally with the other 
>> two bits (and consecutive actions).
>>
>> I do not see any harm here. What if the R bit is set due to an error 
>> on the wire? This can always happen, even with other reserved flags.
>> On the other hand, I do not think that this introduces any additional 
>> security issue. (spoofing is always possible whatever header we define)
>>
>>
>> For boxes that understand the R-bit:
>> Let me start by saying that this issue should not be tackled IMHO in 
>> draft-ietf-lisp-04. I think it belongs to documents that define the 
>> meaning of the overloaded fields (draft-iannone-lisp-versioning).
>>
>> Now, since it is not possible to know the real meaning of the fields I 
>> would suggest to silently drop the packet, because:
>>
>> - If it is the result of an error on the wire, this is so rare that 
>> dropping a packet once in a while causes no harm.
>>
>> - If it is someone sending ill formed packets, thus playing with the 
>> rules, we do not need to consider it.
>>
>>
>> At the end, I do not think that we need any error message, as 
>> suggested by Joel.
>>
>> About the issue of just making it a reserved bit, I do not see why we 
>> should do that.
>> I do not remember by heart the wording in draft-ietf-lisp-04 
>> (apologies I am on holiday and would like to spend my last days in a 
>> different way rather then going again over the document) but as far as 
>> I remember it was clear (to me at least).
>> The document clearly state that the R bit is used for research 
>> purposes and how to deal with the N and L bits.
>> It is not in the scope of that document to describe in details the 
>> content of the overloaded fields, but just to assure that there is 
>> interoperability.
>> In this way, different "flavours" of lisp can still talk to each 
>> other. Making the bit reserved could open the door to problems (as 
>> Noel suggested in one of his mails) that later on packet with the R 
>> bit set will be just dropped.
>>
>> Hope this clarifies things.
>>
>> Luigi
>>
>>
>>
>>>
>>> Comments from others on this issue would also be very useful.
>>> _______________________________________________
>>> lisp mailing list
>>> lisp@ietf.org
>>> https://www.ietf.org/mailman/listinfo/lisp
>>
>> _______________________________________________
>> lisp mailing list
>> lisp@ietf.org
>> https://www.ietf.org/mailman/listinfo/lisp
> 
> _______________________________________________
> lisp mailing list
> lisp@ietf.org
> https://www.ietf.org/mailman/listinfo/lisp
>