Some unit tests expect that a OVS port has an associated netdevice on
which they can hook tc or tcpdump.
This will not be possible when testing the userspace datapath with DPDK.
Introduce two helpers (which will be overriden in system-dpdk tests) and
use them in the existing tests.

Signed-off-by: David Marchand <david.march...@redhat.com>
Acked-by: Eelco Chaudron <echau...@redhat.com>
Acked-by: Aaron Conole <acon...@redhat.com>
---
 tests/system-common-macros.at    | 12 ++++++++++++
 tests/system-offloads-traffic.at |  6 +++---
 tests/system-traffic.at          | 32 ++++++++++++++++----------------
 3 files changed, 31 insertions(+), 19 deletions(-)

diff --git a/tests/system-common-macros.at b/tests/system-common-macros.at
index 0077a8609c..37bc510eaa 100644
--- a/tests/system-common-macros.at
+++ b/tests/system-common-macros.at
@@ -297,6 +297,18 @@ m4_define([OVS_START_L7],
 #
 m4_define([OFPROTO_CLEAR_DURATION_IDLE], [[sed -e 
's/duration=.*s,/duration=<cleared>,/g' -e 
's/idle_age=[0-9]*,/idle_age=<cleared>,/g']])
 
+# OVS_CHECK_TC_QDISC()
+#
+# Macro to skip tests when tc qdisc can't be applied on a OVS port.
+m4_define([OVS_CHECK_TC_QDISC],
+    [AT_SKIP_IF([test $HAVE_TC = no])])
+
+# OVS_CHECK_TCPDUMP()
+#
+# Macro to skip tests when tcpdump can't be applied on a OVS port.
+m4_define([OVS_CHECK_TCPDUMP],
+    [AT_SKIP_IF([test $HAVE_TCPDUMP = no])])
+
 # OVS_CHECK_TUNNEL_TSO()
 #
 # Macro to be used in general tunneling tests that could be also
diff --git a/tests/system-offloads-traffic.at b/tests/system-offloads-traffic.at
index 7215e36e2d..270314bfd6 100644
--- a/tests/system-offloads-traffic.at
+++ b/tests/system-offloads-traffic.at
@@ -20,7 +20,7 @@ m4_define([OVS_CHECK_ACTIONS], [
 
 m4_define([CHECK_TC_INGRESS_PPS],
 [
-    AT_SKIP_IF([test $HAVE_TC = "no"])
+    OVS_CHECK_TC_QDISC()
     AT_CHECK([ip link add ovs_tc_pps0 type veth peer name ovs_tc_pps1 dnl
                   || exit 77])
     on_exit 'ip link del ovs_tc_pps0'
@@ -95,7 +95,7 @@ AT_CLEANUP
 
 AT_SETUP([offloads - set ingress_policing_rate and ingress_policing_burst - 
offloads disabled])
 AT_KEYWORDS([ingress_policing])
-AT_SKIP_IF([test $HAVE_TC = "no"])
+OVS_CHECK_TC_QDISC()
 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"])
@@ -118,7 +118,7 @@ AT_CLEANUP
 
 AT_SETUP([offloads - set ingress_policing_rate and ingress_policing_burst - 
offloads enabled])
 AT_KEYWORDS([ingress_policing])
-AT_SKIP_IF([test $HAVE_TC = "no"])
+OVS_CHECK_TC_QDISC()
 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)
diff --git a/tests/system-traffic.at b/tests/system-traffic.at
index 808c492a22..dc7fa861ef 100644
--- a/tests/system-traffic.at
+++ b/tests/system-traffic.at
@@ -856,7 +856,7 @@ OVS_TRAFFIC_VSWITCHD_STOP
 AT_CLEANUP
 
 AT_SETUP([datapath - slow_action on geneve6 tunnel])
-AT_SKIP_IF([test $HAVE_TCPDUMP = no])
+OVS_CHECK_TCPDUMP()
 OVS_CHECK_TUNNEL_TSO()
 OVS_CHECK_GENEVE_UDP6ZEROCSUM()
 
@@ -2114,7 +2114,7 @@ AT_CLEANUP
 AT_BANNER([MPLS])
 
 AT_SETUP([mpls - encap header dp-support])
-AT_SKIP_IF([test $HAVE_TCPDUMP = no])
+OVS_CHECK_TCPDUMP()
 OVS_TRAFFIC_VSWITCHD_START()
 
 AT_SKIP_IF([! ovs-appctl dpif/show-dp-features br0 2>&1 | grep "MPLS Label 
add: Yes" >/dev/null])
@@ -2147,7 +2147,7 @@ OVS_TRAFFIC_VSWITCHD_STOP
 AT_CLEANUP
 
 AT_SETUP([mpls - encap header slow-path])
-AT_SKIP_IF([test $HAVE_TCPDUMP = no])
+OVS_CHECK_TCPDUMP()
 OVS_TRAFFIC_VSWITCHD_START()
 
 AT_CHECK(ovs-appctl dpif/set-dp-features br0 add_mpls false)
@@ -2179,7 +2179,7 @@ OVS_TRAFFIC_VSWITCHD_STOP
 AT_CLEANUP
 
 AT_SETUP([mpls_mc - encap header dp-support])
-AT_SKIP_IF([test $HAVE_TCPDUMP = no])
+OVS_CHECK_TCPDUMP()
 OVS_TRAFFIC_VSWITCHD_START()
 
 AT_SKIP_IF([! ovs-appctl dpif/show-dp-features br0 2>&1 | grep "MPLS Label 
add: Yes" >/dev/null])
@@ -2212,7 +2212,7 @@ OVS_TRAFFIC_VSWITCHD_STOP
 AT_CLEANUP
 
 AT_SETUP([mpls_mc - encap header slow-path])
-AT_SKIP_IF([test $HAVE_TCPDUMP = no])
+OVS_CHECK_TCPDUMP()
 OVS_TRAFFIC_VSWITCHD_START()
 
 AT_CHECK(ovs-appctl dpif/set-dp-features br0 add_mpls false)
@@ -2244,7 +2244,7 @@ OVS_TRAFFIC_VSWITCHD_STOP
 AT_CLEANUP
 
 AT_SETUP([mpls - decap header dp-support])
-AT_SKIP_IF([test $HAVE_TCPDUMP = no])
+OVS_CHECK_TCPDUMP()
 OVS_TRAFFIC_VSWITCHD_START()
 
 AT_SKIP_IF([! ovs-appctl dpif/show-dp-features br0 2>&1 | grep "MPLS Label 
add: Yes" >/dev/null])
@@ -2282,7 +2282,7 @@ OVS_TRAFFIC_VSWITCHD_STOP
 AT_CLEANUP
 
 AT_SETUP([mpls - decap header slow-path])
-AT_SKIP_IF([test $HAVE_TCPDUMP = no])
+OVS_CHECK_TCPDUMP()
 OVS_TRAFFIC_VSWITCHD_START()
 
 AT_CHECK(ovs-appctl dpif/set-dp-features br0 add_mpls false)
@@ -2321,7 +2321,7 @@ AT_CLEANUP
 AT_BANNER([QoS])
 
 AT_SETUP([QoS - basic configuration])
-AT_SKIP_IF([test $HAVE_TC = no])
+OVS_CHECK_TC_QDISC()
 OVS_TRAFFIC_VSWITCHD_START()
 
 ADD_NAMESPACES(at_ns0, at_ns1)
@@ -2355,7 +2355,7 @@ OVS_TRAFFIC_VSWITCHD_STOP
 AT_CLEANUP
 
 AT_SETUP([QoS - 64bit])
-AT_SKIP_IF([test $HAVE_TC = no])
+OVS_CHECK_TC_QDISC()
 AT_SKIP_IF([test $HAVE_TCA_HTB_RATE64 = no])
 OVS_TRAFFIC_VSWITCHD_START()
 
@@ -2383,7 +2383,7 @@ OVS_TRAFFIC_VSWITCHD_STOP
 AT_CLEANUP
 
 AT_SETUP([Ingress Policing - 64-bit])
-AT_SKIP_IF([test $HAVE_TC = no])
+OVS_CHECK_TC_QDISC()
 AT_SKIP_IF([test $HAVE_TCA_POLICE_PKTRATE64 = no])
 OVS_TRAFFIC_VSWITCHD_START()
 ADD_NAMESPACES(ns0)
@@ -3777,7 +3777,7 @@ OVS_TRAFFIC_VSWITCHD_STOP
 AT_CLEANUP
 
 AT_SETUP([conntrack - ICMP related NAT with single port])
-AT_SKIP_IF([test $HAVE_TCPDUMP = no])
+OVS_CHECK_TCPDUMP()
 CHECK_CONNTRACK()
 CHECK_CONNTRACK_NAT()
 OVS_TRAFFIC_VSWITCHD_START()
@@ -4565,7 +4565,7 @@ OVS_TRAFFIC_VSWITCHD_STOP
 AT_CLEANUP
 
 AT_SETUP([conntrack - IPv4 Fragmentation + NAT])
-AT_SKIP_IF([test $HAVE_TCPDUMP = no])
+OVS_CHECK_TCPDUMP()
 CHECK_CONNTRACK()
 
 OVS_TRAFFIC_VSWITCHD_START(
@@ -6103,7 +6103,7 @@ AT_CLEANUP
 
 AT_SETUP([conntrack - ICMP related with NAT])
 AT_SKIP_IF([test $HAVE_NC = no])
-AT_SKIP_IF([test $HAVE_TCPDUMP = no])
+OVS_CHECK_TCPDUMP()
 CHECK_CONNTRACK()
 CHECK_CONNTRACK_NAT()
 OVS_TRAFFIC_VSWITCHD_START()
@@ -6871,7 +6871,7 @@ OVS_TRAFFIC_VSWITCHD_STOP
 AT_CLEANUP
 
 AT_SETUP([conntrack - IPv6 ICMP6 Related with SNAT])
-AT_SKIP_IF([test $HAVE_TCPDUMP = no])
+OVS_CHECK_TCPDUMP()
 AT_SKIP_IF([test $HAVE_NC = no])
 CHECK_CONNTRACK()
 CHECK_CONNTRACK_NAT()
@@ -6925,7 +6925,7 @@ OVS_TRAFFIC_VSWITCHD_STOP
 AT_CLEANUP
 
 AT_SETUP([conntrack - ICMPv6 related NAT with single port])
-AT_SKIP_IF([test $HAVE_TCPDUMP = no])
+OVS_CHECK_TCPDUMP()
 CHECK_CONNTRACK()
 CHECK_CONNTRACK_NAT()
 OVS_TRAFFIC_VSWITCHD_START()
@@ -7610,7 +7610,7 @@ AT_CLEANUP
 
 AT_SETUP([conntrack - ICMP from different source related with NAT])
 AT_SKIP_IF([test $HAVE_NC = no])
-AT_SKIP_IF([test $HAVE_TCPDUMP = no])
+OVS_CHECK_TCPDUMP()
 CHECK_CONNTRACK()
 CHECK_CONNTRACK_NAT()
 OVS_TRAFFIC_VSWITCHD_START()
-- 
2.41.0

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to