Re: [OPSAWG] L3VPN BGP Threshold and BGP Session parameters (https://github.com/IETF-OPSAWG-WG/l3nm/issues/34 and https://github.com/IETF-OPSAWG-WG/l3nm/issues/35)

Qin Wu <bill.wu@huawei.com> Fri, 24 July 2020 09:26 UTC

Return-Path: <bill.wu@huawei.com>
X-Original-To: opsawg@ietfa.amsl.com
Delivered-To: opsawg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1FADB3A0DB0 for <opsawg@ietfa.amsl.com>; Fri, 24 Jul 2020 02:26:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H2=-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 7UVQOpLxp6Bb for <opsawg@ietfa.amsl.com>; Fri, 24 Jul 2020 02:26:52 -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 5BF503A0DAF for <opsawg@ietf.org>; Fri, 24 Jul 2020 02:26:51 -0700 (PDT)
Received: from lhreml712-chm.china.huawei.com (unknown [172.18.7.108]) by Forcepoint Email with ESMTP id B169D14C8FBAF9FA7654 for <opsawg@ietf.org>; Fri, 24 Jul 2020 10:26:49 +0100 (IST)
Received: from lhreml712-chm.china.huawei.com (10.201.108.63) by lhreml712-chm.china.huawei.com (10.201.108.63) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1913.5; Fri, 24 Jul 2020 10:26:48 +0100
Received: from DGGEML403-HUB.china.huawei.com (10.3.17.33) by lhreml712-chm.china.huawei.com (10.201.108.63) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA) id 15.1.1913.5 via Frontend Transport; Fri, 24 Jul 2020 10:26:48 +0100
Received: from DGGEML531-MBS.china.huawei.com ([169.254.5.231]) by DGGEML403-HUB.china.huawei.com ([fe80::74d9:c659:fbec:21fa%31]) with mapi id 14.03.0487.000; Fri, 24 Jul 2020 17:26:41 +0800
From: Qin Wu <bill.wu@huawei.com>
To: "Roque Gagliano (rogaglia)" <rogaglia@cisco.com>, opsawg <opsawg@ietf.org>
Thread-Topic: [OPSAWG] L3VPN BGP Threshold and BGP Session parameters (https://github.com/IETF-OPSAWG-WG/l3nm/issues/34 and https://github.com/IETF-OPSAWG-WG/l3nm/issues/35)
Thread-Index: AdZhnCU+EjLq0LosSVWm07lkyG7xLA==
Date: Fri, 24 Jul 2020 09:26:41 +0000
Message-ID: <B8F9A780D330094D99AF023C5877DABAAD87CC2B@dggeml531-mbs.china.huawei.com>
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.136.74.154]
Content-Type: multipart/alternative; boundary="_000_B8F9A780D330094D99AF023C5877DABAAD87CC2Bdggeml531mbschi_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/opsawg/RoCgV65iC6qa63kwbp8HD468abc>
Subject: Re: [OPSAWG] L3VPN BGP Threshold and BGP Session parameters (https://github.com/IETF-OPSAWG-WG/l3nm/issues/34 and https://github.com/IETF-OPSAWG-WG/l3nm/issues/35)
X-BeenThere: opsawg@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: OPSA Working Group Mail List <opsawg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/opsawg>, <mailto:opsawg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/opsawg/>
List-Post: <mailto:opsawg@ietf.org>
List-Help: <mailto:opsawg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/opsawg>, <mailto:opsawg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 24 Jul 2020 09:26:54 -0000

Yeah, I think it makes sense to add such knob to provide fine granularity control. Let me know if you have proposal for this.

-Qin
发件人: Roque Gagliano (rogaglia) [mailto:rogaglia@cisco.com]
发送时间: 2020年7月24日 17:07
收件人: Qin Wu <bill.wu@huawei.com>; opsawg <opsawg@ietf.org>
主题: Re: [OPSAWG] L3VPN BGP Threshold and BGP Session parameters (https://github.com/IETF-OPSAWG-WG/l3nm/issues/34 and https://github.com/IETF-OPSAWG-WG/l3nm/issues/35)

Hi Qin,

“Regarding bgp-max-prefix, I personal feel it is different from maximum-routes which is applicable to all protocols while bgp max prefix is bgp specific, threshold and action parameters only tie with bgp maximum prefix parameter.”

I agree with your comment. Additionally, maybe a more interesting question is if we want to set these parameters per neighbor, per PE-node or per VPN/VRF. I would think that we should have then generic per VRF/PE as part of the profiles but having the option to overwrite per neighbor. One example is a headquarter vs a branch…you may not want to set the same prefix-limits to them.

Regards,
Roque


From: OPSAWG <opsawg-bounces@ietf.org<mailto:opsawg-bounces@ietf.org>> on behalf of Qin Wu <bill.wu@huawei.com<mailto:bill.wu@huawei.com>>
Date: Friday, 24 July 2020 at 10:18
To: opsawg <opsawg@ietf.org<mailto:opsawg@ietf.org>>
Subject: [OPSAWG] L3VPN BGP Threshold and BGP Session parameters (https://github.com/IETF-OPSAWG-WG/l3nm/issues/34 and https://github.com/IETF-OPSAWG-WG/l3nm/issues/35)

Hi, All:
We have been discussion additional BGP parameters such as L3VPN BGP threshold and BGP session parameters, which is corresponding to issue ticket #34 and #35 on L3NM model,
And would like to have the following proposed change to L3NM model to resolve pending issue tickets:
OLD TEXT:
“
                    container bgp {
                      when "derived-from-or-self(../type, 'l3vpn-ntw:bgp')" {
                        description
                          "Only applies when protocol is BGP.";
                      }
                      if-feature "rtg-bgp";
                      leaf peer-autonomous-system {
                        type inet:as-number;
                        mandatory true;
                        description
                          "Customer AS number in case the customer
                           requests BGP routing.";
                      }
                      leaf local-autonomous-system {
                        type inet:as-number;
                        description
                          "Local-AS overwrite.";
                      }
                      leaf-list address-family {
                        type vpn-common:address-family;
                        min-elements 1;
                        description
                          "If BGP is used on this site, this node
                           contains a configured value.  This node
                           contains at least one address family
                           to be activated.";
                      }
                      leaf-list neighbor {
                        type inet:ip-address;
                        description
                          "IP address(es) of the BGP neighbor. An IPv4
                           and IPv6 neighbors may be indicated if
                           two sessions will be used for IPv4 and IPv6.";
                      }
                      leaf multihop {
                        type uint8;
                        description
                          "Describes the number of hops allowed between
                           a given BGP neighbor and the PE router.";
                      }
                      uses security-params;
                      uses vpn-common:service-status;
                      leaf description {
                        type string;
                        description
                          "Includes a description of the BGP session.
                           Such description is meant to be used for
                           diagnosis purposes. The semantic of the description
                           is local to an implementation.";
                      }
”
NEW TEXT:
“
                    container bgp {
                      when "derived-from-or-self(../type, 'l3vpn-ntw:bgp')" {
                        description
                          "Only applies when protocol is BGP.";
                      }
                      if-feature "rtg-bgp";
                      leaf peer-autonomous-system {
                        type inet:as-number;
                        mandatory true;
                        description
                          "Customer AS number in case the customer
                           requests BGP routing.";
                      }
                      leaf local-autonomous-system {
                        type inet:as-number;
                        description
                          "Local-AS overwrite.";
                      }
                      leaf-list address-family {
                        type vpn-common:address-family;
                        min-elements 1;
                        description
                          "If BGP is used on this site, this node
                           contains a configured value.  This node
                           contains at least one address family
                           to be activated.";
                      }
                      leaf-list neighbor {
                        type inet:ip-address;
                        description
                          "IP address(es) of the BGP neighbor. An IPv4
                           and IPv6 neighbors may be indicated if
                           two sessions will be used for IPv4 and IPv6.";
                      }
                      leaf multihop {
                        type uint8;
                        description
                          "Describes the number of hops allowed between
                           a given BGP neighbor and the PE router.";
                      }
                      uses security-params;
                      uses vpn-common:service-status;
                      leaf description {
                        type string;
                        description
                          "Includes a description of the BGP session.
                           Such description is meant to be used for
                           diagnosis purposes. The semantic of the description
                           is local to an implementation.";
                      }

                                                 leaf as-override {
                                                          type boolean;
                                                          default false;
                                                          description
                                                           "Define whether AS override is enabled, i.e., replace
                                                          the AS number of the peer specified in the AS Path
                                                          attribute with the local AS number.";
                                                        }
                                                 leaf default-route {
                                                          type boolean;
                                                           default false;
                                                          description
                                                           "Define whether default route can be advertised
                                                           to its peer.";
                                                        }

                                                 container bgp-timer {
                                                     description
                          "BGP timer specific configuration.";
                                                 leaf keep-alive {
                                                        type uint16;
                                                        units "seconds";
                                                        default 60;
                                                        description
                        "keep alive timer configured for specific peer.";
                                                 }
                                                 leaf hold-time {
                                                        type uint16;
                                                        units "seconds";
                                                        default 180;
                                                        description
                                                        "Expected BGP hold time in seconds configured
                                                        for specific peer.";
                                                        }
                                               }
                                                 container bgp-max-prefix {
                                                     description
                          "BGP maximum prefix configuration";
                                                        leaf max-prefix {
                                                          type uint32;
                                                          default 5000;
                                                           description
                           "Define maximum BGP prefix.";
                                                          }
                                                   leaf warning-threshold{
                                                           type decimal64 {
                                                           fraction-digits 5;
                                                           range "0..100";
                                                          }
                                                     units percent;
                                                          default 75;
                                                          description
                                                          "Define warning threshold value in percentage.";
                                                        }
                                                        leaf violate-action {
                                                          type enumeration {
                                                                 enum warning {
                                                                   description
                                                                   "Only give warning message when limit is exceeded";
                                                                 }
                                                                 enum discard-extra-paths {
                                                                   description
                                                                   "Discard extra paths when limit is exceeded";
                                                                 }
                                                                 enum restart {
                                                                   description
                                                                   "Restart time interval";
                                                                 }
                                                          }
                                                          description
                                                           "BGP neighbour max-prefix violate action";
                                                        }
                                                        leaf restart-interval {
                                                          type uint16;
                                                          units "minutes";
                                                          description
                                                          "Time interval (min) after which peering session
                                                          will be re-established";
                                                        }
                                               }
“
Regarding bgp-max-prefix, I personal feel it is different from maximum-routes which is applicable to all protocols while bgp max prefix is bgp specific, threshold and action parameters only tie with bgp maximum prefix parameter.

-Qin