Move check for tc ingress pps support to from aclocal to test script This has several problems:
1. Stderror from failing commands is output when executing various make targets. 2. There are various failure conditions that lead to veth0 and veth1 being created by not cleaned up. 3. The check seems to execute for many make targets. And it attempts to temporarily modify system state. This seems inappopriate. All these problems are addressed by this patch. Signed-off-by: Simon Horman <[email protected]> Reviewed-by: Louis Peens <[email protected]> --- tests/atlocal.in | 11 ----------- tests/system-offloads-traffic.at | 23 +++++++++++++++++++++-- 2 files changed, 21 insertions(+), 13 deletions(-) diff --git a/tests/atlocal.in b/tests/atlocal.in index e02248f6f829..859668586299 100644 --- a/tests/atlocal.in +++ b/tests/atlocal.in @@ -172,17 +172,6 @@ fi # Set HAVE_TC find_command tc -# When HAVE_TC=yes, check if the current tc supports adding pps filter -SUPPORT_TC_INGRESS_PPS="no" -if test $HAVE_TC="yes"; then - ip link add veth0 type veth peer name veth1 - tc qdisc add dev veth0 handle ffff: ingress - if tc filter add dev veth0 parent ffff: u32 match u32 0 0 police pkts_rate 100 pkts_burst 10; then - SUPPORT_TC_INGRESS_PPS="yes" - fi - ip link del veth0 -fi - # Set HAVE_TCPDUMP find_command tcpdump diff --git a/tests/system-offloads-traffic.at b/tests/system-offloads-traffic.at index f2bf9c0639aa..ff3e4c63d127 100644 --- a/tests/system-offloads-traffic.at +++ b/tests/system-offloads-traffic.at @@ -18,6 +18,25 @@ m4_define([OVS_CHECK_ACTIONS], [ [0], [$1]) ]) +m4_define([CHECK_TC_INGRESS_PPS], +[ + AT_SKIP_IF([test $HAVE_TC = "no"]) + AT_CHECK([ip link add veth0 type veth peer name veth1 || exit 77]) + AT_CHECK([ + if ! tc qdisc add dev veth0 handle ffff: ingress; then + ip link del veth0 + exit 77 + fi + ]) + AT_CHECK([ + if ! tc filter add dev veth0 parent ffff: \ + u32 match u32 0 0 police pkts_rate 100 pkts_burst 10; then + ip link del veth0 + exit 77 + fi + ]) + ip link del veth0 +]) AT_SETUP([offloads - ping between two ports - offloads disabled]) OVS_TRAFFIC_VSWITCHD_START() @@ -132,7 +151,7 @@ AT_CLEANUP AT_SETUP([offloads - set ingress_policing_kpkts_rate and ingress_policing_kpkts_burst - offloads disabled]) AT_KEYWORDS([ingress_policing_kpkts]) -AT_SKIP_IF([test $SUPPORT_TC_INGRESS_PPS = "no"]) +CHECK_TC_INGRESS_PPS() OVS_TRAFFIC_VSWITCHD_START() AT_CHECK([ovs-vsctl set Open_vSwitch . other_config:hw-offload=false]) AT_CHECK([ovs-ofctl add-flow br0 "actions=normal"]) @@ -156,7 +175,7 @@ AT_CLEANUP AT_SETUP([offloads - set ingress_policing_kpkts_rate and ingress_policing_kpkts_burst - offloads enabled]) AT_KEYWORDS([ingress_policing_kpkts]) -AT_SKIP_IF([test $SUPPORT_TC_INGRESS_PPS = "no"]) +CHECK_TC_INGRESS_PPS() OVS_TRAFFIC_VSWITCHD_START([], [], [-- set Open_vSwitch . other_config:hw-offload=true]) AT_CHECK([ovs-ofctl add-flow br0 "actions=normal"]) ADD_NAMESPACES(at_ns0) -- 2.30.2 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
