NetworkManager/src/core/devices
Lubomir Rintel 0fa8c5f94c device: stop checking the IP configuration state when cancelling activation
The @bond_mode_8023ad test has been seen failing, with a log like this:

  <debug> [...3.0484] device[...] (eth1): Activation: connection 'bond0.0' master deactivated
  <debug> [...3.0484] device[...] (eth1): add_pending_action (2): 'queued-state-change-deactivating'
  <debug> [...3.0484] device[...] (eth1): queue-state[deactivating, reason:new-activation, id:709]: queue state change

What happened is that eth1 has been activating. It was already enslaved
to a bond and was in an ip-config state when the bond was removed.
A change to "deactivating" state has been enqueued. But then this
happened:

  <trace> [...3.0942] device[...] (eth1): ip4: check-state: state done => done, is_failed=0, is_pending=0,
                      is_started=0 temp_na=0, may-fail-4=1, may-fail-6=1; disabled4; manualip4=done; ignore6 manualip6=done
  <trace> [...3.0942] device[...] (eth1): ip: check-state: (combined) state pending => done
  <debug> [...3.0943] device[...] (eth1): ip: set (combined) state done (was pending, reason: check-ip-state)
  <info>  [...3.0943] device (eth1): state change: ip-config -> ip-check (reason 'none', sys-iface-state: 'managed')
  <debug> [...3.0943] device[...] (eth1): add_pending_action (3): 'in-state-change'
  <debug> [...3.0943] device[...] (eth1): queue-state[deactivating, reason:new-activation, id:709]: clear queued state change

The IP config succeeded and the queued "deactivating" change was
overriden by the IP4 check result, prompting a change to "ip-check".
With the master still missing. Not good.

Let's terminate the appempts to check the IP state when we cancel the
activation, so that it doesn't override the enqueued state change.

Fixes-test: @bond_mode_8023ad

https://bugzilla.redhat.com/show_bug.cgi?id=2080928
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1245
2022-06-14 14:21:53 +02:00
..
adsl format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
bluetooth settings: add "plugin" argument to AddAndActivate2() 2022-03-28 13:29:28 +02:00
ovs ovsdb: do not set the device as DEACTIVATING if it is DISCONNECTED 2022-05-25 15:51:43 +02:00
team device: make attach_port() asynchronous 2022-05-03 13:19:24 +02:00
tests format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
wifi wifi: fix crash in NMDeviceWifi.check_connection_compatible() checking WEP capability 2022-06-02 13:25:10 +02:00
wwan all: use "NM_UTILS_TO_STRING_BUFFER_SIZE" macro 2022-04-08 15:59:49 +02:00
meson.build all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-device-6lowpan.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-device-6lowpan.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-device-bond.c bond: drop _get_option_or_default() and use _get_option_normalized() 2022-05-10 12:42:11 +02:00
nm-device-bond.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-device-bridge.c bridge: assume wired settings are there 2022-05-10 21:41:19 +02:00
nm-device-bridge.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-device-dummy.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-device-dummy.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-device-ethernet-utils.c all: add "src/core/nm-default-daemon.h" as replacement for "nm-default.h" 2021-02-09 12:38:18 +01:00
nm-device-ethernet-utils.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-device-ethernet.c device: drop unused variable and avoid compiler warning 2022-03-17 19:31:29 +01:00
nm-device-ethernet.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-device-factory.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-device-factory.h format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-device-generic.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-device-generic.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-device-infiniband.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-device-infiniband.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-device-ip-tunnel.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-device-ip-tunnel.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-device-logging.h clang-format: use "IndentPPDirectives:None" instead of "BeforeHash" 2021-07-09 08:49:06 +02:00
nm-device-macsec.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-device-macsec.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-device-macvlan.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-device-macvlan.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-device-ppp.c ppp: don't remove addresses from interface while IPCP/IPV6CP is running 2022-06-14 12:26:21 +02:00
nm-device-ppp.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-device-private.h core/device: rename nm_device_master_release_one_slave() 2022-03-13 12:08:52 +01:00
nm-device-tun.c ovs, dpdk: ignore ovs-netdev tun interface 2022-03-31 11:49:34 +02:00
nm-device-tun.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-device-utils.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-device-utils.h format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-device-veth.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-device-veth.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-device-vlan.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-device-vlan.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-device-vrf.c device: make attach_port() asynchronous 2022-05-03 13:19:24 +02:00
nm-device-vrf.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-device-vxlan.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-device-vxlan.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-device-wireguard.c platform: rename "nmp-route-manager.h" to "nmp-rules-manager.h" 2022-02-09 19:13:03 +01:00
nm-device-wireguard.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-device-wpan.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-device-wpan.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-device.c device: stop checking the IP configuration state when cancelling activation 2022-06-14 14:21:53 +02:00
nm-device.h device: make attach_port() asynchronous 2022-05-03 13:19:24 +02:00
nm-lldp-listener.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-lldp-listener.h format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00