Page MenuHomeVyOS Platform

Enable snmp module also for frr/ldpd
Closed, ResolvedPublicFEATURE REQUEST

Description

There seems to be a snmp module compiled and available for frr/ldpd but it isnt currently being used:

root@vyos:~# ls -la /usr/lib/x86_64-linux-gnu/frr/modules/
total 2681
drwxr-xr-x 2 root root     314 Aug 17 05:17 .
drwxr-xr-x 3 root root     298 Aug 17 05:17 ..
-rw-r--r-- 1 root root   84912 Aug 16 16:37 bgpd_bmp.so
-rw-r--r-- 1 root root   67488 Aug 16 16:37 bgpd_rpki.so
-rw-r--r-- 1 root root  264712 Aug 16 16:37 bgpd_snmp.so
-rw-r--r-- 1 root root   60296 Aug 16 16:37 dplane_fpm_nl.so
-rw-r--r-- 1 root root  142616 Aug 16 16:37 isisd_snmp.so
-rw-r--r-- 1 root root   89832 Aug 16 16:37 ldpd_snmp.so
-rw-r--r-- 1 root root  126688 Aug 16 16:37 ospf6d_snmp.so
-rw-r--r-- 1 root root  178096 Aug 16 16:37 ospfd_snmp.so
-rw-r--r-- 1 root root 1502720 Aug 16 16:37 pathd_pcep.so
-rw-r--r-- 1 root root   38648 Aug 16 16:37 ripd_snmp.so
-rw-r--r-- 1 root root   20568 Aug 16 16:37 zebra_cumulus_mlag.so
-rw-r--r-- 1 root root   59336 Aug 16 16:37 zebra_fpm.so
-rw-r--r-- 1 root root   56736 Aug 16 16:37 zebra_irdp.so
-rw-r--r-- 1 root root   50136 Aug 16 16:37 zebra_snmp.so
root@vyos:~# ps auxwww | grep -i frr
root         863  0.0  0.0   8556  3452 ?        S<s  Aug18   0:15 /usr/lib/frr/watchfrr -d -F traditional zebra mgmtd bgpd ripd ripngd ospfd ospf6d isisd babeld ldpd eigrpd staticd bfdd
frr          909  0.0  0.2 1149348 23500 ?       S<sl Aug18   0:01 /usr/lib/frr/zebra -d -F traditional -s 90000000 --daemon -A 127.0.0.1 -M snmp
frr          914  0.0  0.0  10092  6504 ?        S<s  Aug18   0:00 /usr/lib/frr/mgmtd -d -F traditional --daemon -A 127.0.0.1
frr          916  0.0  0.2 258772 22968 ?        S<sl Aug18   0:01 /usr/lib/frr/bgpd -d -F traditional --daemon -A 127.0.0.1 -M snmp -M rpki -M bmp
frr          923  0.0  0.1  26880 11848 ?        S<s  Aug18   0:01 /usr/lib/frr/ripd -d -F traditional --daemon -A 127.0.0.1 -M snmp
frr          926  0.0  0.0   9976  5716 ?        S<s  Aug18   0:00 /usr/lib/frr/ripngd -d -F traditional --daemon -A ::1
frr          929  0.0  0.1  29088 13060 ?        S<s  Aug18   0:01 /usr/lib/frr/ospfd -d -F traditional --daemon -A 127.0.0.1 -M snmp
frr          932  0.0  0.1  28060 12584 ?        S<s  Aug18   0:01 /usr/lib/frr/ospf6d -d -F traditional --daemon -A ::1 -M snmp
frr          943  0.0  0.1  28876 12940 ?        S<s  Aug18   0:01 /usr/lib/frr/isisd -d -F traditional --daemon -A 127.0.0.1 -M snmp
frr          951  0.0  0.0   9576  5292 ?        S<s  Aug18   0:00 /usr/lib/frr/babeld -d -F traditional --daemon -A 127.0.0.1
frr          955  0.0  0.0  10044  7136 ?        S<   Aug18   0:00 /usr/lib/frr/ldpd -L -u frr -g frr
frr          956  0.0  0.0  10048  7304 ?        S<   Aug18   0:00 /usr/lib/frr/ldpd -E -u frr -g frr
frr          961  0.0  0.0  10604  5648 ?        S<s  Aug18   0:00 /usr/lib/frr/ldpd -d -F traditional --daemon -A 127.0.0.1
frr          967  0.0  0.0  10180  5844 ?        S<s  Aug18   0:00 /usr/lib/frr/eigrpd -d -F traditional --daemon -A 127.0.0.1
frr          970  0.0  0.0   9816  6152 ?        S<s  Aug18   0:00 /usr/lib/frr/staticd -d -F traditional --daemon -A 127.0.0.1
frr          974  0.0  0.0   9804  5540 ?        S<s  Aug18   0:00 /usr/lib/frr/bfdd -d -F traditional --daemon -A 127.0.0.1

Suggestion to alter /etc/frr/daemons so the line regarding ldpd becomes:

ldpd_options="--daemon -A 127.0.0.1 -M snmp"

Details

Difficulty level
Unknown (require assessment)
Version
-
Why the issue appeared?
Will be filled on close
Is it a breaking change?
Unspecified (possibly destroys the router)
Issue type
Improvement (missing useful functionality)

Event Timeline

Does it do what you want?

vyos@r14# set system frr snmp 
Possible completions:
   bgpd                 BGP
   isisd                IS-IS
   ldpd                 LDP
   ospf6d               OSPFv3
   ospfd                OSPFv2
   ripd                 RIP
   zebra                Zebra (IP routing manager)

For example

vyos@r14:~$ show conf com | match ldp
set system frr snmp ldpd
vyos@r14:~$ 
vyos@r14:~$ ps ax | grep ldp
   1006 ?        S<s    0:00 /usr/lib/frr/watchfrr -d -F traditional zebra mgmtd bgpd ripd ripngd ospfd ospf6d isisd babeld ldpd eigrpd staticd bfdd
   1075 ?        S<     0:00 /usr/lib/frr/ldpd -L -u frr -g frr
   1076 ?        S<     0:00 /usr/lib/frr/ldpd -E -u frr -g frr
   1079 ?        S<s    0:00 /usr/lib/frr/ldpd -d -F traditional --daemon -A 127.0.0.1 -M snmp
   3124 pts/0

Yes, that output seems to have the snmp module (which exists in /usr/lib/x86_64-linux-gnu/frr/modules/) loaded.

Just a comment:

Since I dont have any of the set system frr snmp currently configured, how come all frr services have -M snmp enabled except the ldpd service?

Its like this is default enabled for everything but the ldpd service!?

Or should I file that as a separate task?

Close it if this issue is solved.

I dont agree this is resolved.

Sure one can use following to enable snmp module for ldpd:

set system frr snmp bgpd
set system frr snmp isisd
set system frr snmp ldpd
set system frr snmp ospf6d
set system frr snmp ospfd
set system frr snmp ripd
set system frr snmp zebra

However all of above (when the above syntax isnt set) runs "-M snmp" by default, only ldpd doesnt have "-M snmp" enabled by default.

It should be disabled by default for all daemons. I guess it will be implemented in T4020
For your issue solution is set system frr snmp ldpd.

Apachez claimed this task.

I will put this as resolved under protest :-)