2

I am trying to create an MPLS VPLS network where the VPLS instances are auto-discovered via BGP L2VPN. The issue I'm currently facing is that the routes are not reflected and there seems to be no option to enable this.

The setup we've currently got is a simple square network with 4 MLXe-8's each connected to 2 others. All the BGP sessions are correctly established. For testing we've setup a VPLS instance with auto discovery enabled on all 4 routers. However, VPLS only peers with the 2 other routers it's BGP neighbors with.

For testing we built a full mesh BGP in which all the VPLS routers peer with each other correctly, this feels like a pretty dirty solution. Did we miss anything in getting BGP to reflect the routes? The routers are running Netiron ver V5.6.0hT163

Here is one of the router's their bgp config:

 local-as xxxxx
 cluster-id 1
 neighbor 10.0.39.1 remote-as xxxxx
 neighbor 10.0.39.1 ebgp-multihop
 neighbor 10.0.39.1 update-source loopback 1
 neighbor 10.0.39.3 remote-as xxxxx
 neighbor 10.0.39.3 ebgp-multihop
 neighbor 10.0.39.3 update-source loopback 1

 address-family ipv4 unicast
 no neighbor 10.0.39.1 activate
 no neighbor 10.0.39.3 activate
 exit-address-family

 address-family ipv4 multicast
 exit-address-family

 address-family ipv6 unicast
 exit-address-family

 address-family ipv6 multicast
 exit-address-family

 address-family vpnv4 unicast
 exit-address-family

 address-family vpnv6 unicast
 exit-address-family

 address-family l2vpn vpls
 neighbor 10.0.39.1 activate
 neighbor 10.0.39.1 send-community extended
 neighbor 10.0.39.3 activate
 neighbor 10.0.39.3 send-community extended
 always-propagate
 exit-address-family

There is no router reflector option available within the l2vpn vpls address family

(config-bgp-l2vpn-vpls)#?
  address-family                Enter Address Family command mode
  always-propagate              Allow readvertisement of best BGP routes not in
                                IP forwarding table
  bfd                           Set BFD global parameters for BGP4
  bfd-enable                    Enable BFD for BGP4
  bgp-redistribute-internal     Allow redistribution of iBGP routes into IGPs
  clear                         Clear table/statistics/keys
  cls                           Clear screen
  end                           End Configuration level and go to Privileged
                                level
  exit                          Exit current level
  exit-address-family           Exit Address Family command mode
  export-vrf-leaked-routes      Allow exporting VRF leaked routes to L3VPN
  neighbor                      Specify a neighbor router
  no                            Undo/disable commands
  quit                          Exit to User level
  show                          Display system information
  write                         Write running configuration to flash or terminal
  <cr>

And neighbor:

(config-bgp-l2vpn-vpls)#neighbor 10.0.39.1
  activate                 Allow exchange of route in the current family mode
  bfd                      Set BFD parameters for BGP4 neighbor
  fail-over                Set Failover source for BGP4 for this peer
  local-as                 Assign local-as number to neighbor
  remote-as                Specify a BGP neighbor
  send-community           Send community attribute to this neighbor

I am able to set neigbor 10.0.39.2 route-reflector-client, however this is installed under the IPV4 unicast family, even when the command is ran in the 'global' router-bgp mode.

address-family ipv4 unicast
 no neighbor 10.0.39.2 activate
 neighbor 10.0.39.2 route-reflector-client
 no neighbor 10.0.39.4 activate
 neighbor 10.0.39.4 route-reflector-client
exit-address-family
3

I notice you have configured cluster-id 1. You should configure a unique cluster-id for each router in your topology, because you do not appear to have elected one or more centrally-located RRs.

In the following topology, router N will not learn routes from router S if N, E, and W all share the same cluster ID. See RFC 4456 § 8 for the reasoning.

       N
      / \
     /   \
    W     E
     \   /
      \ /
       S

You also need to make all routers RR-clients of each-other. RRs don't reflect routes from one non-client to another non-client. RFC 4456 § 6 explains this. If this sounds unusual to you, please know it's because your use of RR is unusual.

For testing we built a full mesh BGP in which all the VPLS routers peer with each other correctly, this feels like a pretty dirty solution.

Separately you mentioned a full mesh feels dirty to you. A full mesh is how iBGP is designed to work. That is the easiest and least-complex configuration. Route-reflection and confederations are good tools for scaling up a BGP network but with four routers in a ring, you really don't need those tools. You could keep things simple and maintain the full iBGP mesh. Again, that's how iBGP is designed to work.

| improve this answer | |
  • 1
    Thank you for your response. These 4 routers is just our testlab, there will be many more PE nodes in production. I have given all routers a unique cluster ID. However I am unable to configure Route reflectors for L2VPN address family as there is no such option. I have added the available options to the original question. – metrotyranno May 31 at 0:13
  • 1
    Configure neighbor 192.0.2.1 route-reflector-client under router bgp not within an address-family. The RR configuration applies to all AFIs enabled for a neighbor. – Jeff Wheeler May 31 at 2:15
  • 1
    Separately, I'd again like to encourage you to consider a different design. Having iBGP sessions only with the adjacent routers is inefficient and it's not the way iBGP is meant to be used. Even though you want a large ring, you should designate two or three routers to be RRs and all other routers in your topology should become clients of those. – Jeff Wheeler May 31 at 2:18
  • 1
    This command adds it to the config as: address-family ipv4 unicast no neighbor 10.0.39.1 activate neighbor 10.0.39.1 route-reflector-client no neighbor 10.0.39.3 activate neighbor 10.0.39.3 route-reflector-client exit-address-family It fails to route reflect the l2vpn routes, It installs it under the ipv4 family, not globally – metrotyranno May 31 at 3:52
  • 1
    I read your update, above. Can you contact Brocade support and inquire about whether RR may be unsupported for some address-families? If so, you can still use these MLXe basically the way you want. You just might need to get different devices to use as route-reflectors. That would steer you toward the typical way of using route-reflection, anyway, which is to designate some centrally-located devices to serve as RRs. – Jeff Wheeler Jun 1 at 17:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.