Re: [Lsr] Flex Algo merge work, IS-IS and OSPF FAD sub-TLVs

Peter Psenak <ppsenak@cisco.com> Fri, 18 May 2018 16:12 UTC

Return-Path: <ppsenak@cisco.com>
X-Original-To: lsr@ietfa.amsl.com
Delivered-To: lsr@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 96AC512DA12 for <lsr@ietfa.amsl.com>; Fri, 18 May 2018 09:12:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.511
X-Spam-Level:
X-Spam-Status: No, score=-14.511 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_DKIMWL_WL_MED=-0.01, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id c9U9zqs_NdiK for <lsr@ietfa.amsl.com>; Fri, 18 May 2018 09:12:41 -0700 (PDT)
Received: from aer-iport-3.cisco.com (aer-iport-3.cisco.com [173.38.203.53]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 721AF12D7F6 for <lsr@ietf.org>; Fri, 18 May 2018 09:12:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=4970; q=dns/txt; s=iport; t=1526659960; x=1527869560; h=message-id:date:from:mime-version:to:cc:subject: references:in-reply-to:content-transfer-encoding; bh=OfqNRxHLJ9snsdjCiHzxuqKMGcpm1EysfY1lN2P6ceo=; b=EClnDvWL5ZeQfyaw+6/QmLclVzos8cGoOMooBM1zyN2mqIt3tPHfwImt H0bppq9s7v6YbNJKJMlrqmaLPsopUYScDB0g0kwjemUZEKhMiWFkbEvPF h2JWs109CCIhHBd514mZFYvuVwqA1XppWl+XJoggL1Zwa44U3WzzStaqg I=;
X-IronPort-AV: E=Sophos;i="5.49,415,1520899200"; d="scan'208";a="3877997"
Received: from aer-iport-nat.cisco.com (HELO aer-core-4.cisco.com) ([173.38.203.22]) by aer-iport-3.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 18 May 2018 16:12:38 +0000
Received: from [10.60.140.54] (ams-ppsenak-nitro5.cisco.com [10.60.140.54]) by aer-core-4.cisco.com (8.14.5/8.14.5) with ESMTP id w4IGCc1k019541; Fri, 18 May 2018 16:12:38 GMT
Message-ID: <5AFEFB76.9040802@cisco.com>
Date: Fri, 18 May 2018 18:12:38 +0200
From: Peter Psenak <ppsenak@cisco.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:24.0) Gecko/20100101 Thunderbird/24.4.0
MIME-Version: 1.0
To: "Acee Lindem (acee)" <acee@cisco.com>, Christian Hopps <chopps@chopps.org>
CC: "lsr@ietf.org" <lsr@ietf.org>
References: <612C3B15-9DD2-48C0-A5E5-B999D07AD1D7@cisco.com> <62B7E5A8-179A-4833-AB18-E0EDC9EC4D9E@chopps.org> <A3CC9624-9DE9-48AF-BDEA-AC07495667A9@cisco.com>
In-Reply-To: <A3CC9624-9DE9-48AF-BDEA-AC07495667A9@cisco.com>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/lsr/Z_fOno-0vrcH-Y-RNHjjxcX9ziU>
Subject: Re: [Lsr] Flex Algo merge work, IS-IS and OSPF FAD sub-TLVs
X-BeenThere: lsr@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Link State Routing Working Group <lsr.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/lsr>, <mailto:lsr-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/lsr/>
List-Post: <mailto:lsr@ietf.org>
List-Help: <mailto:lsr-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/lsr>, <mailto:lsr-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 18 May 2018 16:12:43 -0000

Hi Chris, Acee,

On 18/05/18 17:45 , Acee Lindem (acee) wrote:
>
>
>> On May 18, 2018, at 11:20 AM, Christian Hopps <chopps@chopps.org> wrote:
>>
>> To clarify, I think the win here is with clear and concise specifications, and avoiding double definitions of what is supposed to be the same thing -- not shared TLV parsing code. :)
>
> I think this can be accomplished without a single IANA registry. It is all a matter of how the draft is written.

I'm all for making it better, but we should not overdo it.

ISIS and OSPF TLVs are never really the same due to basic TLV header 
difference. OSPF TLVs are always padded to 4-octet alignment, while ISIS 
ones are not. Having a common definition for both given these 
differences would be messy IMHO.

thanks,
Peter


