Page MenuHomeVyOS Platform

SNMP integration with routing daemons broken.
Closed, ResolvedPublicBUG

Description

FRR's SNMP support is incompatible with the legacy Quagga SNMP implementation provided by 1.2.0: Instead of using the SMUX peer functionality of SNMPd, FRR uses the SNMP agent architecture.

It looks like the following changes are required:

  • Adding "-M SNMP" to the relevant lines in /etc/frr/daemons.conf for zebra, bgpd, ospfd, ospf6d, ripd:
vtysh_enable=yes
zebra_options="  -s 90000000 --daemon -A 127.0.0.1 -M snmp -n"
bgpd_options="   --daemon -A 127.0.0.1 -M snmp"
ospfd_options="  --daemon -A 127.0.0.1 -M snmp"
ospf6d_options=" --daemon -A ::1 -M snmp"
ripd_options="   --daemon -A 127.0.0.1 -M snmp"
ripngd_options=" --daemon -A ::1"
isisd_options="  --daemon -A 127.0.0.1"
pimd_options="  --daemon -A 127.0.0.1"
ldpd_options="  --daemon -A 127.0.0.1"
nhrpd_options="  --daemon -A 127.0.0.1"
eigrpd_options="  --daemon -A 127.0.0.1"
babeld_options="  --daemon -A 127.0.0.1"
sharpd_options="  --daemon -A 127.0.0.1"
pbrd_options="  --daemon -A 127.0.0.1"
staticd_options="  --daemon -A 127.0.0.1"
bfdd_options="  --daemon -A 127.0.0.1"

watchfrr_enable=yes
watchfrr_options=(-d -r /usr/lib/frr/frrbBrestartbB%s -s /usr/lib/frr/frrbBstartbB%s -k /usr/lib/frr/frrbBstopbB%s -b bB)

valgrind_enable=no
valgrind=/usr/bin/valgrind
  • Add 'agentx' to the FRR config files for the above daemons.
  • Comment out the following lines from /etc/snmp/snmpd.conf:
smuxpeer .1.3.6.1.4.1.3317.1.2.2
smuxpeer .1.3.6.1.4.1.3317.1.2.3
smuxpeer .1.3.6.1.4.1.3317.1.2.5
smuxpeer .1.3.6.1.4.1.3317.1.2.8
smuxpeer .1.3.6.1.4.1.3317.1.2.9
  • Additionally, the agentx socket needs to be writable by the frr user:
agentXPerms 0777 0777

Obviously the above configuration will be destroyed during configuration and/or upgrades.

Details

Difficulty level
Normal (likely a few hours)
Version
1.2.0-rc3
Why the issue appeared?
Will be filled on close

Event Timeline

syncer triaged this task as Normal priority.
syncer edited projects, added VyOS 1.2 Crux (VyOS 1.2.0-rc4); removed VyOS 1.2 Crux.
This comment was removed by c-po.

Hello, we have the same (or similar) problem. After replacing Zebra by FRR, we can't get information from VyOS about BGP Peer status via old SNMP OID.

For example, this is output from VyOS 1.2.0-rolling+201806050337:
root@zabbix:~# snmpwalk -v2c -c supercommunity x.x.x.x .1.3.6.1.2.1.15.3.1.2
iso.3.6.1.2.1.15.3.1.2.y.x.x.z = INTEGER: 6
iso.3.6.1.2.1.15.3.1.2.x.y.z.x = INTEGER: 6
iso.3.6.1.2.1.15.3.1.2.z.x.y.x = INTEGER: 6
iso.3.6.1.2.1.15.3.1.2.x.z.y.x = INTEGER: 6
root@zabbix:~#

And this output from VyOS 1.2.0-rolling+201810210337 (today's build):
root@zabbix:~# snmpwalk -v2c -c supercommunity x.x.x.x .1.3.6.1.2.1.15.3.1.2
iso.3.6.1.2.1.15.3.1.2 = No Such Object available on this agent at this OID
root@zabbix:~#

Can we do something to help you solve the problem? Maybe you need more information?

Problem is partly fixed in the latest rolling release. Only this manual step is required in addition at this time:

vyos@vyos:~$ vtysh -c "configure terminal" -c "agentx"

Would it be possible to ask also for IPv6 support?

I mean, the current 1.8 just gives me snmp informations about the IPv4 routing protocols, and not the IPv6.

@MrFunken IPv6 is handled via T366.

This task is resolved