GNOME Bugzilla – Bug 732703
bond connection matching failures
Last modified: 2018-01-23 15:21:39 UTC
NetworkManager[21107]: <info> (bond0): exported as /org/freedesktop/NetworkManager/Devices/6 connection id : "bond0" (s) uuid : "c6022030-cc6c-4747-b485-96fcacb9cfc9" (s) interface-name : "bond0" (s) type : "bond" (s) permissions : (sd) autoconnect : FALSE (s) timestamp : 1404408352 (s) read-only : FALSE (sd) zone : NULL (sd) master : NULL (sd) slave-type : NULL (sd) secondaries : (sd) gateway-ping-timeout : 0 (sd) ipv6 method : "link-local" (s) dhcp-hostname : NULL (sd) dns : (s) dns-search : (sd) addresses : (s) routes : (s) ignore-auto-routes : FALSE (sd) ignore-auto-dns : FALSE (sd) never-default : FALSE (sd) may-fail : TRUE (sd) ip6-privacy : -1 (sd) ipv4 method : "auto" (s) dns : 192.168.0.2 (s) dns-search : (sd) addresses : (s) address-labels : (sd) routes : (s) ignore-auto-routes : FALSE (sd) ignore-auto-dns : FALSE (sd) dhcp-client-id : NULL (sd) dhcp-send-hostname : TRUE (sd) dhcp-hostname : NULL (sd) never-default : FALSE (sd) may-fail : TRUE (sd) bond interface-name : "bond0" (s) options : mode=balance-rr,miimon=1 (s) NetworkManager[21107]: <info> Connection 'bond0' differs from candidate 'Bond connection 1' in bond.options, 802-3-ethernet.s390-options, 802-3-ethernet.cloned-mac-address, 802-3-ethernet.s390-subchannels, 802-3-ethernet.s390-nettype [dcbw@blah NetworkManager (nm-0-9-10*)]$ nmcli con show "Bond connection 1" connection.id: Bond connection 1 connection.uuid: 7b651fc5-7c7d-4217-a91b-138bbaf017fe connection.interface-name: bond0 connection.type: bond connection.autoconnect: no connection.timestamp: 1404408346 ... 802-3-ethernet.mac-address: -- 802-3-ethernet.cloned-mac-address: -- 802-3-ethernet.mtu: auto 802-3-ethernet.s390-subchannels: 802-3-ethernet.s390-nettype: -- 802-3-ethernet.s390-options: bond.interface-name: bond0 bond.options: miimon=1,updelay=0,downdelay=0,mode=balance-rr Two problems: 1) The candidate has an 802-3-ethernet connection, but the generated connection does not. If the candidate NMSettingWired is all defaults, then the candidate can match the generated connection. 2) bond.options doesn't match; the generated connection has updelay and downdelay options that were read from sysfs, but the candidate connection doesn't have those options because they are the default values. If either connection has default bond options we should just ignore those when matching.
For #2, perhaps we need to implement a "compare_property" hook for NMSettingBond that handles "options" and ignores default bond option values.
This should be fixed by: https://cgit.freedesktop.org/NetworkManager/NetworkManager/commit/?id=6e738c83f1d647e5940786298acc3a4772f91fd5