[ovs-dev] [PATCH 2/2] netdev-linux: Reduce log level for ENODEV errors getting ifindex

Roi Dayan roid at mellanox.com
Mon Aug 7 04:32:03 UTC 2017


These are normal and unavoidable, because the vifs
disappear from the kernel before they are removed them from the OVS
database.

Signed-off-by: Roi Dayan <roid at mellanox.com>
Reviewed-by: Paul Blakey <paulb at mellanox.com>
---
 lib/netdev-linux.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/lib/netdev-linux.c b/lib/netdev-linux.c
index 98820ed..f5aa9c9 100644
--- a/lib/netdev-linux.c
+++ b/lib/netdev-linux.c
@@ -5438,8 +5438,12 @@ linux_get_ifindex(const char *netdev_name)
 
     error = af_inet_ioctl(SIOCGIFINDEX, &ifr);
     if (error) {
-        VLOG_WARN_RL(&rl, "ioctl(SIOCGIFINDEX) on %s device failed: %s",
-                     netdev_name, ovs_strerror(error));
+        /* ENODEV probably means that a vif disappeared asynchronously and
+         * hasn't been removed from the database yet, so reduce the log level
+         * to INFO for that case. */
+        VLOG(error == ENODEV ? VLL_INFO : VLL_ERR,
+             "ioctl(SIOCGIFINDEX) on %s device failed: %s",
+             netdev_name, ovs_strerror(error));
         return -error;
     }
     return ifr.ifr_ifindex;
-- 
2.8.0



More information about the dev mailing list