[PATCH 2/4] libnl: route delete can return ERANGE in libnl-1



---
 src/nm-netlink-utils.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/src/nm-netlink-utils.c b/src/nm-netlink-utils.c
index bbf6e4d..d6fdd81 100644
--- a/src/nm-netlink-utils.c
+++ b/src/nm-netlink-utils.c
@@ -181,12 +181,15 @@ nm_netlink_route_delete (struct rtnl_route *route)
 	nlh = nm_netlink_get_default_handle ();
 	err = rtnl_route_delete (nlh, route, 0);
 +	if (err)
+		nm_log_dbg (LOGD_IP4 | LOGD_IP6, "%s (%d)", nl_geterror(err), err);
+
 	/* Workaround libnl BUG: ESRCH is aliased to generic NLE_FAILURE
 	 * See: http://git.kernel.org/?p=libs/netlink/libnl.git;a=commit;h=7e9d5f */
 	if (err == -NLE_FAILURE)
 		err = -NLE_OBJ_NOTFOUND;
 -	return (err && (err != -NLE_OBJ_NOTFOUND)) ? FALSE : TRUE;
+	return (err && (err != -NLE_OBJ_NOTFOUND) && (err != -NLE_RANGE) ) ? FALSE : TRUE;
 }
  -- 1.7.5.4




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]