On cases where the configuration of arp_proxy collide with the default
ARP/NDP responder, the default responder should kick in instead of
arp_proxy to acomplish that this change decrease the priority from 50 to
30.

Signed-off-by: Enrique Llorente <[email protected]>
---
 northd/northd.c |  4 ++--
 tests/ovn.at    | 10 +++++-----
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/northd/northd.c b/northd/northd.c
index d59a54b32..b58f11633 100644
--- a/northd/northd.c
+++ b/northd/northd.c
@@ -8799,7 +8799,7 @@ build_lswitch_arp_nd_responder_known_ips(struct ovn_port 
*op,
                 ea_s);
 
             ovn_lflow_add_with_hint(lflows, op->od, S_SWITCH_IN_ARP_ND_RSP,
-                50, ds_cstr(match), ds_cstr(actions), &op->nbsp->header_);
+                30, ds_cstr(match), ds_cstr(actions), &op->nbsp->header_);
         }
 
         /* Add IPv6 NDP responses.
@@ -8843,7 +8843,7 @@ build_lswitch_arp_nd_responder_known_ips(struct ovn_port 
*op,
                     ea_s,
                     ea_s);
             ovn_lflow_add_with_hint__(lflows, op->od,
-                                      S_SWITCH_IN_ARP_ND_RSP, 50,
+                                      S_SWITCH_IN_ARP_ND_RSP, 30,
                                       ds_cstr(match),
                                       ds_cstr(actions),
                                       NULL,
diff --git a/tests/ovn.at b/tests/ovn.at
index 7e804699a..ebce9aa31 100644
--- a/tests/ovn.at
+++ b/tests/ovn.at
@@ -32104,7 +32104,7 @@ AT_CHECK([ovn-sbctl dump-flows |
           grep ls_in_arp_rsp |
           grep "${arp_proxy_ls1[[1]]}" |
           sed 's/table=../table=??/'], [0], [dnl
-  table=??(ls_in_arp_rsp      ), priority=50   , match=(arp.op == 1 && dnl
+  table=??(ls_in_arp_rsp      ), priority=30   , match=(arp.op == 1 && dnl
 arp.tpa == {169.254.238.0/24,169.254.239.2/32}), dnl
 action=(eth.dst = eth.src; eth.src = 00:00:00:01:02:f1; arp.op = 2; dnl
 /* ARP reply */ arp.tha = arp.sha; arp.sha = 00:00:00:01:02:f1; dnl
@@ -32116,7 +32116,7 @@ AT_CHECK([ovn-sbctl dump-flows |
           grep ls_in_arp_rsp |
           grep "${arp_proxy_ls1[[3]]}" |
           sed 's/table=../table=??/'], [0], [dnl
-  table=??(ls_in_arp_rsp      ), priority=50   , dnl
+  table=??(ls_in_arp_rsp      ), priority=30   , dnl
 match=(nd_ns && ip6.dst == { fd7b:6b4d:7b25:d22d::/64, ff02::1:ff00:0/64, dnl
 fd7b:6b4d:7b25:d22f::1/128, ff02::1:ff00:1/128 } && dnl
 nd.target == { fd7b:6b4d:7b25:d22d::/64, fd7b:6b4d:7b25:d22f::1/128 }), dnl
@@ -32130,7 +32130,7 @@ AT_CHECK([ovn-sbctl dump-flows |
           grep ls_in_arp_rsp |
           grep "${arp_proxy_ls2[[2]]}" |
           sed 's/table=../table=??/'], [0], [dnl
-  table=??(ls_in_arp_rsp      ), priority=50   , dnl
+  table=??(ls_in_arp_rsp      ), priority=30   , dnl
 match=(arp.op == 1 && arp.tpa == {169.254.236.0/24,169.254.237.2/32}), dnl
 action=(eth.dst = eth.src; eth.src = 00:00:00:02:02:f1; arp.op = 2; dnl
 /* ARP reply */ arp.tha = arp.sha; arp.sha = 00:00:00:02:02:f1; dnl
@@ -32142,7 +32142,7 @@ AT_CHECK([ovn-sbctl dump-flows |
           grep ls_in_arp_rsp |
           grep "${arp_proxy_ls2[[4]]}" |
           sed 's/table=../table=??/'], [0], [dnl
-  table=??(ls_in_arp_rsp      ), priority=50   , dnl
+  table=??(ls_in_arp_rsp      ), priority=30   , dnl
 match=(nd_ns && ip6.dst == { fd7b:6b4d:7b25:d22b::/64, ff02::1:ff00:0/64, dnl
 fd7b:6b4d:7b25:d22c::1/128, ff02::1:ff00:1/128 } && dnl
 nd.target == { fd7b:6b4d:7b25:d22b::/64, fd7b:6b4d:7b25:d22c::1/128 }), dnl
@@ -32209,7 +32209,7 @@ AT_CAPTURE_FILE([debug1])
 # Check if packet hit the ARP reply ovs flow
 AT_CHECK([ovs-ofctl dump-flows br-int | \
     grep "${arp_proxy_ls1[[1]]}" | \
-    grep "priority=50" | \
+    grep "priority=30" | \
     grep "arp_op=1" | \
     grep "n_packets=1" | wc -l], [0], [dnl
 1
-- 
2.39.2

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to