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

Peter Psenak <ppsenak@cisco.com> Tue, 08 July 2014 20:04 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 213581A0025 for <ospf@ietfa.amsl.com>; Tue, 8 Jul 2014 13:04:54 -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 uGXSv_SqVaUS for <ospf@ietfa.amsl.com>; Tue, 8 Jul 2014 13:04:52 -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 7C40D1A0009 for <ospf@ietf.org>; Tue, 8 Jul 2014 13:04:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=9441; q=dns/txt; s=iport; t=1404849891; x=1406059491; h=message-id:date:from:mime-version:to:cc:subject: references:in-reply-to:content-transfer-encoding; bh=SPYiHozQPXO0hAFxzdV6G6n1nWGJlcdC563M1NNZuWg=; b=V59AZiMtpq+SNXZkT4rHJSafmpra2MNUyyQofLF8yV3M0ltscXUZJO7E eGCndL71Y4ZY41TNJ/ZhLCnbJimFTzj8jXz2tsIo1NqkGxP4dCR9ND+li NLBs+G6WbcRnCJikIs0GpMHbER6uPGpd7zDD/3zD0lGCCKPr3Q8xWMKmX I=;
X-IronPort-AV: E=Sophos;i="5.01,626,1400025600"; d="scan'208";a="102673261"
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; 08 Jul 2014 20:04:50 +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 s68K4ntx020765; Tue, 8 Jul 2014 20:04:49 GMT
Message-ID: <53BC4EE3.30909@cisco.com>
Date: Tue, 08 Jul 2014 22:04:51 +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>
In-Reply-To: <53BC338C.9090808@cisco.com>
Content-Type: text/plain; charset="windows-1252"; format="flowed"
Content-Transfer-Encoding: 8bit
Archived-At: http://mailarchive.ietf.org/arch/msg/ospf/WsHXJ2weyRQ1g9DV6BdiBeVvEW4
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: Tue, 08 Jul 2014 20:04:54 -0000

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
> .
>