[ovs-dev] [PATCH ovn branch-20.06 6/7] ovn-northd: Fix is_chassis_resident() match for DNAT.
Dumitru Ceara
dceara at redhat.com
Mon Aug 10 10:54:26 UTC 2020
While reducing the number of logical flows, a bug was introduced when
building the match for flows that need "is_chassis_resident(redirect_port)".
This commit removes the wrong additional quotes.
Fixes: 59340bab9402 ("ovn-northd: Minimize number of ARP/NS responder flows for DNAT.")
Signed-off-by: Dumitru Ceara <dceara at redhat.com>
(cherry-picked from master commit c4ff9b83cab44a88f74d19a866eea31b565108da)
---
northd/ovn-northd.c | 2 +-
tests/ovn-northd.at | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/northd/ovn-northd.c b/northd/ovn-northd.c
index 285e2af..f8401d7 100644
--- a/northd/ovn-northd.c
+++ b/northd/ovn-northd.c
@@ -8758,7 +8758,7 @@ build_lrouter_flows(struct hmap *datapaths, struct hmap *ports,
* Also need to avoid generation of multiple ARP responses
* from different chassis. */
if (op->od->l3redirect_port) {
- ds_put_format(&match, "is_chassis_resident(\"%s\")",
+ ds_put_format(&match, "is_chassis_resident(%s)",
op->od->l3redirect_port->json_key);
}
}
diff --git a/tests/ovn-northd.at b/tests/ovn-northd.at
index df980c7..aac3fcf 100644
--- a/tests/ovn-northd.at
+++ b/tests/ovn-northd.at
@@ -1759,10 +1759,10 @@ action=(drop;)
# Priority 92 ARP/NS responders (per distributed gw port), if port is resident.
AT_CHECK([ovn-sbctl lflow-list | grep -E "lr_in_ip_input.*priority=92" | grep "arp\|nd" | sort], [0], [dnl
table=3 (lr_in_ip_input ), priority=92 , dnl
-match=(inport == "lrp-public" && arp.op == 1 && arp.tpa == 43.43.43.2 && is_chassis_resident(""cr-lrp-public"")), dnl
+match=(inport == "lrp-public" && arp.op == 1 && arp.tpa == 43.43.43.2 && is_chassis_resident("cr-lrp-public")), dnl
action=(eth.dst = eth.src; eth.src = xreg0[[0..47]]; arp.op = 2; /* ARP reply */ arp.tha = arp.sha; arp.sha = xreg0[[0..47]]; arp.tpa = arp.spa; arp.spa = 43.43.43.2; outport = inport; flags.loopback = 1; output;)
table=3 (lr_in_ip_input ), priority=92 , dnl
-match=(inport == "lrp-public" && arp.op == 1 && arp.tpa == 43.43.43.3 && is_chassis_resident(""cr-lrp-public"")), dnl
+match=(inport == "lrp-public" && arp.op == 1 && arp.tpa == 43.43.43.3 && is_chassis_resident("cr-lrp-public")), dnl
action=(eth.dst = eth.src; eth.src = xreg0[[0..47]]; arp.op = 2; /* ARP reply */ arp.tha = arp.sha; arp.sha = xreg0[[0..47]]; arp.tpa = arp.spa; arp.spa = 43.43.43.3; outport = inport; flags.loopback = 1; output;)
table=3 (lr_in_ip_input ), priority=92 , dnl
match=(inport == "lrp-public" && arp.op == 1 && arp.tpa == 43.43.43.4 && is_chassis_resident("ls-vm")), dnl
More information about the dev
mailing list