NetworkManager/libnm-core
Antonio Cardace a8846619aa
nm-setting-bond: fix '[up|down]delay', 'miimon' validation
Just looking at the hashtable entry of 'updelay' and 'downdelay' options
is wrong, we have to inspect their values to check if they're
actually enabled or not.

Otherwise bond connections with valid settings will fail
when created:

$ nmcli c add type bond ifname bond99 bond.options miimon=0,updelay=0,mode=0
Error: Failed to add 'bond-bond99' connection: bond.options: 'updelay' option requires 'miimon' option to be set

Also add unit tests.

https://bugzilla.redhat.com/show_bug.cgi?id=1805184

Fixes: d595f7843e ('libnm: add libnm/libnm-core (part 1)')
(cherry picked from commit 50da785be1)
(cherry picked from commit 2644b0c753)
2020-09-08 14:57:59 +02:00
..
tests nm-setting-bond: fix '[up|down]delay', 'miimon' validation 2020-09-08 14:57:59 +02:00
meson.build build: use -fcommon when building libnm-core 2020-04-20 07:33:17 +02:00
nm-connection-private.h all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-connection.c libnm: accept %NULL argument in nmtst_connection_assert_unchanging() 2019-07-16 12:35:36 +02:00
nm-connection.h libnm/doc: add missing "Since: 1.20" comments 2019-08-06 12:22:16 +02:00
nm-core-enum-types.c.template libnm-core: add ovs-dpdk setting 2019-06-14 12:10:20 +02:00
nm-core-enum-types.h.template build: use template files for enum types' sources generation 2017-12-18 11:25:06 +01:00
nm-core-internal.h libnm-core: add _nm_ip_tunnel_mode_is_layer2() 2020-05-15 10:12:05 +02:00
nm-core-types-internal.h all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-core-types.h libnm-core: add ovs-dpdk setting 2019-06-14 12:10:20 +02:00
nm-crypto-gnutls.c all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-crypto-impl.h all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-crypto-nss.c all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-crypto.c libnm/crypto: accept TPM2-wrapped PEM keys 2019-07-10 17:31:48 +02:00
nm-crypto.h all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-dbus-interface.h libnm/doc: add missing "Since: 1.20" comments 2019-08-06 12:22:16 +02:00
nm-dbus-utils.c all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-errors.c all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-errors.h all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-json.c libnm-core: don't use RTLD_DEEPBIND when building with asan 2018-02-15 15:34:03 +01:00
nm-json.h shared: move most of "shared/nm-utils" to "shared/nm-glib-aux" 2019-04-18 18:59:09 +02:00
nm-keyfile-internal.h settings: support storing "shadowed-storage" to [.nmmeta] section for keyfiles in /run 2019-07-25 22:02:00 +02:00
nm-keyfile-utils.c keyfile: avoid assertion failure in nm_keyfile_plugin_kf_get_{string,integer}_list() 2020-04-16 09:48:21 +02:00
nm-keyfile-utils.h all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-keyfile.c keyfile: suppress bogus warning about [ethernet-s390-options] setting 2020-05-27 09:47:36 +02:00
nm-property-compare.c all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-property-compare.h all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-setting-6lowpan.c libnm-core: reorder code in settings 2019-01-15 09:55:24 +01:00
nm-setting-6lowpan.h libnm-core: add NMSetting{6Lowpan,Wpan}Class to a public header 2018-06-29 22:34:23 +02:00
nm-setting-8021x.c ifcfg-rh: support persisting 802-1x.pin and pin-flags property 2020-05-29 13:20:48 +02:00
nm-setting-8021x.h all: add 802-1x.optional property 2019-11-06 11:46:04 +01:00
nm-setting-adsl.c all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-setting-adsl.h all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-setting-bluetooth.c all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-setting-bluetooth.h all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-setting-bond.c nm-setting-bond: fix '[up|down]delay', 'miimon' validation 2020-09-08 14:57:59 +02:00
nm-setting-bond.h all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-setting-bridge-port.c all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-setting-bridge-port.h all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-setting-bridge.c libnm: fix annotation for out arguments of nm_bridge_vlan_get_vid_range() 2019-11-19 16:17:57 +01:00
nm-setting-bridge.h all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-setting-cdma.c all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-setting-cdma.h all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-setting-connection.c libnm,cli,ifcfg-rh: add connection:wait-device-timeout property 2019-07-10 12:43:06 +02:00
nm-setting-connection.h libnm,cli,ifcfg-rh: add connection:wait-device-timeout property 2019-07-10 12:43:06 +02:00
nm-setting-dcb.c all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-setting-dcb.h all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-setting-dummy.c all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-setting-dummy.h all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-setting-ethtool.c libnm: belatedly expose nm_ethtool_optname_is_feature() in libnm 2019-06-11 14:58:14 +02:00
nm-setting-ethtool.h libnm: belatedly expose nm_ethtool_optname_is_feature() in libnm 2019-06-11 14:58:14 +02:00
nm-setting-generic.c all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-setting-generic.h all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-setting-gsm.c all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-setting-gsm.h all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-setting-infiniband.c all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-setting-infiniband.h all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-setting-ip-config.c cli: unset "ipv[46].never-default" when setting "ipv[46].gateway" 2020-04-22 21:16:03 +02:00
nm-setting-ip-config.h libnm,core: add support for "suppress_prefixlength" rule attribute 2019-07-16 10:03:17 +02:00
nm-setting-ip-tunnel.c libnm-core: add _nm_ip_tunnel_mode_is_layer2() 2020-05-15 10:12:05 +02:00
nm-setting-ip-tunnel.h all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-setting-ip4-config.c libnm: add nm_connection_to_dbus_full() with options argument 2019-06-28 16:48:17 +02:00
nm-setting-ip4-config.h all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-setting-ip6-config.c libnm-core: fix ifcfg-rh variable name for DHCPv6 hostname 2019-08-05 16:01:48 +02:00
nm-setting-ip6-config.h libnm/doc: add Since tag for %NM_SETTING_IP6_CONFIG_METHOD_DISABLED 2019-08-06 11:52:08 +02:00
nm-setting-macsec.c all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-setting-macsec.h all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-setting-macvlan.c all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-setting-macvlan.h all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-setting-match.c libnm: fix gtk-doc annotations for nm_setting_match_get_interface_names() 2020-05-06 15:12:17 +02:00
nm-setting-match.h all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-setting-olpc-mesh.c all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-setting-olpc-mesh.h all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-setting-ovs-bridge.c core: add ovs-bridge.datapath-type property 2019-07-25 12:32:20 +02:00
nm-setting-ovs-bridge.h core: add ovs-bridge.datapath-type property 2019-07-25 12:32:20 +02:00
nm-setting-ovs-dpdk.c libnm-core: add ovs-dpdk setting 2019-06-14 12:10:20 +02:00
nm-setting-ovs-dpdk.h libnm-core: add ovs-dpdk setting 2019-06-14 12:10:20 +02:00
nm-setting-ovs-interface.c core/ovs-interface: add support for dpdk type 2019-06-14 12:10:20 +02:00
nm-setting-ovs-interface.h libnm-core: add ovs-interface setting 2017-10-30 17:40:08 +01:00
nm-setting-ovs-patch.c libnm-core: interpret ovs-patch.peer as an interface name 2020-09-04 16:38:15 +02:00
nm-setting-ovs-patch.h libnm-core: add ovs-patch setting 2017-10-30 17:40:08 +01:00
nm-setting-ovs-port.c all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-setting-ovs-port.h libnm-core: add ovs-port setting 2017-10-30 17:40:08 +01:00
nm-setting-ppp.c all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-setting-ppp.h all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-setting-pppoe.c all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-setting-pppoe.h all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-setting-private.h libnm: add nm_connection_to_dbus_full() with options argument 2019-06-28 16:48:17 +02:00
nm-setting-proxy.c all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-setting-proxy.h all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-setting-serial.c all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-setting-serial.h all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-setting-sriov.c libnm: fix type annotation for nm_sriov_vf_get_vlan_ids() 2019-12-20 14:53:24 +01:00
nm-setting-sriov.h all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-setting-tc-config.c libnm: add nm_connection_to_dbus_full() with options argument 2019-06-28 16:48:17 +02:00
nm-setting-tc-config.h libnm: don't return deep-copied strv array from nm_tc_qdisc_get_attribute_names() 2019-04-20 08:09:52 +02:00
nm-setting-team-port.c all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-setting-team-port.h all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-setting-team.c all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-setting-team.h all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-setting-tun.c all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-setting-tun.h all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-setting-user.c all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-setting-user.h all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-setting-vlan.c libnm: fix assertions in NMSettingVlan's priority API 2019-08-02 11:10:50 +02:00
nm-setting-vlan.h all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-setting-vpn.c settings: fix updating agent-owned VPN secrets 2019-11-05 14:34:05 +01:00
nm-setting-vpn.h all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-setting-vxlan.c all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-setting-vxlan.h all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-setting-wifi-p2p.c shared: build helper "libnm-libnm-core-{intern|aux}.la" library for libnm-core 2019-04-18 18:59:09 +02:00
nm-setting-wifi-p2p.h core/setting-wifi-p2p: Add WFD IEs property to P2P settings 2019-02-21 10:10:20 +01:00
nm-setting-wimax.c all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-setting-wimax.h all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-setting-wired.c libnm: fix variable type for holding g_strv_length() result in "nm-setting-wired.c"'s verify() 2019-09-27 09:29:41 +02:00
nm-setting-wired.h all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-setting-wireguard.c libnm: fix leak in NMSettingWireGuard's update_one_secret() 2019-08-03 11:29:41 +02:00
nm-setting-wireguard.h wireguard: support configuring policy routing to avoid routing loops 2019-07-29 20:45:49 +02:00
nm-setting-wireless-security.c wireless-security: ensure Mesh networks can't use anything but SAE 2019-07-29 11:00:24 +02:00
nm-setting-wireless-security.h all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-setting-wireless.c libnm-core: support SAE when determining AP compatibility 2019-09-20 13:23:46 +02:00
nm-setting-wireless.h libnm/doc: add missing "Since: 1.20" comments 2019-08-06 12:22:16 +02:00
nm-setting-wpan.c libnm-core: reorder code in settings 2019-01-15 09:55:24 +01:00
nm-setting-wpan.h core/setting-wpan: add page and channel properties 2018-10-07 15:46:02 +02:00
nm-setting.c settings: fix updating agent-owned VPN secrets 2019-11-05 14:34:05 +01:00
nm-setting.h all: drop empty first line from sources 2019-06-11 10:15:06 +02:00
nm-simple-connection.c libnm: workaround assertion failure for nmtst_connection_assert_unchanging() when disposing connection 2019-06-26 09:53:54 +02:00
nm-simple-connection.h all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-team-utils.c libnm: remove dead code in nm_team_setting_config_get() 2019-08-02 18:19:49 +02:00
nm-team-utils.h libnm: avoid NM_CONST_MAX() in enum definition for NMTeamAttribute 2019-08-02 11:10:50 +02:00
nm-utils-private.h libnm: add nm_connection_to_dbus_full() with options argument 2019-06-28 16:48:17 +02:00
nm-utils.c all: use wrappers for g_ascii_strtoll(), g_ascii_strtoull(), g_ascii_strtod() 2020-05-02 14:57:53 +02:00
nm-utils.h libnm/utils: add SAE security type 2019-10-09 12:48:45 +02:00
nm-version.h all: add 802-1x.optional property 2019-11-06 11:46:04 +01:00
nm-vpn-dbus-interface.h all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-vpn-editor-plugin.c all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-vpn-editor-plugin.h all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-vpn-plugin-info.c all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-vpn-plugin-info.h all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00