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
