Skip to main content

Collecting BGP RIB from all devices is tedious to collect the data and process it. Industry standard solution to this problem is BMP (BGP Monitoring Protocol) which Cisco, Juniper and other vendors have implemented.

 

BMP should expose/advertise the routes from all address families configured. Cisco has implemented only “ipv4 unicast” address family exposure, that limits the usefulness of BMP in Cisco based devices.

 

Forward Networks has come up with a solution to the problem where Forward Collector, or the VM, will act as a BGP receiver and collect data from all available address families.  As a BGP receive the Forward Collector works as a BGP route-reflector client, so this peering is specifically with the BGP route-reflector in the network.

 

Note this feature is exclusive to Cisco IOS XR devices

How it works:

  • Instead of collecting BGP RIB from all devices, Forward Enterprise will peer to a single IOS XR, that is acting as a route-reflector, and will reflect routes to Forward Enterprise.
  • Forward Enterprise will bring up a BGP receiver process only during the snapshot collection process. Which means this peer will show in the “active” state from the Route-reflector’s point of view, when collection is not in process.
  • There are no BGP configurations required on the Forward Platform.  It is just a checkbox, under the route-reflector, in the device list.
  • For the device where the checkbox is enabled, the Forward Platform will first collect the running configuration of the device.  Then, the Forward Platform will inspect the BGP configuration to find if there is a route-reflector client configured for the Forward Platform’s ip address.  Following this inspection the Forward Platform will then find the appropriate BGP AS from the command “Remote-as” in the peering statement, to use during the peering.
  • The BGP session will be established only during the snapshot collection. At all other times the neighbor state on the BGP route-reflector will be either Active or Idle. This is an expected behavior.

 

Steps to enable:

  • Navigate to Connection => Collector => Advanced network collection settings and enable all settings under “BGP advertisements” section. This is a global option allowing the platform to collect. This will not automatically collect BGP RIB from all devices but is required

 

  • Navigate to Collection => Collector => Devices and select the device that acts as Route Reflector, click on “Edit”, navigate to “Advanced Settings” and enable/check “Enable collection of BGP advertisements”

Note: this is a per-device setting and Forward Enterprise will collect only from the devices that have this setting enabled
 

Sample Topology:

DEVICE

DEVICE NAME

IP ADDRESS

Forward Collector

fncollect01

7.64.101.10

Route Reflector

XR-RR1

11.255.6.100

 

 

 


 

The topology below is a simple service provider network with (3) P devices, (4) PE devices and (3) customers under VRF RED, BLUE and GREEN.


 

DEVICES

VRF

CUSTOMER

CE11, CE12

RED

Customer 1

CE21, CE22

BLUE

Customer 2

CE31, CE32

GREEN

Shared VRF for common services. Customer 1 and 2 can access CE31 and CE32 and vice versa


 

BGP AS details:

DEVICE

BGP AS NUMBER

IP ADDRESS

Forward Collector

600

7.64.101.10

XR-RR1

600

11.255.6.100

P1

600

11.255.6.1

P2

600

11.255.6.2

PE1

600

11.255.6.11

PE2

600

11.255.6.12

PE3

600

11.255.6.13

PE4

600

11.255.6.14

CE11

100

192.168.11.100

CE12

100

192.168.12.100

CE21

200

192.168.21.100

CE22

200

192.168.22.100

CE31

300

192.168.31.100

CE32

300

192.168.32.100

 

Topology:

 

XR-RR1 BGP Configuration

 

!

route-policy RPL_DENY_IN

  drop

end-policy

!

route-policy RPL_PERMIT_OUT

  pass

end-policy

!

route-policy RPL_PASS_ALL

  pass

end-policy

!

!

router bgp 600

 address-family ipv4 unicast

  network 11.11.6.0/24

  network 11.255.6.100/32

  network 11.255.66.100/32

 !

 address-family vpnv4 unicast

 !

 neighbor-group AS600-RR

  remote-as 600

  update-source Loopback0

  address-family vpnv4 unicast

   route-policy RPL_PASS_ALL in

   route-reflector-client

   route-policy RPL_PASS_ALL out

   advertise vpnv4 unicast

  !

 !

 neighbor 11.255.6.1

  use neighbor-group AS600-RR

  address-family vpnv4 unicast

  !

 !

 neighbor 11.255.6.2

  use neighbor-group AS600-RR

  address-family vpnv4 unicast

  !

 !

 neighbor 11.255.6.3

  use neighbor-group AS600-RR

  address-family vpnv4 unicast

  !

 !

 neighbor 11.255.6.4

  use neighbor-group AS600-RR

  address-family vpnv4 unicast

  !

 !

 neighbor 11.11.6.250

  remote-as 666

  address-family ipv4 unicast

   route-policy RPL_PASS_ALL in

   route-policy RPL_PASS_ALL out

  !

 !

 neighbor 11.255.6.11

  remote-as 600

  update-source Loopback0

  address-family ipv4 unicast

   route-policy RPL_PASS_ALL in

   route-policy RPL_PASS_ALL out

  !

 !

 neighbor 11.255.6.12

  remote-as 600

  update-source Loopback0

  address-family ipv4 unicast

   route-policy RPL_PASS_ALL in

   route-policy RPL_PASS_ALL out

  !

 !

 neighbor 7.64.101.10

  remote-as 600

  update-source Loopback0

  address-family ipv4 unicast

   route-policy RPL_DENY_IN in

   route-reflector-client

   route-policy RPL_PERMIT_OUT out

  !

  address-family vpnv4 unicast

   route-policy RPL_DENY_IN in

   route-reflector-client

   route-policy RPL_PERMIT_OUT out

  !

 !


 

