Re: [OSPF] Comments draft-ietf-ospf-segment-routing-extensions-00.txt

Peter Psenak <ppsenak@cisco.com> Wed, 09 July 2014 08:21 UTC

Return-Path: <ppsenak@cisco.com>
X-Original-To: ospf@ietfa.amsl.com
Delivered-To: ospf@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A41021A039B for <ospf@ietfa.amsl.com>; Wed, 9 Jul 2014 01:21:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -15.152
X-Spam-Level:
X-Spam-Status: No, score=-15.152 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, RP_MATCHES_RCVD=-0.651, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham
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 YRe2M91DMXli for <ospf@ietfa.amsl.com>; Wed, 9 Jul 2014 01:21:36 -0700 (PDT)
Received: from aer-iport-4.cisco.com (aer-iport-4.cisco.com [173.38.203.54]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9A1CE1A0398 for <ospf@ietf.org>; Wed, 9 Jul 2014 01:21:35 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=12004; q=dns/txt; s=iport; t=1404894104; x=1406103704; h=message-id:date:from:mime-version:to:cc:subject: references:in-reply-to:content-transfer-encoding; bh=sMCt9Fq+8rKdZNe2vNjI+mR3QFWkxJtK8rrPX++nLss=; b=Fy4R0KjY71gtfdshEkUyfP9JnoQUzvf4ZD5kv6wYX8evuv5Z2+JsrEdE nMKkowAMd7vrj2dSb5Je33MDA3IjTyR1oTE4XsWL1HSZx50ZOq50i7Et5 Xrg/oBWYX4WnRA/T84yz4IGsQTpv1BRCwjEuBH+RzHYAJOzYL5db/k7Hq w=;
X-IronPort-AV: E=Sophos;i="5.01,630,1400025600"; d="scan'208";a="102960889"
Received: from aer-iport-nat.cisco.com (HELO aer-core-4.cisco.com) ([173.38.203.22]) by aer-iport-4.cisco.com with ESMTP; 09 Jul 2014 08:21:41 +0000
Received: from [10.55.51.202] (ams-ppsenak-8719.cisco.com [10.55.51.202]) by aer-core-4.cisco.com (8.14.5/8.14.5) with ESMTP id s698LWdn031272; Wed, 9 Jul 2014 08:21:32 GMT
Message-ID: <53BCFB8E.30808@cisco.com>
Date: Wed, 09 Jul 2014 10:21:34 +0200
From: Peter Psenak <ppsenak@cisco.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:24.0) Gecko/20100101 Thunderbird/24.4.0
MIME-Version: 1.0
To: Anton Smirnov <asmirnov@cisco.com>, Acee Lindem <acee.lindem@ericsson.com>
References: <948E8138-3BB5-4292-9CF6-4131F6AEED8D@ericsson.com> <53B3EE66.90608@cisco.com> <677E5EF6-C3F0-41DB-A7DA-7C43E07E3B07@ericsson.com> <53B50FBC.60803@cisco.com> <53BC338C.9090808@cisco.com> <53BC4EE3.30909@cisco.com> <53BCF0AB.4080207@cisco.com>
In-Reply-To: <53BCF0AB.4080207@cisco.com>
Content-Type: text/plain; charset="windows-1252"; format="flowed"
Content-Transfer-Encoding: 8bit
Archived-At: http://mailarchive.ietf.org/arch/msg/ospf/CGxZDY7PV_bPG3CGAqMQwyvQdhI
Cc: OSPF List <ospf@ietf.org>
Subject: Re: [OSPF] Comments draft-ietf-ospf-segment-routing-extensions-00.txt
X-BeenThere: ospf@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: The Official IETF OSPG WG Mailing List <ospf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ospf>, <mailto:ospf-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ospf/>
List-Post: <mailto:ospf@ietf.org>
List-Help: <mailto:ospf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ospf>, <mailto:ospf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 09 Jul 2014 08:21:39 -0000

Hi Anton,

please see inline:


