On 10/9/23 11:15, Dumitru Ceara wrote:
On 9/18/23 18:46, Xavier Simonart wrote:
When l3gateway ports get added, ct_zones were assigned during
(ct_zones) recomputes, but not by I+P.
Before this patch, test "Migration of CT zone from UUID to name"
was randomly failing, as ct_zone was not assigned by I+P but
a ct_zone recompute happened most of the time (and hence test succeeded).
Test case has been adapted so that ct_zone recompute usually happens
before adding the sw0-lr0 port.

Signed-off-by: Xavier Simonart <xsimo...@redhat.com>
---
  controller/ovn-controller.c | 1 +
  tests/ovn.at                | 6 +++---
  2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/controller/ovn-controller.c b/controller/ovn-controller.c
index 859d9cab9..e5067ed1b 100644
--- a/controller/ovn-controller.c
+++ b/controller/ovn-controller.c
@@ -2637,6 +2637,7 @@ ct_zones_runtime_data_handler(struct engine_node *node, 
void *data)
              struct tracked_lport *t_lport = shash_node->data;
              if (strcmp(t_lport->pb->type, "")
                  && strcmp(t_lport->pb->type, "localport")
+                && strcmp(t_lport->pb->type, "l3gateway")
                  && strcmp(t_lport->pb->type, "localnet")) {
                  /* We allocate zone-id's only to VIF, localport, and localnet
                   * lports. */

Hi Xavier,

Why do we need per-port zones for routers?  Isn't it a bug that one gets
assigned in the "recompute" stage?

Unlike switches, routers use 2 conntrack zones, SNAT and DNAT (sometimes
merged).  The comment here also suggests the same thing.

Am I missing something?

Hi Dumitru,

Ports of type "l3gateway" are on logical switches, not logical routers. Ports of this type connect to logical routers. This patch isn't adding per-port zones for routers. Instead the patch ensures that all "local" logical switch ports are handled in the I-P case, just like they are in the recompute case.


Thanks,
Dumitru

diff --git a/tests/ovn.at b/tests/ovn.at
index ba5ce298a..acf00a335 100644
--- a/tests/ovn.at
+++ b/tests/ovn.at
@@ -36860,14 +36860,14 @@ check ovn-nbctl ls-add sw0
  check ovn-nbctl lsp-add sw0 sw0-port1
  check ovn-nbctl lsp-set-addresses sw0-port1 "50:54:00:00:00:01 192.168.0.2"
+ovs-vsctl add-port br-int p1 -- \
+    set Interface p1 external_ids:iface-id=sw0-port1
+
  check ovn-nbctl lsp-add sw0 sw0-lr0
  check ovn-nbctl lsp-set-type sw0-lr0 router
  check ovn-nbctl lsp-set-addresses sw0-lr0 00:00:00:00:ff:01
  check ovn-nbctl lsp-set-options sw0-lr0 router-port=lr0-sw0
-ovs-vsctl add-port br-int p1 -- \
-    set Interface p1 external_ids:iface-id=sw0-port1
-
  check ovn-appctl -t ovn-controller vlog/set dbg:main
wait_for_ports_up

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to