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