Starting a scapy server might take time on slow/busy systems, and cause
some tests to fail in a flaky way when started in the middle of the test.

This caused some tests to be flaky such as:
- "IP packet buffering"
- "virtual port claim race condition"

The new macro (CHECK_SCAPY), called at the beginning of the tests,
skips the test if scapy is not installed (as 'HAVE_SCAPY = no' was doing),
and starts the scapy server.

Note that macros such as send_garp do not check anymore to skip the
test if HAVE_SCAPY is not set as it is done through CHECK_SCAPY.
CHECK_SCAPY is now enforced: a test calling send_garp, send_na or
fmt_pkt will always fail if CHECK_SCAPY is not set.

Signed-off-by: Xavier Simonart <[email protected]>

---
v1->v2: Updated based on Ilya's feedback i.e.
        - Change macro_name to CHECK_SCAPY.
        - Use ovs-appctl version to check scapy server is really started.
        - Wait max 30 seconds to start scapy, or fail.
        - Update commit message.
---
 tests/ovn-ic.at     |   2 +-
 tests/ovn-macros.at |  12 ++---
 tests/ovn-util.at   |   1 -
 tests/ovn.at        | 128 +++++++++++++++++++++++---------------------
 tests/system-ovn.at |   8 +--
 5 files changed, 77 insertions(+), 74 deletions(-)

diff --git a/tests/ovn-ic.at b/tests/ovn-ic.at
index cf42a5cd0..eb3b7efef 100644
--- a/tests/ovn-ic.at
+++ b/tests/ovn-ic.at
@@ -3306,7 +3306,7 @@ AT_CLEANUP
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([spine-leaf: 3 AZs, 3 HVs, 3 LSs, connected via transit spine switch])
 AT_KEYWORDS([spine leaf])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 
 ovn_init_ic_db
 
diff --git a/tests/ovn-macros.at b/tests/ovn-macros.at
index d96e8e61f..8879c2fa1 100644
--- a/tests/ovn-macros.at
+++ b/tests/ovn-macros.at
@@ -536,6 +536,11 @@ m4_define([OVN_CLEANUP_IC],[
     fi
 ])
 
+m4_define([CHECK_SCAPY],[
+    AT_SKIP_IF([test $HAVE_SCAPY = no])
+    start_scapy_server
+])
+
 m4_divert_push([PREPARE_TESTS])
 
 # ovn_init_db DATABASE [AZ]
