On 07/08/2017 17:01, Ben Pfaff wrote:
On Mon, Aug 07, 2017 at 07:32:03AM +0300, Roi Dayan wrote:
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 <r...@mellanox.com>
Reviewed-by: Paul Blakey <pa...@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;
This may be a reasonable change, but why remove the ratelimiting?
because I actually took the same call from get_etheraddr() which and
doesn't use a ratelimit.
I'll bring it back.
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev