[ovs-dev] [PATCH] vswitch: ratelimit the device add log

Aaron Conole aconole at redhat.com
Thu Sep 12 15:45:41 UTC 2019


It's possible that a port added to the system with certain kinds
of invalid parameters will cause the 'could not add' log to be
triggered.  When this happens, the vswitch run loop can continually
re-attempt adding the port.  While the parameters remain invalid
the vswitch run loop will re-trigger the warning, flooding the
syslog.

This patch adds a simple rate limit to the log.

Signed-off-by: Aaron Conole <aconole at redhat.com>
---
 vswitchd/bridge.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/vswitchd/bridge.c b/vswitchd/bridge.c
index d921c4ef8..49a6f6a37 100644
--- a/vswitchd/bridge.c
+++ b/vswitchd/bridge.c
@@ -1816,8 +1816,12 @@ iface_do_create(const struct bridge *br,
     *ofp_portp = iface_pick_ofport(iface_cfg);
     error = ofproto_port_add(br->ofproto, netdev, ofp_portp);
     if (error) {
-        VLOG_WARN_BUF(errp, "could not add network device %s to ofproto (%s)",
-                      iface_cfg->name, ovs_strerror(error));
+        static struct vlog_rate_limit rl = VLOG_RATE_LIMIT_INIT(1, 5);
+        if (!VLOG_DROP_WARN(&rl)) {
+            VLOG_WARN_BUF(errp,
+                          "could not add network device %s to ofproto (%s)",
+                          iface_cfg->name, ovs_strerror(error));
+        }
         goto error;
     }
 
-- 
2.21.0



More information about the dev mailing list