@@ -1294,7 +1299,6 @@ hex_to_mac() {
 }
 
 send_garp() {
-    AT_SKIP_IF([test $HAVE_SCAPY = no])
     local hv=$1 inport=$2 op=$3 eth_src=$4 eth_dst=$5 spa=$6 tpa=$7
 
     local packet=$(fmt_pkt "Ether(dst='${eth_dst}', src='${eth_src}')/ \
@@ -1380,10 +1384,6 @@ ovn_trace_client() {
 #
 fmt_pkt() {
     ctlfile=$ovs_base/scapy.ctl
-    if [[ ! -S $ctlfile ]]; then
-        start_scapy_server
-    fi
-    while [[ ! -S $ctlfile ]]; do sleep 0.1; done
     ovs-appctl -t $ctlfile payload "$1"
 }
 
@@ -1396,6 +1396,7 @@ start_scapy_server() {
     flock -n $lockfile "$top_srcdir"/tests/scapy-server.py \
         --pidfile=$pidfile --unixctl=$ctlfile --log-file=$logfile --detach \
     && on_exit "test -e \"$pidfile\" && ovs-appctl -t $ctlfile exit"
+    OVS_WAIT_UNTIL([test -S "$ctlfile" && ovs-appctl -t "$ctlfile" version])
 }
 
 sleep_northd() {
@@ -1587,7 +1588,6 @@ m4_define([TAG_TEST_NOT_UPGRADABLE], [
 
 m4_define([OVN_CHECK_SCAPY_EDNS_CLIENT_SUBNET_SUPPORT],
 [
-    AT_SKIP_IF([test $HAVE_SCAPY = no])
     AT_SKIP_IF([! echo "from scapy.layers.dns import EDNS0ClientSubnet" | 
python 2>&1 > /dev/null])
 ])
 
diff --git a/tests/ovn-util.at b/tests/ovn-util.at
index 004799b4c..76bb568e7 100644
--- a/tests/ovn-util.at
+++ b/tests/ovn-util.at
@@ -1,5 +1,4 @@
 AT_SETUP([ovn-detrace - simple scenario])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
 ovn_start
 net_add n1
 
diff --git a/tests/ovn.at b/tests/ovn.at
index c6be58288..b7b24a705 100644
--- a/tests/ovn.at
+++ b/tests/ovn.at
@@ -2565,7 +2565,7 @@ AT_CLEANUP
 
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([ovn -- allows ACLs to match against vlan-transparent double tagged 
traffic L3 fields])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 for i in 1 2; do
@@ -2648,7 +2648,7 @@ OVN_FOR_EACH_NORTHD_FLOW_TUNNEL([
 AT_SETUP([3 HVs, 1 LS, 3 lports/HV])
 AT_KEYWORDS([ovnarp])
 AT_KEYWORDS([slowtest])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 # Create hypervisors hv[123].
@@ -3935,7 +3935,7 @@ AT_CLEANUP
 
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([VLAN transparency, passthru=true, ARP responder disabled])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 net_add net
@@ -4015,7 +4015,7 @@ AT_CLEANUP
 
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([VLAN transparency, passthru=true, ND/NA responder disabled])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 net_add net
@@ -4564,7 +4564,7 @@ AT_CLEANUP
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([vtep: 3 HVs, 1 VIFs/HV, 1 GW, 1 LS])
 AT_KEYWORDS([vtep])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 # Configure the Northbound database
@@ -5065,7 +5065,7 @@ AT_CLEANUP
 OVN_FOR_EACH_NORTHD_FLOW_TUNNEL([
 AT_SETUP([3 HVs, 3 LS, 3 lports/LS, 1 LR])
 AT_KEYWORDS([slowtest])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 # Logical network:
@@ -5511,7 +5511,7 @@ AT_CLEANUP
 
 OVN_FOR_EACH_NORTHD_FLOW_TUNNEL([
 AT_SETUP([IP relocation using GARP request])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 # Logical network:
@@ -5772,7 +5772,7 @@ AT_CLEANUP
 # 3 hypervisors, one logical switch, 3 logical ports per hypervisor
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([portsecurity : 3 HVs, 1 LS, 3 lports/HV])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 # Create hypervisors hv[123].
@@ -6330,7 +6330,7 @@ AT_CLEANUP
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([1 HV, 1 LS, 2 lport/LS, 1 LR])
 AT_KEYWORDS([router-admin-state])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 # Logical network:
@@ -6440,7 +6440,7 @@ OVN_FOR_EACH_NORTHD([
 AT_SETUP([1 HV, 2 LSs, 1 lport/LS, 1 LR])
 AT_KEYWORDS([router-admin-state])
 TAG_UNSTABLE
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 # Logical network:
@@ -6531,7 +6531,7 @@ AT_CLEANUP
 
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([2 HVs, 3 LS, 1 lport/LS, 2 peer LRs, static routes])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 # Logical network:
@@ -6731,7 +6731,7 @@ AT_CLEANUP
 
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([2 HVs, 3 LRs connected via LS, static routes])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 # Logical network:
@@ -7628,7 +7628,7 @@ AT_CLEANUP
 
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([dhcpv6 : 1 HV, 2 LS, 5 LSPs])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 check ovn-nbctl ls-add ls1
@@ -7965,7 +7965,7 @@ AT_CLEANUP
 
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([2 HVs, 2 LRs connected via LS, gateway router])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 # Logical network:
@@ -8150,7 +8150,7 @@ AT_CLEANUP
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([spine-leaf: 1 HV, 3 LSs, connected via spine switch])
 AT_KEYWORDS([spine leaf])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 # Logical network:
@@ -8347,7 +8347,7 @@ AT_CLEANUP
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([spine-leaf: 3 HVs, 3 LSs, connected via distributed spine switch])
 AT_KEYWORDS([spine leaf])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 # Logical network:
@@ -8591,7 +8591,7 @@ AT_CLEANUP
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([icmp_reply: 1 HVs, 2 LSs, 1 lport/LS, 1 LR])
 AT_KEYWORDS([router-icmp-reply])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 # Logical network:
@@ -10243,7 +10243,7 @@ AT_CLEANUP
 
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([ARP/ND from localnet -- proxy reply on resident chassis only])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 dnl Create logical switch with localnet port.
@@ -12575,6 +12575,7 @@ AT_CLEANUP
 
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([dns lookup : EDNS])
+CHECK_SCAPY
 OVN_CHECK_SCAPY_EDNS_CLIENT_SUBNET_SUPPORT()
 ovn_start
 
@@ -12868,6 +12869,7 @@ AT_CLEANUP
 
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([4 HV, 3 LS, 2 LR, packet test with HA distributed router gateway 
port])
+CHECK_SCAPY
 ovn_start
 
 net_add n1
@@ -13883,7 +13885,7 @@ AT_CLEANUP
 
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([IPv6 ND Router Solicitation responder])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 AT_KEYWORDS([ovn-nd_ra])
 ovn_start
 
@@ -14391,7 +14393,7 @@ AT_CLEANUP
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([localport suppress gARP])
 AT_SKIP_IF([test $HAVE_TCPDUMP = no])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 net_add n1
@@ -14456,7 +14458,7 @@ AT_CLEANUP
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([localport doesn't suppress ARP directed to external port])
 AT_SKIP_IF([test $HAVE_TCPDUMP = no])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 
 ovn_start
 net_add n1
@@ -15342,7 +15344,7 @@ AT_CLEANUP
 
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([allow IPv6 RA / NA / MLD by default])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 net_add n1
 sim_add hv1
@@ -16282,7 +16284,7 @@ AT_CLEANUP
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([localnet connectivity with multiple requested-chassis])
 AT_KEYWORDS([multi-chassis])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 net_add n1
@@ -16671,7 +16673,7 @@ m4_define([MULTICHASSIS_PATH_MTU_DISCOVERY_TEST],
   [OVN_FOR_EACH_NORTHD([
    AT_SETUP([localnet connectivity with multiple requested-chassis, path mtu 
discovery (ip=$1, tunnel=$2, mtu=$3)])
    AT_KEYWORDS([multi-chassis])
-   AT_SKIP_IF([test $HAVE_SCAPY = no])
+   CHECK_SCAPY
 
    ovn_start
 
@@ -17007,7 +17009,7 @@ m4_define([ACTIVATION_STRATEGY_TEST],
     AT_SETUP([options:activation-strategy=$1 for logical port])
     AT_KEYWORDS([multi-chassis])
     AT_KEYWORDS([slowtest])
-    AT_SKIP_IF([test $HAVE_SCAPY = no])
+    CHECK_SCAPY
     ovn_start
 
     net_add n1
@@ -18145,7 +18147,7 @@ AT_CLEANUP
 
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([IPv6 periodic gateway RA enabled for localnet adjacent switch ports])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 net_add n1
@@ -22746,7 +22748,7 @@ AT_CLEANUP
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([IP packet buffering])
 AT_KEYWORDS([ip-buffering])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 # Logical network:
@@ -23484,7 +23486,7 @@ AT_CLEANUP
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([virtual ports])
 AT_KEYWORDS([virtual ports])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 send_nd_ns() {
@@ -26276,7 +26278,7 @@ DVR_N_S_PING([vxlan])
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([ARP lookup before learning])
 AT_KEYWORDS([virtual ports])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 send_arp_reply() {
@@ -26626,7 +26628,7 @@ AT_CLEANUP
 
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([Disabling RARP/GARP announcements from Router options])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 net_add n1
@@ -32142,7 +32144,7 @@ AT_CLEANUP
 
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([multiple encap ips selection based on VIF's encap_ip - L2])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 net_add n1
 
@@ -32263,7 +32265,7 @@ AT_CLEANUP
 
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([multiple encap ips selection based on VIF's encap_ip - L3])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 net_add n1
 
@@ -32405,7 +32407,7 @@ AT_CLEANUP
 
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([multiple encap ips selection for localnet packets])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 net_add n1
 
@@ -36719,7 +36721,7 @@ AT_CLEANUP
 
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([MAC binding aging])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 net_add n1
@@ -36978,7 +36980,7 @@ AT_CLEANUP
 
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([MAC binding aging - port deletion])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 net_add n1
@@ -37072,7 +37074,7 @@ AT_CLEANUP
 
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([MAC binding aging - persistence of the active entry])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 net_add n1
@@ -37200,7 +37202,7 @@ AT_CLEANUP
 
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([MAC binding aging - probing])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 aging_th=10
@@ -37322,7 +37324,7 @@ AT_CLEANUP
 
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([MAC binding aging - probing multi-subnet source IP])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 aging_th=10
@@ -37439,7 +37441,7 @@ AT_CLEANUP
 
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([MAC binding aging - probing distributed GW router])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 # Check that during mac probing only the chassis that has currently claimed
@@ -37511,7 +37513,7 @@ AT_CLEANUP
 
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([MAC binding aging - probing GW router Dynamic Neigh])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 send_imcp_echo_req() {
@@ -39534,7 +39536,7 @@ AT_CLEANUP
 
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([FDB aging])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 net_add n1
@@ -39611,7 +39613,7 @@ AT_CLEANUP
 
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([FDB aging - persistence of the active entry])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 net_add n1
@@ -39691,7 +39693,7 @@ AT_CLEANUP
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([DNAT_SNAT and LB traffic])
 AT_KEYWORDS([dnat-snat-lb])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 test_ip_req_packet() {
@@ -40123,7 +40125,7 @@ AT_CLEANUP
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([virtual port claim race condition])
 AT_KEYWORDS([virtual ports])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 net_add n1
@@ -40203,7 +40205,7 @@ AT_CLEANUP
 
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([pod to pod with localnet_learn_fdb])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 
 # 10 VIFs, 5 per HV: vif11, vif12, vif13, vif14 and vif15 on hv1.
 # vif11 will exchange packets with vif21, vif12 w/ vif22 and so on.
@@ -41036,7 +41038,7 @@ AT_CLEANUP
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([QoS packet marking])
 AT_KEYWORDS([ovn-qos-pkt-marking])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 check ovn-nbctl lr-add lr0
@@ -41799,7 +41801,7 @@ dnl don't match on IPv6 source and destination 
addresses for
 dnl simple switching.
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([IPv6 switching - megaflow check for IPv6 src/dst matches])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 check ovn-nbctl ls-add sw0
@@ -41965,7 +41967,7 @@ dnl This test checks that the megaflows translated by 
ovs-vswitchd don't
 dnl have extensive matches on external IP addresses for simple routing.
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([IPv4/v6 routing to external - megaflow check for src/dst matches])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 check ovn-nbctl ls-add sw0
@@ -42668,7 +42670,7 @@ AT_CLEANUP
 
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([2 HVs, 2 LS, 1 lport/LS, 2 peer LRs, IPv4 over IPv6])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 # Logical network:
@@ -42788,7 +42790,7 @@ AT_CLEANUP
 
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([2 HVs, 2 LS, 1 lport/LS, LRs connected via LS, IPv4 over IPv6])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 # Logical network:
@@ -42916,7 +42918,7 @@ AT_CLEANUP
 
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([2 HVs, 2 LS, 1 lport/LS, LRs connected via LS, IPv4 over IPv6, 
static mac])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 # Logical network:
@@ -43050,7 +43052,7 @@ AT_CLEANUP
 
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([2 HVs, 2 LS, 1 lport/LS, LRs connected via LS, IPv4 over IPv6, 
dynamic])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 # Logical network:
@@ -43180,7 +43182,7 @@ AT_CLEANUP
 
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([2 HVs, 2 LS, 1 lport/LS, LRs connected via LS, IPv6 over IPv4, 
dynamic])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 # Logical network:
@@ -43310,7 +43312,7 @@ AT_CLEANUP
 
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([2 HVs, 2 LS, 1 lport/LS, LRs connected via LS, IPv4 over IPv6, ECMP])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 # Logical network:
@@ -43453,7 +43455,7 @@ AT_CLEANUP
 
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([2 HVs, 2 LS, 1 lport/LS, 2 peer LRs, IPv6 over IPv4])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 # Logical network:
@@ -43573,7 +43575,7 @@ AT_CLEANUP
 
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([DNS reply packet with ACL to drop it])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 net_add n1
 sim_add hv1
@@ -44182,7 +44184,7 @@ AT_CLEANUP
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([Load balancer hairpin flows])
 AT_KEYWORDS([lb])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 net_add n1
@@ -44260,7 +44262,7 @@ AT_CLEANUP
 
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([lb_force_snat_ip=router_ip select correct network for snat])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 check ovn-nbctl lr-add lr
@@ -44340,7 +44342,7 @@ AT_CLEANUP
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([virtual port claim postpone])
 AT_KEYWORDS([virtual ports])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 net_add n1
@@ -44437,6 +44439,7 @@ AT_CLEANUP
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([virtual port - parent port re-create])
 AT_KEYWORDS([virtual ports])
+CHECK_SCAPY
 ovn_start
 
 net_add n1
@@ -44909,7 +44912,7 @@ AT_CLEANUP
 
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([Unicast ARP when proxy ARP is configured])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 check ovn-nbctl ls-add ls1
@@ -44983,7 +44986,7 @@ AT_CLEANUP
 
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([Port security - VRRPv3 ARP/ND])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 net_add n1
 sim_add hv1
@@ -45994,7 +45997,7 @@ AT_CLEANUP
 
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([Drop unknown eth type on router ports])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 ovn_start
 
 net_add n1
@@ -46199,6 +46202,7 @@ AT_CLEANUP
 
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([IPv4 over v6 Neigh solicitation test])
+CHECK_SCAPY
 ovn_start
 
 net_add n1
diff --git a/tests/system-ovn.at b/tests/system-ovn.at
index a4afab4e5..72cf47f24 100644
--- a/tests/system-ovn.at
+++ b/tests/system-ovn.at
@@ -7815,7 +7815,7 @@ AT_CLEANUP
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([ovn -- CoPP])
 AT_SKIP_IF([test $HAVE_TCPDUMP = no])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 AT_KEYWORDS([ovn-copp])
 
 ovn_start
@@ -18015,7 +18015,7 @@ OVN_FOR_EACH_NORTHD([
 AT_SETUP([dynamic-routing - EVPN $1 naming])
 AT_KEYWORDS([dynamic-routing])
 
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 CHECK_VRF()
 CHECK_CONNTRACK()
 CHECK_CONNTRACK_NAT()
@@ -21788,7 +21788,7 @@ AT_CLEANUP
 
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([ACL - ICMP unreachable heap overread])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 
 ovn_start
 
@@ -21871,7 +21871,7 @@ AT_CLEANUP
 
 OVN_FOR_EACH_NORTHD([
 AT_SETUP([DHCPv6 - Options heap overread])
-AT_SKIP_IF([test $HAVE_SCAPY = no])
+CHECK_SCAPY
 
 ovn_start
 
-- 
2.47.1

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

Reply via email to