>
>>
>> There's actually nothing sub-optimal encoding-wise with option 2a or 2b. The drawback with option 2 is we have 2 different TLV structures, the registry can be shared though.
>
> I don’t think 2b is an option since it increases the IS-IS type/length size. 2a would be viable but by the time you documented all the constraints and what OSPF should do if they weren’t followed, you’d have negated any benefit.
>
> If the WG really wants protocol convergence, everyone should move to OSPFv3 since it has all the advantages of both protocols. ;^)
>
> Thanks,
> Acee
>
>
>>
>> Thanks,
>> Chris.
>>
>>> On May 18, 2018, at 10:29 AM, Acee Lindem (acee) <acee@cisco.com> wrote:
>>>
>>> Hi Chris,
>>>
>>> Somehow, I lost the mail below and was only able to retrieve it from the archive. Pardon my top posting.
>>>
>>> While I believe that sharing code points for values, e.g., IGP Algorithm Type, is a good idea, I don’t necessarily think it is a good idea to merge the TLV type registries. It seems to me it would be a poor trade-off to impact optimal protocol encoding including implementation just so we can have a combined IANA registry. It is extremely unlikely that OSPF and IS-IS implementations will ever share a common TLV parsing library.
>>>
>>> Note that we did discuss this once before in the context of the OSPF and IS-IS Tunnel Encapsulation drafts. I'd appreciate hearing what other WG members feel with respect to this issue.
>>>
>>> Thanks,
>>> Acee
>>>
>>>
>>>
>>>
>>>
>>>
>>> Christian Hopps <chopps@chopps.org> Thu, 17 May 2018 21:07 UTC
>>>
>>> So in looking at the IANA requests inside the newly merged flex algorithm draft I noticed that the document is creating 2 separate Flex Algorithm Definition sub-tlvs Registries for IS-IS and OSPF with the initial content described in sections:
>>>
>>> 6.1.  ISIS Flexible Algorithm Exclude Admin Group Sub-TLV
>>> 6.2.  ISIS Flexible Algorithm Include-Any Admin Group Sub-TLV
>>> 6.3.  ISIS Flexible Algorithm Include-All Admin Group Sub-TLV
>>>
>>> 7.1.  OSPF Flexible Algorithm Exclude Admin Group Sub-TLV
>>> 7.2.  OSPF Flexible Algorithm Include-Any Admin Group Sub-TLV
>>> 7.3.  OSPF Flexible Algorithm Include-All Admin Group Sub-TLV
>>>
>>> They are basically the same thing (indeed the later OSPF sections refer back to the IS-IS sections), except for one detail AFAICT, the size of the type and length fields.
>>>
>>> I think we may have some options here to make this a bit more elegant.
>>>
>>> 1. Share the same sub-TLV structure
>>>   a. using the OSPF sub-tlv structure (16 bit type and 16 bit len) for both protocols
>>>   b. using the IS-IS sub-tlv structure (8 bit type and 8 bit len) for both protocols
>>>
>>> 2. Use different structure with the same type field size of the
>>>   a. more constrained IS-IS 8 bit size
>>>   b. less constrained OSPF 16 bit size
>>>
>>> 3. Define and use some generic method to define shared TLVs like this where the only actual difference is the size of the type and length fields.
>>>
>>>
>>> 1, Creates a clean and simple standard, 1 TLV definition and 1 sub-TLV registry.
>>>
>>> 1a, has the property that the length value in IS-IS can't normally exceed an 8 bit value; however, sub-TLV length values are already constrained beyond the field size as sub-TLVs may appear anywhere in the TLV.
>>>
>>> 1b, restricts both protocols to 256 types, and perhaps more importantly restricts the sub-TLV length to 257 octets. This is handled all the time in IS-IS using repeated TLVs, but not so much (ever?) in OSPF.
>>>
>>>
>>> 2. Allows us to at least create a single IANA registry for the sub-tlv types so we aren't duplicating them and their definitions for each protocol.
>>>
>>>
>>> 3. Is interesting but probably requires some work outside of this document.
>>>
>>>
>>> This document is serving as our guinea pig for how to merge work so I think it's worth spending some effort on these types of details.
>>>
>>> Thanks,
>>> Chris.
>>>
>>
>
> _______________________________________________
> Lsr mailing list
> Lsr@ietf.org
> https://www.ietf.org/mailman/listinfo/lsr
>