diff mbox

[ovs-dev,V2] netdev-linux: Reduce log level for ENODEV errors getting ifindex

Message ID 1502117724-20565-1-git-send-email-roid@mellanox.com
State Superseded
Headers show

Commit Message

Roi Dayan Aug. 7, 2017, 2:55 p.m. UTC
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@mellanox.com>
Reviewed-by: Paul Blakey <paulb@mellanox.com>
---

V1->V2:
    - bring back ratelimiting

 lib/netdev-linux.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
diff mbox

Patch

diff --git a/lib/netdev-linux.c b/lib/netdev-linux.c
index 98820ed..2ff3e2b 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_RL(&rl, error == ENODEV ? VLL_INFO : VLL_ERR,
+                "ioctl(SIOCGIFINDEX) on %s device failed: %s",
+                netdev_name, ovs_strerror(error));
         return -error;
     }
     return ifr.ifr_ifindex;