Steps to reproduce:
1. Fresh install OPNsense 23.7
2. Install frr plugin
3. Routing/General: Enable
4. Routing/BGP: Enable
5. From CLI:
root@OPNsense:~ # service frr restart
Stopping bgpd.
Stopping zebra.
Waiting for PIDS: 12386.
Checking zebra.conf
2023/08/03 11:46:08 ZEBRA: [NNACN-54BDA][EC 4043309110] Disabling MPLS support (no kernel support)
2023/08/03 11:46:08 ZEBRA: [GQGFH-DSTSR][EC 100663303] vty_read_config: failed to open configuration file /usr/local/etc/frr/zebra.conf: Permission denied, checking backup
2023/08/03 11:46:08 ZEBRA: [RHJDG-5FNSK][EC 100663304] can't open configuration file [/usr/local/etc/frr/zebra.conf]
OK
Starting zebra.
2023/08/03 11:46:08 ZEBRA: [NNACN-54BDA][EC 4043309110] Disabling MPLS support (no kernel support)
Checking bgpd.conf
2023/08/03 11:46:08 BGP: [GQGFH-DSTSR][EC 100663303] vty_read_config: failed to open configuration file /usr/local/etc/frr/bgpd.conf: Permission denied, checking backup
2023/08/03 11:46:08 BGP: [RHJDG-5FNSK][EC 100663304] can't open configuration file [/usr/local/etc/frr/bgpd.conf]
OK
Starting bgpd.
What happens when you to a "vrysh" and "sh run"?
root@OPNsense:~ # vtysh
Hello, this is FRRouting (version 8.5.2).
Copyright 1996-2005 Kunihiro Ishiguro, et al.
OPNsense.localdomain# sh run
Building configuration...
Current configuration:
!
frr version 8.5.2
frr defaults traditional
hostname OPNsense.localdomain
!
end
Did you configure anything in bgpd??
Yes, I did.
I turned on bgp router with AS number. I have set up a neighbor with IP and AS number.
Whatever I configure through the GUI doesn't save to the frr configuration visible through sh run (vtysh) or Routing/Diagnostics/General/Running Configuration.
Looks like a file permissions issue:
root@OPNsense:/ # ls -la /usr/local/etc/frr
total 16
drwxr-x--- 2 root wheel 512 Aug 3 11:39 .
drwxr-xr-x 40 root wheel 3072 Aug 3 11:39 ..
-rw-r----- 1 root wheel 0 Aug 4 04:55 bfdd.conf
-rw-r----- 1 root wheel 455 Aug 4 04:55 bgpd.conf
-rw-r----- 1 root wheel 0 Aug 4 04:55 ospf6d.conf
-rw-r----- 1 root wheel 0 Aug 4 04:55 ospf6d_carp.conf
-rw-r----- 1 root wheel 0 Aug 4 04:55 ospfd.conf
-rw-r----- 1 root wheel 0 Aug 4 04:55 ospfd_carp.conf
-rw-r----- 1 root wheel 0 Aug 4 04:55 ripd.conf
-rw-r----- 1 root wheel 0 Aug 4 04:55 sa_policies.conf
-rw-r----- 1 root wheel 0 Aug 4 04:55 vtysh.conf
-rw-r----- 1 root wheel 174 Aug 4 04:55 zebra.conf
I ran the script to set the permissions:
/usr/local/opnsense/scripts/quagga/setup.sh
and everything seems to be ok now:
root@OPNsense:~ # ls -la /usr/local/etc/frr
total 16
drwxr-x--- 2 frr frr 512 Aug 3 11:39 .
drwxr-xr-x 40 root wheel 3072 Aug 3 11:39 ..
-rw-r----- 1 frr frr 0 Aug 4 05:23 bfdd.conf
-rw-r----- 1 frr frr 456 Aug 4 05:23 bgpd.conf
-rw-r----- 1 frr frr 0 Aug 4 05:23 ospf6d.conf
-rw-r----- 1 frr frr 0 Aug 4 05:23 ospf6d_carp.conf
-rw-r----- 1 frr frr 0 Aug 4 05:23 ospfd.conf
-rw-r----- 1 frr frr 0 Aug 4 05:23 ospfd_carp.conf
-rw-r----- 1 frr frr 0 Aug 4 05:23 ripd.conf
-rw-r----- 1 frr frr 0 Aug 4 05:23 sa_policies.conf
-rw-r----- 1 frr frr 0 Aug 4 05:23 vtysh.conf
-rw-r----- 1 frr frr 174 Aug 4 05:23 zebra.conf
root@OPNsense:~ # service frr restart
Stopping bgpd.
Stopping zebra.
Waiting for PIDS: 55571.
Checking zebra.conf
2023/08/04 05:26:10 ZEBRA: [NNACN-54BDA][EC 4043309110] Disabling MPLS support (no kernel support)
OK
Starting zebra.
2023/08/04 05:26:10 ZEBRA: [NNACN-54BDA][EC 4043309110] Disabling MPLS support (no kernel support)
Checking bgpd.conf
2023/08/04 05:26:10 BGP: [YTHK0-FSPPJ][EC 33554500] sendmsg_nexthop: zclient_send_message() failed
2023/08/04 05:26:10 BGP: [YTHK0-FSPPJ][EC 33554500] sendmsg_nexthop: zclient_send_message() failed
OK
Starting bgpd.
root@OPNsense:~ #
Usually this should be executed everytime you hit Save :/
Finally a bug was found: https://github.com/opnsense/plugins/issues/3521
Will be fixed in 23.7.1.
Running this manually should fix it for now:
# /usr/local/opnsense/scripts/quagga/setup.sh
Cheers,
Franco