From fc2fab99b2829f7641c8c509a5adf69b33834e99 Mon Sep 17 00:00:00 2001 From: Daisuke Matsuda Date: Mon, 28 Mar 2022 11:34:22 +0900 Subject: [PATCH] platform: add log detail for ENODEV at do_delete_object() Deactivation of a NIC invokes deletion of qdisc. An ENODEV error can be generated on deactivation of a virtual NIC when the kernel driver has already deleted the device along with the qdisc. https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1165 --- src/libnm-platform/nm-linux-platform.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/libnm-platform/nm-linux-platform.c b/src/libnm-platform/nm-linux-platform.c index b0fc16d780..00fa167d05 100644 --- a/src/libnm-platform/nm-linux-platform.c +++ b/src/libnm-platform/nm-linux-platform.c @@ -7405,6 +7405,8 @@ do_delete_object(NMPlatform *platform, const NMPObject *obj_id, struct nl_msg *n && NM_IN_SET(NMP_OBJECT_GET_TYPE(obj_id), NMP_OBJECT_TYPE_IP6_ADDRESS)) { /* On RHEL7 kernel, deleting a non existing address fails with ENXIO */ log_detail = ", meaning the address was already removed"; + } else if (NM_IN_SET(-((int) seq_result), ENODEV)) { + log_detail = ", meaning the device was already removed"; } else if (NM_IN_SET(-((int) seq_result), EADDRNOTAVAIL) && NM_IN_SET(NMP_OBJECT_GET_TYPE(obj_id), NMP_OBJECT_TYPE_IP4_ADDRESS,