Page MenuHomePhabricator

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
DaveH created this task.Oct 20 2018, 9:33 AM
syncer assigned this task to dmbaturin.Oct 20 2018, 9:35 AM
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.
oliko added a subscriber: oliko.Oct 20 2018, 12:41 PM
c-po added a subscriber: c-po.Oct 20 2018, 1:09 PM
This comment was removed by c-po.
oliko added a comment.EditedOct 21 2018, 11:15 AM

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?

c-po added a comment.EditedOct 21 2018, 12:19 PM

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"
pasik added a subscriber: pasik.Nov 4 2018, 11:21 AM

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.

c-po added a comment.Jan 2 2019, 7:16 AM

@MrFunken IPv6 is handled via T366.

This task is resolved

c-po closed this task as Resolved.Jan 2 2019, 7:17 AM