The VyOS syntax doesn't allow removal ipv6 neighbors from address-family ipv4-unicast.
We need to rethink this logic.
VyOS
set protocols bgp 65001 address-family ipv4-unicast set protocols bgp 65001 address-family ipv6-unicast set protocols bgp 65001 neighbor 10.0.0.2 address-family ipv4-unicast set protocols bgp 65001 neighbor 10.0.0.2 remote-as '65002' set protocols bgp 65001 neighbor 1111:2222:33::1111:2222:1 address-family ipv6-unicast set protocols bgp 65001 neighbor 1111:2222:33::1111:2222:1 remote-as '65002'
Vtysh show run:
! router bgp 65001 neighbor 10.0.0.2 remote-as 65002 neighbor 1111:2222:33::1111:2222:1 remote-as 65002 ! address-family ipv6 unicast neighbor 1111:2222:33::1111:2222:1 activate exit-address-family ! line vty !
After commit, add command
set protocols bgp 65001 parameters default no-ipv4-unicast
vtysh
! router bgp 65001 no bgp default ipv4-unicast neighbor 10.0.0.2 remote-as 65002 neighbor 1111:2222:33::1111:2222:1 remote-as 65002 ! address-family ipv4 unicast neighbor 10.0.0.2 activate neighbor 1111:2222:33::1111:2222:1 activate exit-address-family ! address-family ipv6 unicast neighbor 1111:2222:33::1111:2222:1 activate exit-address-family !
We see ipv6 peer in address-family ipv4-unicast.
If we delete all BGP and build one commit with all commands, include "parameters default no-ipv4-unicast", all address-families in their places.
! router bgp 65001 no bgp default ipv4-unicast neighbor 10.0.0.2 remote-as 65002 neighbor 1111:2222:33::1111:2222:1 remote-as 65002 ! address-family ipv4 unicast neighbor 10.0.0.2 activate exit-address-family ! address-family ipv6 unicast neighbor 1111:2222:33::1111:2222:1 activate exit-address-family !