VyOS 1.5-rolling is currently using FRR 9.0.1.
Its daemons-file exists over at:
https://github.com/FRRouting/frr/blob/stable/9.0/tools/etc/frr/daemons
and differs somewhat from the one currently used by VyOS over at:
- Comment watchfrr, zebra, mgmtd and staticd in the processlist (yes/no) since they are always started according to the FRR/daemons-file (mgmtd is a new feature so the comment from FRR/daemons-file isnt up2date):
# The watchfrr, zebra and staticd daemons are always started.
- Verify that all processes (yes/no) that FRR supports are listed and matches the FRR/daemons-file to make debugging easier in future.
- Same regarding order of xxx_options verify that it match the order of above.
- "--daemon" is redundant since the processes by default starts with "-d" (can be seen through ps auxwww | grep -i frr) but will remain in the VyOS daemons-file for safety and clearity.
- Include other variables from the FRR/daemons-file into the VyOS-edition. Start by having them commented (except for frr_profile which defaults to "Traditional").
- Verify that the configuration regarding which SNMP-modules exists matches between the VyOS daemons-file and the manual at FRR:
http://docs.frrouting.org/en/stable-9.0/basic.html#loadable-module-support
If SNMP is enabled during compile-time and installed as part of the package, the snmp module can be loaded for the Zebra, bgpd, ospfd, ospf6d and ripd daemons.
But looking in the modules directory in VyOS we can see these modules being available:
root@vyos:~# ls -la /usr/lib/x86_64-linux-gnu/frr/modules | grep -i snmp -rw-r--r-- 1 root root 264712 Sep 16 08:09 bgpd_snmp.so -rw-r--r-- 1 root root 142616 Sep 16 08:09 isisd_snmp.so -rw-r--r-- 1 root root 89832 Sep 16 08:09 ldpd_snmp.so -rw-r--r-- 1 root root 126688 Sep 16 08:09 ospf6d_snmp.so -rw-r--r-- 1 root root 178096 Sep 16 08:09 ospfd_snmp.so -rw-r--r-- 1 root root 38648 Sep 16 08:09 ripd_snmp.so -rw-r--r-- 1 root root 50136 Sep 16 08:09 zebra_snmp.so
So which processes will get "-M snmp" will remain in the VyOS daemons-file.
However the frr_daemons_list in snmp.py must be updated since ripngd doesnt have any snmp-module compiled:
https://github.com/vyos/vyos-1x/blob/current/src/conf_mode/snmp.py#L256
- Match order of processes in variable _frr_daemons to the list in daemons-file:
https://github.com/vyos/vyos-1x/blob/current/python/vyos/frr.py#L89
- The variable cmd_args_parser.add_argument regarding which FRR processes exists today is out of sync:
https://github.com/vyos/vyos-1x/blob/current/src/op_mode/restart_frr.py#L142
This must be updated aswell:
https://github.com/vyos/vyos-1x/blob/current/op-mode-definitions/restart-frr.xml.in
For the proposed changes (next post in this task) I have included all services that FRR provides but Im not sure if this is the right thing to do in VyOS?
- Does anyone know if the below lines are still valid for FRR 9.0.1? They doesnt seem to be referenced any longer in github.com/vyos-1x but could still be used internally by FRR:
watchfrr_enable=no valgrind_enable=no
- Why is pim6d set to autostart but not pimd?
pimd=no pim6d=yes
Ref:
https://github.com/FRRouting/frr/blob/stable/9.0/tools/etc/frr/daemons
https://docs.frrouting.org/en/stable-9.0/basic.html#loadable-module-support