On Thu, Mar 13, 2025 at 9:33 AM Xavier Simonart <xsimo...@redhat.com> wrote:

> Signed-off-by: Xavier Simonart <xsimo...@redhat.com>
>
> ---
> v2: - Rebased on origin/main.
>     - Use OVN_CLEANUP_CONTROLLER for new tests.
> ---
>  tests/system-ovn-kmod.at |  22 ++--
>  tests/system-ovn.at      | 233 ++++++++++++++++++++-------------------
>  2 files changed, 133 insertions(+), 122 deletions(-)
>
> diff --git a/tests/system-ovn-kmod.at b/tests/system-ovn-kmod.at
> index 5b010a1a2..df00f99f7 100644
> --- a/tests/system-ovn-kmod.at
> +++ b/tests/system-ovn-kmod.at
> @@ -283,8 +283,7 @@
> tcp,orig=(src=192.168.1.200,dst=192.168.1.2,sport=<cleared>,dport=<cleared>),rep
>  ])
>  NS_CHECK_EXEC([foo1], [nc -z 192.168.1.100 8081])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> -
> +OVN_CLEANUP_CONTROLLER([hv1])
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
>
> @@ -581,7 +580,7 @@
> tcp,orig=(src=fd11::b,dst=fd11::2,sport=<cleared>,dport=<cleared>),reply=(src=fd
>  ])
>  NS_CHECK_EXEC([foo1], [nc -z fd11::a 8081])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -723,7 +722,7 @@ test_fragmented_traffic
>  check ovn-nbctl ls-lb-del public
>  check ovn-nbctl lb-del lb1
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -890,7 +889,8 @@ for type in icmp udp tcp; do
>      test_$type
>  done
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +# 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])
> @@ -1009,7 +1009,7 @@ NS_CHECK_EXEC([server], [ip r get fd10::1 | grep -q
> "mtu 1300"])
>
>  ovn-appctl -t ovn-controller vlog/set info
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -1084,7 +1084,7 @@ check cmp frag_test_srv.expected
> udp_frag_test_srv.rcvd
>  check cmp frag_test_client.expected udp_frag_test_c1.recvd
>  check cmp frag_test_client.expected udp_frag_test_c2.recvd
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -1156,7 +1156,7 @@ check cmp frag_test_srv.expected
> udp_frag_test_srv.rcvd
>  check cmp frag_test_client.expected udp_frag_test_c1.recvd
>  check cmp frag_test_client.expected udp_frag_test_c2.recvd
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -1371,7 +1371,7 @@
> icmpv6,orig=(src=fd11::3,dst=fd20::4,id=<cleared>,type=128,code=0),reply=(src=fd
>
>  
> icmpv6,orig=(src=fd20::1,dst=fd20::4,id=<cleared>,type=128,code=0),reply=(src=fd12::2,dst=fd20::1,id=<cleared>,type=129,code=0),zone=<cleared>
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -1629,7 +1629,7 @@ sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
>
>  
> icmpv6,orig=(src=fd11::3,dst=fd20::4,id=<cleared>,type=128,code=0),reply=(src=fd12::2,dst=fd11::3,id=<cleared>,type=129,code=0),zone=<cleared>
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -1720,7 +1720,7 @@ NS_CHECK_EXEC([mgmt], [(echo "Hello TCP"; sleep 3) |
> nc -s 172.16.100.2 -o clien
>  check cmp server_tcp.log tcp.expected
>  check cmp client_tcp.log tcp.expected
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> diff --git a/tests/system-ovn.at b/tests/system-ovn.at
> index fb8184cd9..55d71248b 100644
> --- a/tests/system-ovn.at
> +++ b/tests/system-ovn.at
> @@ -162,7 +162,7 @@ sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
>
>  
> icmp,orig=(src=192.168.2.2,dst=192.168.1.2,id=<cleared>,type=8,code=0),reply=(src=192.168.1.2,dst=30.0.0.1,id=<cleared>,type=0,code=0),zone=<cleared>
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -342,7 +342,7 @@ sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
>
>  
> icmpv6,orig=(src=fd12::2,dst=fd11::2,id=<cleared>,type=128,code=0),reply=(src=fd11::2,dst=fd30::1,id=<cleared>,type=129,code=0),zone=<cleared>
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -454,7 +454,7 @@ sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
>
>  
> icmp,orig=(src=192.168.1.2,dst=172.16.1.2,id=<cleared>,type=8,code=0),reply=(src=172.16.1.2,dst=172.16.1.1,id=<cleared>,type=0,code=0),zone=<cleared>
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -566,7 +566,7 @@ sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
>
>  
> icmpv6,orig=(src=fd10::2,dst=fd30::2,id=<cleared>,type=128,code=0),reply=(src=fd30::2,dst=fd30::1,id=<cleared>,type=129,code=0),zone=<cleared>
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -788,7 +788,7 @@ sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
>
>  
> icmp,orig=(src=192.168.1.2,dst=172.16.1.3,id=<cleared>,type=8,code=0),reply=(src=172.16.1.3,dst=30.0.0.1,id=<cleared>,type=0,code=0),zone=<cleared>
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -1014,7 +1014,7 @@ sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
>
>  
> icmpv6,orig=(src=fd11::2,dst=fd30::3,id=<cleared>,type=128,code=0),reply=(src=fd30::3,dst=fd40::1,id=<cleared>,type=129,code=0),zone=<cleared>
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -1328,7 +1328,7 @@ sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
>
>  
> icmpv6,orig=(src=fd11::2,dst=fd30::3,id=<cleared>,type=128,code=0),reply=(src=fd30::3,dst=fd40::1,id=<cleared>,type=129,code=0),zone=<cleared>
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -1610,7 +1610,7 @@ OVS_WAIT_UNTIL([
>      test "${n_reset}" = "1"
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -1831,7 +1831,7 @@ if [[ "$bar3_ct" == "20" ]]; then
>  else
>      AT_CHECK([test $bar3_ct -eq 0])
>  fi
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -2078,7 +2078,7 @@ AT_CHECK([test $bar1_ct -gt 0])
>  AT_CHECK([test $bar2_ct -gt 0])
>  AT_CHECK([test $bar3_ct -gt 0])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -2186,7 +2186,7 @@
> tcp,orig=(src=192.168.1.2,dst=30.0.0.2,sport=<cleared>,dport=<cleared>),reply=(s
>
>  
> tcp,orig=(src=192.168.1.2,dst=30.0.0.2,sport=<cleared>,dport=<cleared>),reply=(src=192.168.1.5,dst=192.168.1.2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -2296,7 +2296,7 @@
> tcp,orig=(src=fd01::2,dst=fd03::2,sport=<cleared>,dport=<cleared>),reply=(src=fd
>
>  
> tcp,orig=(src=fd01::2,dst=fd03::2,sport=<cleared>,dport=<cleared>),reply=(src=fd01::5,dst=fd01::2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -2545,7 +2545,7 @@ test "x$ct1 = x$exp_ct1" && test "x$ct2 = x$exp_ct2"
>
>  OVS_WAIT_UNTIL([check_est_flows], [check established flows])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -2640,7 +2640,7 @@ for i in $(seq 1 5); do
>      NS_CHECK_EXEC([client], [wget 172.16.1.150 -t 5 -T 1
> --retry-connrefused -v -o wget$i.log])
>  done
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -2797,7 +2797,7 @@
> tcp,orig=(src=fd72::2,dst=fd30::2,sport=<cleared>,dport=<cleared>),reply=(src=fd
>
>  
> tcp,orig=(src=fd72::2,dst=fd30::2,sport=<cleared>,dport=<cleared>),reply=(src=fd12::2,dst=fd72::2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -2968,7 +2968,7 @@ test "x$ct1 = x$exp_ct1" && test "x$ct2 = x$exp_ct2"
>  ], [0], [dnl
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -3141,7 +3141,7 @@ test "x$ct1 = x$exp_ct1" && test "x$ct2 = x$exp_ct2"
>  ], [0], [dnl
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -3362,7 +3362,7 @@ test "x$ct1 = x$exp_ct1" && test "x$ct2 = x$exp_ct2"
> && test "x$ct3 = x$exp_ct3"
>  ], [0], [dnl
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -3505,7 +3505,7 @@
> tcp,orig=(src=172.16.1.2,dst=172.16.1.11,sport=<cleared>,dport=<cleared>),reply=
>
>  
> tcp,orig=(src=172.16.1.2,dst=172.16.1.11,sport=<cleared>,dport=<cleared>),reply=(src=192.168.2.2,dst=172.16.1.2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -3648,7 +3648,7 @@
> tcp,orig=(src=fd72::2,dst=fd72::11,sport=<cleared>,dport=<cleared>),reply=(src=f
>
>  
> tcp,orig=(src=fd72::2,dst=fd72::11,sport=<cleared>,dport=<cleared>),reply=(src=fd02::2,dst=fd72::2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -3865,7 +3865,7 @@ OVS_WAIT_UNTIL([
>      test "${total_pkts}" = "3"
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -4062,7 +4062,7 @@ test_connectivity_from_ext foo1 fd11::2
>  # does not have DNAT
>  test_connectivity_from_ext bar1 fd12::2
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -4246,7 +4246,7 @@
> icmp,orig=(src=172.16.1.1,dst=192.168.2.2,id=<cleared>,type=8,code=0),reply=(src
>
>  
> icmp,orig=(src=192.168.1.3,dst=172.16.1.4,id=<cleared>,type=8,code=0),reply=(src=172.16.1.4,dst=172.16.1.1,id=<cleared>,type=0,code=0),zone=<cleared>
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -4414,7 +4414,7 @@
> icmpv6,orig=(src=fd20::1,dst=fd12::2,id=<cleared>,type=128,code=0),reply=(src=fd
>
>  
> icmpv6,orig=(src=fd20::1,dst=fd20::4,id=<cleared>,type=128,code=0),reply=(src=fd12::2,dst=fd20::1,id=<cleared>,type=129,code=0),zone=<cleared>
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -4491,7 +4491,8 @@ check ovs-vsctl clear interface ovs-p1 external_ids
>  # check conntrack zone is flushed
>  OVS_WAIT_WHILE([ovs-appctl dpctl/dump-conntrack zone=$zone_id | grep .])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +# 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])
> @@ -4657,7 +4658,7 @@ OVS_WAIT_UNTIL([
>      test "${total_queries}" = "2"
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -4881,7 +4882,7 @@ OVS_WAIT_UNTIL([
>      test "${n_reset}" = "1"
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -5064,7 +5065,7 @@ ovs-vsctl set interface ovs-sw1-p1
> external_ids:iface-id=sw1-p1
>  wait_row_count Service_Monitor 2
>  wait_row_count Service_Monitor 1 status=online
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -5166,7 +5167,7 @@ check ovn-nbctl --wait=hv sync
>  NS_CHECK_EXEC([lsp], [nc 88.88.88.88 8080 -z], [0], [ignore], [ignore])
>  NS_CHECK_EXEC([lsp], [nc 88.88.88.89 8080 -z], [0], [ignore], [ignore])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -5263,7 +5264,7 @@ check ovn-nbctl --wait=hv sync
>  NS_CHECK_EXEC([lsp], [nc 8800::0088 8080 -z], [0], [ignore], [ignore])
>  NS_CHECK_EXEC([lsp], [nc 8800::0089 8080 -z], [0], [ignore], [ignore])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -5496,7 +5497,7 @@ aef0::3 udp port 90" | uniq | wc -l)
>      test $c -ge 1
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -5733,7 +5734,9 @@ aef0::3 udp port 90" | uniq | wc -l)
>      test $c -ge 1
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +kill $(pidof tcpdump)
> +
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -5856,7 +5859,7 @@ AT_CHECK([
>      test $ct_est_count -eq 1
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -5976,7 +5979,7 @@ NS_CHECK_EXEC([sw0-p1-lbc], [nc -z 20.0.0.4 80],
> [0], [ignore], [ignore])
>  # Send the packet to VIP.
>  NS_CHECK_EXEC([sw0-p1-lbc], [nc -z 30.0.0.10 80], [0], [ignore], [ignore])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -6085,7 +6088,7 @@
> tcp,orig=(src=42.42.42.3,dst=42.42.42.2,sport=<clnt_s_port>,dport=4242),reply=(s
>
>  
> tcp,orig=(src=42.42.42.3,dst=66.66.66.66,sport=<clnt_s_port>,dport=666),reply=(src=42.42.42.2,dst=42.42.42.3,sport=4242,dport=<clnt_s_port>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -6194,7 +6197,7 @@
> tcp,orig=(src=4242::3,dst=4242::2,sport=<clnt_s_port>,dport=4242),reply=(src=424
>
>  
> tcp,orig=(src=4242::3,dst=6666::1,sport=<clnt_s_port>,dport=666),reply=(src=4242::2,dst=4242::3,sport=4242,dport=<clnt_s_port>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -6288,7 +6291,7 @@ NS_CHECK_EXEC([sw0-p1-f], [ping -q -c 3 -i 0.3 -w 2
> 10.0.0.5 | FORMAT_PING], \
>  3 packets transmitted, 3 received, 0% packet loss, time 0ms
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -6504,7 +6507,7 @@ sed -e 's/mark=[[0-9]]*/mark=<cleared>/' | sort],
> [0], [dnl
>
>  
> tcp,orig=(src=172.16.0.1,dst=10.0.0.2,sport=<cleared>,dport=<cleared>),reply=(src=10.0.0.2,dst=172.16.0.1,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=<cleared>,labels=0x401020500000000,protoinfo=(state=<cleared>)
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -6736,7 +6739,7 @@ sed -e 's/mark=[[0-9]]*/mark=<cleared>/' | sort],
> [0], [dnl
>
>  
> tcp,orig=(src=fd07::1,dst=fd01::2,sport=<cleared>,dport=<cleared>),reply=(src=fd01::2,dst=fd07::1,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=<cleared>,labels=0x1001020400000000,protoinfo=(state=<cleared>)
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -6785,7 +6788,7 @@ OVS_WAIT_UNTIL([test x$(ovn-nbctl lsp-get-up
> sw0-port1) = xup])
>  ovs-vsctl set interface p1 type=\"\"
>  OVS_WAIT_UNTIL([test x$(ovn-nbctl lsp-get-up sw0-port1) = xdown])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1], [], [], [sw0])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -6876,7 +6879,7 @@ sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
>
>  
> icmp,orig=(src=192.168.1.2,dst=172.16.1.100,id=<cleared>,type=8,code=0),reply=(src=172.16.1.100,dst=172.16.1.20,id=<cleared>,type=0,code=0),zone=<cleared>
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -7112,7 +7115,7 @@ AT_CHECK([ovn-nbctl set Logical_Switch_Port sw02
> options:qos_burst=1000000])
>  OVS_WAIT_UNTIL([tc class show dev ovs-public | \
>                  grep -q 'class htb .* prio 0 rate 5Gbit ceil 6Gbit burst
> 125000b cburst 124500b'])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -7312,7 +7315,7 @@ Allowing connections from 1000::a
>  wait_column "up" nb:bfd status logical_port=rp-public
>  check ovn-nbctl destroy bfd $uuid_v6
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -7446,7 +7449,7 @@ AT_CHECK([ovs-appctl dpctl/dump-flows | grep ct_mark
> | grep -v ipv6 -c], [1], [d
>  0
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -7571,7 +7574,7 @@ NS_CHECK_EXEC([vm2], [ping -q -c 3 -i 0.3 -w 2
> 172.18.2.10 | FORMAT_PING], \
>  3 packets transmitted, 3 received, 0% packet loss, time 0ms
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -7688,7 +7691,8 @@ NS_CHECK_EXEC([vm1], [ping -q -c 3 -i 0.3 -w 2
> 172.18.2.12 | FORMAT_PING], \
>  3 packets transmitted, 3 received, 0% packet loss, time 0ms
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +# 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])
> @@ -7900,7 +7904,7 @@ EOF
>
>  OVS_WAIT_UNTIL([test "1" = "$(grep -c "dl_dst=33:33:33:33:33:33"
> ovn-controller.log)"])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -8043,7 +8047,7 @@
> icmp,orig=(src=10.0.0.3,dst=10.0.0.2,id=<cleared>,type=8,code=0),reply=(src=10.0
>
>  
> icmp,orig=(src=10.0.0.3,dst=10.0.0.2,id=<cleared>,type=8,code=0),reply=(src=10.0.0.2,dst=10.0.0.3,id=<cleared>,type=0,code=0),zone=<cleared>
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -8185,7 +8189,7 @@
> icmp,orig=(src=10.0.0.3,dst=10.0.0.2,id=<cleared>,type=8,code=0),reply=(src=10.0
>
>  
> icmp,orig=(src=10.0.0.3,dst=10.0.0.2,id=<cleared>,type=8,code=0),reply=(src=10.0.0.2,dst=10.0.0.3,id=<cleared>,type=0,code=0),zone=<cleared>
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -8286,7 +8290,7 @@
> icmp,orig=(src=10.0.0.2,dst=10.0.0.3,id=<cleared>,type=8,code=0),reply=(src=10.0
>
>  
> icmp,orig=(src=10.0.0.2,dst=10.0.0.3,id=<cleared>,type=8,code=0),reply=(src=10.0.0.3,dst=10.0.0.2,id=<cleared>,type=0,code=0),zone=<cleared>,labels=0x4d3000000000000000000000000
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -8387,7 +8391,7 @@
> icmp,orig=(src=10.0.0.2,dst=10.0.0.3,id=<cleared>,type=8,code=0),reply=(src=10.0
>
>  
> icmp,orig=(src=10.0.0.2,dst=10.0.0.3,id=<cleared>,type=8,code=0),reply=(src=10.0.0.3,dst=10.0.0.2,id=<cleared>,type=0,code=0),zone=<cleared>,mark=16,labels=0x4d3000000000000000000000000
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -8487,7 +8491,7 @@ check ovn-nbctl --wait=hv sync
>
>  AT_CHECK([ip netns exec sw0p1 wget 20.0.0.3 -t 3 -T 1], [0], [ignore],
> [ignore])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -8844,7 +8848,7 @@ check $PYTHON $srcdir/check_acl_log.py \
>      --icmp_code=0
>
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -8973,7 +8977,7 @@
> tcp,orig=(src=192.168.2.2,dst=172.16.1.2,sport=<cleared>,dport=<cleared>),reply=
>
>  AT_CHECK([ovs-appctl dpctl/flush-conntrack])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -9035,7 +9039,7 @@ NS_CHECK_EXEC([sw0-p1.2], [ping -q -c 3 -i 0.3 -w 2
> 10.0.0.3 | FORMAT_PING], \
>  3 packets transmitted, 3 received, 0% packet loss, time 0ms
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -9132,7 +9136,7 @@ NS_CHECK_EXEC([ls1p1], [ping6 -q -c 3 -i 0.3 -w 2
> 1711::1  | FORMAT_PING], \
>  3 packets transmitted, 3 received, 0% packet loss, time 0ms
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -9241,7 +9245,7 @@ OVS_WAIT_UNTIL([
>  # Double check we never hit error condition
>  AT_CHECK([grep -qE 'Too many active IPv4 mcast flows'
> northd/ovn-northd.log], [1])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -9315,7 +9319,7 @@ NS_CHECK_EXEC([vif0], [ping -q -c 3 -i 0.3 -w 1
> 192.168.20.1 | FORMAT_PING], \
>  3 packets transmitted, 3 received, 0% packet loss, time 0ms
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -9523,7 +9527,7 @@ sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
>
>  
> udp,orig=(src=192.168.10.10,dst=192.168.20.20,sport=<cleared>,dport=<cleared>),reply=(src=192.168.20.10,dst=192.168.10.10,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=10
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -9673,7 +9677,7 @@ OVS_WAIT_UNTIL([
>      test "${requests}" -ge "6"
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -9824,7 +9828,7 @@ OVS_WAIT_UNTIL([
>      test "${requests}" -ge "6"
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -9952,7 +9956,7 @@ OVS_WAIT_UNTIL([
>          test "${total_icmp1_pkts}" = "3"
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -10103,7 +10107,7 @@ sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0],
> [dnl
>
>  AT_CHECK([ovs-appctl dpctl/flush-conntrack])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -10247,7 +10251,7 @@ sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0],
> [dnl
>
>  AT_CHECK([ovs-appctl dpctl/flush-conntrack])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -10358,7 +10362,7 @@ NS_CHECK_EXEC([ns_ls1p1], [ping -q -c 3 -i 0.3 -w
> 2 10.89.189.1 | FORMAT_PING],
>  3 packets transmitted, 3 received, 0% packet loss, time 0ms
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -10500,7 +10504,7 @@ NS_CHECK_EXEC([vm1], [ping -q -c 3 -i 0.3 -w 2
> 10.0.0.2 | FORMAT_PING], \
>  3 packets transmitted, 3 received, 0% packet loss, time 0ms
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -10714,7 +10718,7 @@ check ovn-nbctl --wait=hv lb-del lb1
>
>  AT_CHECK([ovs-appctl dpctl/dump-conntrack | FORMAT_CT(30.0.0.1) | sed -e
> 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [LB1_CT_ENTRIES])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -10859,7 +10863,7 @@ NS_CHECK_EXEC([ns_ext1], [ping -q -c 3 -i 0.3 -w 2
> 172.0.0.88 | FORMAT_PING], \
>  3 packets transmitted, 3 received, 0% packet loss, time 0ms
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -11019,7 +11023,7 @@ OVS_WAIT_UNTIL([
>          test "${total_icmp1_pkts}" -gt "${total_icmp_pkts}"
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -11189,7 +11193,7 @@ OVS_WAIT_UNTIL([
>      test "${total_pkts}" = "4"
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -11322,7 +11326,7 @@ OVS_WAIT_UNTIL([
>      test "${total_pkts}" = "3"
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -11815,7 +11819,9 @@ OVS_WAIT_UNTIL([
>      test "${n_packets}" = "3"
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +killall tcpdump
> +
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -11957,7 +11963,7 @@ acl_test from-lport "" pg
>  acl_test from-lport "--apply-after-lb" pg
>  acl_test to-lport "" pg
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -12046,7 +12052,7 @@ sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0],
> [dnl
>
>  
> tcp,orig=(src=10.0.0.2,dst=172.16.0.1,sport=<cleared>,dport=<cleared>),reply=(src=192.168.0.2,dst=10.0.0.2,sport=<cleared>,dport=<cleared>),zone=<cleared>,mark=2,protoinfo=(state=<cleared>)
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -12119,7 +12125,7 @@ NS_CHECK_EXEC([vif0], [ping -q -c 3 -i 0.3 -w 2
> fe80::200:ff:fe00:1 | FORMAT_PIN
>
>  check_row_count mac_binding 1 mac=\"00:00:00:00:00:02\"
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -12233,7 +12239,7 @@ OVS_WAIT_FOR_OUTPUT([ovs-appctl
> dpctl/dump-conntrack | FORMAT_CT(172.16.1.151) |
>  1
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -12446,7 +12452,7 @@
> sctp,orig=(src=172.16.1.2,dst=192.168.2.2,sport=<cleared>,dport=<cleared>),reply
>
>  OVS_WAIT_UNTIL([check_est_flows 0xa], [check established flows])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -12525,7 +12531,7 @@ dnl Test the connection originating something that
> uses the same source port
>  dnl as the LB VIP.
>  NS_CHECK_EXEC([vm1], [nc -z -p 8080 42.42.42.1 80], 0, [ignore], [ignore])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -12614,7 +12620,7 @@ AT_CHECK([ovs-ofctl dump-flows br-int | grep
> 'table=OFTABLE_CHK_LB_AFFINITY, n_p
>  0
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -12704,7 +12710,7 @@ NS_CHECK_EXEC([sw1-p0], [ping -q -c 3 -i 0.3 -w 2
> 172.16.1.100 | FORMAT_PING], \
>  3 packets transmitted, 3 received, 0% packet loss, time 0ms
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -12817,7 +12823,7 @@ restart_ovsdb_controller_updates $TCP_PORT
>  # Check that the MAC_Binding entries have been properly created as SB is
> now writable.
>  wait_row_count MAC_Binding 1 logical_port=lr1-pub ip=172.24.4.100
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -12912,7 +12918,7 @@ zone_id=$(ovn-appctl -t ovn-controller
> ct-zone-list | grep lr_dnat | cut -d ' '
>  AT_CHECK([ovs-appctl dpctl/dump-conntrack | grep -c "zone=$zone_id"],
> [0], [2
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -13059,7 +13065,7 @@ NS_CHECK_EXEC([sw01], [ip addr show sw01 | grep
> -oP '(?<=inet\s)\d+(\.\d+){3}'],
>  NS_CHECK_EXEC([sw11], [ip addr show sw11 | grep -oP
> '(?<=inet\s)\d+(\.\d+){3}'], [0], [dnl
>  192.168.2.10
>  ])
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -13196,7 +13202,7 @@ check ovn-nbctl set logical_router lr
> options:chassis=hv1
>  check_snat
>  check_dnat
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -13332,7 +13338,7 @@ check ovn-nbctl set logical_router lr
> options:chassis=hv1
>  check_snat
>  check_dnat
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -13548,7 +13554,7 @@ AT_CHECK([for f in $(ls -1 nfcapd.*); do nfdump -o
> json -r $f; done | grep obser
>  "observationPointID" : 3012,
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -13675,7 +13681,7 @@ AT_CHECK([for f in $(ls -1 nfcapd.*); do nfdump -o
> json -r $f; done | grep obser
>  "observationPointID" : 2002,
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -13799,7 +13805,7 @@ AT_CHECK([for f in $(ls -1 nfcapd.*); do nfdump -o
> json -r $f; done | grep obser
>  "observationPointID" : 1001,
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -13923,7 +13929,7 @@ AT_CHECK([for f in $(ls -1 nfcapd.*); do nfdump -o
> json -r $f; done | grep obser
>  "observationPointID" : 1003,
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -14045,7 +14051,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])
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -14148,7 +14154,7 @@ AT_CHECK([grep -q
> "pinctrl_drop_buffered_packets_map" ovn_counters], [0])
>
>  AT_CHECK([ovs-vsctl set Open_vSwitch . external-ids:ovn-remote=$SB_PATH])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -14298,7 +14304,7 @@ from bgp-daemon: BFD IPv6 client traffic
>  NETNS_DAEMONIZE([ext-foo], [nc -l -k 172.16.1.100 2222],
> [nc_external.pid])
>  NS_CHECK_EXEC([bar1], [echo "TCP test" | nc -w 1 --send-only 172.16.1.100
> 2222])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -14448,7 +14454,7 @@ from bgp-daemon: BFD IPv6 client traffic
>  NETNS_DAEMONIZE([ext-foo], [nc -l -k 172.16.1.100 2222],
> [nc_external.pid])
>  NS_CHECK_EXEC([bar1], [echo "TCP test" | nc -w 1 --send-only 172.16.1.100
> 2222])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -14521,7 +14527,7 @@ AT_CHECK([grep -c "NXT_CT_FLUSH_ZONE"
> ovs-vswitchd.log], [0], [dnl
>  3
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -14633,7 +14639,7 @@ AT_CHECK([ovn-nbctl get logical_router_port rp-sw0
> ipv6_prefix | cut -c3-15], [0
>  [2001:db8:3333]
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -14832,7 +14838,7 @@ grep "labels=0x"$acl_id"00000000000000000000" | \
>  sed -e 's/zone=[[0-9]]*/zone=<cleared>/'], [0], [dnl
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -15000,7 +15006,7 @@ NS_CHECK_EXEC([bob], [ping -q -c 3 -i 0.3 -w 2
> 10.42.0.10 | FORMAT_PING], \
>  3 packets transmitted, 3 received, 0% packet loss, time 0ms
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -15161,7 +15167,7 @@ NS_CHECK_EXEC([bob], [ping -q -c 3 -i 0.3 -w 2
> 10.42.0.10 | FORMAT_PING], \
>  3 packets transmitted, 3 received, 0% packet loss, time 0ms
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -15290,7 +15296,8 @@ NS_CHECK_EXEC([vm1], [ping -q -c 3 -i 0.3 -w 2
> 172.18.1.12 | FORMAT_PING], \
>  7 packets transmitted, 0 received, 100% packet loss, time 0ms
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +# 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])
> @@ -15359,7 +15366,7 @@ check ovn-nbctl --wait=hv sync
>  NS_CHECK_EXEC([foo], [arping -q -c 3 192.168.1.100])
>  NS_CHECK_EXEC([foo], [arping -q -c 3 172.16.1.100])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -15627,7 +15634,7 @@ sed -e 's/zone=[[0-9]]*/zone=<cleared>/' |
>  sed -e 's/mark=[[0-9]]*/mark=<cleared>/' | sort], [0], [dnl
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -15894,7 +15901,7 @@ sed -e 's/zone=[[0-9]]*/zone=<cleared>/' |
>  sed -e 's/mark=[[0-9]]*/mark=<cleared>/' | sort], [0], [dnl
>  ])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> @@ -16172,7 +16179,7 @@ check_row_count Learned_Route 1 ip_prefix=
> 233.253.0.0/24 nexthop=192.168.20.20
>  # delete the whole vrf.
>  check ovn-nbctl --wait=hv set Logical_Router_Port internet-phys \
>                               options:dynamic-routing-maintain-vrf=false
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>  AT_CHECK([ip route list vrf ovnvrf1337 | awk '{$1=$1};1'], [0], [dnl
>  233.252.0.0/24 via 192.168.10.10 dev lo onlink
>  233.253.0.0/24 via 192.168.20.20 dev hv1-mll onlink
> @@ -16222,7 +16229,7 @@ blackhole 198.51.100.0/24 proto 84 metric 1000
>  start_daemon ovn-controller
>  OVS_WAIT_UNTIL([test "$(ovn-appctl -t ovn-controller debug/status)" ==
> "running"])
>  check ovn-nbctl --wait=hv sync
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>  AT_CHECK([ip vrf | grep -q ovnvrf1338], [1], [])
>
>  as ovn-sb
> @@ -16502,7 +16509,7 @@ check_row_count Learned_Route 1 ip_prefix=
> 233.253.0.0/24 nexthop=192.168.20.20
>  # delete the whole vrf
>  check ovn-nbctl --wait=hv set Logical_Router_Port internet-phys \
>                               options:dynamic-routing-maintain-vrf=false
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>  AT_CHECK([ip route list vrf ovnvrf1337 | awk '{$1=$1};1'], [0], [dnl
>  233.252.0.0/24 via 192.168.10.10 dev lo onlink
>  233.253.0.0/24 via 192.168.20.20 dev hv1-mll onlink
> @@ -16538,7 +16545,7 @@ start_daemon ovn-controller
>  OVS_WAIT_UNTIL([test "$(ovn-appctl -t ovn-controller debug/status)" ==
> "running"])
>  check ovn-nbctl --wait=hv set Logical_Router_Port internet-phys \
>          options:dynamic-routing-maintain-vrf=true
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>  AT_CHECK([ip vrf | grep -q ovnvrf1337], [1], [])
>
>  as ovn-sb
> @@ -16670,7 +16677,7 @@ OVS_WAIT_UNTIL_EQUAL([ip route list vrf ovnvrf$vrf
> | awk '{$1=$1};1'], [dnl
>  blackhole 10.42.10.10 proto 84 metric 1000
>  blackhole 172.16.1.150 proto 84 metric 1000])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  # Ensure system resources are cleaned up.
>  AT_CHECK([ip link | grep -q ovnvrf$vrf:.*UP], [1])
> @@ -16808,7 +16815,7 @@ OVS_WAIT_UNTIL_EQUAL([ip -6 route list vrf
> ovnvrf$vrf | awk '{$1=$1};1'], [dnl
>  blackhole 2001:db8:1001::150 dev lo proto 84 metric 1000 pref medium
>  blackhole 2001:db8:3001::150 dev lo proto 84 metric 1000 pref medium])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  # Ensure system resources are cleaned up.
>  AT_CHECK([ip link | grep -q ovnvrf1001:.*UP], [1])
> @@ -17011,7 +17018,11 @@ blackhole 10.42.20.11 proto 84 metric 100
>  blackhole 172.16.1.10 proto 84 metric 1000
>  blackhole 172.16.1.11 proto 84 metric 1000])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +# Skip ls-join in flows comparison between I+P and recompute, because R2
> has multiple DGPs.
> +# This causes the following flows in sb
> +# table=xx(ls_in_l2_lkup      ), priority=80   , match=(flags[1] == 0 &&
> arp.op == 1 && arp.tpa == 10.42.10.10), action=(outport = "lsp-join-to-r2";
> output;)
> +# table=xx(ls_in_l2_lkup      ), priority=80   , match=(flags[1] == 0 &&
> arp.op == 1 && arp.tpa == 10.42.10.10), action=(outport =
> "lsp-join-to-r2-dgw2"; output;)
> +OVN_CLEANUP_CONTROLLER([hv1], [], [], [ls-join])
>
>  # Ensure system resources are cleaned up.
>  AT_CHECK([ip link | grep -q ovnvrf$vrf:.*UP], [1])
> @@ -17214,7 +17225,7 @@ blackhole 2001:db8:1004::150 dev lo proto 84
> metric 1000 pref medium
>  blackhole 2001:db8:1004::151 dev lo proto 84 metric 1000 pref medium
>  blackhole 2001:db8:1005::150 dev lo proto 84 metric 100 pref medium])
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1], [], [], [ls-join])
>  # Ensure system resources are cleaned up.
>  AT_CHECK([ip link | grep -q ovnvrf1003:.*UP], [1])
>  AT_CHECK([test `ip -6 route show table 1003 | wc -l` -eq 2], [1])
> @@ -17326,7 +17337,7 @@ OVS_WAIT_UNTIL([
>  # Wait for the mac binding entry to expire.
>  wait_row_count MAC_Binding 0
>
> -OVS_APP_EXIT_AND_WAIT([ovn-controller])
> +OVN_CLEANUP_CONTROLLER([hv1])
>
>  as ovn-sb
>  OVS_APP_EXIT_AND_WAIT([ovsdb-server])
> --
> 2.47.1
>
> _______________________________________________
> dev mailing list
> d...@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>
>
Looks good to me, thanks.

Acked-by: Ales Musil <amu...@redhat.com>
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to