From a895b58484a69178b2cc6efa9656b05852b49b79 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Tue, 3 Jun 2014 15:45:09 +0200 Subject: [PATCH] platform: don't log error for delete_object() if IPv6 address doesn't exist This causes root platform tests to fail on rhel-7 Signed-off-by: Thomas Haller --- src/platform/nm-linux-platform.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/platform/nm-linux-platform.c b/src/platform/nm-linux-platform.c index aaf066af18..21dfee93fc 100644 --- a/src/platform/nm-linux-platform.c +++ b/src/platform/nm-linux-platform.c @@ -1535,13 +1535,22 @@ delete_object (NMPlatform *platform, struct nl_object *obj, gboolean do_refresh_ debug("delete_object failed with \"%s\" (%d), meaning the object was already removed", nl_geterror (nle), nle); break; + case -NLE_FAILURE: + if (object_type == OBJECT_TYPE_IP6_ADDRESS) { + /* On RHEL7 kernel, deleting a non existing address fails with ENXIO (which libnl maps to NLE_FAILURE) */ + debug("delete_object for address failed with \"%s\" (%d), meaning the address was already removed", + nl_geterror (nle), nle); + break; + } + goto DEFAULT; case -NLE_NOADDR: if (object_type == OBJECT_TYPE_IP4_ADDRESS || object_type == OBJECT_TYPE_IP6_ADDRESS) { debug("delete_object for address failed with \"%s\" (%d), meaning the address was already removed", nl_geterror (nle), nle); break; } - /* fall-through to error, because we only expect this for addresses. */ + goto DEFAULT; + DEFAULT: default: error ("Netlink error deleting %s: %s", to_string_object (platform, obj), nl_geterror (nle)); return FALSE;