On 7/9/14 09:35 , Anton Smirnov wrote:
>     Hi Peter,
>     I don't understand your answers. Let me give an example of encoding:
>
> Extended Prefix TLV
>   192.0.2.1/32
>      Prefix SID Sub-TLV
>       Range 2
>      SID/Label Binding sub-TLV
>       Range 4
>
>
> Extended Prefix TLV
>   192.0.2.4/32
>      Prefix SID Sub-TLV
>       Range 1
>      SID/Label Binding sub-TLV
>       Range 1
>
> This is valid encoding per current text and it expands into:
>
> 192.0.2.1 - 1 SID 1 Binding
> 192.0.2.2 - 1 SID 1 Binding
> 192.0.2.3 - 1 Binding
> 192.0.2.4 - 1 SID 2 Bindings
>
> Obviously this encoding is very difficult to work with because ranges
> are different for attributes, because prefix 192.0.2.4/32 is served by
> two ranges.

the fact you have two SIDs or two Bindings for a single prefix is not a 
result of the current encoding. Moving the 'range' to top level TLV is 
not going to address it - you can have a top level TLV with 
192.0.2.1/32/4 and 192.0.2.4/32/1 resulting in the exactly the same 
situation.

>
>
> It is more logical to define range as part of top-level TLV:
>
> Extended Prefix TLV
>   Prefix/mask; Range

as I mentioned in the previous email, we want to preserve the prefix 
representation by prefix/length in top-level TLV as that is sufficient 
for almost all attributes. If people do not like the range in the Prefix 
SID and SID/Label Binding sub-TLVs, then I prefer to define a new top 
level TLV that would be used to advertise attributes for a prefix block, 
which would be represented by prefix/length/count. I'm afraid it will 
not be used for anything except the Prefix SID & SID/Label Binding 
sub-TLV though - history shows we never needed such prefix block in the 
past.

thanks,
Peter

