[ovs-dev] [PATCH v4 3/3] ovn-controller: Allocate ct zones for localnet ports.

Russell Bryant russell at ovn.org
Mon Jan 25 22:02:03 UTC 2016


Previously, all ct() actions applied to localnet ports used the default
conntrack zone.  We should allocate a ct zone ID for all localnet ports
just like we do for all local VIFs so that none of our connection
tracking interferes with any base system connection tracking in the
default zone.

Signed-off-by: Russell Bryant <russell at ovn.org>
---
 ovn/controller/binding.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/ovn/controller/binding.c b/ovn/controller/binding.c
index c9649eb..ce9cccf 100644
--- a/ovn/controller/binding.c
+++ b/ovn/controller/binding.c
@@ -189,6 +189,13 @@ binding_run(struct controller_ctx *ctx, const struct ovsrec_bridge *br_int,
             sbrec_port_binding_set_chassis(binding_rec, chassis_rec);
         } else if (binding_rec->chassis == chassis_rec) {
             sbrec_port_binding_set_chassis(binding_rec, NULL);
+        } else if (!binding_rec->chassis
+                   && !strcmp(binding_rec->type, "localnet")) {
+            /* localnet ports will never be bound to a chassis, but we want
+             * to list them in all_lports because we want to allocate
+             * a conntrack zone ID for each one, as we'll be creating
+             * a patch port for each one. */
+            sset_add(&all_lports, binding_rec->logical_port);
         }
     }
 
-- 
2.5.0




More information about the dev mailing list