ARISTA - BGP sessions under VRF

Hi Guys,

I’ve many devices which holds BGP peers under VRF, it’s not reflected in LibreNMS BGP sessions, please advise if there is any solution for this?
As well evpn bgp sessions also not reflected

Hello,
In order to get feedback from people with the same kind of setup as you have, please indicate :

  • type of device (family, model, version etc etc)
  • type of configuration (including anonymized snippets of config if necessary)

PipoCanaja

My Device are Arista, it happens on all Arista platforms , my current code is Software image version: 4.20.5F
Below are my config

router bgp 64800
router-id x.x.x.x
timers bgp 1 3
distance bgp 20 200 200
graceful-restart restart-time 300
maximum-paths 8 ecmp 8
neighbor PEER01 peer-group
neighbor PEER01 remote-as 64551
neighbor PEER01 remove-private-as
neighbor PEER01 fall-over bfd
neighbor PEER01 send-community
neighbor PEER01 maximum-routes 12000
neighbor PEER02 peer-group
neighbor PEER02 remote-as 64800
neighbor PEER02 send-community
neighbor PEER02 maximum-routes 12000
neighbor SPINES-EVPN-TRANSIT peer-group
neighbor SPINES-EVPN-TRANSIT remote-as 65500
neighbor SPINES-EVPN-TRANSIT update-source Loopback0
neighbor SPINES-EVPN-TRANSIT ebgp-multihop
neighbor SPINES-EVPN-TRANSIT send-community extended
neighbor SPINES-EVPN-TRANSIT maximum-routes 12000
neighbor x.x.x.x peer-group PEER01
neighbor x.x.x.x peer-group PEER02
neighbor x.x.x.x peer-group SPINES-EVPN-TRANSIT
neighbor x.x.x.x peer-group SPINES-EVPN-TRANSIT
redistribute connected
!
vlan 100
rd 100:100
route-target both 100:100
redistribute learned
!
vlan 101
rd 101:101
route-target both 101:101
redistribute learned
!
vlan 104
rd 104:104
route-target both 104:104
redistribute learned
!
vlan 105
rd 105:105
route-target both 105:105
redistribute learned
!
vlan 200
rd 200:200
route-target both 200:200
redistribute learned
!
vlan 201
rd 201:201
route-target both 201:201
redistribute learned
!
vlan 205
rd 205:205
route-target both 205:205
redistribute learned
!
vlan 30
rd 30:30
route-target both 30:30
redistribute learned
!
vlan 31
rd 31:31
route-target both 31:31
redistribute learned
!
address-family evpn
neighbor x.x.x.x activate
neighbor x.x.x.x activate
!
address-family ipv4
no neighbor x.x.x.x activate
no neighbor x.x.x.x activate
!
vrf BACKEND-AFVRF
rd 64800:1
route-target import 15001:1
route-target export 15001:1
neighbor x.x.x.x peer-group PEER01
neighbor x.x.x.x peer-group PEER02
redistribute connected

Any update on this please

Hi,
although i’m kinda a noob regarding librenms or php for that matter, since its primary data source are snmp pollers, can you see them by performing snmp walks on them? I’ve no idea how arista implements it but with cisco there is a specific process when you want to collect or discover VRFs

1 Like

If nobody reacted so far, I guess that nobody has the equipment and did so far develop the feature. Or it may even not be possible

First step: get the MIBs from your device, install them on a machine, and play with SNMPWALK to find out how the information is exposed (if it is).

Then, if you have coding skills (even basic ones) feel free to jump into the LibreNMS community and contribute code for this. It is not that hard at all, and you can get your inspiration for existing devices with BGP support.
If you cannot do that, try to get in touch with other arista users that could help on this topic. If you have some kind of “Lab” or “Test” equipment that could be made accessible remotely, that could be also an option and you may find somebody who can code it.

Bye

1 Like

I have the equipment and would like to try to help or pick this up. I have arista equipment and would like to use LibreNMS as our only NMS system, however, we need VRF support and BGP sessions within BGP. I can work with someone to make this happen. I just need some help.

Thanks.

Hi @gibbsj87
I would suggest to start with this PR.

The code is improving BGP support for huawei VPR devices, using their MIB instead of the standard BGP4 (which does not support BGP sessions under VRFs).

This code will be merged (1st step) and a 2nd step (refactoring) will come to split this code into different files (one per OS). But you can already start working/testing on Arista devices, and when the 2 PR are merged, we’ll add your Arista code.

Hi @gibbsj87
VRF for arista devices is coming here :

Could you please test it on your devices and provide us a feedback directly in the GitHub pull request ?
Thanx

Hi,

I have tested with Arista DCS-7280-SR2K (EOS 4.22.4M).

All VRF are detected, but BGP session under VRF is not.

Thanks,

Hi
BGP support in VRFs and routing in VRF is not yet supported. Feel free to implement and contribute it. I personnally don’t have any arista device to do it.
Bye

With this merge request support for BGP should be relatively easy to implement.

The BGP discovery appears to support querying the correct tables using a context. However, contexts are not returned properly for Arista devices. At the moment contexts are accessed during BGP discovery by calling the method getVrfContexts() to get the contexts names (in case of Artista these are the VRF names).

The function for returning contexts supports Cisco vrf lite only. In case of Arista this function should return the VRF names.

This would mean that the function getVrfContexts needs an update to return the vrf names in case the device is an arista device. This should be a relatively small and easy change, however I read PHP my writing is not that good…

1 Like