Hello. I am attempting to use BGP peer groups on pfSense 24.03-RELEASE with FRR 2.0.2_3.
I am noticing many failures in /var/log/frr/frr-reload.log which end like this:
2024-05-21 01:14:22,454 WARNING: frr-reload.py failed due to
vtysh (exec file) exited with status 13
When I manually attempt to run the command, I see this:
[24.03-RELEASE][admin@...]/root: frr-reload.py /var/etc/frr/frr.conf --reload
[17677|mgmtd] sending configuration
[17977|zebra] sending configuration
[19150|bgpd] sending configuration
[20150|watchfrr] sending configuration
[20553|staticd] sending configuration
Waiting for children to finish applying config...
% Peer-group member cannot override remote-as of peer-group.
line 2: Failure to communicate[13] to bgpd, line: neighbor 1.2.3.4 remote-as 12345
% Peer-group member cannot override remote-as of peer-group.
line 6: Failure to communicate[13] to bgpd, line: neighbor 5.6.7.8 remote-as 12345
[17677|mgmtd] done
[17977|zebra] done
% Peer-group member cannot override remote-as of peer-group.
line 10: Failure to communicate[13] to bgpd, line: neighbor fd00::1 remote-as 12345
% Peer-group member cannot override remote-as of peer-group.
line 14: Failure to communicate[13] to bgpd, line: neighbor fd00::1 remote-as 12345
[19150|bgpd] Configuration file[/var/etc/frr/frr.conf] processing failure: 13
[20150|watchfrr] done
[20553|staticd] done
[22077|mgmtd] sending configuration
[22315|zebra] sending configuration
[22983|bgpd] sending configuration
[24174|watchfrr] sending configuration
[24549|staticd] sending configuration
Waiting for children to finish applying config...
% Peer-group member cannot override remote-as of peer-group.
line 2: Failure to communicate[13] to bgpd, line: neighbor 1.2.3.4 remote-as 12345
% Peer-group member cannot override remote-as of peer-group.
line 6: Failure to communicate[13] to bgpd, line: neighbor 5.6.7.8 remote-as 12345
% Peer-group member cannot override remote-as of peer-group.
line 10: Failure to communicate[13] to bgpd, line: neighbor fd00::1 remote-as 12345
% Peer-group member cannot override remote-as of peer-group.
line 14: Failure to communicate[13] to bgpd, line: neighbor fd00::1 remote-as 12345
[22077|mgmtd] done
[22315|zebra] done
% Peer-group member cannot override remote-as of peer-group.
line 23: Failure to communicate[13] to bgpd, line: neighbor 1.2.3.4 remote-as 12345
% Peer-group member cannot override remote-as of peer-group.
line 27: Failure to communicate[13] to bgpd, line: neighbor 5.6.7.8 remote-as 12345
% Peer-group member cannot override remote-as of peer-group.
line 31: Failure to communicate[13] to bgpd, line: neighbor fd00::1 remote-as 12345
% Peer-group member cannot override remote-as of peer-group.
line 35: Failure to communicate[13] to bgpd, line: neighbor fd00::1 remote-as 12345
[24174|watchfrr] done
[22983|bgpd] Configuration file[/var/etc/frr/frr.conf] processing failure: 13
[24549|staticd] done
[24.03-RELEASE][admin@...]/root:
The (partial and redacted) contents of frr.conf are as follows:
router bgp 65000
neighbor 1.2.3.4 peer-group ABCv4
neighbor 1.2.3.4 remote-as 12345
neighbor 5.6.7.8 peer-group ABCv4
neighbor 5.6.7.8 remote-as 12345
neighbor fd00::1 peer-group ABCv6
neighbor fd00::1 remote-as 12345
neighbor fd00::1 peer-group ABCv6
neighbor fd00::1 remote-as 12345
neighbor ABCv4 peer-group
neighbor ABCv4 remote-as 12345
neighbor ABCv4 description Uplinks (IPv4)
neighbor ABCv6 peer-group
neighbor ABCv6 remote-as 12345
neighbor ABCv6 description Uplinks (IPv6)
The problem appears to be related to the way the management UI renders the frr.conf file. If I delete the neighbor ... remote-as 12345 lines for the non-peer-group neighbors, frr-reload.py completes successfully.