>      Prefix SID Sub-TLV
>       SID
>      SID/Label Binding sub-TLV
>       Binding
>
> Anton
>
>
> On 07/08/2014 10:04 PM, Peter Psenak wrote:
>> Anton,
>>
>> please see inline:
>>
>> On 7/8/14 20:08 , Anton Smirnov wrote:
>>>     Hi Peter,
>>>     in current text ranges are not required to be processed and I think
>>> this kills their potential usage:
>>>
>>>     If multiple Prefix-SIDs are advertised for the same prefix, the
>>>     receiving router MUST use the first encoded SID and MAY use the
>>>     subsequent ones.
>>
>> I do not see any connection between ranges and the above text. Above
>> text says that if there are multiple prefix SIDs advertised, for a
>> single prefix, every implementation MUST process at least the first one.
>> Typically only a single SID will be advertised for each prefix
>> regardless of the range being 1 or more.
>>
>>>
>>> (and similar text for inter-area LSA origination).
>>>     Subsequent prefixes may be used or may be ignored. And if they are
>>
>> there are no subsequent prefixes. Each prefix is advertised in a
>> separate top level TLV and will have it's own prefix-SID sub-TLV, only
>> belonging to that prefix.
>>
>>> ignored then it is originator's fault, receiver has all rights to ignore
>>> them. If the mapping server wants to ensure every router installs prefix
>>> attributes then it has no choice but to break the range and advertise
>>> each prefix individually.
>>>     So IMO ranges processing must be required on every step, otherwise
>>> they will never be used.
>>>
>>
>> please see above.
>>
>>>
>>>
>>>
>>>  > high level TLV advertise a single prefix/mask. It's the sub-TLV which
>>>  > may extend the applicability to the range if required, so the
>>> scope is
>>>  > defined by each sub-TLV.
>>
>> the way to look at it is that the top-level TLV always advertises a
>> single prefix in a form of prefix/length. Nested sub-TLVs have their own
>> data, which are interpreted based on the sub-TLV specification, they do
>> not change what is in the top-level TLV. The fact that some sub-TLV has
>> a count variable and use the prefix/mask as starting point makes no
>> impact on the top-level data.
>>
>>>
>>>     That what makes ranges counter intuitive. Intuitive hierarchy is
>>> object on the top and then subordinate items describing properties of
>>> the object:
>>>
>>> Object ---
>>>           |
>>>           |- attribute1
>>>           |- attribute2
>>>
>>>
>>> But the current scheme does not define object at the top of the
>>> hierarchy, real object is defined together with property:
>>>
>>> Anchor ---
>>>           |
>>>           |- range-of-objects-and-attribute1
>>>           |- range-of-objects-and-attribute2
>>>
>>> There are three problems with this representation:
>>> 1. Anchor (i.e. top level TLV) is not enough to determine which objects
>>> (i.e. prefixes) are affected and which are not
>>
>> actually it is enough. We are not changing or replacing the top-level
>> data. We are just using it differently - for prefix-SID sub-TLV the
>> prefix/length in the top-level TLV is used as a 'start' object.
>>
>>> 2. Set of objects (i.e. the range) may be different in each sub-TLV thus
>>> raising concerns of ambiguity
>>
>> this does not introduce any more ambiguity then any other encoding which
>> includes prefix/mask/count variables.
>>
>>> 3. Text requires that anchor is advertised only once but there is no
>>> requirement that ranges advertised for different anchors cannot overlap
>>
>> actually there is no reason why they can not overlap. We have overlaps
>> today with prefix/mask semantics as well and we deal with them.
>>
>>>
>>> It would have been more logical to define range in the "OSPF Extended
>>> Prefix TLV" header itself, not in each sub-TLV. This specifies the
>>> object (i.e. the range) in the topmost TLV and resolves problems
>>> mentioned above.
>>
>> we wanted to preserve the prefix/length semantics well known from
>> current OSPF. Making size mandatory would be a significant deviation
>> from the current OSPF spec.
>>
>> Prefix-SID 'count' semantics is something specific to the SID and is
>> more of an exception and IMHO should not force us to to deviate from
>> representation we are used to work with.
>>
>> thanks,
>> Peter
>>
>>
>>
>>>
>>> Anton
>>>
>>>
>>> On 07/03/2014 10:09 AM, Peter Psenak wrote:
>>>> Hi Acee,
>>>>
>>>> please see inline:
>>>>
>>>> On 7/2/14 19:17 , Acee Lindem wrote:
>>>>> Hi Peter,
>>>>> It seems there are two distinct deployment scenarios - one where SR
>>>>> routers are given a range and policy and allocate their own SIDs and
>>>>> another where a mapping server does it for the routing domain.
>>>>
>>>> yes, that is correct. The latter is used mainly during migration from
>>>> LDP to SR.
>>>>
>>>>
>>>>
>>>>>>>         6. Section 4.2 - I really don’t like having his sub-TLV
>>>>>>> redefine the subsuming top-level TLV as a range of prefixes of the
>>>>>>> same length rather than a single prefix. Although this is my first
>>>>>>> serious reading of the draft, this encoding seems really unwieldy
>>>>>>> and, in practice, I’d expect the range size always advertised as 1.
>>>>>>> We can discuss this more in Toronto.
>>>>>>
>>>>>> an example where the range would be more then 1 is a mapping server
>>>>>> case. This helps you to advertise SIDs for loopback addresses of all
>>>>>> routers in a non-SR capable part of the network, assuming they are
>>>>>> allocated from the contiguous address space. Instead of advertising
>>>>>> hundreds of mappings for each /32 address, you can compact it to a
>>>>>> single advertisement.
>>>>>
>>>>> I’ve seen loopbacks allocated sequentially in a few networks but many
>>>>> more where there weren’t.
>>>>
>>>> still, having a mechanism to compact the advertisements if possible
>>>> looks appealing.
>>>>
>>>>>
>>>>>>
>>>>>> What you need in such case is component prefix/length plus the number
>>>>>> of components - OSPF Extended Prefix TLV gives you the component info
>>>>>> and Prefix SID Sub-TLV "Range Size' gives you the number of
>>>>>> components.
>>>>>
>>>>> I understood it but I don’t like the sub-TLV extending the
>>>>> specification of the higher level TLV. I especially don’t like it
>>>>> since the top-level TLV is a generic mechanism to advertise
>>>>> attributes.  When additional attributes are defined, it begs the of
>>>>> whether or not they apply solely to the prefix or to the range.
>>>>
>>>> high level TLV advertise a single prefix/mask. It's the sub-TLV which
>>>> may extend the applicability to the range if required, so the scope is
>>>> defined by each sub-TLV.
>>>>
>>>>>
>>>>>>
>>>>>> We could have defined a separate top level TLV in OSPF Extended
>>>>>> Prefix LSA for the advertisement of range of components, but it looks
>>>>>> to me that would be an overkill.
>>>>>
>>>>> I would have preferred that. When the SID attributes are embedded
>>>>> (OSPFv3 and ISIS), I think the semantics are even more unnatural since
>>>>> reachability MAY be advertised for the prefix while SID mapping is
>>>>> being advertised for the range.
>>>>
>>>> I had the same reservations at the beginning :)
>>>> But there is no problem really. Prefix-SID sub-TLV never advertises any
>>>> reachability, whether it advertises a single SID or a range of SIDs.
>>>> For
>>>> Prefix-SID sub-TLV, prefix from the higher level TLV has a meaning of
>>>> "start" and Prefix-SID sub-TLV always carry its own "size" - just a
>>>> different interpretation of the data from the higher level TLV.
>>>>
>>>> Please note that SID range is quite different from the address range we
>>>> are used to from summarization. SID range requires three parameters
>>>> (address/mask and count), compared to two parameter (address/mask) that
>>>> traditional address range uses. As a result, Extended prefix TLV as
>>>> such
>>>> can not cover the SID range, because it only has address/mask. Defining
>>>> a top-level TLV for a SID range itself does not really fit into
>>>> Extended
>>>> Prefix LSA and having a new LSA for it is not an option I would say. So
>>>> the current encoding looks like a good compromise to me.
>>>>
>>>> thanks,
>>>> Peter
>>>>
>>>>>
>>>>>> Current encoding of Prefix SID Sub-TLV gives us all the flexibility
>>>>>> we need. In addition it matches what ISIS has done.
>>>>>
>>>>> I haven’t seen any discussion of the draft on the ISIS list other than
>>>>> the revision updates.
>>>>>
>>>>> Thanks,
>>>>> Acee
>>>>>
>>>>>
>>>>>
>>>>>>
>>>>>>
>>>>>>>
>>>>>>>         7. Section 4.2 - Shouldn’t the reference for the mapping
>>>>>>> server be the “Segment Routing Architecture” rather than the
>>>>>>> “Segment Routing Use Cases”? In general, the usage of a mapping
>>>>>>> server and the scope of assignment needs to be described better
>>>>>>> somewhere (not in the OSPF encoding document).
>>>>>>
>>>>>> will fix the reference
>>>>>>
>>>>>>>
>>>>>>>         8. Section 6 - It would seem that an entity calculating a
>>>>>>> multi-area SR path would need access to the topology for all the
>>>>>>> areas and the SID would need to be globally assigned? Right?
>>>>>>
>>>>>> correct.
>>>>>>
>>>>>>> So rules are primarily for the population of the forwarding plane.
>>>>>>> Right?
>>>>>>
>>>>>> for advertisement/propagation of SIDs and for forwarding plane
>>>>>> programming.
>>>>>>
>>>>>>>
>>>>>>>         9. Section 6.2 - In standard OSPF, inter-area summary
>>>>>>> propagation only applies to inter-area routes learned over the
>>>>>>> backbone. Is this any different?
>>>>>>
>>>>>> no, the mechanism is the same as for type-3s.
>>>>>>
>>>>>> thanks,
>>>>>> Peter
>>>>>>
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Acee
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> .
>>>>>>>
>>>>>>
>>>>>
>>>>> .
>>>>>
>>>>
>>>> _______________________________________________
>>>> OSPF mailing list
>>>> OSPF@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/ospf
>>> .
>>>
>>
> .
>