Re: [Idr] draft-ietf-idr-bgp-model

"Wanghaibo (Rainsword)" <rainsword.wang@huawei.com> Fri, 13 December 2019 03:37 UTC

Return-Path: <rainsword.wang@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 BFA56120820; Thu, 12 Dec 2019 19:37:31 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.2
X-Spam-Level:
X-Spam-Status: No, score=-4.2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, 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 vjPhtE9czrzt; Thu, 12 Dec 2019 19:37:29 -0800 (PST)
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 0327D12018B; Thu, 12 Dec 2019 19:37:29 -0800 (PST)
Received: from LHREML711-CAH.china.huawei.com (unknown [172.18.7.107]) by Forcepoint Email with ESMTP id 2037EB8C13156872CB25; Fri, 13 Dec 2019 03:37:27 +0000 (GMT)
Received: from lhreml713-chm.china.huawei.com (10.201.108.64) by LHREML711-CAH.china.huawei.com (10.201.108.34) with Microsoft SMTP Server (TLS) id 14.3.408.0; Fri, 13 Dec 2019 03:37:26 +0000
Received: from lhreml713-chm.china.huawei.com (10.201.108.64) by lhreml713-chm.china.huawei.com (10.201.108.64) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Fri, 13 Dec 2019 03:37:26 +0000
Received: from NKGEML412-HUB.china.huawei.com (10.98.56.73) by lhreml713-chm.china.huawei.com (10.201.108.64) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA) id 15.1.1713.5 via Frontend Transport; Fri, 13 Dec 2019 03:37:26 +0000
Received: from NKGEML514-MBX.china.huawei.com ([fe80::40a8:f0d:c0f3:2ca5]) by nkgeml412-hub.china.huawei.com ([10.98.56.73]) with mapi id 14.03.0439.000; Fri, 13 Dec 2019 11:37:15 +0800
From: "Wanghaibo (Rainsword)" <rainsword.wang@huawei.com>
To: "Acee Lindem (acee)" <acee@cisco.com>, Jeffrey Haas <jhaas@pfrc.org>
CC: "idr@ietf.org" <idr@ietf.org>, "draft-ietf-idr-bgp-model@ietf.org" <draft-ietf-idr-bgp-model@ietf.org>, "draft-ietf-rtgwg-ni-model@ietf.org" <draft-ietf-rtgwg-ni-model@ietf.org>
Thread-Topic: [Idr] draft-ietf-idr-bgp-model
Thread-Index: AdVTYqP7HEGobTyKRLSJ6VQT3MRf2gI66BIAAA6vHoAQXeODgATEa24AABTqVAA=
Date: Fri, 13 Dec 2019 03:37:14 +0000
Message-ID: <1E61161D6E31D849BEA887261DB609348CA1D40F@nkgeml514-mbx.china.huawei.com>
References: <1E61161D6E31D849BEA887261DB609348C8F2E20@nkgeml514-mbx.china.huawei.com> <20190826203850.GH24671@pfrc.org> <1E61161D6E31D849BEA887261DB609348C90DB78@nkgeml514-mbx.china.huawei.com> <20191118110851.GK21134@pfrc.org> <38672C45-991E-42F6-8D2A-E001C7F0D75A@cisco.com>
In-Reply-To: <38672C45-991E-42F6-8D2A-E001C7F0D75A@cisco.com>
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.108.202.142]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/idr/XzUOyMGE2OjXQF52edc9QRkpCRQ>
Subject: Re: [Idr] draft-ietf-idr-bgp-model
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: Fri, 13 Dec 2019 03:37:32 -0000

Hi, Acee

RFC 4364 does not describe the use of multiple instances on the public network, but now multiple vendors have supported such functions, 

Eg

router bgp 100 instance a1       // one bgp instance here
 bgp router-id 12.12.12.12
 address-family vpnv4 unicast
 !
 neighbor 121.1.1.1
  remote-as 100
  address-family vpnv4 unicast   //and its vpnv4 unicast neighbor, support service for vrf-a1
  !
 !
 vrf vrf-a1                    //vrf-a1 here 
  rd auto
  address-family ipv4 unicast
   redistribute static
  !
 !
!
router bgp 200 instance a2      // another bgp instance here
 bgp router-id 13.1.1.1
 address-family vpnv4 unicast
 !
 address-family ipv6 unicast
 !
 address-family l2vpn evpn
 !
 neighbor 122.1.1.1
  remote-as 100
  address-family vpnv4 unicast  //and its vpnv4 unicast neighbor,support service for a3
  !
  address-family l2vpn evpn
  !
 !
 vrf a3                     //a3 here
  rd 13.1.1.1:2
  address-family ipv4 unicast
  !
 !

Regards, 
Haibo

-----Original Message-----
From: Acee Lindem (acee) [mailto:acee@cisco.com] 
Sent: Friday, December 13, 2019 6:33 AM
To: Jeffrey Haas <jhaas@pfrc.org>; Wanghaibo (Rainsword) <rainsword.wang@huawei.com>
Cc: idr@ietf.org; draft-ietf-idr-bgp-model@ietf.org; draft-ietf-rtgwg-ni-model@ietf.org
Subject: Re: [Idr] draft-ietf-idr-bgp-model

I don’t think there is any ambiguity here. For BGP VPN configuration (e.g., RFC 4364), the BGP configuration will augment control-plane-protocols in the default network instance. References to other network instances, should use a leafref with an xpath pointing to the network-instance name.  A BGP instance may also be configured as a control-plane protocol within a network-instance - either as a PE-CE protocol or simply for routing within the routing domain corresponding to the network-instance. 
Thanks,
Acee

