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

From: "Acee Lindem (acee)" <[email-masked]>
Date: Thu, 12 Dec 2019 22:33:17 +0000

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" <[email-masked] on behalf of [email-masked]> 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:[email-masked]] 
    > Sent: Tuesday, August 27, 2019 4:39 AM
    > To: Wanghaibo (Rainsword) <[email-masked]>
    > Cc: [email-masked]; [email-masked]
    > 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
    [email-masked]
    https://www.ietf.org/mailman/listinfo/idr

---

From: "Wanghaibo (Rainsword)" <[email-masked]>
Date: Fri, 13 Dec 2019 03:37:14 +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:[email-masked]] 
Sent: Friday, December 13, 2019 6:33 AM
To: Jeffrey Haas <[email-masked]>; Wanghaibo (Rainsword) <[email-masked]>
Cc: [email-masked]; [email-masked]; [email-masked]
Subject: Re: [Idr] draft-ietf-idr-bgp-model

    

    -- Jeff

---

From: "Acee Lindem (acee)" <[email-masked]>
Date: Fri, 13 Dec 2019 12:30:04 +0000

Hi Wanghaibo,
The MPLS VPN support (RFC 4364), is confined to the default networking instance. However, you could additional use BGP as a PE-CE protocol in the non-default network instance (aka, VRFs). 
Thanks,
Acee

On 12/12/19, 10:37 PM, "Wanghaibo (Rainsword)" <[email-masked]> wrote:

    Hi, Acee

    Eg

    Regards, 
    Haibo
    
    -----Original Message-----
    From: Acee Lindem (acee) [mailto:[email-masked]] 
    Sent: Friday, December 13, 2019 6:33 AM
    To: Jeffrey Haas <[email-masked]>; Wanghaibo (Rainsword) <[email-masked]>
    Cc: [email-masked]; [email-masked]; [email-masked]
    Subject: Re: [Idr] draft-ietf-idr-bgp-model

    

        
        -- Jeff

---

From: Robert Raszuk <[email-masked]>
Date: Fri, 13 Dec 2019 14:40:46 +0100

Hi Acee,

Please observe that BGP instance being discussed here is orthogonal to
L3VPN services. It is not BGP context per VRF. There may not be any VRFs at
all while there are valid needs to run multiple BGP instances on a box -
just there are for ISIS :)

Support of that should be reflected in the Yang model I am afraid.

Best,
R,.

On Fri, Dec 13, 2019 at 1:30 PM Acee Lindem (acee) <[email-masked]> wrote:

> Hi Wanghaibo,
> The MPLS VPN support (RFC 4364), is confined to the default networking
> instance. However, you could additional use BGP as a PE-CE protocol in the
> non-default network instance (aka, VRFs).
> Thanks,
> Acee
>
>     RFC 4364 does not describe the use of multiple instances on the public
> network, but now multiple vendors have supported such functions,
>
>     Eg
>
>     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" <
> [email-masked] on behalf of [email-masked]> wrote:
>
>         >   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
>         >

---

From: "Acee Lindem (acee)" <[email-masked]>
Date: Fri, 13 Dec 2019 14:50:54 +0000

Hi Robert,

From: Robert Raszuk <[email-masked]>
Date: Friday, December 13, 2019 at 8:41 AM
To: Acee Lindem <[email-masked]>
Cc: "Wanghaibo (Rainsword)" <[email-masked]>, Jeff Haas <[email-masked]>, IDR List <[email-masked]>, "[email-masked]" <[email-masked]>, "[email-masked]" <[email-masked]>
Subject: Re: [Idr] draft-ietf-idr-bgp-model
Resent-From: <[email-masked]>
Resent-To: <[email-masked]>, Christian Hopps <[email-masked]>, Acee Lindem <[email-masked]>, Dean Bogdanovic <[email-masked]>, <[email-masked]>
Resent-Date: Friday, December 13, 2019 at 8:41 AM

Hi Acee,

Please observe that BGP instance being discussed here is orthogonal to L3VPN services. It is not BGP context per VRF. There may not be any VRFs at all while there are valid needs to run multiple BGP instances on a box - just there are for ISIS :)

While it doesn’t happen often, I’m in complete agreement with you 😉 There is nothing in the network-instance YANG model that precludes this.

Thanks,
Acee

Best,
R,.

On Fri, Dec 13, 2019 at 1:30 PM Acee Lindem (acee) <[email-masked]<mailto:[email-masked]>> wrote:
Hi Wanghaibo,
The MPLS VPN support (RFC 4364), is confined to the default networking instance. However, you could additional use BGP as a PE-CE protocol in the non-default network instance (aka, VRFs).
Thanks,
Acee

On 12/12/19, 10:37 PM, "Wanghaibo (Rainsword)" <[email-masked]<mailto:[email-masked]>> wrote:

    Hi, Acee

    Eg

      rd 13.1.1.1:2<http://13.1.1.1:2>

    Regards,
    Haibo

    -----Original Message-----
    From: Acee Lindem (acee) [mailto:[email-masked]<mailto:[email-masked]>]
    Sent: Friday, December 13, 2019 6:33 AM
    To: Jeffrey Haas <[email-masked]<mailto:[email-masked]>>; Wanghaibo (Rainsword) <[email-masked]<mailto:[email-masked]>>
    Cc: [email-masked]<mailto:[email-masked]>; [email-masked]<mailto:[email-masked]>; [email-masked]<mailto:[email-masked]>
    Subject: Re: [Idr] draft-ietf-idr-bgp-model

    On 11/18/19, 6:06 AM, "Idr on behalf of Jeffrey Haas" <[email-masked]<mailto:[email-masked]> on behalf of [email-masked]<mailto:[email-masked]>> wrote:

        -- Jeff

        On Tue, Aug 27, 2019 at 03:39:17AM +0000, Wanghaibo (Rainsword) wrote:
        > From: Jeffrey Haas [mailto:[email-masked]<mailto:[email-masked]>]
        > To: Wanghaibo (Rainsword) <[email-masked]<mailto:[email-masked]>>
        > Cc: [email-masked]<mailto:[email-masked]>; [email-masked]<mailto:[email-masked]>

        _______________________________________________
        Idr mailing list
        [email-masked]<mailto:[email-masked]>
        https://www.ietf.org/mailman/listinfo/idr

_______________________________________________
Idr mailing list
[email-masked]<mailto:[email-masked]>
https://www.ietf.org/mailman/listinfo/idr