Re: [OSPF] PHP route determination in draft-ietf-ospf-segment-routing-extensions-03

Peter Psenak <ppsenak@cisco.com> Tue, 31 March 2015 15:13 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 E01AC1ACDF2 for <ospf@ietfa.amsl.com>; Tue, 31 Mar 2015 08:13:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -12.71
X-Spam-Level:
X-Spam-Status: No, score=-12.71 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, J_CHICKENPOX_38=0.6, J_CHICKENPOX_82=0.6, J_CHICKENPOX_84=0.6, NORMAL_HTTP_TO_IP=0.001, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, 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 1Q2f9I7r1eaB for <ospf@ietfa.amsl.com>; Tue, 31 Mar 2015 08:13:23 -0700 (PDT)
Received: from aer-iport-1.cisco.com (aer-iport-1.cisco.com [173.38.203.51]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8A9E91ACE07 for <ospf@ietf.org>; Tue, 31 Mar 2015 08:13:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=5955; q=dns/txt; s=iport; t=1427814802; x=1429024402; h=message-id:date:from:mime-version:to:subject:references: in-reply-to:content-transfer-encoding; bh=j0d+tr/Q+uCYzA43pv+x6kwCkKSR3R85VAWcDjbqVw4=; b=kRK2jysTZry8wMkM4xmwqiwtuCR40+XifkqMa7LgTm2ZHqBRvYLxwlg6 3X3+zLzckIBlTaHSJFCExrYzIEJg+4OVl01OR8FeYkVP17VUYnjeJpGau tbBBjm+IdvbJpPGtmfhWRCc3Vbg8VE0vRJfzmnttrlsNHjpo+4EwQeten o=;
X-IronPort-AV: E=Sophos;i="5.11,501,1422921600"; d="scan'208";a="428321069"
Received: from aer-iport-nat.cisco.com (HELO aer-core-4.cisco.com) ([173.38.203.22]) by aer-iport-1.cisco.com with ESMTP; 31 Mar 2015 15:13:21 +0000
Received: from [10.55.51.194] (ams-ppsenak-8711.cisco.com [10.55.51.194]) by aer-core-4.cisco.com (8.14.5/8.14.5) with ESMTP id t2VFDKhV005511; Tue, 31 Mar 2015 15:13:20 GMT
Message-ID: <551AB98F.9050008@cisco.com>
Date: Tue, 31 Mar 2015 17:13:19 +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: Santanu Kar <santanu.kar@ipinfusion.com>, ospf@ietf.org, sprevidi@cisco.com, cfilsfil@cisco.com, hannes@juniper.net, rob.shakir@bt.com, wim.henderickx@alcatel-lucent.com
References: 4fc9cc059b29bc852addd12c4dcb9399@mail.gmail.com <05e49b8dbcff3bd69762a410d9945189@mail.gmail.com>
In-Reply-To: <05e49b8dbcff3bd69762a410d9945189@mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 7bit
Archived-At: <http://mailarchive.ietf.org/arch/msg/ospf/CWqDlRUY0AahReFWLjyQkToy01Y>
Subject: Re: [OSPF] PHP route determination in draft-ietf-ospf-segment-routing-extensions-03
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, 31 Mar 2015 15:13:26 -0000

Santanu,

On 3/31/15 15:20 , Santanu Kar wrote:
> Hi Authors
>
> I think last mail was a bit long to have probably missed the actual
> point which I was trying to make.Stating it concisely again.
>
> The PHP Prefix Segment can be advertised by the neighbor as well
> as by routers downstream of the neighbor which are connected to it.

correct, typical case is an area boundary, where ABR propagates the 
prefix SID between areas.


>
> So to determine a PHP Prefix Segment, should the recipient router
> only check for PHP when its advertised from its neighbor(with NP flag
> unset), or even when its from other routers downstream of the neighbor.

draft says two things:

1. If the NP-Flag is not set then any upstream neighbor of the Prefix-
    SID originator MUST pop the Prefix-SID.

2. When calculating the outgoing label for the prefix, the router MUST
    take into account E and P flags advertised by the next-hop router, if
    next-hop router advertised the SID for the prefix.  This MUST be done
    regardless of whether the next-hop router contributes to the best
    path to the prefix.

'E and P flags' should be 'E and NP flags' in the above paragraph, will 
fix that in the next re-spin.

In summary, you should only follow what NP-bit is telling you, if the 
neighbor advertised the SID.

regards,
Peter

>
> The reason for this doubt is this statement in the text
>
> "If the NP-Flag is not set then any*upstream neighbor*of the Prefix-SID
> originator MUST pop the Prefix-SID.  This is equivalent to
> the penultimate hop popping mechanism used in the MPLS dataplane."
>
> Regards
>
> Santanu
>
> -----Original Message-----
> From: Santanu Kar [mailto:santanu.kar@ipinfusion.com]
> Sent: Friday, March 27, 2015 7:47 PM
> To: 'ospf@ietf.org <mailto:ospf@ietf.org>'; 'ppsenak@cisco.com
> <mailto:ppsenak@cisco.com>'; 'sprevidi@cisco.com
> <mailto:sprevidi@cisco.com>'; 'cfilsfil@cisco.com
> <mailto:cfilsfil@cisco.com>'; 'hannes@juniper.net
> <mailto:hannes@juniper.net>'; 'rob.shakir@bt.com
> <mailto:rob.shakir@bt.com>'; 'wim.henderickx@alcatel-lucent.com
> <mailto:wim.henderickx@alcatel-lucent.com>'
> Subject: PHP route determination in
> draft-ietf-ospf-segment-routing-extensions-03
>
> Hi
>
> Seeking some more clarification in the draft regarding PHP route
> determination. Please consider the following scenario. SID refers to
> Prefix Segment Identifier.
>
>
>     Router-A: --------------------- :Router-B: ---------------------(
> SID-210) :Router-C
>
> 10.0.0.0/24 <http://10.0.0.0/24> 20.0.0.0/24 <http://20.0.0.0/24>
>
>     Lets consider the above topology of 3 routers. Router-C has
> configured Prefix SID 210 for prefix 20.0.0.0/24 <http://20.0.0.0/24>
> prefix. In the context of Router-A, the route 20.0.0.0/24
> <http://20.0.0.0/24> is a PHP route, as it belongs to its neighbor
> Router-B. Router-B is not configured.
>
> When Ext Prefix LSA with SID 210 originated by Router-C reaches Router-A
> , it finds that it's not from its neighbor Router-B and hence it will
> end up installing a non-PHP label say 210, instead of doing penultimate
> hop pop for the route 20.0.0.0/24 <http://20.0.0.0/24>. But this won't
> be correct.
>
> Am interpreting this because as per the following rules for PHP
> determination prescribed in the document, "If the NP-Flag is not set
> then any upstream neighbor of the Prefix-
>
>     SID originator MUST pop the Prefix-SID.  This is equivalent to the
>
>     penultimate hop popping mechanism used in the MPLS dataplane."
>
> Since this is an intra-area case, NP is not set. However since Router-A
> is not upstream neighbor of Router-C it will not apply PHP for this
> route, even though its actually a PHP route. Few questions in this
>
> 1) Should we just rely on checking that its upstream neighbor and NP
> flag and then apply PHP, or Router-A should do a special search its Link
> State database to find whether the route actually belongs to its
> neighbor, in this case Router-B.
>
> 2) Is the above a valid scenario or the administrator is mandated to
> configure SID values (which are all same) on all routers connected to
> subnet 20.0.0.0/24 <http://20.0.0.0/24>.
>
> 3) If we mandate (2) we will have the below scenario
>
>     Router-A --------------------- :Router-B :
> SID-210--------------------- SID-210:Router-C
>
> 10.0.0.0/24 <http://10.0.0.0/24> 20.0.0.0/24 <http://20.0.0.0/24>
>
> In this case, even if we configure SID in Router-C earlier, we will be
> needed to configure the same in Router-B also. So Router-A will select
> the Ext Prefix LSA coming from Router-B , as its the best path for route
> 20.0.0.0/24 <http://20.0.0.0/24> than Router-C. So even though we have
> non-PHP label installed first, it will be replaced with PHP label as
> soon ROuter-B is also configured for same prefix. So we may not choose
> to do special search in link state database to find PHP route as
> mentioned in (1)
>
> The selection of SID, when both Router-B and Router-C is configured is
> based on following the rules mentioned
> inhttps://tools.ietf.org/html/draft-ietf-ospf-prefix-link-attr-03#section-2.1
>
> "If this TLV is advertised multiple times for the same prefix in
>
>     different OSPFv2 Extended Prefix Opaque LSAs originated by the
>
>     different OSPF routers, the application using the information is
>
>     required to determine which OSPFv2 Extended Prefix Opaque LSA is
>
>     used.  For example, the application could prefer the LSA providing
>
>     the best path to the prefix."
>
> So should we follow (2) and (3) for considering PHP, or (1). If we don't
> follow any, we will end up having non-PHP label even for routes that are
> PHP.
>
> Please point me out if in case I am misinterpreting the intent of any
> texts mentioned from the drafts.
>
> Regards
>
> Santanu
>
>
> .