Re: [Idr] Comments: Route Origin Community in SR Policy(draft-ietf-spring-segment-routing-policy)

Fangsheng <fangsheng@huawei.com> Wed, 20 May 2020 14:03 UTC

Return-Path: <fangsheng@huawei.com>
X-Original-To: idr@ietfa.amsl.com
Delivered-To: idr@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 21DF53A0A03; Wed, 20 May 2020 07:03:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level:
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 UF8iwzYg26NB; Wed, 20 May 2020 07:03:35 -0700 (PDT)
Received: from huawei.com (lhrrgout.huawei.com [185.176.76.210]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0D52F3A0A02; Wed, 20 May 2020 07:03:34 -0700 (PDT)
Received: from lhreml741-chm.china.huawei.com (unknown [172.18.7.106]) by Forcepoint Email with ESMTP id 7CBE873D778AE7EB4D05; Wed, 20 May 2020 15:03:30 +0100 (IST)
Received: from nkgeml709-chm.china.huawei.com (10.98.57.40) by lhreml741-chm.china.huawei.com (10.201.108.191) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1913.5; Wed, 20 May 2020 15:03:26 +0100
Received: from nkgeml707-chm.china.huawei.com (10.98.57.157) by nkgeml709-chm.china.huawei.com (10.98.57.40) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1913.5; Wed, 20 May 2020 22:03:23 +0800
Received: from nkgeml707-chm.china.huawei.com ([10.98.57.157]) by nkgeml707-chm.china.huawei.com ([10.98.57.157]) with mapi id 15.01.1913.007; Wed, 20 May 2020 22:03:23 +0800
From: Fangsheng <fangsheng@huawei.com>
To: Robert Raszuk <robert@raszuk.net>
CC: "Ketan Talaulikar (ketant)" <ketant@cisco.com>, "Chengli (Cheng Li)" <c.l@huawei.com>, "draft-ietf-spring-segment-routing-policy@ietf.org" <draft-ietf-spring-segment-routing-policy@ietf.org>, idr wg <idr@ietf.org>, SPRING WG <spring@ietf.org>, stefano previdi <stefano@previdi.net>, Yangang <yangang@huawei.com>
Thread-Topic: [Idr] Comments: Route Origin Community in SR Policy(draft-ietf-spring-segment-routing-policy)
Thread-Index: AdYek4MmKSUhOySlR86q9L0AexcDnQANyexg//+EXgCAHHfPgP/8lbwQgAaffAD//2s+AA==
Date: Wed, 20 May 2020 14:03:23 +0000
Message-ID: <05da1ce8c7f949cf9ba5bec27fd1d64c@huawei.com>
References: <C7C2E1C43D652C4E9E49FE7517C236CB029FAC88@dggeml529-mbx.china.huawei.com> <MW3PR11MB45702B49025A293583346F36C1AA0@MW3PR11MB4570.namprd11.prod.outlook.com> <CAOj+MMGbjvgn6VL3dKviuxzNNRk0pwFkBOTJUz15D8iSM9=-Rw@mail.gmail.com> <MW3PR11MB457083E56B77688CA68A2500C1B80@MW3PR11MB4570.namprd11.prod.outlook.com> <83bae48cc52d4a5da9a7ee76529a8d20@huawei.com> <CAOj+MMFs2fGy0ciyBJvoWng++oepamF8YxyO=QtR9yYWbazbqg@mail.gmail.com>
In-Reply-To: <CAOj+MMFs2fGy0ciyBJvoWng++oepamF8YxyO=QtR9yYWbazbqg@mail.gmail.com>
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
x-originating-ip: [10.108.202.139]
Content-Type: multipart/related; boundary="_004_05da1ce8c7f949cf9ba5bec27fd1d64chuaweicom_"; type="multipart/alternative"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/idr/FdoCFRVk6LVaRqpte_yphHUKY6c>
Subject: Re: [Idr] Comments: Route Origin Community in SR Policy(draft-ietf-spring-segment-routing-policy)
X-BeenThere: idr@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Inter-Domain Routing <idr.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/idr>, <mailto:idr-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/idr/>
List-Post: <mailto:idr@ietf.org>
List-Help: <mailto:idr-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/idr>, <mailto:idr-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 20 May 2020 14:03:43 -0000

Hi,

I don't think CSG1 needs to "generate" anything. Peers which send you particular policy are well known at CSG1.

è Yes, The word “generate” is indeed inaccurate, I mean that CSG1 finalizes the key of the candidate path, not the controller. For example, when CSG1 needs to notify the controller of the traffic statistics of each segment list, the controller cannot recognize the key of the candidate path to which these segment lists belong.


Well what you call "waste" I call redundancy. Sure keeping extra paths requires some cost, but building redundancy in control plane pays off.


è I think it is enough to keep the route redundant in the BGP SR Policy address family, but for the SR Policy component, because the keys of the two candidata paths are different, it does not even know that these two paths are redundant


Thx

From: Robert Raszuk [mailto:robert@raszuk.net]
Sent: Wednesday, May 20, 2020 8:59 PM
To: Fangsheng <fangsheng@huawei.com>
Cc: Ketan Talaulikar (ketant) <ketant@cisco.com>om>; Chengli (Cheng Li) <c.l@huawei.com>om>; draft-ietf-spring-segment-routing-policy@ietf.org; idr wg <idr@ietf.org>rg>; SPRING WG <spring@ietf.org>rg>; stefano previdi <stefano@previdi.net>et>; Yangang <yangang@huawei.com>
Subject: Re: [Idr] Comments: Route Origin Community in SR Policy(draft-ietf-spring-segment-routing-policy)

Hi,

> the node-address is generated by CSG1

I don't think CSG1 needs to "generate" anything. Peers which send you particular policy are well known at CSG1.

> The process described above will result in a waste of redundant candidate paths on CSG1,

Well what you call "waste" I call redundancy. Sure keeping extra paths requires some cost, but building redundancy in control plane pays off.

Thx,
R.




On Wed, May 20, 2020 at 2:32 PM Fangsheng <fangsheng@huawei.com<mailto:fangsheng@huawei.com>> wrote:
Hi Robert,
Take the following picture as an example, I think you can understand our problem more easily.
The controller needs to notify the headend CSG1 through BGP SR Policy to create a candidate path of SR Policy. This BGP SR Policy route will be advertised to CSG1 through RR1 and RR2.
According to the definition in draft, the key of a candidate path is <Protocol-Origin, originator, discriminator>, where originator = <ASN, node-address>, so a complete candidate path key is <Protocol-Origin, ASN, node-address , discriminator>.
However, in this specific example, the node-address is generated by CSG1, and because CSG1 receives BGP SR Policy routes from RR1 and RR2, respectively, CSG1 will get two different node-addresses. CSG1 thinks that it is necessary to create two  candidate paths, and the controller does not know what the node-address CSG1 will eventually generate. Maybe:
Candidate path 1’ key:  <BGP,RR1’s ASN, RR1’ BGP Router ID, discriminator1>
Candidate path 2’ key:  <BGP,RR2’s ASN, RR2’ BGP Router ID, discriminator2>
The process described above will result in a waste of redundant candidate paths on CSG1,
At the same time, when CSG1 needs to announce the SR Policy information to the controller through BGP LS, it needs to carry the keys of the candidate path in it, and the controller cannot recognize these keys.


[cid:image001.png@01D62EF1.37EC08E0]

To solve these problems,  We recommend carrying the Route Origin Community (defined in RFC 4360) directly when the controller advertises BGP routes.
In this way, the key  of the CP is determined by the controller and will not change during the advertisement of BGP routes.




发件人: Ketan Talaulikar (ketant) [mailto:ketant@cisco.com<mailto:ketant@cisco.com>]
发送时间: 2020年5月18日 20:00
收件人: Robert Raszuk <robert@raszuk.net<mailto:robert@raszuk.net>>
抄送: Chengli (Cheng Li) <c.l@huawei.com<mailto:c.l@huawei.com>>; draft-ietf-spring-segment-routing-policy@ietf.org<mailto:draft-ietf-spring-segment-routing-policy@ietf.org>; idr wg <idr@ietf.org<mailto:idr@ietf.org>>; SPRING WG <spring@ietf.org<mailto:spring@ietf.org>>; Fangsheng <fangsheng@huawei.com<mailto:fangsheng@huawei.com>>; stefano previdi <stefano@previdi.net<mailto:stefano@previdi.net>>
主题: RE: [Idr] Comments: Route Origin Community in SR Policy(draft-ietf-spring-segment-routing-policy)

Hi Robert,

You are right that the “Originator” is not used in BGP best path and is just for a tie-breaking logic in SRTE between paths from different protocols and controllers. I doubt if there is a functional issue here.

I thought that Chengli was bringing in some new/different requirement for the “Originator” field for some deployment design. I haven’t seen a response/clarification from him as yet, and so perhaps I misunderstood him in which case we are ok here.

Thanks,
Ketan

From: Robert Raszuk <robert@raszuk.net<mailto:robert@raszuk.net>>
Sent: 30 April 2020 14:46
To: Ketan Talaulikar (ketant) <ketant@cisco.com<mailto:ketant@cisco.com>>
Cc: Chengli (Cheng Li) <chengli13@huawei.com<mailto:chengli13@huawei.com>>; draft-ietf-spring-segment-routing-policy@ietf.org<mailto:draft-ietf-spring-segment-routing-policy@ietf.org>; idr wg <idr@ietf.org<mailto:idr@ietf.org>>; SPRING WG <spring@ietf.org<mailto:spring@ietf.org>>; Fangsheng <fangsheng@huawei.com<mailto:fangsheng@huawei.com>>; stefano previdi <stefano@previdi.net<mailto:stefano@previdi.net>>
Subject: Re: [Idr] Comments: Route Origin Community in SR Policy(draft-ietf-spring-segment-routing-policy)

Hi Chengli and Ketan,

Well I think (perhaps to your surprise) the current text is actually correct.

See the overall idea of section 2.4 is not to define the real source of the candidate path. That is done in section 2.5 The idea here is to keep multiple *paths or versions* of the candidate paths in the local system uniquely.

See if you continue reading section 2.6 demystifies the real objective:


   The tuple <Protocol-Origin, originator, discriminator> uniquely

   identifies a candidate path.



So the real originator is encoded in discriminator and here it just means the peer candidate path was

received from. And if you read on this entire exercise only servers best path selection as described in section 2.9.



.... the following order until only one valid best path is selected:



   1.  Higher value of Protocol-Origin is selected.



   2.  If specified by configuration, prefer the existing installed

       path.



   3.  Lower value of originator is selected.



   4.  Finally, the higher value of discriminator is selected.

+

      The originator allows an operator to have multiple redundant

      controllers and still maintain a deterministic behaviour over

      which of them are preferred even if they are providing the same

      candidate paths for the same SR policies to the headend.

Thx,
R.

On Thu, Apr 30, 2020 at 10:46 AM Ketan Talaulikar (ketant) <ketant=40cisco.com@dmarc.ietf.org<mailto:40cisco.com@dmarc.ietf.org>> wrote:
Hi Cheng,

I assume you are recommending the use of Route Origin Extended Community (https://tools.ietf.org/html/rfc4360#section-5) for conveying the “Originator” when the SR Policy update is propagated over eBGP sessions via other eBGP/iBGP sessions instead of direct peering with the headend.

I believe it does address the scenario you describe given that it is expected that SR Policy propagation via BGP is happening within a single administrative domain even if it comprises of multiple ASes.

Also copying the IDR WG for inputs since this would likely need to be updated in draft-ietf-idr-segment-routing-te-policy.

Thanks,
Ketan

From: spring <spring-bounces@ietf.org<mailto:spring-bounces@ietf.org>> On Behalf Of Chengli (Cheng Li)
Sent: 30 April 2020 07:34
To: draft-ietf-spring-segment-routing-policy@ietf.org<mailto:draft-ietf-spring-segment-routing-policy@ietf.org>
Cc: SPRING WG <spring@ietf.org<mailto:spring@ietf.org>>; huruizhao <huruizhao@huawei.com<mailto:huruizhao@huawei.com>>; Fangsheng <fangsheng@huawei.com<mailto:fangsheng@huawei.com>>
Subject: [spring] Comments: Route Origin Community in SR Policy(draft-ietf-spring-segment-routing-policy)

Hi authors,

In section 2.4 of [draft-ietf-spring-segment-routing-policy-06], introduced how the node-address of "Originator of CP(Candidate Path)" is generated when the Protocol-Origin is BGP. It says:
    “Protocol-Origin is BGP SR Policy, it is provided by the BGP component on the headend and is:
     o  the BGP Router ID and ASN of the node/controller signalling the candidate path when it has a BGP session to the headend, OR
     o  the BGP Router ID of the eBGP peer signalling the candidate path  along with ASN of origin when the signalling is done via one or  more intermediate eBGP routers, OR
     o  the BGP Originator ID [RFC4456] and the ASN of the node/controller  when the signalling is done via one or more route-reflectors over  iBGP session.”

In the operator's network, in order to reduce the number of  BGP sessions in controller and achieve scalability, the controller only establishes eBGP peer with the RR. And the RR establishes iBGP peers with the headends. As mentioned in the draft, the headend will use the RR's Router ID as the CP's node-address (the signaling is done via route transmission from RR to the headend instead of route reflection).  The headend needs to carry the CP's key when reporting the SR Policy status to the controller through BGP-LS. And there is a problem that the controller may not recognize the key because the node-address is generated by the RR node.

For network robustness, two or more RRs are usually deployed. This will introduce another problem.. When the same CP advertised by the controller is delivered to the headend through different RRs, the headend cannot distinguish whether it is the same CP because the node-address in the CPs' key  comes from different RRs.

To solve these problems,  We recommend carrying the Route Origin Community (defined in RFC 4360) directly when the controller advertises BGP routes.  In this way, the key  of the CP is determined by the controller and will not change during the advertisement of BGP routes.

Thanks,
Cheng
_______________________________________________
Idr mailing list
Idr@ietf.org<mailto:Idr@ietf.org>
https://www.ietf.org/mailman/listinfo/idr