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

Jeffrey Haas <jhaas@pfrc.org> Mon, 18 November 2019 11:04 UTC

Return-Path: <jhaas@slice.pfrc.org>
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 ED6E91208F1; Mon, 18 Nov 2019 03:04:57 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-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 Ve1i-yDDI84I; Mon, 18 Nov 2019 03:04:55 -0800 (PST)
Received: from slice.pfrc.org (slice.pfrc.org [67.207.130.108]) by ietfa.amsl.com (Postfix) with ESMTP id C4DAE12081E; Mon, 18 Nov 2019 03:04:55 -0800 (PST)
Received: by slice.pfrc.org (Postfix, from userid 1001) id 29E781E2F6; Mon, 18 Nov 2019 06:08:52 -0500 (EST)
Date: Mon, 18 Nov 2019 06:08:51 -0500
From: Jeffrey Haas <jhaas@pfrc.org>
To: "Wanghaibo (Rainsword)" <rainsword.wang@huawei.com>
Cc: "draft-ietf-idr-bgp-model@ietf.org" <draft-ietf-idr-bgp-model@ietf.org>, "idr@ietf.org" <idr@ietf.org>
Message-ID: <20191118110851.GK21134@pfrc.org>
References: <1E61161D6E31D849BEA887261DB609348C8F2E20@nkgeml514-mbx.china.huawei.com> <20190826203850.GH24671@pfrc.org> <1E61161D6E31D849BEA887261DB609348C90DB78@nkgeml514-mbx.china.huawei.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <1E61161D6E31D849BEA887261DB609348C90DB78@nkgeml514-mbx.china.huawei.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Archived-At: <https://mailarchive.ietf.org/arch/msg/idr/K7aRYC5KitIChhBIOgckfMWwp1s>
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: Mon, 18 Nov 2019 11:04:58 -0000

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