When adding or modifying a bond connection, we first check that
constraints between options are met and then we normalize the
connection. During normalization we remove options that are not
compatible with the selected bond mode. This step can remove an option
that was needed by another one, making the connection invalid.
# nmcli connection add type bond bond.options mode=4,arp_interval=2,arp_ip_target=18.104.22.168
(process:18007): libnm-WARNING **: 09:33:48.816: connection did not verify after normalization: ??
(process:18007): libnm-CRITICAL **: 09:33:48.816: file ../libnm-core/nm-connection.c: line 1684 (nm_connection_normalize): should not be reached
Error: Failed to add 'bond' connection: bond.options: 'arp_ip_target' option requires 'arp_interval' option to be set
NM version: 1.14.0-14.el8 (master is affected as well)
nmcli connection add type bond bond.options mode=4,arp_interval=2,arp_ip_target=22.214.171.124 sets 802.3ad mode bond correctly and arp values are thrown away.