BGP state on XR-RR1 during snapshot collection:

Note that we have only “IPV4 Unicast” and “VPNV4 Unicast” address families enabled but will work with all other Address families as well

 

RP/0/0/CPU0:XR-RR1#sh bgp all all summary

 

Wed Mar 25 15:11:11.674 UTC

 

Address Family: VPNv4 Unicast

-----------------------------

 

BGP router identifier 11.255.6.100, local AS number 600

BGP generic scan interval 60 secs

Non-stop routing is enabled

BGP table state: Active

Table ID: 0x0   RD version: 0

BGP main routing table version 37

BGP NSR Initial initsync version 1 (Reached)

BGP NSR/ISSU Sync-Group versions 0/0

BGP scan interval 60 secs

 

BGP is operating in STANDALONE mode.

 

Process   RcvTblVer   bRIB/RIB   LabelVer  ImportVer  SendTblVer  StandbyVer

Speaker          37     37     37     37      37       0

 

Neighbor    Spk AS MsgRcvd MsgSent   TblVer  InQ OutQ  Up/Down  St/PfxRcd

7.64.101.10   0   600  31  86    0 0 0 00:00:00      0

11.255.6.1    0   600 2731 2475   37 0 0 1d16h      2

11.255.6.2    0   600 2731 2475   37 0 0 1d16h      4

11.255.6.3    0   600 2728 2474   37 0 0 1d16h      4

11.255.6.4    0   600 2724 2472   37 0 0 1d16h      2



 

Address Family: IPv4 Unicast

----------------------------

 

BGP router identifier 11.255.6.100, local AS number 600

BGP generic scan interval 60 secs

Non-stop routing is enabled

BGP table state: Active

Table ID: 0xe0000000   RD version: 77

BGP main routing table version 77

BGP NSR Initial initsync version 2 (Reached)

BGP NSR/ISSU Sync-Group versions 0/0

BGP scan interval 60 secs

 

BGP is operating in STANDALONE mode.

 

Process   RcvTblVer   bRIB/RIB   LabelVer  ImportVer  SendTblVer  StandbyVer

Speaker          77     77     77     77      77       0

 

Neighbor    Spk AS MsgRcvd MsgSent   TblVer  InQ OutQ  Up/Down  St/PfxRcd

7.64.101.10   0   600  31  86    0 0 0 00:00:00      0

11.11.6.250   0   666 2628 2532   77 0 0 1d16h      4

11.255.6.11   0   600 2816 2518   77 0 0 1d16h     21

11.255.6.12   0   600 2819 2519   77 0 0 1d16h     21

 

BGP state on XR-RR1 during idle time:

Note that we have only “IPV4 Unicast” and “VPNV4 Unicast” address families enabled but will work with all other Address families as well

 

RP/0/0/CPU0:XR-RR1#sh bgp all all summary

 

Wed Mar 25 15:10:45.526 UTC

 

Address Family: VPNv4 Unicast

-----------------------------

 

BGP router identifier 11.255.6.100, local AS number 600

BGP generic scan interval 60 secs

Non-stop routing is enabled

BGP table state: Active

Table ID: 0x0   RD version: 0

BGP main routing table version 37

BGP NSR Initial initsync version 1 (Reached)

BGP NSR/ISSU Sync-Group versions 0/0

BGP scan interval 60 secs

 

BGP is operating in STANDALONE mode.

 

Process   RcvTblVer   bRIB/RIB   LabelVer  ImportVer  SendTblVer  StandbyVer

Speaker          37     37     37     37      37       0

 

Neighbor    Spk AS MsgRcvd MsgSent   TblVer  InQ OutQ  Up/Down  St/PfxRcd

7.64.101.10   0   600  29  84    0 0 0 00:02:35 Active

11.255.6.1    0   600 2730 2475   37 0 0 1d16h      2

11.255.6.2    0   600 2731 2475   37 0 0 1d16h      4

11.255.6.3    0   600 2728 2474   37 0 0 1d16h      4

11.255.6.4    0   600 2723 2472   37 0 0 1d16h      2

 

Address Family: IPv4 Unicast

----------------------------

 

BGP router identifier 11.255.6.100, local AS number 600

BGP generic scan interval 60 secs

Non-stop routing is enabled

BGP table state: Active

Table ID: 0xe0000000   RD version: 77

BGP main routing table version 77

BGP NSR Initial initsync version 2 (Reached)

BGP NSR/ISSU Sync-Group versions 0/0

BGP scan interval 60 secs

 

BGP is operating in STANDALONE mode.

 

Process   RcvTblVer   bRIB/RIB   LabelVer  ImportVer  SendTblVer  StandbyVer

Speaker          77     77     77     77      77       0

 

Neighbor    Spk AS MsgRcvd MsgSent   TblVer  InQ OutQ  Up/Down  St/PfxRcd

7.64.101.10   0   600  29  84    0 0 0 00:02:36 Active

11.11.6.250   0   666 2628 2532   77 0 0 1d16h      4

11.255.6.11   0   600 2816 2518   77 0 0 1d16h     21

11.255.6.12   0   600 2818 2519   77 0 0 1d16h     21


 

 

Be the first to reply!

Reply