To reproduce the bug set internal and external neighbors to the same peer-group
set vrf name red protocols bgp neighbor 192.0.2.2 peer-group 'PG' set vrf name red protocols bgp neighbor 192.0.2.2 remote-as '65002' set vrf name red protocols bgp peer-group PG address-family ipv4-unicast set vrf name red protocols bgp system-as '65001' set vrf name red table '1010' commit set vrf name red protocols bgp neighbor 192.0.2.3 peer-group 'PG' set vrf name red protocols bgp neighbor 192.0.2.3 remote-as '65001' commit
After the second commit:
Traceback (most recent call last): File "/usr/libexec/vyos/conf_mode/protocols_bgp.py", line 596, in <module> apply(c) File "/usr/libexec/vyos/conf_mode/protocols_bgp.py", line 587, in apply frr_cfg.commit_configuration(bgp_daemon) File "/usr/lib/python3/dist-packages/vyos/frr.py", line 482, in commit_configuration raise ConfigurationNotValid(f'Config commit retry counter ({count_max}) exceeded for {daemon} dameon!') vyos.frr.ConfigurationNotValid: Config commit retry counter (5) exceeded for bgpd dameon!
The actual FRR message:
vyos@r4# vtysh r4# r4# conf t r4(config)# r4(config)# router bgp 65001 vrf red r4(config-router)# neighbor 192.0.2.3 remote-as 65001 % Peer-group members must be all internal or all external. r4(config-router)#