[ovs-dev] [PATCH] ovn: Log chassis claiming lport only when changes occur

Mickey Spiegel mickeys.dev at gmail.com
Tue Dec 20 21:23:46 UTC 2016


With recent OVN commits, the logic for a chassis to claim
or release a logical port was consolidated.  This is a
good thing.  However, there was a logic change that
resulted in VLOG_INFO being generated every time on the
ovn-controller.  This patch changes the logic so that
VLOG_INFO is only generated when there is a change, for
example when the chassis claims an lport the first time.

Signed-off-by: Mickey Spiegel <mickeys.dev at gmail.com>
---
 ovn/controller/binding.c | 26 ++++++++++++++++----------
 1 file changed, 16 insertions(+), 10 deletions(-)

diff --git a/ovn/controller/binding.c b/ovn/controller/binding.c
index feca433..3a0dcc4 100644
--- a/ovn/controller/binding.c
+++ b/ovn/controller/binding.c
@@ -372,17 +372,23 @@ consider_local_datapath(struct controller_ctx *ctx,
 
     if (ctx->ovnsb_idl_txn) {
         if (our_chassis) {
-            if (binding_rec->chassis) {
-                VLOG_INFO("Changing chassis for lport %s from %s to %s.",
-                          binding_rec->logical_port,
-                          binding_rec->chassis->name,
-                          chassis_rec->name);
-            }
-            for (int i = 0; i < binding_rec->n_mac; i++) {
-                VLOG_INFO("%s: Claiming %s",
-                          binding_rec->logical_port, binding_rec->mac[i]);
+            if (!binding_rec->chassis
+                || (binding_rec->chassis != chassis_rec)) {
+                if (binding_rec->chassis) {
+                    VLOG_INFO("Changing chassis for lport %s from %s to %s.",
+                              binding_rec->logical_port,
+                              binding_rec->chassis->name,
+                              chassis_rec->name);
+                } else {
+                    VLOG_INFO("Claiming lport %s for this chassis.",
+                              binding_rec->logical_port);
+                }
+                for (int i = 0; i < binding_rec->n_mac; i++) {
+                    VLOG_INFO("%s: Claiming %s",
+                              binding_rec->logical_port, binding_rec->mac[i]);
+                }
+                sbrec_port_binding_set_chassis(binding_rec, chassis_rec);
             }
-            sbrec_port_binding_set_chassis(binding_rec, chassis_rec);
         } else if (binding_rec->chassis == chassis_rec) {
             VLOG_INFO("Releasing lport %s from this chassis.",
                       binding_rec->logical_port);
-- 
1.9.1



More information about the dev mailing list