[ovs-dev] [RFC ovn 5/6] ovn-northd.c: Remove the use of the REGBIT_SKIP_LOOKUP_NEIGHBOR bit.
Han Zhou
hzhou at ovn.org
Wed Jun 10 19:00:12 UTC 2020
In LR ingress stage LOOKUP_NEIGHBOR and LEARN_NEIGHBOR, the flag
REGBIT_SKIP_LOOKUP_NEIGHBOR was used to indicate if mac-binding
lookup can be skipped. This patch avoid using the bit by combining
it with the REGBIT_LOOKUP_NEIGHBOR_RESULT bit, and assigning 1
to REGBIT_LOOKUP_NEIGHBOR_RESULT serves same purpose of skipping
the lookup. There will be a new bit needed in a future patch, and
this change can avoid using too many bits unnecessarily.
Signed-off-by: Han Zhou <hzhou at ovn.org>
---
northd/ovn-northd.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/northd/ovn-northd.c b/northd/ovn-northd.c
index d8197ab..9a4e884 100644
--- a/northd/ovn-northd.c
+++ b/northd/ovn-northd.c
@@ -219,7 +219,6 @@ enum ovn_stage {
/* Register to store the result of check_pkt_larger action. */
#define REGBIT_PKT_LARGER "reg9[1]"
#define REGBIT_LOOKUP_NEIGHBOR_RESULT "reg9[2]"
-#define REGBIT_SKIP_LOOKUP_NEIGHBOR "reg9[3]"
/* Register for ECMP bucket selection. */
#define REG_ECMP_GROUP_ID "reg8[0..15]"
@@ -7979,14 +7978,13 @@ build_lrouter_flows(struct hmap *datapaths, struct hmap *ports,
"lookup_nd(inport, ip6.src, nd.sll); next;");
/* For other packet types, we can skip neighbor learning.
- * So set REGBIT_SKIP_LOOKUP_NEIGHBOR to 1. */
+ * So set REGBIT_LOOKUP_NEIGHBOR_RESULT to 1. */
ovn_lflow_add(lflows, od, S_ROUTER_IN_LOOKUP_NEIGHBOR, 0, "1",
- REGBIT_SKIP_LOOKUP_NEIGHBOR" = 1; next;");
+ REGBIT_LOOKUP_NEIGHBOR_RESULT" = 1; next;");
/* Flows for LEARN_NEIGHBOR. */
/* Skip Neighbor learning if not required. */
ovn_lflow_add(lflows, od, S_ROUTER_IN_LEARN_NEIGHBOR, 100,
- REGBIT_SKIP_LOOKUP_NEIGHBOR" == 1 || "
REGBIT_LOOKUP_NEIGHBOR_RESULT" == 1", "next;");
ovn_lflow_add(lflows, od, S_ROUTER_IN_LEARN_NEIGHBOR, 90,
--
2.1.0
More information about the dev
mailing list