On Thu, Nov 20, 2025 at 9:41 AM Dumitru Ceara <[email protected]> wrote:

> Otherwise potential sanitizer reported errors might go unnoticed.
>
> Reported-at:
> https://mail.openvswitch.org/pipermail/ovs-dev/2025-November/427811.html
> Reported-by: Lucas Vargas Dias <[email protected]>
> Signed-off-by: Dumitru Ceara <[email protected]>
> (cherry picked from commit d1f4150bbe88713866f56603a260daae6ffa92aa)
> ---
>  tests/ovn-macros.at           |   18 +
>  tests/ovn-northd.at           |  208 ++++++-
>  tests/ovn.at                  |    9 +-
>  tests/system-common-macros.at |    9 +-
>  tests/system-ovn-kmod.at      |   90 +--
>  tests/system-ovn.at           | 1062 ++++-----------------------------
>  6 files changed, 332 insertions(+), 1064 deletions(-)
>
> diff --git a/tests/ovn-macros.at b/tests/ovn-macros.at
> index 357465fa93..a6fe0f6939 100644
> --- a/tests/ovn-macros.at
> +++ b/tests/ovn-macros.at
> @@ -179,6 +179,24 @@ m4_define([OVN_WAIT_REMOTE_OUTPUT_FLOWS],
>  m4_define([OVN_WAIT_REMOTE_INPUT_FLOWS],
>    [ovn_wait_remote_input_flows "$1" "$2" "__file__:__line__"])
>
> +# OVN_CLEANUP_NORTHD
> +#
> +# Gracefully terminate all central OVN daemons: NB, SB and ovn-northd.
> +m4_define([OVN_CLEANUP_NORTHD],[
> +    as ovn-sb
> +    OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> +
> +    as ovn-nb
> +    OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> +
> +    as northd
> +    OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +
> +    if test -d northd-backup; then
> +        as northd-backup
> +        OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +    fi
> +])
>
>  # OVN_CLEANUP_VSWITCH(sim)
>  #
> diff --git a/tests/ovn-northd.at b/tests/ovn-northd.at
> index 9fe97785a8..0cd8d6e0cc 100644
> --- a/tests/ovn-northd.at
> +++ b/tests/ovn-northd.at
> @@ -185,6 +185,7 @@ check_row_count HA_Chassis 0
>  check_row_count Gateway_Chassis 0
>  check_row_count Ha_Chassis_Group 0
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -200,6 +201,7 @@ check ovn-sbctl chassis-add hv1 geneve 127.0.0.1
>  check ovn-sbctl lsp-bind S1-vm1 hv1
>  wait_row_count nb:Logical_Switch_Port 1 name=S1-vm1 'up=true'
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -217,6 +219,7 @@ check ovn-nbctl --wait=sb lsp-set-type S2-p2 switch
> peer=S1-p1
>  AT_CHECK([test x`ovn-nbctl lsp-get-up S1-p1` = xup])
>  AT_CHECK([test x`ovn-nbctl lsp-get-up S2-p2` = xup])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -231,6 +234,7 @@ check ovn-nbctl ls-add S1
>  check ovn-nbctl --wait=sb lsp-add-router-port S1 S1-R1 R1-S1
>  AT_CHECK([test x`ovn-nbctl lsp-get-up S1-R1` = xup])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -249,6 +253,7 @@ check ovn-nbctl --wait=sb lsp-add-router-port S1 S1-R1
> R1-S1
>  check ovn-sbctl lsp-bind S1-R1 gw1
>  AT_CHECK([test x`ovn-nbctl lsp-get-up S1-R1` = xup])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -266,6 +271,7 @@ check ovn-nbctl ls-add S1
>  check ovn-nbctl --wait=sb lsp-add-router-port S1 S1-R1 R1-S1
>  AT_CHECK([test x`ovn-nbctl lsp-get-up S1-R1` = xup])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -309,6 +315,7 @@ check ovn-nbctl --wait=sb sync
>
>  wait_row_count nb:Logical_Router_Port 0 name=lrp1
> status:hosting-chassis=ch1
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -321,6 +328,7 @@ check ovn-nbctl lrp-add ro lrp0 00:00:00:00:00:01
> 192.168.1.1/24
>  check ovn-nbctl --wait=sb set logical_router_port lrp0
> external_ids=test=123
>  check_column "test=123" sb:Port_Binding external_ids logical_port=lrp0
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -430,6 +438,7 @@ AT_CHECK_UNQUOTED([ovn-sbctl get Port_Binding ${uuid}
> options:ipv6_ra_prefixes],
>  [1], [], [ovn-sbctl: no key "ipv6_ra_prefixes" in Port_Binding record
> "${uuid}" column options
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -464,13 +473,7 @@ check ovn-nbctl --wait=sb lsp-add sw p3
>  # northd created with default unixctl path successfully created
> port_binding entry
>  check_row_count Port_Binding 1 logical_port=p3
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> -
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -806,13 +809,7 @@ wait_row_count HA_Chassis_Group 0
>  wait_row_count Port_Binding 0 logical_port=sw0-pext2 'chassis!=[[]]'
>  check_row_count HA_Chassis 0
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> -
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -890,6 +887,7 @@ Status: standby
>  check ovn-nbctl --wait=sb sync
>  check_row_count Datapath_Binding 1
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -917,6 +915,7 @@ check_row_count Datapath_Binding 1
>  ovn_start_northd
>  wait_row_count Datapath_Binding 2
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -953,6 +952,7 @@ wait_row_count Datapath_Binding 2
>  dp2=$(fetch_column Datapath_Binding _uuid external_ids:name=sw1)
>  wait_column "$dp1 $dp2" Logical_DP_Group datapaths
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -987,6 +987,7 @@ wait_row_count Datapath_Binding 2
>  dp2=$(fetch_column Datapath_Binding _uuid external_ids:name=sw1)
>  wait_column "$dp1 $dp2" Logical_DP_Group datapaths
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -1009,6 +1010,7 @@ wait_row_count Port_Binding 1 logical_port=cr-R1-S1
> options:redirect-type=bridge
>
>  check ovn-nbctl lrp-set-redirect-type R1-S1 overlay
>  wait_row_count Port_Binding 1 logical_port=cr-R1-S1
> options:redirect-type=overlay
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -1090,6 +1092,7 @@ echo "IPv6: stateless with match"
>  check ovn-nbctl --wait=sb --match="udp" --stateless lr-nat-add R1
> dnat_and_snat fd01::1 fd11::2
>  check_flow_match_sets 2 0 0 0 0 1 1
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -1139,6 +1142,7 @@ AT_CHECK([grep 'ct_[s]dnat.*172\.16\.1\.2.*3000'
> sbflows3], [1])
>
>  check ovn-nbctl lr-nat-del R1 dnat_and_snat  172.16.1.1
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -1382,12 +1386,13 @@ AT_CHECK([grep -e "lr_out_snat" crflows6 |
> ovn_strip_lflows], [0], [dnl
>    table=??(lr_out_snat        ), priority=35   , match=(ip && ip4.src ==
> 50.0.0.11 && ip4.dst == $disallowed_range), action=(next;)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
>  OVN_FOR_EACH_NORTHD_NO_HV([
>  AT_SETUP([check Load balancer health check and Service Monitor sync])
> -ovn_start ovn-northd
> +ovn_start
>  check ovn-nbctl lb-add lb1 10.0.0.10:80 10.0.0.3:80,20.0.0.3:80
>
>  check ovn-nbctl --wait=sb set load_balancer .
> ip_port_mappings:10.0.0.3=sw0-p1
> @@ -1646,6 +1651,7 @@ OVS_WAIT_FOR_OUTPUT(
>    table=??(ls_in_lb           ), priority=120  , match=(ct.new &&
> ip4.dst == 10.0.0.10 && reg1[[16..23]] == 6 && reg1[[0..15]] == 80),
> action=(reg0 = 0; reject { outport <-> inport;
> next(pipeline=egress,table=??);};)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -1721,6 +1727,7 @@ AT_CHECK([grep "lr_in_unsnat" sbflows |
> ovn_strip_lflows], [0], [dnl
>    table=??(lr_in_unsnat       ), priority=90   , match=(ip && ip4.dst ==
> 192.168.2.4), action=(ct_snat;)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -1807,6 +1814,7 @@ AT_CHECK([grep "lr_in_ip_input" sbflows | grep
> 'ip.\.dst == {' | grep drop | ovn
>    table=??(lr_in_ip_input     ), priority=60   , match=(ip6.dst ==
> {fe80::200:ff:fe00:20}), action=(drop;)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -1828,6 +1836,7 @@ AT_CHECK([ovn-sbctl lflow-list lr0 | grep
> lr_in_unsnat | ovn_strip_lflows], [0],
>    table=??(lr_in_unsnat       ), priority=110  , match=(ip4 && ip4.dst ==
> 192.168.2.3), action=(ct_snat;)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -1856,6 +1865,7 @@ lr_uuid=$(ovn-nbctl get Logical_Router . _uuid)
>  echo nb_uuid="$nb_uuid" lr_uuid="$lr_uuid"
>  AT_CHECK([test "${nb_uuid}" = "${lr_uuid}"])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -1880,6 +1890,7 @@ AT_CHECK([ovn-nbctl --wait=sb sync], [0])
>  check_column 1 Port_Binding tunnel_key logical_port=lsp1
>  check_column 2 Port_Binding tunnel_key logical_port=lsp2
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -1908,6 +1919,7 @@ AT_CHECK([ovn-nbctl --wait=sb sync], [0])
>
>  check_row_count HA_Chassis_Group 0
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -1958,6 +1970,7 @@ lsp2
>  check ovn-nbctl --wait=sb clear Port_Group pg_test ports
>  AT_CHECK([test 0 = $(ovn-sbctl --columns _uuid list Port_Group | grep
> uuid -c)])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -1985,6 +1998,7 @@ check ovn-nbctl --wait=sb ls-del ls1
>  wait_row_count Port_Group 1
>  check_row_count Port_Group 1 name=${ls2_key}_pg_test
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -2213,6 +2227,7 @@ action=(eth.dst = eth.src; eth.src =
> 00:00:00:00:00:02; arp.op = 2; /* ARP reply
>  # xreg0[[0..47]] isn't used anywhere else.
>  AT_CHECK([ovn-sbctl lflow-list | grep "xreg0\[[0..47\]]" | grep -vE
> 'lr_in_admission|lr_in_ip_input'], [1], [])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -2326,6 +2341,7 @@ check ovn-nbctl --wait=sb sync
>  AT_CHECK([ovn-sbctl lflow-list | grep "ls_out_pre_lb.*priority=100" |
> grep reg0 | ovn_strip_lflows], [0], [dnl
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -2343,6 +2359,7 @@ AT_CHECK([ovn-sbctl lflow-list | grep arp | grep
> 10\.0\.0\.1], [1], [ignore])
>  check ovn-nbctl --wait=sb set NB_Global . options:ignore_lsp_down=true
>  AT_CHECK([ovn-sbctl lflow-list | grep arp | grep 10\.0\.0\.1], [0],
> [ignore])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -2417,6 +2434,7 @@ sw1flows3:  table=??(ls_out_acl_eval    ),
> priority=2003 , match=(reg0[[10]] ==
>  sw1flows3:  table=??(ls_out_acl_eval    ), priority=2003 ,
> match=(reg0[[9]] == 1 && (outport == @pg0 && ip6 && udp)),
> action=(reg8[[18]] = 1; next;)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -2548,6 +2566,7 @@ check ovn-nbctl --wait=sb remove logical_switch $sw0
> acls $acl2
>  check_meter_by_name meter_me meter_me__${acl3}
>  check_meter_by_name NOT meter_me__${acl1} meter_me__${acl2}
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -2653,6 +2672,7 @@ check_row_count sb:Mirror 0
>  check_column "" sb:Port_Binding mirror_rules logical_port=sw0-port1
>  check_column "" sb:Port_Binding mirror_rules logical_port=sw0-port2
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -2771,6 +2791,7 @@ AT_CHECK([ovn-sbctl lflow-list ls | grep -e
> ls_in_acl_hint -e ls_out_acl_hint -e
>  ])
>
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -2818,6 +2839,7 @@ AT_CHECK(
>    [ovn-nbctl --wait=sb set logical-switch ls1
> other-config:requested-tnl-key=2])
>  get_tunnel_keys
>  AT_CHECK([test $ls2 = 3])
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -2838,6 +2860,7 @@ AT_CHECK([test 100 = $(ovn-sbctl get
> datapath_binding lr0 tunnel_key)])
>  AT_CHECK(
>    [ovn-nbctl --wait=sb set logical-router lr1
> options:requested-tnl-key=100])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -2897,6 +2920,7 @@ AT_CHECK(
>  get_tunnel_keys
>  AT_CHECK([test $lsp02 = 3 && test $ls1 = 123])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>  OVN_FOR_EACH_NORTHD_NO_HV([
> @@ -2930,6 +2954,7 @@ check ovn-nbctl set NB_Global .
> options:vxlan_mode=false
>  check_row_count nb:Logical_Switch 4097
>  wait_row_count sb:Datapath_Binding 4097
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -2960,6 +2985,7 @@ wait_row_count sb:Datapath_Binding 4095
>
>  OVS_WAIT_UNTIL([grep "all datapath tunnel ids exhausted"
> northd/ovn-northd.log])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -2991,6 +3017,7 @@ wait_row_count sb:Port_Binding 2048
>
>  OVS_WAIT_UNTIL([grep "all port tunnel ids exhausted"
> northd/ovn-northd.log])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -3049,6 +3076,7 @@ AT_CHECK([test "$(get_max_tunid)" -eq 1023])
>  check ovn-nbctl --wait=sb clear logical-switch LS other-config
>  AT_CHECK([test "$(get_max_tunid)" -eq 4095])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -3124,6 +3152,7 @@ AT_CHECK_UNQUOTED([ovn-sbctl --bare --columns
> _uuid,datapaths find Logical_DP_Gr
>  $(cat sw_sb_uuids | sort)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -3391,6 +3420,7 @@ AT_CHECK_UNQUOTED([ovn-sbctl --bare --columns
> _uuid,datapaths find Logical_DP_Gr
>                      | grep -A1 $lbg0_dp_group | tail -1], [0], [dnl
>  $sw1_sb_uuid
>  ])
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -3463,6 +3493,7 @@ AT_CHECK([ovn-sbctl lflow-list sw0 | grep
> ls_in_hairpin | ovn_strip_lflows], [0]
>    table=??(ls_in_hairpin      ), priority=1    , match=((reg0[[6]] == 1
> || reg0[[12]] == 1)), action=(eth.dst <-> eth.src; outport = inport;
> flags.loopback = 1; output;)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -3593,6 +3624,7 @@ sed 's/reg8\[[0..15\]] == [[0-9]]*/reg8\[[0..15\]]
> == <cleared>/' | ovn_strip_lf
>    table=??(lr_in_policy_ecmp  ), priority=150  , match=(reg8[[0..15]] ==
> <cleared>), action=(next;)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -3620,6 +3652,7 @@ AT_CHECK([grep "lr_in_policy[[^_]]" lr0flows2 |
> ovn_strip_lflows | sort], [0], [
>    table=??(lr_in_policy       ), priority=201  , match=(reg9[[16..31]] ==
> 1 && (1)), action=(reg8[[0..15]] = 0; next;)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -3760,6 +3793,7 @@ ct_lb_mark {
>  };
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -3902,6 +3936,7 @@ ct_lb_mark {
>  };
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -3957,6 +3992,7 @@ AT_CHECK_UNQUOTED([ovn_trace --ct new --ct new
> --minimal ls "${flow}"], [0], [dn
>  output("lsp2");
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -4103,6 +4139,7 @@ check as northd ovn-appctl -t ovn-northd
> inc-engine/clear-stats
>  bfd_route_policy_uuid=$(fetch_column nb:bfd _uuid logical_port=r0-sw9)
>  AT_CHECK([ovn-nbctl list logical_router_policy | sed s/,//g | grep -q
> "$bfd_route_policy_uuid"])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -4281,6 +4318,7 @@ check ovn-nbctl --wait=hv ls-copp-add copp0 sw2
>  ls2_copp_uuid=$(ovn-nbctl get Logical_Switch sw2 copp)
>  AT_CHECK([test "$ls2_copp_uuid" = "$copp_uuid"])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -4299,6 +4337,7 @@ check ovn-nbctl --wait=sb sync
>
>  AT_CHECK([grep -qE 'duplicate logical port p1' northd/ovn-northd.log],
> [0])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -4317,6 +4356,7 @@ check ovn-nbctl --wait=sb sync
>
>  AT_CHECK([grep -qE 'duplicate logical router port p1'
> northd/ovn-northd.log], [0])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -4332,6 +4372,7 @@ check ovn-nbctl --wait=sb sync
>
>  AT_CHECK([grep -qE 'duplicate logical.*port p1' northd/ovn-northd.log],
> [0])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -4606,6 +4647,7 @@ AT_CHECK([grep "lr_out_post_undnat" lr0flows |
> ovn_strip_lflows], [0], [dnl
>    table=??(lr_out_post_undnat ), priority=50   , match=(ip && ct.new),
> action=(ct_commit { } ; next; )
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -4648,6 +4690,7 @@ check ovn-nbctl clear logical_switch_port sw0-p1
> ha_chassis_group -- set logical
>  wait_row_count ha_chassis_group 0
>  check_column "" Port_Binding chassis logical_port=sw0-p1
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -4710,6 +4753,7 @@ wait_row_count FDB 0
>
>  ovn-sbctl list FDB
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -4874,6 +4918,7 @@ AT_CHECK([ovn-sbctl dump-flows sw0 | grep "ls_in_lb
> " | ovn_strip_lflows ], [0],
>    table=??(ls_in_lb           ), priority=110  , match=(ct.trk && ct.est
> && !ct.rpl && reg0[[19]] == 1 && ip6), action=(xxreg1 = ct_ip6_dst();
> reg2[[0..15]] = ct_tp_dst(); next;)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -4967,6 +5012,7 @@ AT_CHECK([grep "ls_out_stateful" sw0flows |
> ovn_strip_lflows], [0], [dnl
>    table=??(ls_out_stateful    ), priority=100  , match=(reg0[[1]] == 1 &&
> reg0[[13]] == 0), action=(ct_commit { ct_mark.blocked = 0;
> ct_mark.allow_established = reg0[[20]]; ct_label.acl_id = reg2[[16..31]];
> }; next;)
>    table=??(ls_out_stateful    ), priority=100  , match=(reg0[[1]] == 1 &&
> reg0[[13]] == 1), action=(ct_commit { ct_mark.blocked = 0;
> ct_mark.allow_established = reg0[[20]]; ct_mark.obs_stage = reg8[[19..20]];
> ct_mark.obs_collector_id = reg8[[8..15]]; ct_label.obs_point_id = reg9;
> ct_label.acl_id = reg2[[16..31]]; }; next;)
>  ])
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -5012,6 +5058,7 @@ AT_CHECK_UNQUOTED([ovn_trace --ct new --ct new --ct
> new ls "$flow" | grep -e ls_
>      ct_commit { ct_mark.blocked = 0; ct_mark.allow_established =
> reg0[[20]]; ct_mark.obs_stage = reg8[[19..20]]; ct_mark.obs_collector_id =
> reg8[[8..15]]; ct_label.obs_point_id = reg9; ct_label.acl_id =
> reg2[[16..31]]; };
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -5095,6 +5142,7 @@ AT_CHECK([grep -c "ct.inv" sw0flows], [0], [dnl
>  2
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -5148,7 +5196,7 @@ cp $PKIDIR/$key $key
>  cp $PKIDIR/$cert $cert
>  check ovn-nbctl --wait=sb sync
>
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -5182,6 +5230,7 @@ check ovn-nbctl --wait=sb sync
>
>  AT_CHECK([ovn_trace --minimal 'inport == "sw1-port1" && eth.src ==
> 50:54:00:00:00:03 && eth.dst == 00:00:00:00:ff:02 && ip4.dst == 42.42.42.42
> && ip4.src == 11.0.0.2 && ip.ttl == 64' | grep "output(\"sw0-port1\")"],
> [1], [ignore])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -5215,6 +5264,7 @@ check ovn-nbctl --wait=sb sync
>
>  AT_CHECK([ovn_trace --minimal 'inport == "sw1-port1" && eth.src ==
> 50:54:00:00:00:03 && eth.dst == 00:00:00:00:ff:02 && ip6.dst == fd42::42 &&
> ip6.src == fd11::2 && ip.ttl == 64' | grep "output(\"sw0-port1\")"], [1],
> [ignore])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -5262,6 +5312,7 @@ AT_CHECK([grep -w "ls_in_dhcp_options" sw0flows |
> ovn_strip_lflows], [0], [dnl
>    table=??(ls_in_dhcp_options ), priority=100  , match=(inport ==
> "sw0-port1" && eth.src == 50:54:00:00:00:01 && (ip4.src == {10.0.0.2,
> 0.0.0.0} && ip4.dst == {10.0.0.1, 255.255.255.255}) && udp.src == 68 &&
> udp.dst == 67), action=(reg0[[3]] = put_dhcp_opts(offerip = 10.0.0.2,
> hostname = "bar", lease_time = 3600, netmask = 255.255.255.0, router =
> 10.0.0.1, server_id = 10.0.0.1); next;)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -5528,6 +5579,7 @@ check ovn-nbctl --wait=sb clear logical_router_port
> ro2-sw ha_chassis_group
>
>  check_lflows 0
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -5735,6 +5787,7 @@ AT_CHECK([grep "ls_in_l2_lkup" ls1_lflows |
> ovn_strip_lflows], [0], [dnl
>  AT_CHECK([grep "ls_in_l2_lkup" ls1_lflows | grep "192.168.4.100" | grep
> -v clone | grep "_MC_flood" -c], [1], [0
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -6560,6 +6613,7 @@ AT_CHECK([ovn-sbctl dump-flows lr0 | grep
> "lr_in_dnat" | ovn_strip_lflows], [0],
>    table=??(lr_in_dnat         ), priority=70   , match=(ct.rel && !ct.est
> && !ct.new && !ct.rpl && ct_mark.skip_snat == 1),
> action=(flags.skip_snat_for_lb = 1; ct_commit_nat;)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -6581,6 +6635,7 @@ check ovn-nbctl --wait=sb sync
>  check_row_count Load_Balancer 1
>  check test "$nlb" == "$(fetch_column Load_Balancer _uuid)"
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -6608,6 +6663,7 @@ AT_CHECK([ovn-sbctl --columns=tags list logical_flow
> | grep lsp0 -c], [0], [dnl
>  3
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -6909,6 +6965,7 @@ check ovn-nbctl --wait=sb sync
>  ovn-sbctl dump-flows lr0 > lr0flows
>  AT_CHECK([grep -E "lr_out_post_snat.*ct_commit_nat" lr0flows], [1])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])])
>
> @@ -7065,6 +7122,7 @@ AT_CHECK([grep -e "(lr_in_ip_routing   ).*3.3.0.0"
> lr0flows | sed 's/table=../ta
>    table=??(lr_in_ip_routing   ), priority=133  , match=(reg7 == 0 &&
> ip4.dst == 3.3.0.0/16 && udp), action=(ip.ttl--; flags.loopback = 1;
> reg8[[0..15]] = 1; reg8[[16..31]] = select(values=(1, 2);
> hash_fields="ip_dst,ip_proto,ip_src,udp_dst,udp_src");)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -7119,6 +7177,7 @@ AT_CHECK([grep -e "lr_in_arp_request" lr0flows |
> ovn_strip_lflows], [0], [dnl
>    table=??(lr_in_arp_request  ), priority=200  , match=(eth.dst ==
> 00:00:00:00:00:00 && reg9[[9]] == 0 && xxreg0 == 2001:db8::20),
> action=(nd_ns { eth.dst = 33:33:ff:00:00:20; ip6.dst = ff02::1:ff00:20;
> nd.target = 2001:db8::20; output; }; output;)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -7195,6 +7254,7 @@ AT_CHECK([grep lr_in_gw_redirect lrflows | grep
> cr-DR | ovn_strip_lflows], [0],
>    table=??(lr_in_gw_redirect  ), priority=50   , match=(outport ==
> "DR-S3"), action=(outport = "cr-DR-S3"; next;)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -7287,6 +7347,7 @@ AT_CHECK([grep lr_in_gw_redirect lrflows | grep lrp1
> | ovn_strip_lflows], [0], [
>
>  wait_row_count Port_Binding 1 logical_port=cr-lrp1
> options:always-redirect="true"
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -7333,13 +7394,14 @@ check ovn-nbctl --wait=sb set logical_switch_port
> S1-vm2 \
>
>  wait_row_count Port_binding 1 logical-port=S1-vm2
> requested_chassis=$ch2_uuid
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
>
>  OVN_FOR_EACH_NORTHD_NO_HV([
>  AT_SETUP([check options: force_fdb_lookup for LSP])
> -ovn_start NORTHD_TYPE
> +ovn_start
>  check ovn-nbctl ls-add S1
>  check ovn-nbctl --wait=sb lsp-add S1 S1-vm1
>  check ovn-nbctl --wait=sb lsp-add S1 S1-localnet
> @@ -7371,13 +7433,14 @@ AT_CHECK([grep -e "ls_in_.*_fdb.*S1-vm1" S1flows |
> ovn_strip_lflows], [0], [dnl
>  #Verify the flows for a non-default port type (localnet port)
>  AT_CHECK([grep -e "ls_in_.*_fdb.*S1-localnet" S1flows], [1], [])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
>
>  OVN_FOR_EACH_NORTHD_NO_HV([
>  AT_SETUP([check options:pkt_clone_type for LSP])
> -ovn_start NORTHD_TYPE
> +ovn_start
>  check ovn-nbctl ls-add S1
>  check ovn-nbctl --wait=sb lsp-add S1 S1-vm1
>  check ovn-nbctl --wait=sb lsp-add S1 S1-vm2
> @@ -7411,12 +7474,13 @@ AT_CHECK([grep -e "ls_in_l2_lkup.*S1-vm1" S1flows
> | ovn_strip_lflows], [0], [dnl
>    table=??(ls_in_l2_lkup      ), priority=50   , match=(eth.dst ==
> 50:54:00:00:00:01), action=(outport = "S1-vm1"; output;)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
>  OVN_FOR_EACH_NORTHD_NO_HV([
>  AT_SETUP([implicit unknown addresses on switch-switch LSPs])
> -ovn_start NORTHD_TYPE
> +ovn_start
>  check ovn-nbctl ls-add S1
>  check ovn-nbctl lsp-add S1 S1-vm
>  check ovn-nbctl lsp-set-addresses S1-vm "50:54:00:00:00:01 192.168.0.1"
> @@ -7486,6 +7550,7 @@ AT_CHECK([grep -E "ls_.*fdb.*S1-" S1flows |
> ovn_strip_lflows], [0], [dnl
>    table=??(ls_in_put_fdb      ), priority=100  , match=(inport == "S1-S2"
> && reg0[[11]] == 0), action=(put_fdb(inport, eth.src); next;)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -7506,6 +7571,7 @@ AT_CHECK([ovn-sbctl --id=@dp create Datapath_Binding
> nb_uuid=$ls1_uuid type=logi
>  # northd should delete one of the datapaths in the end
>  wait_row_count Datapath_Binding 1
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -7549,6 +7615,7 @@ AT_CHECK_UNQUOTED([ovn_trace --minimal "${flow}"
> --lb-dst 42.42.42.42:4242], [0]
>  ct_dnat /* assuming no un-dnat entry, so no change */ /* default (use
> --ct to customize) */;
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -7616,6 +7683,7 @@ AT_CHECK([grep -e "(lr_in_ip_routing   ).*outport"
> lr0flows | ovn_strip_lflows],
>    table=??(lr_in_ip_routing   ), priority=518  , match=(inport == "lrp2"
> && ip6.dst == fe80::/64), action=(ip.ttl--; reg8[[0..15]] = 0; xxreg0 =
> ip6.dst; xxreg1 = fe80::200:ff:fe00:201; eth.src = 00:00:00:00:02:01;
> outport = "lrp2"; flags.loopback = 1; reg9[[9]] = 0; next;)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -7647,6 +7715,7 @@ check ovn-nbctl --wait=sb lsp-set-options S1-R1
> router-port=R1-S1 nat-addresses=
>
>  AT_CHECK([ovn-sbctl get Port_Binding S1-R1 nat_addresses |grep -q
> 172.16.1.10], [1])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -7679,6 +7748,7 @@ check ovn-nbctl --wait=sb lr-nat-add R1 snat
> 172.16.1.4 10.0.0.0/24
>  AT_CHECK([ovn-sbctl get Port_Binding S1-R1 nat_addresses | grep -q
> 172.16.1.1], [1])
>  AT_CHECK([ovn-sbctl get Port_Binding S1-R1 nat_addresses | grep -q
> 172.16.1.4], [0])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -7709,6 +7779,7 @@ check ovn-nbctl --wait=sb set Logical_Switch S1 \
>
>  AT_CHECK([ovn-sbctl lflow-list S1 | grep ls_in_l2_lkup | grep -q
> 'match=(eth.mcast && (arp.op == 1 || nd_ns)), action=(outport =
> "_MC_flood_l2"; output;)'], [1])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -7960,6 +8031,7 @@ check ovn-nbctl --wait=sb sync
>  check_log_flows_count 0 out
>  check_log_flows_count 0 in
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -8004,6 +8076,7 @@ AT_CHECK([grep -e 'lr_in_ip_routing   ' lrflows |
> grep -e 'igmp' -e 'mld' | ovn_
>    table=??(lr_in_ip_routing   ), priority=10550, match=(eth.src ==
> 00:00:00:00:00:02 && igmp), action=(drop;)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -8193,6 +8266,7 @@ AT_CHECK([grep -e "ls_in_stateful" lsflows |
> ovn_strip_lflows], [0], [dnl
>    table=??(ls_in_stateful     ), priority=100  , match=(reg0[[1]] == 1 &&
> reg0[[13]] == 1), action=(ct_commit { ct_mark.blocked = 0;
> ct_mark.allow_established = reg0[[20]]; ct_mark.obs_stage = reg8[[19..20]];
> ct_mark.obs_collector_id = reg8[[8..15]]; ct_label.obs_point_id = reg9;
> ct_label.acl_id = reg2[[16..31]]; }; next;)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -8385,6 +8459,7 @@ check ovn-nbctl --wait=sb lr-nat-del DR dnat_and_snat
>  AT_CHECK([ovn-sbctl dump-flows DR | grep -e lr_in_unsnat -e lr_out_snat
> -e lr_in_dnat -e lr_out_undnat | grep ct_snat| wc -l], [0], [0
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -8422,6 +8497,7 @@ check_row_count Static_MAC_Binding 1
> logical_port=lr0-p1 ip=192.168.10.100 mac="
>  check ovn-nbctl --wait=sb set Static_MAC_Binding $mb_uuid
> ip=192.168.10.200
>  check_row_count Static_MAC_Binding 1 logical_port=lr0-p1
> ip=192.168.10.200 mac="00\:00\:22\:33\:55\:66"
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -8443,6 +8519,7 @@ check ovn-nbctl lrp-del lr-lrp -- lr-del lr --
> lr-add lr -- lrp-add lr lr-lrp 00
>  wait_row_count sb:Static_MAC_Binding 1
>  check ovn-nbctl --wait=sb sync
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -8470,6 +8547,7 @@ AT_CHECK([cat lrflows | grep -e
> lr_in_lookup_neighbor -e lr_in_learn_neighbor |
>    table=??(lr_in_lookup_neighbor), priority=100  , match=(nd_ns),
> action=(reg9[[2]] = lookup_nd(inport, ip6.src, nd.sll); next;)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -9169,6 +9247,7 @@ AT_CHECK_UNQUOTED([ovn_trace --ct new --ct new
> --minimal ls "${flow}"], [0], [dn
>  ct_next(ct_state=new|trk);
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -9213,6 +9292,7 @@ AT_CHECK([as northd ovn-appctl -t ovn-northd
> parallel-build/set-n-threads 1 2],
>  ovn-appctl: ovn-northd: server returned an error
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -9281,6 +9361,7 @@ check ovn-nbctl --wait=sb sync
>  ovn-sbctl dump-flows | DUMP_FLOWS_SORTED > flows3
>  AT_CHECK([diff flows1 flows3])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -9488,6 +9569,7 @@ ovn_strip_lflows ], [0], [dnl
>    table=??(ls_out_check_port_sec), priority=100  , match=(eth.mcast),
> action=(reg0[[15]] = 0; next;)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -9522,6 +9604,7 @@ AT_CHECK([ovn-sbctl dump-flows ls0 | grep -e
> 'ls_in_\(put\|lookup\)_fdb' | ovn_s
>    table=??(ls_in_put_fdb      ), priority=0    , match=(1), action=(next;)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -9610,6 +9693,7 @@ AT_CHECK([grep "ls_in_lb " S1flows |
> ovn_strip_lflows], [0], [dnl
>
>  check_column "" sb:load_balancer datapaths name=lb0
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -9645,6 +9729,7 @@ AT_CHECK([grep "lr_in_arp_resolve" R1flows | grep
> priority=90 | ovn_strip_lflows
>    table=??(lr_in_arp_resolve  ), priority=90   , match=(outport ==
> "R1-PUB" && ip6.src == 1000::3 && is_chassis_resident("S0-P0")),
> action=(get_nd(outport, xxreg0); next;)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -9829,12 +9914,13 @@ AT_CHECK([grep "lr_in_dnat " R1flows_2lbs |
> ovn_strip_lflows], [0], [dnl
>  ])
>
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
>  OVN_FOR_EACH_NORTHD_NO_HV([
>  AT_SETUP([check options:disable_arp_nd_rsp for LSP])
> -ovn_start NORTHD_TYPE
> +ovn_start
>  check ovn-nbctl ls-add S1
>  check ovn-nbctl --wait=sb lsp-add S1 S1-vm1
>  check ovn-nbctl --wait=sb lsp-set-addresses S1-vm1 "50:54:00:00:00:010
> 192.168.0.10 fd00::10"
> @@ -9860,6 +9946,7 @@ AT_CHECK([grep -e "ls_in_arp_rsp" S1flows |
> ovn_strip_lflows], [0], [dnl
>    table=??(ls_in_arp_rsp      ), priority=0    , match=(1), action=(next;)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -9964,6 +10051,7 @@ check ovn-nbctl --wait=sb sync
>  AT_CHECK([as northd ovn-appctl -t ovn-northd inc-engine/show-stats
> sync_to_sb_addr_set recompute], [0], [0
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -10218,6 +10306,7 @@ dnl Expect both ACLs on sw1 and sw2
>  check_acl_lflows 1 1 1 1
>  CHECK_NO_CHANGE_AFTER_RECOMPUTE
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -10346,6 +10435,7 @@ AT_CHECK([ovn-sbctl dump-flows | grep "ls_in_acl"
> | grep "match=(1)"  | ovn_stri
>    table=??(ls_in_acl_sample   ), priority=0    , match=(1), action=(next;)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -10391,6 +10481,7 @@ check ovn-nbctl destroy Chassis_Template_Var hv2
>  check ovn-nbctl --wait=sb sync
>  check_row_count sb:Chassis_Template_Var 0
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -10419,6 +10510,7 @@ AT_CHECK([as northd ovn-appctl -t ovn-northd
> debug/chassis-features-list], [0],
>  mac_binding_timestamp: true
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -10441,6 +10533,7 @@ AT_CHECK([fetch_column sb:Port_Binding options
> logical_port=public |grep -q 'qos
>  check ovn-nbctl --wait=sb set Logical_Switch_Port public
> options:qos_min_rate=200000 options:network_name=phys
>  AT_CHECK([fetch_column sb:Port_Binding options logical_port=public |grep
> -q 'qos_physical_network=phys'])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -10476,6 +10569,7 @@ AT_CHECK([ovn-sbctl lflow-list ls | grep qos |
> ovn_strip_lflows], [0], [dnl
>    table=??(ls_out_qos         ), priority=103  , match=(ip4),
> action=(ip.dscp = 17; pkt.mark = 18; next;)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -10602,6 +10696,7 @@ acl_test from-lport "" pg ls_in_acl_eval
> ls_in_acl_action
>  acl_test from-lport "--apply-after-lb" pg ls_in_acl_after_lb_eval
> ls_in_acl_after_lb_action
>  acl_test to-lport "" pg ls_out_acl_eval ls_out_acl_action
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -10648,6 +10743,7 @@ acl_test from-lport "" pg ls_in_acl_eval
>  acl_test from-lport "--apply-after-lb" pg ls_in_acl_after_lb_eval
>  acl_test to-lport "" pg ls_out_acl_eval
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -10708,6 +10804,7 @@ AT_CHECK_UNQUOTED([ovn_trace --ct new --ct new
> --ct new s1 "$flow" | grep -e ls_
>      ct_commit { ct_mark.blocked = 0; ct_mark.allow_established =
> reg0[[20]]; ct_label.acl_id = reg2[[16..31]]; };
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -10767,6 +10864,7 @@ AT_CHECK([ovn-sbctl lflow-list sw | grep
> ls_out_pre_lb | grep priority=110 | gre
>    table=??(ls_out_pre_lb      ), priority=110  , match=(ip && outport ==
> "sw-ln"), action=(ct_clear; next;)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -10790,6 +10888,7 @@ check ovn-nbctl --wait=sb lsp-set-type p1 external
>  sb_lb_recomp=$(as northd ovn-appctl -t ovn-northd inc-engine/show-stats
> sync_to_sb_lb recompute)
>  AT_CHECK([test x$sb_lb_recomp != x0])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -10945,6 +11044,7 @@ check ovn-nbctl --wait=hv lsp-del lsp0-1
>  check_recompute_counter 0 0
>  CHECK_NO_CHANGE_AFTER_RECOMPUTE
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -11153,6 +11253,7 @@ dnl Only triggers recompute of the sync_meters and
> lflow nodes.
>  check_recompute_counter 0 1 1
>  CHECK_NO_CHANGE_AFTER_RECOMPUTE(1)
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -11204,6 +11305,7 @@ AT_CHECK([grep "lr_in_gw_redirect" R1flows |sed
> s'/table=../table=??/' |sort], [
>    table=??(lr_in_gw_redirect  ), priority=50   , match=(outport ==
> "R1-PUB"), action=(outport = "cr-R1-PUB"; next;)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -11271,6 +11373,7 @@ check_column $remote_chassis_uuid Port_Binding
> chassis logical_port=sw0-r1
>  check ovn-nbctl --wait=hv lsp-set-type sw0-r1 router
>  check_column '' Port_Binding chassis logical_port=sw0-r1
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -11913,6 +12016,7 @@ check ovn-nbctl --wait=sb lb-add lb4
> 10.0.0.40:4040 10.0.40.40:4050 \
>  check_engine_stats northd norecompute compute
>  CHECK_NO_CHANGE_AFTER_RECOMPUTE
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -11966,6 +12070,7 @@ AT_CHECK([as northd ovn-appctl -t ovn-northd
> status], [0], [dnl
>  Status: active
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -12091,6 +12196,7 @@ AT_CHECK([ovn-sbctl dump-flows S1 | grep pre_acl |
> ovn_strip_lflows], [0], [dnl
>    table=??(ls_out_pre_acl     ), priority=110  , match=(nd || nd_rs ||
> nd_ra || mldv1 || mldv2 || (udp && udp.src == 546 && udp.dst == 547)),
> action=(next;)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -12133,6 +12239,7 @@ check_engine_stats lflow recompute nocompute
>  check_engine_stats sync_to_sb_lb recompute compute
>  CHECK_NO_CHANGE_AFTER_RECOMPUTE
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -12354,6 +12461,7 @@ AT_CHECK([echo $dpgrp_dps | grep $sw3_uuid], [0],
> [ignore])
>  AT_CHECK([echo $dpgrp_dps | grep $sw4_uuid], [0], [ignore])
>  AT_CHECK([echo $dpgrp_dps | grep $sw5_uuid], [0], [ignore])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -12642,12 +12750,13 @@ ovn-nbctl: constraint violation: -2 is not in
> the valid range 0 to 4294967295 (i
>  ])
>  check_row_count nb:QoS 0
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
>  OVN_FOR_EACH_NORTHD_NO_HV([
>  AT_SETUP([check DHCP RELAY])
> -ovn_start NORTHD_TYPE
> +ovn_start
>
>  check ovn-nbctl ls-add ls0
>  check ovn-nbctl lsp-add ls0 ls0-port1
> @@ -12711,6 +12820,7 @@ AT_CAPTURE_FILE([lflows])
>  AT_CHECK([grep -e "DHCP_RELAY_" lflows | sed 's/table=../table=??/'],
> [0], [dnl
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -12726,6 +12836,7 @@ check ovn-nbctl --wait=hv sync
>  flow_desc=$(fetch_column Logical_flow flow_desc match='"outport ==
> \"none\""')
>  AT_CHECK([test "$flow_desc" != ""])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -12899,6 +13010,7 @@ check_engine_stats fdb_aging recompute nocompute
>  check_engine_stats northd recompute nocompute
>  check_engine_stats lflow recompute nocompute
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>
>  OVN_FOR_EACH_NORTHD_NO_HV([
> @@ -12917,6 +13029,7 @@ check_engine_stats lflow recompute nocompute
>  check_engine_stats global_config recompute nocompute
>  CHECK_NO_CHANGE_AFTER_RECOMPUTE
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -12941,6 +13054,7 @@ AT_CHECK([ovn-sbctl lflow-list | grep
> ls_in_l2_unknown.*sample | ovn_strip_lflow
>    table=??(ls_in_l2_unknown   ), priority=50   , match=(outport ==
> "none"),
> action=(sample(probability=65535,collector_set=123,obs_domain=42,obs_point=$cookie);
> /* drop */)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -13160,6 +13274,7 @@ AT_CHECK_UNQUOTED([ovn_trace --ct est --ct est ls
> "$flow" | TRACE_FILTER], [0],
>      reg9 = 0;
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -13434,6 +13549,7 @@ AT_CHECK_UNQUOTED([ovn_trace --ct est --ct est ls
> "$flow" | TRACE_FILTER], [0],
>      reg9 = 0;
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -13494,6 +13610,7 @@
> action=(sample(probability=20000,collector_set=100,obs_domain=43,obs_point=ct_la
>  
> action=(sample(probability=20000,collector_set=100,obs_domain=43,obs_point=ct_label.obs_point_id);
> next;)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -13546,6 +13663,7 @@ AT_CHECK([ovn-sbctl dump-flows lr | grep
> lr_in_dnat | ovn_strip_lflows], [0], [d
>    table=??(lr_in_dnat         ), priority=320  , match=(ip && ip4.dst ==
> 10.0.0.100 && (udp)), action=(flags.loopback = 1; ct_dnat(10.0.0.20);)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -13993,6 +14111,7 @@ AT_CHECK([grep -Fe "172.168.0.110" -e
> "172.168.0.120" -e "10.0.0.3" -e "20.0.0.3
>    table=??(ls_in_l2_lkup      ), priority=80   , match=(flags[[1]] == 0
> && arp.op == 1 && arp.tpa == 172.168.0.120), action=(clone {outport =
> "public-lr0"; output; }; outport = "_MC_flood_l2"; output;)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -14093,6 +14212,7 @@ check ovn-nbctl --wait=sb set logical_router_port
> lr-ls options:routing-protocol
>  check ovn-nbctl --wait=sb set logical_router_port lr-ls
> options:routing-protocols=BGP,BFD
>  check_no_redirect
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -14198,6 +14318,7 @@ AT_CHECK([grep "lr_out_snat" lr1flows |
> ovn_strip_lflows], [0], [dnl
>    table=??(lr_out_snat        ), priority=160  , match=(ip4 && ((ip4.src
> == 172.16.0.103) || (ip4.src == 172.16.0.102) || (ip4.src == 172.16.0.101))
> && (inport == "lr1_public" || outport == "lr1_public") &&
> is_chassis_resident("cr-lr1_public") && tcp), action=(ip4.src = 30.0.0.1;
> next;)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -14303,6 +14424,7 @@ AT_CHECK([grep "lr_out_snat" lr1flows |
> ovn_strip_lflows], [0], [dnl
>    table=??(lr_out_snat        ), priority=160  , match=(ip6 && ((ip6.src
> == 2001:db8:aaaa:3::103) || (ip6.src == 2001:db8:aaaa:3::102) || (ip6.src
> == 2001:db8:aaaa:3::101)) && (inport == "lr1_public" || outport ==
> "lr1_public") && is_chassis_resident("cr-lr1_public") && tcp),
> action=(ip6.src = 2001:db8:cccc::1; next;)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -14386,6 +14508,7 @@ AT_CHECK([grep "lr_in_dnat" lr1flows |
> ovn_strip_lflows | grep "30.0.0.1"], [0],
>    table=??(lr_in_dnat         ), priority=110  , match=(ct.new &&
> !ct.rel && ip4 && ip4.dst == 30.0.0.1 &&
> is_chassis_resident("cr-lr1_public")),
> action=(ct_lb_mark(backends=172.16.0.103,172.16.0.102,172.16.0.101);)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -14468,6 +14591,7 @@ check_uuid ovn-sbctl create RBAC_Role
> name=custom-role permissions:Load_Balancer
>  OVS_WAIT_UNTIL([rbr_match_builtin])
>  check rbr_match_custom
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>
>  OVN_FOR_EACH_NORTHD_NO_HV([
> @@ -14529,6 +14653,7 @@ AT_CHECK([ovn-sbctl lflow-list S2 | grep
> ls_in_acl_action | grep priority=500 |
>    table=??(ls_in_acl_action   ), priority=500  , match=(reg8[[30..31]] ==
> 0), action=(reg8[[30..31]] = 1; next(pipeline=ingress,table=??);)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -14616,7 +14741,7 @@ AT_CLEANUP
>
>  OVN_FOR_EACH_NORTHD_NO_HV([
>  AT_SETUP([Transit router - remote ports])
> -ovn_start NORTHD_TYPE
> +ovn_start
>
>  check ovn-sbctl chassis-add hv2 geneve 192.168.0.12 \
>      -- set chassis hv2 other_config:is-remote=true
> @@ -14662,6 +14787,7 @@ check ovn-nbctl --wait=sb sync
>  # Removing "is-remote" from hv4 should change the tr-az4 back to patch
> port
>  check_row_count Port_Binding 1 logical_port=tr-az4 type=patch
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -14802,6 +14928,7 @@ AT_CHECK([ovn-sbctl lflow-list sw | grep
> ls_out_acl_eval | grep priority=2002 |
>    table=??(ls_out_acl_eval    ), priority=2002 , match=((ip)),
> action=(next;)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -14872,6 +14999,7 @@ check_row_count Advertised_Route 1
> logical_port=$pb3
>  check ovn-nbctl --wait=sb lr-del lr0
>  check_row_count Advertised_Route 0
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -14939,6 +15067,7 @@ check_row_count Advertised_Route 1
>  check_column 2001:db8:1::/64 Advertised_Route ip_prefix \
>      datapath=$datapath logical_port=$sw1
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -15107,6 +15236,7 @@ AT_CHECK([grep -w "lr_in_ip_routing" lr0flows |
> ovn_strip_lflows], [0], [dnl
>    table=??(lr_in_ip_routing   ), priority=518  , match=(inport ==
> "lr0-sw0" && ip6.dst == fe80::/64), action=(ip.ttl--; reg8[[0..15]] = 0;
> xxreg0 = ip6.dst; xxreg1 = fe80::200:ff:fe00:ff01; eth.src =
> 00:00:00:00:ff:01; outport = "lr0-sw0"; flags.loopback = 1; reg9[[9]] = 0;
> next;)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -15238,6 +15368,7 @@ AT_CHECK([grep -w "lr_in_ip_routing" lr0flows |
> sed -e 's/reg8\[[0..15\]] = [[12
>    table=??(lr_in_ip_routing   ), priority=518  , match=(inport ==
> "lr0-sw1" && ip6.dst == fe80::/64), action=(ip.ttl--; reg8[[0..15]] = 0;
> xxreg0 = ip6.dst; xxreg1 = fe80::200:ff:fe00:ff02; eth.src =
> 00:00:00:00:ff:02; outport = "lr0-sw1"; flags.loopback = 1; reg9[[9]] = 0;
> next;)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -15265,6 +15396,7 @@ check ovn-nbctl --wait=sb
>    \
>         -- lrp-add lr lrp 00:00:00:00:00:01 1.1.1.1/24
>  check_row_count Learned_Route 0
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -15366,6 +15498,7 @@ check_row_count Advertised_Route 5
> tracked_port!='[[]]'
>  check_column $sw0sw1 Advertised_Route tracked_port \
>      datapath=$datapath logical_port=$sw0 ip_prefix=10.0.0.42
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -15399,6 +15532,7 @@ AT_CHECK([fetch_column sb:Port_Binding options
> logical_port=lr0-sw0 | grep -q 'd
>  AT_CHECK([fetch_column sb:Port_Binding options logical_port=lr0-sw0 |
> grep -q 'dynamic-routing-vrf-name=myvrf'])
>  AT_CHECK([fetch_column sb:Port_Binding options logical_port=lr0-sw0 |
> grep -q 'dynamic-routing-port-name=myif'])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -15462,6 +15596,7 @@ check_column 1.1.1.1 Advertised_Route ip_prefix \
>      tracked_port=$int_lrp_pb
>  check_row_count Advertised_Route 1
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -15691,6 +15826,7 @@ check_engine_compute group_ecmp_route recompute
>  check_engine_compute lflow recompute
>  CHECK_NO_CHANGE_AFTER_RECOMPUTE
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -15957,6 +16093,7 @@ AT_CHECK([grep "lr_out_snat" lr0flows |
> ovn_strip_lflows], [0], [dnl
>    table=??(lr_out_snat        ), priority=25   , match=(ip && ip4.src ==
> 10.0.0.0/24 && (!ct.trk || !ct.rpl)), action=(ct_snat(172.168.0.10);)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -16122,6 +16259,7 @@ check ovn-nbctl lr-del lr0 -- lr-del dr
>  check ovn-nbctl --wait=sb sync
>  check_row_count Advertised_Route 0
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -16287,6 +16425,7 @@ check ovn-nbctl lr-del lr0 -- lr-del dr
>  check ovn-nbctl --wait=sb sync
>  check_row_count Advertised_Route 0
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -16414,6 +16553,7 @@ check_row_count Advertised_Route 3
>  check ovn-nbctl --wait=sb lr-del lr0
>  check_row_count Advertised_Route 0
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -16541,6 +16681,7 @@ check_row_count Advertised_Route 3
>  check ovn-nbctl --wait=sb lr-del lr0
>  check_row_count Advertised_Route 0
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -16602,6 +16743,7 @@ dnl advertised for each lr-ext.
>  n_advertised_routes=$((2 * ($n_ext_rtrs + 1)))
>  check_row_count Advertised_Route $n_advertised_routes
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -16649,6 +16791,7 @@ check_row_count Port_Binding 1 logical_port=lrp0
> options:peer{not-in}lrp1
>  check_row_count Port_Binding 1 logical_port=lrp1 options:peer{not-in}lrp2
>  check_row_count Port_Binding 1 logical_port=lrp2 options:peer{not-in}lrp0
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -16665,6 +16808,7 @@ check ovn-nbctl --wait=sb sync \
>
>  check grep -q "Bad configuration: The peer of the switch port 'ls-lrp1'
> (LRP peer: 'lrp1') has its own peer configuration: 'lrp0'"
> northd/ovn-northd.log
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -16778,6 +16922,7 @@ AT_CHECK([grep -E flags.network_id lrflows |
> ovn_strip_lflows], [0], [dnl
>    table=??(lr_out_snat        ), priority=110  ,
> match=(flags.force_snat_for_lb == 1 && flags.network_id == 9 && ip4 &&
> outport == "lrp-server"), action=(ct_snat(6.5.1.1);)
>    table=??(lr_out_snat        ), priority=110  ,
> match=(flags.force_snat_for_lb == 1 && flags.network_id == 9 && ip6 &&
> outport == "lrp-server"), action=(ct_snat(ff01::b);)
>  ])
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -16805,6 +16950,7 @@ AT_CHECK([ovn_strip_lflows < lrflows | grep
> priority=105 | grep -c "flags.force_
>  1
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -16858,6 +17004,7 @@ check_column "$mirrorrule1uuid" nb:Mirror
> mirror_rules mirror_rules="$mirrorrule
>  check ovn-nbctl mirror-rule-del mirror1
>  check_column "$mirrorrule1uuid" nb:Mirror mirror_rules mirror_rules=""
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -17046,6 +17193,7 @@ AT_CHECK([grep -e "ls_out_pre_acl" lflow-list |
> ovn_strip_lflows], [0], [dnl
>    table=??(ls_out_pre_acl     ), priority=110  , match=(eth.src ==
> $svc_monitor_mac), action=(next;)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -17126,6 +17274,7 @@ AT_CHECK([cat trace | grep output], [0], [dnl
>      output("sw0-p1");
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -17192,6 +17341,7 @@ check_engine_stats northd norecompute compute
>  check_engine_stats lflow norecompute compute
>  CHECK_NO_CHANGE_AFTER_RECOMPUTE
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -17232,12 +17382,13 @@ call_seq=`grep -E \
>
>  AT_CHECK([echo $call_seq | grep -qE "^I*uuI*$"], [0])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
>  OVN_FOR_EACH_NORTHD_NO_HV([
>  AT_SETUP([enable-stateless-acl-with-lb usage])
> -ovn_start ovn-northd
> +ovn_start
>
>  AS_BOX([Create logical switches and ports.])
>  check ovn-nbctl ls-add sw0
> @@ -17344,6 +17495,7 @@ AT_CHECK([grep -E 'ls_in_pre_stateful' sw1flows |
> ovn_strip_lflows], [0], [dnl
>    table=??(ls_in_pre_stateful ), priority=120  , match=(reg0[[2]] == 1 &&
> ip4.dst == 10.0.0.5), action=(reg4 = 10.0.0.5; ct_lb_mark;)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -17483,6 +17635,7 @@ check_engine_stats sync_meters norecompute compute
>  CHECK_NO_CHANGE_AFTER_RECOMPUTE
>  check as northd ovn-appctl -t ovn-northd inc-engine/clear-stats
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -17528,6 +17681,7 @@ check ovn-nbctl --wait=sb lr-del lr1
>  check_engine_stats datapath_logical_router norecompute compute
>  CHECK_NO_CHANGE_AFTER_RECOMPUTE
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -17555,6 +17709,7 @@ check ovn-nbctl --wait=sb ls-del sw0
>  check_engine_stats datapath_logical_switch norecompute compute
>  CHECK_NO_CHANGE_AFTER_RECOMPUTE
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -17612,6 +17767,7 @@ check ovn-nbctl --wait=sb sync
>  check_engine_stats datapath_sync recompute nocompute
>  CHECK_NO_CHANGE_AFTER_RECOMPUTE
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -17664,6 +17820,7 @@ check ovn-nbctl --wait=sb lr-del lr0
>  check_engine_stats datapath_synced_logical_switch norecompute compute
>  check_engine_stats datapath_synced_logical_router norecompute compute
>  CHECK_NO_CHANGE_AFTER_RECOMPUTE
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -17743,12 +17900,13 @@ check ovn-nbctl set load_balancer lb1_ipv4
> ip_port_mappings:192.168.0.1=lport1:1
>  check_row_count sb:Service_Monitor 0
>
>  OVS_WAIT_UNTIL([grep "Empty AZ name specified" northd/ovn-northd.log])
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
>  OVN_FOR_EACH_NORTHD_NO_HV([
>  AT_SETUP([LS dynamic-routing-fdb-prefer-local])
> -ovn_start ovn-northd
> +ovn_start
>
>  AS_BOX([Create logical switch.])
>  check ovn-nbctl --wait=sb  ls-add ls-evpn
> @@ -17802,6 +17960,7 @@ AT_CHECK([grep 'ls_in_l2_unknown' lflows |
> ovn_strip_lflows], [0], [dnl
>    table=??(ls_in_l2_unknown   ), priority=50   , match=(outport == "none"
> && remote_outport == "none"), action=(drop;)
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> @@ -17878,5 +18037,6 @@ AT_CHECK([ovn-sbctl lflow-list ls1 | grep
> ls_in_arp_rsp | grep "eth.dst == 00:00
>  AT_CHECK([ovn-sbctl lflow-list ls1 | grep ls_in_arp_rsp | grep "ip6.dst
> == fd01::1" | ovn_strip_lflows], [0], [dnl
>  ])
>
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
> diff --git a/tests/ovn.at b/tests/ovn.at
> index 19a3be4885..9b3ef4c213 100644
> --- a/tests/ovn.at
> +++ b/tests/ovn.at
> @@ -9504,14 +9504,7 @@ AT_CHECK([ovn-nbctl list Logical-Switch-Port | grep
> 192.10.2.127], [1])
>  AT_CHECK([ovn-nbctl list Logical-Switch-Port | grep 192.10.2.128], [1])
>  AT_CHECK([ovn-nbctl list Logical-Switch-Port | grep 192.10.2.180], [1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>  AT_CLEANUP
>  ])
>
> diff --git a/tests/system-common-macros.at b/tests/system-common-macros.at
> index 7cdd7e1c15..52d420a571 100644
> --- a/tests/system-common-macros.at
> +++ b/tests/system-common-macros.at
> @@ -337,14 +337,7 @@ AT_CHECK([ovn-nbctl get logical_router_port rp-sw0
> ipv6_prefix | cut -c3-15], [0
>
>  OVS_APP_EXIT_AND_WAIT([ovn-controller])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/.*error receiving.*/d
> diff --git a/tests/system-ovn-kmod.at b/tests/system-ovn-kmod.at
> index 061f92c93b..4e264cca8b 100644
> --- a/tests/system-ovn-kmod.at
> +++ b/tests/system-ovn-kmod.at
> @@ -292,14 +292,7 @@ dnl offload may not work.
>  AT_CHECK([ovs-appctl dpctl/dump-flows | grep 'ct_tuple4' | grep '+est'],
> [1], [ignore])
>
>  OVN_CLEANUP_CONTROLLER([hv1])
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -590,14 +583,7 @@ NS_CHECK_EXEC([foo1], [nc -z fd11::a 8081])
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -749,14 +735,7 @@ done
>  # Avoid checking flows on public due to different ct-zone allocation for
> cr-ports in I+P/recompute.
>  OVN_CLEANUP_CONTROLLER([hv1], [], [], [public])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -900,14 +879,7 @@ ovn-appctl -t ovn-controller vlog/set info
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["
> @@ -972,14 +944,7 @@ check cmp frag_test_client.expected
> udp_frag_test_c2.recvd
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -1041,14 +1006,7 @@ check cmp frag_test_client.expected
> udp_frag_test_c2.recvd
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -1256,14 +1214,7 @@
> icmpv6,orig=(src=fd20::1,dst=fd20::4,id=<cleared>,type=128,code=0),reply=(src=fd
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -1514,14 +1465,7 @@
> icmpv6,orig=(src=fd11::3,dst=fd20::4,id=<cleared>,type=128,code=0),reply=(src=fd
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -1605,14 +1549,7 @@ check cmp client_tcp.log tcp.expected
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -1730,14 +1667,7 @@ ovs-appctl revalidator/resume
>
>  OVS_APP_EXIT_AND_WAIT([ovn-controller])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> diff --git a/tests/system-ovn.at b/tests/system-ovn.at
> index ab0eb59cf2..a5ea86e9d0 100644
> --- a/tests/system-ovn.at
> +++ b/tests/system-ovn.at
> @@ -164,14 +164,7 @@
> icmp,orig=(src=192.168.2.2,dst=192.168.1.2,id=<cleared>,type=8,code=0),reply=(sr
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -344,14 +337,7 @@
> icmpv6,orig=(src=fd12::2,dst=fd11::2,id=<cleared>,type=128,code=0),reply=(src=fd
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -456,14 +442,7 @@
> icmp,orig=(src=192.168.1.2,dst=172.16.1.2,id=<cleared>,type=8,code=0),reply=(src
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -568,14 +547,7 @@
> icmpv6,orig=(src=fd10::2,dst=fd30::2,id=<cleared>,type=128,code=0),reply=(src=fd
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -790,14 +762,7 @@
> icmp,orig=(src=192.168.1.2,dst=172.16.1.3,id=<cleared>,type=8,code=0),reply=(src
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -1016,14 +981,7 @@
> icmpv6,orig=(src=fd11::2,dst=fd30::3,id=<cleared>,type=128,code=0),reply=(src=fd
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -1330,14 +1288,7 @@
> icmpv6,orig=(src=fd11::2,dst=fd30::3,id=<cleared>,type=128,code=0),reply=(src=fd
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -1612,14 +1563,7 @@ OVS_WAIT_UNTIL([
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d"])
> @@ -1833,14 +1777,7 @@ else
>  fi
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d"])
> @@ -2082,14 +2019,7 @@ AT_CHECK([test $bar3_ct -gt 0])
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d"])
> @@ -2190,14 +2120,7 @@
> tcp,orig=(src=192.168.1.2,dst=30.0.0.2,sport=<cleared>,dport=<cleared>),reply=(s
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d"])
> @@ -2300,14 +2223,7 @@
> tcp,orig=(src=fd01::2,dst=fd03::2,sport=<cleared>,dport=<cleared>),reply=(src=fd
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d"])
> @@ -2549,14 +2465,7 @@ OVS_WAIT_UNTIL([check_est_flows], [check
> established flows])
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -2641,14 +2550,7 @@ done
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -2798,14 +2700,7 @@
> tcp,orig=(src=fd72::2,dst=fd30::2,sport=<cleared>,dport=<cleared>),reply=(src=fd
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -2969,14 +2864,7 @@ test "x$ct1 = x$exp_ct1" && test "x$ct2 = x$exp_ct2"
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -3142,14 +3030,7 @@ test "x$ct1 = x$exp_ct1" && test "x$ct2 = x$exp_ct2"
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -3363,14 +3244,7 @@ test "x$ct1 = x$exp_ct1" && test "x$ct2 =
> x$exp_ct2" && test "x$ct3 = x$exp_ct3"
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -3506,14 +3380,7 @@
> tcp,orig=(src=172.16.1.2,dst=172.16.1.11,sport=<cleared>,dport=<cleared>),reply=
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -3649,14 +3516,7 @@
> tcp,orig=(src=fd72::2,dst=fd72::11,sport=<cleared>,dport=<cleared>),reply=(src=f
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -3832,14 +3692,7 @@ OVS_WAIT_UNTIL([
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -3995,14 +3848,7 @@ NS_CHECK_CONNECTIVITY_V6([alice1], [bar1],
> [fd12::2])
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -4178,14 +4024,7 @@
> icmp,orig=(src=192.168.1.3,dst=172.16.1.4,id=<cleared>,type=8,code=0),reply=(src
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -4345,14 +4184,7 @@
> icmpv6,orig=(src=fd20::1,dst=fd20::4,id=<cleared>,type=128,code=0),reply=(src=fd
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -4423,14 +4255,7 @@ OVS_WAIT_WHILE([ovs-appctl dpctl/dump-conntrack
> zone=$zone_id | grep .])
>  # ls1 should not be a local datapath anymore since ovs-p1 binding removed
>  OVN_CLEANUP_CONTROLLER([hv1], [], [], [ls1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -4589,14 +4414,7 @@ OVS_WAIT_UNTIL([
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -4807,14 +4625,7 @@ OVS_WAIT_UNTIL([
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -4984,14 +4795,7 @@ wait_row_count Service_Monitor 1 status=online
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -5083,14 +4887,7 @@ NS_CHECK_EXEC([lsp], [nc 88.88.88.89 8080 -z], [0],
> [ignore], [ignore])
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -5233,14 +5030,7 @@ AT_CHECK([ovs-appctl dpctl/dump-conntrack
> zone=$zone_lsp1_id | FORMAT_CT(192.168
>
>  OVS_APP_EXIT_AND_WAIT([ovn-controller])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -5327,14 +5117,7 @@ NS_CHECK_EXEC([lsp], [nc 8800::0089 8080 -z], [0],
> [ignore], [ignore])
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -5554,14 +5337,7 @@ aef0::3 udp port 90" | uniq | wc -l)
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -5787,14 +5563,7 @@ kill $(pidof tcpdump)
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -5907,14 +5676,7 @@ AT_CHECK([
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -6021,14 +5783,7 @@ NS_CHECK_EXEC([sw0-p1-lbc], [nc -z 30.0.0.10 80],
> [0], [ignore], [ignore])
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -6128,14 +5883,7 @@
> tcp,orig=(src=42.42.42.3,dst=66.66.66.66,sport=<clnt_s_port>,dport=666),reply=(s
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -6235,14 +5983,7 @@
> tcp,orig=(src=4242::3,dst=6666::1,sport=<clnt_s_port>,dport=666),reply=(src=4242
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -6329,14 +6070,7 @@ NS_CHECK_EXEC([sw0-p1-f], [ping -q -c 3 -i 0.3 -w 2
> 10.0.0.5 | FORMAT_PING], \
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -6545,14 +6279,7 @@
> tcp,orig=(src=172.16.0.1,dst=10.0.0.2,sport=<cleared>,dport=<cleared>),reply=(sr
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -6777,14 +6504,7 @@
> tcp,orig=(src=fd07::1,dst=fd01::2,sport=<cleared>,dport=<cleared>),reply=(src=fd
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -6826,14 +6546,7 @@ OVS_WAIT_UNTIL([test x$(ovn-nbctl lsp-get-up
> sw0-port1) = xdown])
>
>  OVN_CLEANUP_CONTROLLER([hv1], [], [], [sw0])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -6914,14 +6627,7 @@
> icmp,orig=(src=192.168.1.2,dst=172.16.1.100,id=<cleared>,type=8,code=0),reply=(s
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/.*error receiving.*/d
> @@ -7144,14 +6850,7 @@ OVS_WAIT_UNTIL([tc class show dev ovs-public | \
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/.*error receiving.*/d
> @@ -7354,14 +7053,7 @@ check ovn-nbctl destroy bfd $uuid_v6
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/.*error receiving.*/d
> @@ -7488,14 +7180,7 @@ AT_CHECK([ovs-appctl dpctl/dump-flows | grep
> ct_mark | grep -v ipv6 -c], [1], [d
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -7607,14 +7292,7 @@ NS_CHECK_EXEC([vm2], [ping -q -c 3 -i 0.3 -w 2
> 172.18.2.10 | FORMAT_PING], \
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/.*error receiving.*/d
> @@ -7713,14 +7391,7 @@ NS_CHECK_EXEC([vm1], [ping -q -c 3 -i 0.3 -w 2
> 172.18.2.12 | FORMAT_PING], \
>  # Avoid checking flows on ls-pub due to different ct-zone allocation for
> cr-ports in I+P/recompute.
>  OVN_CLEANUP_CONTROLLER([hv1], [], [], [ls-pub])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -7923,14 +7594,7 @@ OVS_WAIT_UNTIL([test "1" = "$(grep -c
> "dl_dst=33:33:33:33:33:33" ovn-controller.
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/.*error receiving.*/d
> @@ -8066,14 +7730,7 @@
> icmp,orig=(src=10.0.0.3,dst=10.0.0.2,id=<cleared>,type=8,code=0),reply=(src=10.0
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -8208,14 +7865,7 @@
> icmp,orig=(src=10.0.0.3,dst=10.0.0.2,id=<cleared>,type=8,code=0),reply=(src=10.0
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -8309,14 +7959,7 @@
> icmp,orig=(src=10.0.0.2,dst=10.0.0.3,id=<cleared>,type=8,code=0),reply=(src=10.0
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -8410,14 +8053,7 @@
> icmp,orig=(src=10.0.0.2,dst=10.0.0.3,id=<cleared>,type=8,code=0),reply=(src=10.0
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -8504,14 +8140,7 @@ AT_CHECK([ip netns exec sw0p1 wget 20.0.0.3 -t 3 -T
> 1], [0], [ignore], [ignore])
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -8861,14 +8490,7 @@ check $PYTHON $srcdir/check_acl_log.py \
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -8990,14 +8612,7 @@ AT_CHECK([ovs-appctl dpctl/flush-conntrack])
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -9052,14 +8667,7 @@ NS_CHECK_EXEC([sw0-p1.2], [ping -q -c 3 -i 0.3 -w 2
> 10.0.0.3 | FORMAT_PING], \
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -9141,14 +8749,7 @@ NS_CHECK_EXEC([ls1p1], [ping6 -q -c 3 -i 0.3 -w 2
> 1711::1  | FORMAT_PING], \
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -9250,14 +8851,7 @@ AT_CHECK([grep -qE 'Too many active IPv4 mcast
> flows' northd/ovn-northd.log], [1
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -9319,14 +8913,7 @@ NS_CHECK_EXEC([vif0], [ping -q -c 3 -i 0.3 -w 1
> 192.168.20.1 | FORMAT_PING], \
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -9521,14 +9108,7 @@
> udp,orig=(src=192.168.10.10,dst=192.168.20.20,sport=<cleared>,dport=<cleared>),r
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -9665,14 +9245,7 @@ OVS_WAIT_UNTIL([
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -9810,14 +9383,7 @@ OVS_WAIT_UNTIL([
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -9935,14 +9501,7 @@ OVS_WAIT_UNTIL([
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -10086,14 +9645,7 @@ AT_CHECK([ovs-appctl dpctl/flush-conntrack])
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -10230,14 +9782,7 @@ AT_CHECK([ovs-appctl dpctl/flush-conntrack])
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -10326,14 +9871,7 @@ NS_CHECK_EXEC([ns_ls1p1], [ping -q -c 3 -i 0.3 -w
> 2 10.89.189.1 | FORMAT_PING],
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -10468,14 +10006,7 @@ NS_CHECK_EXEC([vm1], [ping -q -c 3 -i 0.3 -w 2
> 10.0.0.2 | FORMAT_PING], \
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -10682,14 +10213,7 @@ AT_CHECK([ovs-appctl dpctl/dump-conntrack |
> FORMAT_CT(30.0.0.1) | sed -e 's/zone
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -10823,14 +10347,7 @@ NS_CHECK_EXEC([ns_ext1], [ping -q -c 3 -i 0.3 -w
> 2 172.0.0.88 | FORMAT_PING], \
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -10977,14 +10494,7 @@ OVS_WAIT_UNTIL([
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -11145,14 +10655,7 @@ OVS_WAIT_UNTIL([
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -11278,14 +10781,7 @@ OVS_WAIT_UNTIL([
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -11611,14 +11107,7 @@ TMPPID=$(cat $OVS_RUNDIR/ovn-controller.pid)
>  check ovs-appctl -t ovn-controller exit --restart
>  OVS_WAIT_WHILE([kill -0 $TMPPID 2>/dev/null])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  AT_CLEANUP
>  ])
> @@ -11773,14 +11262,7 @@ killall tcpdump
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -11915,14 +11397,7 @@ acl_test to-lport "" pg
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -11995,14 +11470,7 @@
> tcp,orig=(src=10.0.0.2,dst=172.16.0.1,sport=<cleared>,dport=<cleared>),reply=(sr
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -12065,14 +11533,7 @@ check_row_count mac_binding 1
> mac=\"00:00:00:00:00:02\"
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -12179,14 +11640,7 @@ OVS_WAIT_FOR_OUTPUT([ovs-appctl
> dpctl/dump-conntrack | FORMAT_CT(172.16.1.151) |
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -12392,14 +11846,7 @@ OVS_WAIT_UNTIL([check_est_flows 0xa], [check
> established flows])
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -12477,14 +11924,7 @@ AT_CHECK([ovs-ofctl dump-flows br-int | grep
> 'table=OFTABLE_CHK_LB_AFFINITY, n_p
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -12567,14 +12007,7 @@ NS_CHECK_EXEC([sw1-p0], [ping -q -c 3 -i 0.3 -w 2
> 172.16.1.100 | FORMAT_PING], \
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -12677,14 +12110,7 @@ wait_row_count MAC_Binding 1 logical_port=lr1-pub
> ip=172.24.4.100
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -12769,14 +12195,7 @@ AT_CHECK([ovs-appctl dpctl/dump-conntrack | grep
> -c "zone=$zone_id"], [0], [2
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -12913,14 +12332,7 @@ NS_CHECK_EXEC([sw11], [ip addr show sw11 | grep
> -oP '(?<=inet\s)\d+(\.\d+){3}'],
>  ])
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/.*error receiving.*/d
> @@ -13047,14 +12459,7 @@ check_dnat
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -13180,14 +12585,7 @@ check_dnat
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -13420,14 +12818,7 @@ AT_CHECK([for f in $(ls -1 nfcapd.*); do nfdump
> -o json -r $f; done | grep obser
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -13547,14 +12938,7 @@ AT_CHECK([for f in $(ls -1 nfcapd.*); do nfdump
> -o json -r $f; done | grep obser
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -13671,14 +13055,7 @@ AT_CHECK([for f in $(ls -1 nfcapd.*); do nfdump
> -o json -r $f; done | grep obser
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -13792,14 +13169,7 @@ AT_CHECK([for f in $(ls -1 nfcapd.*); do nfdump
> -o json -r $f; done | grep obser
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -13911,14 +13281,7 @@ NS_CHECK_EXEC([sw01], [ping -q -c 2 -i 0.2 -w 2
> 172.16.1.1 | FORMAT_PING],
>  AT_CHECK([ovs-vsctl set Open_vSwitch . external-ids:ovn-remote=$SB_PATH])
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/.*error receiving.*/d
> @@ -14011,14 +13374,7 @@ AT_CHECK([ovs-vsctl set Open_vSwitch .
> external-ids:ovn-remote=$SB_PATH])
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/.*error receiving.*/d
> @@ -14158,14 +13514,7 @@ NS_CHECK_EXEC([bar1], [echo "TCP test" | nc -w 1
> --send-only 172.16.1.100 2222])
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/.*error receiving.*/d
> @@ -14305,14 +13654,7 @@ NS_CHECK_EXEC([bar1], [echo "TCP test" | nc -w 1
> --send-only 172.16.1.100 2222])
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/.*error receiving.*/d
> @@ -14378,14 +13720,7 @@ AT_CHECK([grep -c "NXT_CT_FLUSH_ZONE"
> ovs-vswitchd.log], [0], [dnl
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/.*error receiving.*/d
> @@ -14487,14 +13822,7 @@ AT_CHECK([ovn-nbctl get logical_router_port
> rp-sw0 ipv6_prefix | cut -c3-15], [0
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/.*error receiving.*/d
> @@ -14686,14 +14014,7 @@ sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0],
> [dnl
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -14841,14 +14162,7 @@ NS_CHECK_EXEC([bob], [ping -q -c 3 -i 0.3 -w 2
> 10.42.0.10 | FORMAT_PING], \
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -14989,14 +14303,7 @@ NS_CHECK_EXEC([bob], [ping -q -c 3 -i 0.3 -w 2
> 10.42.0.10 | FORMAT_PING], \
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -15107,14 +14414,7 @@ NS_CHECK_EXEC([vm1], [ping -q -c 3 -i 0.3 -w 2
> 172.18.1.12 | FORMAT_PING], \
>  # Avoid checking flows on ls-pub due to different ct-zone allocation for
> cr-ports in I+P/recompute.
>  OVN_CLEANUP_CONTROLLER([hv1], [], [], [ls-pub])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -15176,14 +14476,7 @@ NS_CHECK_EXEC([foo], [arping -q -c 3
> 172.16.1.100])
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -15441,14 +14734,7 @@ sed -e 's/mark=[[0-9]]*/mark=<cleared>/' | sort],
> [0], [dnl
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/.*error receiving.*/d
> @@ -15705,14 +14991,7 @@ sed -e 's/mark=[[0-9]]*/mark=<cleared>/' | sort],
> [0], [dnl
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/.*error receiving.*/d
> @@ -16199,14 +15478,7 @@ blackhole 198.51.100.0/24 proto ovn metric 1000
>  OVN_CLEANUP_CONTROLLER([hv1])
>  AT_CHECK([ip vrf | grep -q ovnvrf1338], [1], [])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/.*error receiving.*/d
> @@ -16546,14 +15818,7 @@ check ovn-nbctl --wait=hv set Logical_Router_Port
> internet-phys \
>  OVN_CLEANUP_CONTROLLER([hv1])
>  AT_CHECK([ip vrf | grep -q ovnvrf1337], [1], [])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/.*error receiving.*/d
> @@ -16703,14 +15968,7 @@ OVN_CLEANUP_CONTROLLER([hv1])
>  AT_CHECK([ip link | grep -q ovnvrf$vrf:.*UP], [1])
>  AT_CHECK([test `ip route show table $vrf | wc -l` -eq 1], [1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -16863,14 +16121,7 @@ OVN_CLEANUP_CONTROLLER([hv1])
>  AT_CHECK([ip link | grep -q ovnvrf1001:.*UP], [1])
>  AT_CHECK([test `ip -6 route show table 1001 | wc -l` -eq 1], [1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -17093,14 +16344,7 @@ OVN_CLEANUP_CONTROLLER([hv1], [], [], [ls-join])
>  AT_CHECK([ip link | grep -q ovnvrf$vrf:.*UP], [1])
>  AT_CHECK([test `ip route show table $vrf | wc -l` -eq 1], [1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -17318,14 +16562,7 @@ OVN_CLEANUP_CONTROLLER([hv1], [], [], [ls-join])
>  AT_CHECK([ip link | grep -q ovnvrf1003:.*UP], [1])
>  AT_CHECK([test `ip -6 route show table 1003 | wc -l` -eq 2], [1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -17489,14 +16726,7 @@ dnl Ensure system resources are cleaned up.
>  AT_CHECK([ip link | grep -q ovnvrf$vrf:.*UP], [1])
>  AT_CHECK([test `ip route show table $vrf | wc -l` -eq 1], [1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -17579,14 +16809,7 @@ check_row_count Learned_Route 2
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -17677,14 +16900,7 @@ check ovn-nbctl --wait=hv lr-del lr
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -17811,14 +17027,7 @@ OVS_WAIT_UNTIL([
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -17880,14 +17089,7 @@ AT_CHECK([test $lflow_run_end == $lflow_run])
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP()
> @@ -18025,14 +17227,7 @@
> tcp,orig=(src=172.16.1.2,dst=192.168.2.2,sport=<cleared>,dport=<cleared>),reply=
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -18144,14 +17339,7 @@
> icmp,orig=(src=192.168.1.2,dst=192.168.1.1,id=<cleared>,type=8,code=0),reply=(sr
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -18287,14 +17475,7 @@ check ovn-nbctl lb-del lb1
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> @@ -18530,14 +17711,7 @@ OVS_WAIT_FOR_OUTPUT([bridge fdb show | grep
> "lo-10" | grep "f0:00:0f:16:01" | so
>
>  OVN_CLEANUP_CONTROLLER([hv1])
>
> -as ovn-sb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as ovn-nb
> -OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> -
> -as northd
> -OVS_APP_EXIT_AND_WAIT([ovn-northd])
> +OVN_CLEANUP_NORTHD
>
>  as
>  OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
> --
> 2.51.1
>
>
Thank you Dumitru,

I went ahead and merged this into 25.09.

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

Reply via email to