On 11/18/19, 6:06 AM, "Idr on behalf of Jeffrey Haas" <idr-bounces@ietf.org on behalf of jhaas@pfrc.org> wrote:

    Per IDR mic comment, copying once again to IDR since I mis-laid the mail.
    My apologies, Haibo.
    
    If I understand your comment correctly, your question is "how do you bind a
    given routing instance (e.g. VRF) to a given BGP session?"
    
    If so, I think you are correct.  We do not have a clean way to specify this.
    It may also have impacts on the network instancing model in general.  Let us
    raise the issue with netmod working group.
    
    -- Jeff
    
    On Tue, Aug 27, 2019 at 03:39:17AM +0000, Wanghaibo (Rainsword) wrote:
    > Hi Jeff,
    >  
    >  Thanks for your reply. 
    > 
    >  I have read this example. But it doesn't solve my doubts. 
    >  If I have two public bgp instance like this:
    >     "ietf-routing:routing": {
    >        "router-id": "192.0.2.1",
    >        "control-plane-protocols": {
    >          "control-plane-protocol": [
    >            {
    >              "type": "ietf-routing:bgp",
    >              "name": "bgp0",
    >              "description": 
    >                "Bgp for CustomerA.",
    >              "bgp": {
    > 			 "neighbors":{
    > 			  "neighbor":[
    > 			    {
    > 				 "remote-address":"192.0.2.1",
    >                    "peer-as":"64497"
    > 	               "afi-safis":{
    >                      "afi-safi":[
    >                        "afi-safi-name":"bt:l3vpn-ipv4-unicast"
    >                       ]
    >                     }
    > 			    }	
    > 			   ]
    > 		      }
    >               }
    >            }
    > 		 ]
    >          "control-plane-protocol": [
    >            {
    >              "type": "ietf-routing:bgp",
    >              "name": "bgp1",
    >              "description":
    >                "Static routing is used for the internal network.",
    >              "bgp": {
    > 			 "neighbors":{
    > 			  "neighbor":[
    > 			    {
    > 				 "remote-address":"192.0.3.1",
    >                    "peer-as":"64497"
    > 	               "afi-safis":{
    >                      "afi-safi":[
    >                        "afi-safi-name":"bt:l2vpn-evpn"
    >                       ]
    >                     }
    > 			    }	
    > 			   ]
    > 		      }
    >               } 
    >             }
    >          ]
    >        },
    >    
    >  And I have two vrf instance like :
    >     "ietf-network-instance:network-instances": {
    >       "network-instance": [
    >         {
    >           "name": "vrf-old",
    >            ...
    >         }
    >        ]
    >       }
    >     "ietf-network-instance:network-instances": {
    >       "network-instance": [
    >         {
    >           "name": "vrf-new",
    >            ...
    >         }
    >        ]
    >       }
    > 
    >   I want to specify the vrf-old use bgp0 to advertise routes using l3vpn-ipv4-unicast, and use bgp1 for vrf-new to advertise routes using l2vpn-evpn with type5.
    >   So how can I do this ?
    > 
    > Regards,
    > Haibo
    > 
    > -----Original Message-----
    > From: Jeffrey Haas [mailto:jhaas@pfrc.org] 
    > Sent: Tuesday, August 27, 2019 4:39 AM
    > To: Wanghaibo (Rainsword) <rainsword.wang@huawei.com>
    > Cc: draft-ietf-idr-bgp-model@ietf.org; idr@ietf.org
    > Subject: Re: [Idr] draft-ietf-idr-bgp-model
    > 
    > On Thu, Aug 15, 2019 at 12:32:01PM +0000, Wanghaibo (Rainsword) wrote:
    > > Hi authors,
    > > 
    > > I have some question about the bgp model.
    > > 
    > > In current model, the bgp module will augment to routing,
    > >      /rt:routing/rt:control-plane-protocols
    > >                /rt:control-plane-protocol:
    > > And the routing will schema mount to network-instance.
    > > 
    > > In this model, how to realize the multiple bgp public instance, like that
    > > 
    > > bgp instance 1 as-number 100
    > >   neighbor 2.2.2.2
    > > address-family vpn-ipv4
    > >   vrf vpn1
    > > neighbor 11.1.1.1
    > >   address-family ipv4
    > > 
    > > bgp instance 2 as-number 200
    > >   neighbor 3.3.3.3
    > > address-family vpn-ipv4
    > >   vrf vpn2
    > > neighbor 12.1.1.1
    > >   address-family ipv4
    > > 
    > > Bgp doesn't like ospf or isis, the vrf's bgp will associate to public bgp's special address family.
    > > I'm not find how to describe the associate in current model
    > 
    > The bgp model uses NMDA:
    >   augment "/rt:routing/rt:control-plane-protocols/"
    >         + "rt:control-plane-protocol" {
    > 
    > You may find this example from RFC 8349 helpful:
    > 
    > https://tools.ietf.org/html/rfc8349
    > 
    > : Appendix D.  Data Tree Example
    > : [...]
    > : 
    > : 
    > :      "ietf-routing:routing": {
    > :        "router-id": "192.0.2.1",
    > :        "control-plane-protocols": {
    > :          "control-plane-protocol": [
    > :            {
    > :              "type": "ietf-routing:static",
    > :              "name": "st0",
    > :              "description":
    > :                "Static routing is used for the internal network.",
    > :  
    > 
    > The definition of control plane protocols permits multi-instancing via name:
    > 
    > :        container control-plane-protocols {
    > :          description
    > :            "Support for control-plane protocol instances.";
    > :          list control-plane-protocol {
    > :            key "type name";
    > :            description
    > 
    > -- Jeff
    
    _______________________________________________
    Idr mailing list
    Idr@ietf.org
    https://www.ietf.org/mailman/listinfo/idr