On Wed, Jun 24, 2026 at 3:55 AM Xavier Simonart via dev
<[email protected]> wrote:
>
> 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
>

Hi Xavier, thanks for the patch!

Acked-by: Mark Michelson <[email protected]>

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

Reply via email to