diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh
index 509314a..23c8bbb 100755
--- a/.ci/linux-build.sh
+++ b/.ci/linux-build.sh
@@ -228,7 +228,7 @@ fi
 
 if [ "$DPDK" ] || [ "$DPDK_SHARED" ]; then
     if [ -z "$DPDK_VER" ]; then
-        DPDK_VER="21.11.1"
+        DPDK_VER="21.11.2"
     fi
     install_dpdk $DPDK_VER
 fi
diff --git a/.cirrus.yml b/.cirrus.yml
index b686bdb..e3c1cd5 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -3,7 +3,7 @@ freebsd_build_task:
   freebsd_instance:
     matrix:
       image_family: freebsd-12-3-snap
-      image_family: freebsd-13-0-snap
+      image_family: freebsd-13-1-snap
     cpu: 4
     memory: 4G
 
diff --git a/Documentation/faq/releases.rst b/Documentation/faq/releases.rst
index 1bc22a6..6ce0b4c 100644
--- a/Documentation/faq/releases.rst
+++ b/Documentation/faq/releases.rst
@@ -210,12 +210,12 @@ Q: What DPDK version does each Open vSwitch release work with?
     2.10.x       17.11.10
     2.11.x       18.11.9
     2.12.x       18.11.9
-    2.13.x       19.11.10
-    2.14.x       19.11.10
-    2.15.x       20.11.4
-    2.16.x       20.11.4
-    2.17.x       21.11.1
-    3.0.x        21.11.1
+    2.13.x       19.11.13
+    2.14.x       19.11.13
+    2.15.x       20.11.6
+    2.16.x       20.11.6
+    2.17.x       21.11.2
+    3.0.x        21.11.2
     ============ ========
 
 Q: Are all the DPDK releases that OVS versions work with maintained?
diff --git a/Documentation/intro/install/dpdk.rst b/Documentation/intro/install/dpdk.rst
index 0f3712c..a284e68 100644
--- a/Documentation/intro/install/dpdk.rst
+++ b/Documentation/intro/install/dpdk.rst
@@ -42,7 +42,7 @@ Build requirements
 In addition to the requirements described in :doc:`general`, building Open
 vSwitch with DPDK will require the following:
 
-- DPDK 21.11.1
+- DPDK 21.11.2
 
 - A `DPDK supported NIC`_
 
@@ -73,9 +73,9 @@ Install DPDK
 #. Download the `DPDK sources`_, extract the file and set ``DPDK_DIR``::
 
        $ cd /usr/src/
-       $ wget https://fast.dpdk.org/rel/dpdk-21.11.1.tar.xz
-       $ tar xf dpdk-21.11.1.tar.xz
-       $ export DPDK_DIR=/usr/src/dpdk-stable-21.11.1
+       $ wget https://fast.dpdk.org/rel/dpdk-21.11.2.tar.xz
+       $ tar xf dpdk-21.11.2.tar.xz
+       $ export DPDK_DIR=/usr/src/dpdk-stable-21.11.2
        $ cd $DPDK_DIR
 
 #. Configure and install DPDK using Meson
diff --git a/NEWS b/NEWS
index f8c9e8e..a7f367b 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,25 @@
+v3.0.1 - 07 Oct 2022
+--------------------
+   - Bug fixes
+   - DPDK:
+     * OVS validated with DPDK 21.11.2.
+       DPDK 21.11.2 contains fixes for the following CVEs:
+       CVE-2022-28199 cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-28199
+       CVE-2022-2132 cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2132
+       A bug was introduced in DPDK 21.11.1 by the commit
+       01e3dee29c02 ("vhost: fix unsafe vring addresses modifications").
+       This bug can cause a deadlock when vIOMMU is enabled and NUMA
+       reallocation of the virtqueues happen.
+       A fix has been posted and pushed to the DPDK 21.11 branch.
+       It can be found here:
+       https://patches.dpdk.org/project/dpdk/patch/20220725203206.427083-2-david.marchand@redhat.com/.
+       If a user wishes to avoid the issue then it is recommended to use
+       DPDK 21.11.0 until the release of DPDK 21.11.3.
+       It should be noted that DPDK 21.11.0 does not benefit from the numerous
+       bug and CVE fixes addressed since its release.
+       If a user wishes to benefit from these fixes it is recommended to use
+       DPDK 21.11.2.
+
 v3.0.0 - 15 Aug 2022
 --------------------
    - libopenvswitch API change:
diff --git a/build-aux/generate-dhparams-c b/build-aux/generate-dhparams-c
index 1884c99..aca1dbc 100755
--- a/build-aux/generate-dhparams-c
+++ b/build-aux/generate-dhparams-c
@@ -1,5 +1,74 @@
 #! /bin/sh -e
 
+dhparam_to_c() {
+    local bits
+    local get_p=0
+    local line
+    local nl="
+"
+    local p
+    local i=0
+    while read -r line; do
+        case "$line" in
+            *"DH Parameters: "*)
+                bits=${line#*DH Parameters: (}
+                bits=${bits% bit)}
+                continue
+                ;;
+            "P:"|"prime:")
+                get_p=1
+                continue
+                ;;
+            "G: "*|"generator: "*)
+                g=${line#*(}
+                g=${g%)}
+                g=$(printf "0x%.2X" "$g")
+                continue
+                ;;
+        esac
+        if [ "$get_p" = 1 ]; then
+            IFS=":"
+            for x in $line; do
+                [ -z "$p" ] && [ "$x" = "00" ] && continue
+                [ $i -ge 10 ] && i=0
+                [ $i -eq 0 ] && p="$p$nl       "
+                x=0x$x
+                p=$(printf "%s 0x%.2X," "$p" "$x")
+                i=$((i + 1))
+            done
+            unset IFS
+        fi
+    done <<EOF
+$(openssl dhparam -in "$1" -text -noout)
+EOF
+    p=${p%,}
+    cat <<EOF
+DH *get_dh${bits}(void)
+{
+    static unsigned char dhp_${bits}[] = {$p
+    };
+    static unsigned char dhg_${bits}[] = {
+        $g
+    };
+    DH *dh = DH_new();
+    BIGNUM *p, *g;
+
+    if (dh == NULL)
+        return NULL;
+    p = BN_bin2bn(dhp_${bits}, sizeof(dhp_${bits}), NULL);
+    g = BN_bin2bn(dhg_${bits}, sizeof(dhg_${bits}), NULL);
+    if (p == NULL || g == NULL
+            || !my_DH_set0_pqg(dh, p, NULL, g)) {
+        DH_free(dh);
+        BN_free(p);
+        BN_free(g);
+        return NULL;
+    }
+    return dh;
+}
+EOF
+}
+
 cat <<'EOF'
 /* Generated automatically; do not modify!     -*- buffer-read-only: t -*-
  *
@@ -9,6 +78,7 @@ cat <<'EOF'
 #include "lib/dhparams.h"
 #include "openvswitch/util.h"
 
+#if OPENSSL_VERSION_NUMBER < 0x3000000fL
 static int
 my_DH_set0_pqg(DH *dh, BIGNUM *p, const BIGNUM **q OVS_UNUSED, BIGNUM *g)
 {
@@ -22,11 +92,6 @@ my_DH_set0_pqg(DH *dh, BIGNUM *p, const BIGNUM **q OVS_UNUSED, BIGNUM *g)
 #endif
 }
 EOF
-(openssl dhparam -C -in lib/dh2048.pem -noout &&
-openssl dhparam -C -in lib/dh4096.pem -noout) | sed '
-    s/^static DH/DH/
-    s/\(get_dh[0-9]*\)()/\1(void)/
-    s/\(DH_set0_pqg\)/my_\1/
-    s/[ 	]*$//
-    s/	/        /g
-'
+dhparam_to_c lib/dh2048.pem
+dhparam_to_c lib/dh4096.pem
+echo "#endif"
diff --git a/configure b/configure
index 4c8527a..e5be3b3 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for openvswitch 3.0.0.
+# Generated by GNU Autoconf 2.69 for openvswitch 3.0.1.
 #
 # Report bugs to <bugs@openvswitch.org>.
 #
@@ -590,8 +590,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='openvswitch'
 PACKAGE_TARNAME='openvswitch'
-PACKAGE_VERSION='3.0.0'
-PACKAGE_STRING='openvswitch 3.0.0'
+PACKAGE_VERSION='3.0.1'
+PACKAGE_STRING='openvswitch 3.0.1'
 PACKAGE_BUGREPORT='bugs@openvswitch.org'
 PACKAGE_URL=''
 
@@ -1477,7 +1477,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures openvswitch 3.0.0 to adapt to many kinds of systems.
+\`configure' configures openvswitch 3.0.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1547,7 +1547,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of openvswitch 3.0.0:";;
+     short | recursive ) echo "Configuration of openvswitch 3.0.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1706,7 +1706,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-openvswitch configure 3.0.0
+openvswitch configure 3.0.1
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2627,7 +2627,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by openvswitch $as_me 3.0.0, which was
+It was created by openvswitch $as_me 3.0.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3498,7 +3498,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='openvswitch'
- VERSION='3.0.0'
+ VERSION='3.0.1'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -22324,21 +22324,21 @@ else
        mkdir -p build-aux
      OBJFILE=build-aux/binutils_avx512_check.o
      GATHER_PARAMS='0x8(,%ymm1,1),%ymm0{%k2}'
-     echo "vpgatherqq $GATHER_PARAMS" | as --64 -o $OBJFILE -
      if ($CC -dumpmachine | grep x86_64) >/dev/null 2>&1; then
+       echo "vpgatherqq $GATHER_PARAMS" | as --64 -o $OBJFILE -
        if (objdump -d  --no-show-raw-insn $OBJFILE | grep -q $GATHER_PARAMS) >/dev/null 2>&1; then
          ovs_cv_binutils_avx512_good=yes
        else
          ovs_cv_binutils_avx512_good=no
                            CFLAGS="$CFLAGS -mno-avx512f"
        fi
+       rm $OBJFILE
      else
               ovs_cv_binutils_avx512_good=no
      fi
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ovs_cv_binutils_avx512_good" >&5
 $as_echo "$ovs_cv_binutils_avx512_good" >&6; }
-     rm $OBJFILE
    if test "$ovs_cv_binutils_avx512_good" = yes; then
 
 $as_echo "#define HAVE_LD_AVX512_GOOD 1" >>confdefs.h
@@ -24577,7 +24577,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by openvswitch $as_me 3.0.0, which was
+This file was extended by openvswitch $as_me 3.0.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -24643,7 +24643,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-openvswitch config.status 3.0.0
+openvswitch config.status 3.0.1
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff --git a/configure.ac b/configure.ac
index e840c85..a7846f4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -13,7 +13,7 @@
 # limitations under the License.
 
 AC_PREREQ(2.63)
-AC_INIT(openvswitch, 3.0.0, bugs@openvswitch.org)
+AC_INIT(openvswitch, 3.0.1, bugs@openvswitch.org)
 AC_CONFIG_SRCDIR([vswitchd/ovs-vswitchd.c])
 AC_CONFIG_MACRO_DIR([m4])
 AC_CONFIG_AUX_DIR([build-aux])
diff --git a/datapath-windows/ovsext/Geneve.c b/datapath-windows/ovsext/Geneve.c
index e4e81c1..793cee3 100644
--- a/datapath-windows/ovsext/Geneve.c
+++ b/datapath-windows/ovsext/Geneve.c
@@ -286,6 +286,7 @@ NDIS_STATUS OvsEncapGeneve(POVS_VPORT_ENTRY vport,
         } else if (tunKey->dst.si_family == AF_INET6) {
             csumInfo.Transmit.IsIPv4 = 0;
             csumInfo.Transmit.IsIPv6 = 1;
+            csumInfo.Transmit.IpHeaderChecksum = 0;
         }
 
         if (tunKey->flags & OVS_TNL_F_CSUM) {
diff --git a/debian/changelog b/debian/changelog
index 1bea4de..2306d6b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+openvswitch (3.0.1-0ubuntu0.22.10.1) UNRELEASED; urgency=medium
+
+  * New upstream point release 3.0.1 (LP: #1995288).
+
+ -- Frode Nordahl <frode.nordahl@canonical.com>  Mon, 31 Oct 2022 15:25:48 +0100
+
 openvswitch (3.0.0-0ubuntu1) kinetic; urgency=medium
 
   [ Frode Nordahl ]
diff --git a/include/openvswitch/version.h b/include/openvswitch/version.h
index da390f8..434e0f4 100644
--- a/include/openvswitch/version.h
+++ b/include/openvswitch/version.h
@@ -18,8 +18,8 @@
 #ifndef OPENVSWITCH_VERSION_H
 #define OPENVSWITCH_VERSION_H 1
 
-#define OVS_PACKAGE_STRING  "openvswitch 3.0.0"
-#define OVS_PACKAGE_VERSION "3.0.0"
+#define OVS_PACKAGE_STRING  "openvswitch 3.0.1"
+#define OVS_PACKAGE_VERSION "3.0.1"
 
 #define OVS_LIB_VERSION     0
 #define OVS_LIB_REVISION    0
diff --git a/lib/daemon-unix.c b/lib/daemon-unix.c
index 52f3d4b..1a7ba42 100644
--- a/lib/daemon-unix.c
+++ b/lib/daemon-unix.c
@@ -396,6 +396,8 @@ monitor_daemon(pid_t daemon_pid)
                 }
 
                 log_received_backtrace(daemonize_fd);
+                close(daemonize_fd);
+                daemonize_fd = -1;
 
                 /* Throttle restarts to no more than once every 10 seconds. */
                 if (time(NULL) < last_restart + 10) {
diff --git a/lib/dhparams.c b/lib/dhparams.c
index 8512386..50209d5 100644
--- a/lib/dhparams.c
+++ b/lib/dhparams.c
@@ -6,6 +6,7 @@
 #include "lib/dhparams.h"
 #include "openvswitch/util.h"
 
+#if OPENSSL_VERSION_NUMBER < 0x3000000fL
 static int
 my_DH_set0_pqg(DH *dh, BIGNUM *p, const BIGNUM **q OVS_UNUSED, BIGNUM *g)
 {
@@ -142,3 +143,4 @@ DH *get_dh4096(void)
     }
     return dh;
 }
+#endif
diff --git a/lib/dpif-netlink.c b/lib/dpif-netlink.c
index e5f72ef..a620a6e 100644
--- a/lib/dpif-netlink.c
+++ b/lib/dpif-netlink.c
@@ -2257,8 +2257,6 @@ parse_flow_put(struct dpif_netlink *dpif, struct dpif_flow_put *put)
     size_t left;
     struct netdev *dev;
     struct offload_info info;
-    ovs_be16 dst_port = 0;
-    uint8_t csum_on = false;
     int err;
 
     info.tc_modify_flow_deleted = false;
@@ -2278,10 +2276,9 @@ parse_flow_put(struct dpif_netlink *dpif, struct dpif_flow_put *put)
         return EOPNOTSUPP;
     }
 
-    /* Get tunnel dst port */
+    /* Check the output port for a tunnel. */
     NL_ATTR_FOR_EACH(nla, left, put->actions, put->actions_len) {
         if (nl_attr_type(nla) == OVS_ACTION_ATTR_OUTPUT) {
-            const struct netdev_tunnel_config *tnl_cfg;
             struct netdev *outdev;
             odp_port_t out_port;
 
@@ -2291,19 +2288,10 @@ parse_flow_put(struct dpif_netlink *dpif, struct dpif_flow_put *put)
                 err = EOPNOTSUPP;
                 goto out;
             }
-            tnl_cfg = netdev_get_tunnel_config(outdev);
-            if (tnl_cfg && tnl_cfg->dst_port != 0) {
-                dst_port = tnl_cfg->dst_port;
-            }
-            if (tnl_cfg) {
-                csum_on = tnl_cfg->csum;
-            }
             netdev_close(outdev);
         }
     }
 
-    info.tp_dst_port = dst_port;
-    info.tunnel_csum_on = csum_on;
     info.recirc_id_shared_with_tc = (dpif->user_features
                                      & OVS_DP_F_TC_RECIRC_SHARING);
     err = netdev_flow_put(dev, &match,
diff --git a/lib/netdev-linux.c b/lib/netdev-linux.c
index 2a2b7b5..cdc6624 100644
--- a/lib/netdev-linux.c
+++ b/lib/netdev-linux.c
@@ -247,6 +247,14 @@ enum {
     VALID_NUMA_ID           = 1 << 8,
 };
 
+/* Linux 4.4 introduced the ability to skip the internal stats gathering
+ * that netlink does via an external filter mask that can be passed into
+ * a netlink request.
+ */
+#ifndef RTEXT_FILTER_SKIP_STATS
+#define RTEXT_FILTER_SKIP_STATS (1 << 3)
+#endif
+
 /* Use one for the packet buffer and another for the aux buffer to receive
  * TSO packets. */
 #define IOV_STD_SIZE 1
@@ -6579,6 +6587,9 @@ netdev_linux_update_via_netlink(struct netdev_linux *netdev)
     if (netdev_linux_netnsid_is_remote(netdev)) {
         nl_msg_put_u32(&request, IFLA_IF_NETNSID, netdev->netnsid);
     }
+
+    nl_msg_put_u32(&request, IFLA_EXT_MASK, RTEXT_FILTER_SKIP_STATS);
+
     error = nl_transact(NETLINK_ROUTE, &request, &reply);
     ofpbuf_uninit(&request);
     if (error) {
diff --git a/lib/netdev-offload-tc.c b/lib/netdev-offload-tc.c
index c466fe9..f6f90a7 100644
--- a/lib/netdev-offload-tc.c
+++ b/lib/netdev-offload-tc.c
@@ -585,30 +585,42 @@ flower_tun_opt_to_match(struct match *match, struct tc_flower *flower)
     struct geneve_opt *opt, *opt_mask;
     int len, cnt = 0;
 
+    /* Options are always in UDPIF format in the 'flower'. */
+    match->flow.tunnel.flags |= FLOW_TNL_F_UDPIF;
+    match->wc.masks.tunnel.flags |= FLOW_TNL_F_UDPIF;
+
+    match->flow.tunnel.metadata.present.len =
+           flower->key.tunnel.metadata.present.len;
+    /* In the 'flower' mask len is an actual length, not a mask.  But in the
+     * 'match' it is an actual mask, so should be an exact match, because TC
+     * will always match on the exact value. */
+    match->wc.masks.tunnel.metadata.present.len = 0xff;
+
+    if (!flower->key.tunnel.metadata.present.len) {
+        /* No options present. */
+        return;
+    }
+
     memcpy(match->flow.tunnel.metadata.opts.gnv,
            flower->key.tunnel.metadata.opts.gnv,
            flower->key.tunnel.metadata.present.len);
-    match->flow.tunnel.metadata.present.len =
-           flower->key.tunnel.metadata.present.len;
-    match->flow.tunnel.flags |= FLOW_TNL_F_UDPIF;
     memcpy(match->wc.masks.tunnel.metadata.opts.gnv,
            flower->mask.tunnel.metadata.opts.gnv,
            flower->mask.tunnel.metadata.present.len);
 
+    /* Fixing up 'length' fields of particular options, since these are
+     * also not masks, but actual lengths in the 'flower' structure. */
     len = flower->key.tunnel.metadata.present.len;
     while (len) {
         opt = &match->flow.tunnel.metadata.opts.gnv[cnt];
         opt_mask = &match->wc.masks.tunnel.metadata.opts.gnv[cnt];
 
+        /* "Exact" match as set in tun_metadata_to_geneve_mask__(). */
         opt_mask->length = 0x1f;
 
         cnt += sizeof(struct geneve_opt) / 4 + opt->length;
         len -= sizeof(struct geneve_opt) + opt->length * 4;
     }
-
-    match->wc.masks.tunnel.metadata.present.len =
-           flower->mask.tunnel.metadata.present.len;
-    match->wc.masks.tunnel.flags |= FLOW_TNL_F_UDPIF;
 }
 
 static void
@@ -921,7 +933,8 @@ parse_tc_flower_to_actions(struct tc_flower *flower,
 }
 
 static int
-parse_tc_flower_to_match(struct tc_flower *flower,
+parse_tc_flower_to_match(const struct netdev *netdev,
+                         struct tc_flower *flower,
                          struct match *match,
                          struct nlattr **actions,
                          struct dpif_flow_stats *stats,
@@ -1105,18 +1118,24 @@ parse_tc_flower_to_match(struct tc_flower *flower,
                                           &flower->key.tunnel.ipv6.ipv6_src,
                                           &flower->mask.tunnel.ipv6.ipv6_src);
         }
-        if (flower->key.tunnel.tos) {
+        if (flower->mask.tunnel.tos) {
             match_set_tun_tos_masked(match, flower->key.tunnel.tos,
                                      flower->mask.tunnel.tos);
         }
-        if (flower->key.tunnel.ttl) {
+        if (flower->mask.tunnel.ttl) {
             match_set_tun_ttl_masked(match, flower->key.tunnel.ttl,
                                      flower->mask.tunnel.ttl);
         }
-        if (flower->key.tunnel.tp_dst) {
-            match_set_tun_tp_dst(match, flower->key.tunnel.tp_dst);
+        if (flower->mask.tunnel.tp_src) {
+            match_set_tun_tp_dst_masked(match, flower->key.tunnel.tp_src,
+                                        flower->mask.tunnel.tp_src);
+        }
+        if (flower->mask.tunnel.tp_dst) {
+            match_set_tun_tp_dst_masked(match, flower->key.tunnel.tp_dst,
+                                        flower->mask.tunnel.tp_dst);
         }
-        if (flower->key.tunnel.metadata.present.len) {
+
+        if (!strcmp(netdev_get_type(netdev), "geneve")) {
             flower_tun_opt_to_match(match, flower);
         }
     }
@@ -1159,8 +1178,8 @@ netdev_tc_flow_dump_next(struct netdev_flow_dump *dump,
             continue;
         }
 
-        if (parse_tc_flower_to_match(&flower, match, actions, stats, attrs,
-                                     wbuffer, dump->terse)) {
+        if (parse_tc_flower_to_match(netdev, &flower, match, actions,
+                                     stats, attrs, wbuffer, dump->terse)) {
             continue;
         }
 
@@ -1387,6 +1406,7 @@ static int
 parse_put_flow_set_action(struct tc_flower *flower, struct tc_action *action,
                           const struct nlattr *set, size_t set_len)
 {
+    static struct vlog_rate_limit rl = VLOG_RATE_LIMIT_INIT(5, 20);
     const struct nlattr *tunnel;
     const struct nlattr *tun_attr;
     size_t tun_left, tunnel_len;
@@ -1405,6 +1425,7 @@ parse_put_flow_set_action(struct tc_flower *flower, struct tc_action *action,
 
     action->type = TC_ACT_ENCAP;
     action->encap.id_present = false;
+    action->encap.no_csum = 1;
     flower->action_count++;
     NL_ATTR_FOR_EACH_UNSAFE(tun_attr, tun_left, tunnel, tunnel_len) {
         switch (nl_attr_type(tun_attr)) {
@@ -1429,6 +1450,18 @@ parse_put_flow_set_action(struct tc_flower *flower, struct tc_action *action,
             action->encap.ttl = nl_attr_get_u8(tun_attr);
         }
         break;
+        case OVS_TUNNEL_KEY_ATTR_DONT_FRAGMENT: {
+            /* XXX: This is wrong!  We're ignoring the DF flag configuration
+             * requested by the user.  However, TC for now has no way to pass
+             * that flag and it is set by default, meaning tunnel offloading
+             * will not work if 'options:df_default=false' is not set.
+             * Keeping incorrect behavior for now. */
+        }
+        break;
+        case OVS_TUNNEL_KEY_ATTR_CSUM: {
+            action->encap.no_csum = 0;
+        }
+        break;
         case OVS_TUNNEL_KEY_ATTR_IPV6_SRC: {
             action->encap.ipv6.ipv6_src =
                 nl_attr_get_in6_addr(tun_attr);
@@ -1453,6 +1486,10 @@ parse_put_flow_set_action(struct tc_flower *flower, struct tc_action *action,
             action->encap.data.present.len = nl_attr_get_size(tun_attr);
         }
         break;
+        default:
+            VLOG_DBG_RL(&rl, "unsupported tunnel key attribute %d",
+                        nl_attr_type(tun_attr));
+            return EOPNOTSUPP;
         }
     }
 
@@ -1581,18 +1618,51 @@ test_key_and_mask(struct match *match)
 
 static void
 flower_match_to_tun_opt(struct tc_flower *flower, const struct flow_tnl *tnl,
-                        const struct flow_tnl *tnl_mask)
+                        struct flow_tnl *tnl_mask)
 {
     struct geneve_opt *opt, *opt_mask;
     int len, cnt = 0;
 
-    memcpy(flower->key.tunnel.metadata.opts.gnv, tnl->metadata.opts.gnv,
-           tnl->metadata.present.len);
+    /* 'flower' always has an exact match on tunnel metadata length, so having
+     * it in a wrong format is not acceptable unless it is empty. */
+    if (!(tnl->flags & FLOW_TNL_F_UDPIF)) {
+        if (tnl->metadata.present.map) {
+            /* XXX: Add non-UDPIF format parsing here? */
+            VLOG_WARN_RL(&warn_rl, "Tunnel options are in the wrong format.");
+        } else {
+            /* There are no options, that equals for them to be in UDPIF format
+             * with a zero 'len'.  Clearing the 'map' mask as consumed.
+             * No need to explicitly set 'len' to zero in the 'flower'. */
+            tnl_mask->flags &= ~FLOW_TNL_F_UDPIF;
+            memset(&tnl_mask->metadata.present.map, 0,
+                   sizeof tnl_mask->metadata.present.map);
+        }
+        return;
+    }
+
+    tnl_mask->flags &= ~FLOW_TNL_F_UDPIF;
+
     flower->key.tunnel.metadata.present.len = tnl->metadata.present.len;
+    /* Copying from the key and not from the mask, since in the 'flower'
+     * the length for a mask is not a mask, but the actual length.  TC
+     * will use an exact match for the length. */
+    flower->mask.tunnel.metadata.present.len = tnl->metadata.present.len;
+    memset(&tnl_mask->metadata.present.len, 0,
+           sizeof tnl_mask->metadata.present.len);
+
+    if (!tnl->metadata.present.len) {
+        return;
+    }
 
+    memcpy(flower->key.tunnel.metadata.opts.gnv, tnl->metadata.opts.gnv,
+           tnl->metadata.present.len);
     memcpy(flower->mask.tunnel.metadata.opts.gnv, tnl_mask->metadata.opts.gnv,
            tnl->metadata.present.len);
 
+    memset(tnl_mask->metadata.opts.gnv, 0, tnl->metadata.present.len);
+
+    /* Fixing up 'length' fields of particular options, since these are
+     * also not masks, but actual lengths in the 'flower' structure. */
     len = flower->key.tunnel.metadata.present.len;
     while (len) {
         opt = &flower->key.tunnel.metadata.opts.gnv[cnt];
@@ -1603,8 +1673,6 @@ flower_match_to_tun_opt(struct tc_flower *flower, const struct flow_tnl *tnl,
         cnt += sizeof(struct geneve_opt) / 4 + opt->length;
         len -= sizeof(struct geneve_opt) + opt->length * 4;
     }
-
-    flower->mask.tunnel.metadata.present.len = tnl->metadata.present.len;
 }
 
 static void
@@ -1893,10 +1961,6 @@ netdev_tc_parse_nl_actions(struct netdev *netdev, struct tc_flower *flower,
             if (err) {
                 return err;
             }
-            if (action->type == TC_ACT_ENCAP) {
-                action->encap.tp_dst = info->tp_dst_port;
-                action->encap.no_csum = !info->tunnel_csum_on;
-            }
         } else if (nl_attr_type(nla) == OVS_ACTION_ATTR_SET_MASKED) {
             const struct nlattr *set = nl_attr_get(nla);
             const size_t set_len = nl_attr_get_size(nla);
@@ -1972,7 +2036,7 @@ netdev_tc_flow_put(struct netdev *netdev, struct match *match,
     const struct flow *key = &match->flow;
     struct flow *mask = &match->wc.masks;
     const struct flow_tnl *tnl = &match->flow.tunnel;
-    const struct flow_tnl *tnl_mask = &mask->tunnel;
+    struct flow_tnl *tnl_mask = &mask->tunnel;
     bool recirc_act = false;
     uint32_t block_id = 0;
     struct tcf_id id;
@@ -2010,17 +2074,49 @@ netdev_tc_flow_put(struct netdev *netdev, struct match *match,
         flower.key.tunnel.ttl = tnl->ip_ttl;
         flower.key.tunnel.tp_src = tnl->tp_src;
         flower.key.tunnel.tp_dst = tnl->tp_dst;
+
         flower.mask.tunnel.ipv4.ipv4_src = tnl_mask->ip_src;
         flower.mask.tunnel.ipv4.ipv4_dst = tnl_mask->ip_dst;
         flower.mask.tunnel.ipv6.ipv6_src = tnl_mask->ipv6_src;
         flower.mask.tunnel.ipv6.ipv6_dst = tnl_mask->ipv6_dst;
         flower.mask.tunnel.tos = tnl_mask->ip_tos;
         flower.mask.tunnel.ttl = tnl_mask->ip_ttl;
+        flower.mask.tunnel.tp_src = tnl_mask->tp_src;
+        /* XXX: We should be setting the mask from 'tnl_mask->tp_dst' here, but
+         * some hardware drivers (mlx5) doesn't support masked matches and will
+         * refuse to offload such flows keeping them in software path.
+         * Degrading the flow down to exact match for now as a workaround. */
+        flower.mask.tunnel.tp_dst = OVS_BE16_MAX;
         flower.mask.tunnel.id = (tnl->flags & FLOW_TNL_F_KEY) ? tnl_mask->tun_id : 0;
-        flower_match_to_tun_opt(&flower, tnl, tnl_mask);
+
+        memset(&tnl_mask->ip_src, 0, sizeof tnl_mask->ip_src);
+        memset(&tnl_mask->ip_dst, 0, sizeof tnl_mask->ip_dst);
+        memset(&tnl_mask->ipv6_src, 0, sizeof tnl_mask->ipv6_src);
+        memset(&tnl_mask->ipv6_dst, 0, sizeof tnl_mask->ipv6_dst);
+        memset(&tnl_mask->ip_tos, 0, sizeof tnl_mask->ip_tos);
+        memset(&tnl_mask->ip_ttl, 0, sizeof tnl_mask->ip_ttl);
+        memset(&tnl_mask->tp_src, 0, sizeof tnl_mask->tp_src);
+        memset(&tnl_mask->tp_dst, 0, sizeof tnl_mask->tp_dst);
+
+        memset(&tnl_mask->tun_id, 0, sizeof tnl_mask->tun_id);
+        tnl_mask->flags &= ~FLOW_TNL_F_KEY;
+
+        /* XXX: This is wrong!  We're ignoring DF and CSUM flags configuration
+         * requested by the user.  However, TC for now has no way to pass
+         * these flags in a flower key and their masks are set by default,
+         * meaning tunnel offloading will not work at all if not cleared.
+         * Keeping incorrect behavior for now. */
+        tnl_mask->flags &= ~(FLOW_TNL_F_DONT_FRAGMENT | FLOW_TNL_F_CSUM);
+
+        if (!strcmp(netdev_get_type(netdev), "geneve")) {
+            flower_match_to_tun_opt(&flower, tnl, tnl_mask);
+        }
         flower.tunnel = true;
+    } else {
+        /* There is no tunnel metadata to match on, but there could be some
+         * mask bits set due to flow translation artifacts.  Clear them. */
+        memset(&mask->tunnel, 0, sizeof mask->tunnel);
     }
-    memset(&mask->tunnel, 0, sizeof mask->tunnel);
 
     flower.key.eth_type = key->dl_type;
     flower.mask.eth_type = mask->dl_type;
@@ -2294,7 +2390,8 @@ netdev_tc_flow_get(struct netdev *netdev,
     }
 
     in_port = netdev_ifindex_to_odp_port(id.ifindex);
-    parse_tc_flower_to_match(&flower, match, actions, stats, attrs, buf, false);
+    parse_tc_flower_to_match(netdev, &flower, match, actions,
+                             stats, attrs, buf, false);
 
     match->wc.masks.in_port.odp_port = u32_to_odp(UINT32_MAX);
     match->flow.in_port.odp_port = in_port;
diff --git a/lib/netdev-offload.h b/lib/netdev-offload.h
index 249a310..180d3f9 100644
--- a/lib/netdev-offload.h
+++ b/lib/netdev-offload.h
@@ -66,9 +66,6 @@ struct netdev_flow_dump {
 
 /* Flow offloading. */
 struct offload_info {
-    ovs_be16 tp_dst_port; /* Destination port for tunnel in SET action */
-    uint8_t tunnel_csum_on; /* Tunnel header with checksum */
-
     bool recirc_id_shared_with_tc;  /* Indicates whever tc chains will be in
                                      * sync with datapath recirc ids. */
 
diff --git a/lib/ovsdb-idl.c b/lib/ovsdb-idl.c
index 576979f..99b5842 100644
--- a/lib/ovsdb-idl.c
+++ b/lib/ovsdb-idl.c
@@ -2419,6 +2419,10 @@ ovsdb_idl_insert_row(struct ovsdb_idl_row *row, const struct shash *data)
 static void
 ovsdb_idl_delete_row(struct ovsdb_idl_row *row)
 {
+    /* If row has to be reparsed, reparse it before it's deleted. */
+    if (!ovs_list_is_empty(&row->reparse_node)) {
+        ovsdb_idl_row_parse(row);
+    }
     ovsdb_idl_remove_from_indexes(row);
     ovsdb_idl_row_clear_arcs(row, true);
     ovsdb_idl_row_destroy(row);
diff --git a/lib/stream-ssl.c b/lib/stream-ssl.c
index f4fe343..62da9fe 100644
--- a/lib/stream-ssl.c
+++ b/lib/stream-ssl.c
@@ -193,7 +193,9 @@ static void ssl_clear_txbuf(struct ssl_stream *);
 static void interpret_queued_ssl_error(const char *function);
 static int interpret_ssl_error(const char *function, int ret, int error,
                                int *want);
+#if OPENSSL_VERSION_NUMBER < 0x3000000fL
 static DH *tmp_dh_callback(SSL *ssl, int is_export OVS_UNUSED, int keylength);
+#endif
 static void log_ca_cert(const char *file_name, X509 *cert);
 static void stream_ssl_set_ca_cert_file__(const char *file_name,
                                           bool bootstrap, bool force);
@@ -471,7 +473,11 @@ static char *
 get_peer_common_name(const struct ssl_stream *sslv)
 {
     char *peer_name = NULL;
+#if OPENSSL_VERSION_NUMBER < 0x3000000fL
     X509 *peer_cert = SSL_get_peer_certificate(sslv->ssl);
+#else
+    X509 *peer_cert = SSL_get1_peer_certificate(sslv->ssl);
+#endif
     if (!peer_cert) {
         return NULL;
     }
@@ -1070,7 +1076,11 @@ do_ssl_init(void)
         return ENOPROTOOPT;
     }
     SSL_CTX_set_options(ctx, SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3);
+#if OPENSSL_VERSION_NUMBER < 0x3000000fL
     SSL_CTX_set_tmp_dh_callback(ctx, tmp_dh_callback);
+#else
+    SSL_CTX_set_dh_auto(ctx, 1);
+#endif
     SSL_CTX_set_mode(ctx, SSL_MODE_ENABLE_PARTIAL_WRITE);
     SSL_CTX_set_mode(ctx, SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER);
     SSL_CTX_set_verify(ctx, SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT,
@@ -1081,6 +1091,7 @@ do_ssl_init(void)
     return 0;
 }
 
+#if OPENSSL_VERSION_NUMBER < 0x3000000fL
 static DH *
 tmp_dh_callback(SSL *ssl OVS_UNUSED, int is_export OVS_UNUSED, int keylength)
 {
@@ -1112,6 +1123,7 @@ tmp_dh_callback(SSL *ssl OVS_UNUSED, int is_export OVS_UNUSED, int keylength)
                 keylength);
     return NULL;
 }
+#endif
 
 /* Returns true if SSL is at least partially configured. */
 bool
diff --git a/lib/tc.c b/lib/tc.c
index aaeb770..94044cd 100644
--- a/lib/tc.c
+++ b/lib/tc.c
@@ -409,8 +409,14 @@ static const struct nl_policy tca_flower_policy[] = {
     [TCA_FLOWER_KEY_ENC_IPV6_DST_MASK] = { .type = NL_A_UNSPEC,
                                            .min_len = sizeof(struct in6_addr),
                                            .optional = true, },
+    [TCA_FLOWER_KEY_ENC_UDP_SRC_PORT] = { .type = NL_A_U16,
+                                          .optional = true, },
+    [TCA_FLOWER_KEY_ENC_UDP_SRC_PORT_MASK] = { .type = NL_A_U16,
+                                               .optional = true, },
     [TCA_FLOWER_KEY_ENC_UDP_DST_PORT] = { .type = NL_A_U16,
                                           .optional = true, },
+    [TCA_FLOWER_KEY_ENC_UDP_DST_PORT_MASK] = { .type = NL_A_U16,
+                                               .optional = true, },
     [TCA_FLOWER_KEY_FLAGS] = { .type = NL_A_BE32, .optional = true, },
     [TCA_FLOWER_KEY_FLAGS_MASK] = { .type = NL_A_BE32, .optional = true, },
     [TCA_FLOWER_KEY_IP_TTL] = { .type = NL_A_U8,
@@ -721,15 +727,17 @@ flower_tun_geneve_opt_check_len(struct tun_metadata *key,
     const struct geneve_opt *opt, *opt_mask;
     int len, cnt = 0;
 
+    if (key->present.len != mask->present.len) {
+        goto bad_length;
+    }
+
     len = key->present.len;
     while (len) {
         opt = &key->opts.gnv[cnt];
         opt_mask = &mask->opts.gnv[cnt];
 
         if (opt->length != opt_mask->length) {
-            VLOG_ERR_RL(&error_rl,
-                        "failed to parse tun options; key/mask length differ");
-            return EINVAL;
+            goto bad_length;
         }
 
         cnt += sizeof(struct geneve_opt) / 4 + opt->length;
@@ -737,6 +745,11 @@ flower_tun_geneve_opt_check_len(struct tun_metadata *key,
     }
 
     return 0;
+
+bad_length:
+    VLOG_ERR_RL(&error_rl,
+                "failed to parse tun options; key/mask length differ");
+    return EINVAL;
 }
 
 static int
@@ -774,7 +787,15 @@ nl_parse_flower_tunnel(struct nlattr **attrs, struct tc_flower *flower)
         flower->key.tunnel.ipv6.ipv6_dst =
             nl_attr_get_in6_addr(attrs[TCA_FLOWER_KEY_ENC_IPV6_DST]);
     }
-    if (attrs[TCA_FLOWER_KEY_ENC_UDP_DST_PORT]) {
+    if (attrs[TCA_FLOWER_KEY_ENC_UDP_SRC_PORT_MASK]) {
+        flower->mask.tunnel.tp_src =
+            nl_attr_get_be16(attrs[TCA_FLOWER_KEY_ENC_UDP_SRC_PORT_MASK]);
+        flower->key.tunnel.tp_src =
+            nl_attr_get_be16(attrs[TCA_FLOWER_KEY_ENC_UDP_SRC_PORT]);
+    }
+    if (attrs[TCA_FLOWER_KEY_ENC_UDP_DST_PORT_MASK]) {
+        flower->mask.tunnel.tp_dst =
+            nl_attr_get_be16(attrs[TCA_FLOWER_KEY_ENC_UDP_DST_PORT_MASK]);
         flower->key.tunnel.tp_dst =
             nl_attr_get_be16(attrs[TCA_FLOWER_KEY_ENC_UDP_DST_PORT]);
     }
@@ -1883,6 +1904,8 @@ nl_parse_single_action(struct nlattr *action, struct tc_flower *flower,
     struct nlattr *act_cookie;
     const char *act_kind;
     struct nlattr *action_attrs[ARRAY_SIZE(act_policy)];
+    int act_index = flower->action_count;
+    bool is_meter = false;
     int err = 0;
 
     if (!nl_parse_nested(action, act_policy, action_attrs,
@@ -1920,6 +1943,7 @@ nl_parse_single_action(struct nlattr *action, struct tc_flower *flower,
         nl_parse_act_ct(act_options, flower);
     } else if (!strcmp(act_kind, "police")) {
         nl_parse_act_police(act_options, flower);
+        is_meter = tc_is_meter_index(flower->actions[act_index].police.index);
     } else {
         VLOG_ERR_RL(&error_rl, "unknown tc action kind: %s", act_kind);
         err = EINVAL;
@@ -1934,6 +1958,14 @@ nl_parse_single_action(struct nlattr *action, struct tc_flower *flower,
         flower->act_cookie.len = nl_attr_get_size(act_cookie);
     }
 
+    /* Skip the stats update when act_police is meter since there are always
+     * some other actions following meter. For other potential kinds of
+     * act_police actions, whose stats could not be skipped (e.g. filter has
+     * only one police action), update the action stats to the flow rule. */
+    if (is_meter) {
+        return 0;
+    }
+
     return nl_parse_action_stats(action_attrs[TCA_ACT_STATS],
                                  &flower->stats_sw, &flower->stats_hw, NULL);
 }
@@ -3381,13 +3413,16 @@ nl_msg_put_flower_tunnel(struct ofpbuf *request, struct tc_flower *flower)
     struct in6_addr *ipv6_dst_mask = &flower->mask.tunnel.ipv6.ipv6_dst;
     struct in6_addr *ipv6_src = &flower->key.tunnel.ipv6.ipv6_src;
     struct in6_addr *ipv6_dst = &flower->key.tunnel.ipv6.ipv6_dst;
-    ovs_be16 tp_dst = flower->key.tunnel.tp_dst;
     ovs_be32 id = be64_to_be32(flower->key.tunnel.id);
+    ovs_be16 tp_src = flower->key.tunnel.tp_src;
+    ovs_be16 tp_dst = flower->key.tunnel.tp_dst;
     uint8_t tos = flower->key.tunnel.tos;
     uint8_t ttl = flower->key.tunnel.ttl;
     uint8_t tos_mask = flower->mask.tunnel.tos;
     uint8_t ttl_mask = flower->mask.tunnel.ttl;
     ovs_be64 id_mask = flower->mask.tunnel.id;
+    ovs_be16 tp_src_mask = flower->mask.tunnel.tp_src;
+    ovs_be16 tp_dst_mask = flower->mask.tunnel.tp_dst;
 
     if (ipv4_dst_mask || ipv4_src_mask) {
         nl_msg_put_be32(request, TCA_FLOWER_KEY_ENC_IPV4_DST_MASK,
@@ -3413,8 +3448,15 @@ nl_msg_put_flower_tunnel(struct ofpbuf *request, struct tc_flower *flower)
         nl_msg_put_u8(request, TCA_FLOWER_KEY_ENC_IP_TTL, ttl);
         nl_msg_put_u8(request, TCA_FLOWER_KEY_ENC_IP_TTL_MASK, ttl_mask);
     }
-    if (tp_dst) {
+    if (tp_src_mask) {
+        nl_msg_put_be16(request, TCA_FLOWER_KEY_ENC_UDP_SRC_PORT, tp_src);
+        nl_msg_put_be16(request, TCA_FLOWER_KEY_ENC_UDP_SRC_PORT_MASK,
+                        tp_src_mask);
+    }
+    if (tp_dst_mask) {
         nl_msg_put_be16(request, TCA_FLOWER_KEY_ENC_UDP_DST_PORT, tp_dst);
+        nl_msg_put_be16(request, TCA_FLOWER_KEY_ENC_UDP_DST_PORT_MASK,
+                        tp_dst_mask);
     }
     if (id_mask) {
         nl_msg_put_be32(request, TCA_FLOWER_KEY_ENC_KEY_ID, id);
diff --git a/m4/openvswitch.m4 b/m4/openvswitch.m4
index b5be584..14d9249 100644
--- a/m4/openvswitch.m4
+++ b/m4/openvswitch.m4
@@ -494,8 +494,8 @@ AC_DEFUN([OVS_CHECK_BINUTILS_AVX512],
      mkdir -p build-aux
      OBJFILE=build-aux/binutils_avx512_check.o
      GATHER_PARAMS='0x8(,%ymm1,1),%ymm0{%k2}'
-     echo "vpgatherqq $GATHER_PARAMS" | as --64 -o $OBJFILE -
      if ($CC -dumpmachine | grep x86_64) >/dev/null 2>&1; then
+       echo "vpgatherqq $GATHER_PARAMS" | as --64 -o $OBJFILE -
        if (objdump -d  --no-show-raw-insn $OBJFILE | grep -q $GATHER_PARAMS) >/dev/null 2>&1; then
          ovs_cv_binutils_avx512_good=yes
        else
@@ -504,11 +504,11 @@ AC_DEFUN([OVS_CHECK_BINUTILS_AVX512],
          dnl and causing zmm usage with buggy binutils versions.
          CFLAGS="$CFLAGS -mno-avx512f"
        fi
+       rm $OBJFILE
      else
        dnl non x86_64 architectures don't have avx512, so not affected
        ovs_cv_binutils_avx512_good=no
      fi])
-     rm $OBJFILE
    if test "$ovs_cv_binutils_avx512_good" = yes; then
      AC_DEFINE([HAVE_LD_AVX512_GOOD], [1],
                [Define to 1 if binutils correctly supports AVX512.])
diff --git a/ofproto/bond.c b/ofproto/bond.c
index f06cf20..47630a6 100644
--- a/ofproto/bond.c
+++ b/ofproto/bond.c
@@ -187,10 +187,14 @@ static struct bond_member *choose_output_member(const struct bond *,
                                                 uint16_t vlan)
     OVS_REQ_RDLOCK(rwlock);
 static void update_recirc_rules__(struct bond *);
+static bool bond_may_recirc(const struct bond *);
+static void bond_update_post_recirc_rules__(struct bond *, bool force)
+    OVS_REQ_WRLOCK(rwlock);
 static bool bond_is_falling_back_to_ab(const struct bond *);
 static void bond_add_lb_output_buckets(const struct bond *);
 static void bond_del_lb_output_buckets(const struct bond *);
 
+
 /* Attempts to parse 's' as the name of a bond balancing mode.  If successful,
  * stores the mode in '*balance' and returns true.  Otherwise returns false
  * without modifying '*balance'. */
@@ -515,6 +519,12 @@ bond_reconfigure(struct bond *bond, const struct bond_settings *s)
         bond_entry_reset(bond);
     }
 
+    if (bond->ofproto->backer->rt_support.odp.recirc
+        && bond_may_recirc(bond)) {
+        /* Update rules to reflect possible recirc_id changes. */
+        update_recirc_rules(bond);
+    }
+
     ovs_rwlock_unlock(&rwlock);
     return revalidate;
 }
@@ -728,6 +738,12 @@ bond_run(struct bond *bond, enum lacp_status lacp_status)
         bond_choose_active_member(bond);
     }
 
+    if (bond->ofproto->backer->rt_support.odp.recirc
+        && bond_may_recirc(bond)) {
+        /* Update rules to reflect possible link state changes. */
+        bond_update_post_recirc_rules__(bond, false);
+    }
+
     revalidate = bond->bond_revalidate;
     bond->bond_revalidate = false;
     ovs_rwlock_unlock(&rwlock);
@@ -1091,6 +1107,19 @@ bond_update_post_recirc_rules(struct bond *bond, uint32_t *recirc_id,
     }
 }
 
+void
+bond_get_recirc_id_and_hash_basis(struct bond *bond, uint32_t *recirc_id,
+                                  uint32_t *hash_basis)
+{
+    ovs_rwlock_rdlock(&rwlock);
+    if (bond_may_recirc(bond)) {
+        *recirc_id = bond->recirc_id;
+        *hash_basis = bond->basis;
+    } else {
+        *recirc_id = *hash_basis = 0;
+    }
+    ovs_rwlock_unlock(&rwlock);
+}
 
 /* Rebalancing. */
 
diff --git a/ofproto/bond.h b/ofproto/bond.h
index 2eb0c95..3aa5c64 100644
--- a/ofproto/bond.h
+++ b/ofproto/bond.h
@@ -131,6 +131,9 @@ void bond_rebalance(struct bond *);
 void bond_update_post_recirc_rules(struct bond *, uint32_t *recirc_id,
                                    uint32_t *hash_basis);
 
+void bond_get_recirc_id_and_hash_basis(struct bond *, uint32_t *recirc_id,
+                                       uint32_t *hash_basis);
+
 bool bond_use_lb_output_action(const struct bond *bond);
 
 #endif /* bond.h */
diff --git a/ofproto/ofproto-dpif-upcall.c b/ofproto/ofproto-dpif-upcall.c
index 57f94df..fe47090 100644
--- a/ofproto/ofproto-dpif-upcall.c
+++ b/ofproto/ofproto-dpif-upcall.c
@@ -362,6 +362,10 @@ static void upcall_unixctl_dump_wait(struct unixctl_conn *conn, int argc,
                                      const char *argv[], void *aux);
 static void upcall_unixctl_purge(struct unixctl_conn *conn, int argc,
                                  const char *argv[], void *aux);
+static void upcall_unixctl_pause(struct unixctl_conn *conn, int argc,
+                                 const char *argv[], void *aux);
+static void upcall_unixctl_resume(struct unixctl_conn *conn, int argc,
+                                  const char *argv[], void *aux);
 
 static struct udpif_key *ukey_create_from_upcall(struct upcall *,
                                                  struct flow_wildcards *);
@@ -434,6 +438,10 @@ udpif_init(void)
                                  upcall_unixctl_dump_wait, NULL);
         unixctl_command_register("revalidator/purge", "", 0, 0,
                                  upcall_unixctl_purge, NULL);
+        unixctl_command_register("revalidator/pause", NULL, 0, 0,
+                                 upcall_unixctl_pause, NULL);
+        unixctl_command_register("revalidator/resume", NULL, 0, 0,
+                                 upcall_unixctl_resume, NULL);
         ovsthread_once_done(&once);
     }
 }
@@ -3099,6 +3107,31 @@ upcall_unixctl_purge(struct unixctl_conn *conn, int argc OVS_UNUSED,
     unixctl_command_reply(conn, "");
 }
 
+static void
+upcall_unixctl_pause(struct unixctl_conn *conn, int argc OVS_UNUSED,
+                     const char *argv[] OVS_UNUSED, void *aux OVS_UNUSED)
+{
+    struct udpif *udpif;
+
+    LIST_FOR_EACH (udpif, list_node, &all_udpifs) {
+        udpif_pause_revalidators(udpif);
+    }
+    unixctl_command_reply(conn, "");
+}
+
+static void
+upcall_unixctl_resume(struct unixctl_conn *conn, int argc OVS_UNUSED,
+                      const char *argv[] OVS_UNUSED, void *aux OVS_UNUSED)
+{
+    struct udpif *udpif;
+
+    LIST_FOR_EACH (udpif, list_node, &all_udpifs) {
+        udpif_resume_revalidators(udpif);
+    }
+    unixctl_command_reply(conn, "");
+}
+
+
 /* Flows are sorted in the following order:
  * netdev, flow state (offloaded/kernel path), flow_pps_rate.
  */
diff --git a/ofproto/ofproto-dpif-xlate.c b/ofproto/ofproto-dpif-xlate.c
index fda802e..6d6c9bf 100644
--- a/ofproto/ofproto-dpif-xlate.c
+++ b/ofproto/ofproto-dpif-xlate.c
@@ -1515,7 +1515,7 @@ xlate_lookup_ofproto_(const struct dpif_backer *backer,
         if (OVS_UNLIKELY(!recirc_id_node)) {
             if (errorp) {
                 *errorp = xasprintf("no recirculation data for recirc_id "
-                                    "%"PRIu32, flow->recirc_id);
+                                    "%#"PRIx32, flow->recirc_id);
             }
             return NULL;
         }
@@ -1556,8 +1556,8 @@ xlate_lookup_ofproto_(const struct dpif_backer *backer,
         if (errorp) {
             *errorp = (tnl_port_should_receive(flow)
                        ? xstrdup("no OpenFlow tunnel port for this packet")
-                       : xasprintf("no OpenFlow tunnel port for datapath "
-                                   "port %"PRIu32, flow->in_port.odp_port));
+                       : xasprintf("no OpenFlow port for datapath port "
+                                   "%"PRIu32, flow->in_port.odp_port));
         }
         return NULL;
     }
@@ -2466,9 +2466,18 @@ output_normal(struct xlate_ctx *ctx, const struct xbundle *out_xbundle,
             /* In case recirculation is not actually in use, 'xr.recirc_id'
              * will be set to '0', since a valid 'recirc_id' can
              * not be zero.  */
-            bond_update_post_recirc_rules(out_xbundle->bond,
-                                          &xr.recirc_id,
-                                          &xr.hash_basis);
+            if (ctx->xin->allow_side_effects) {
+                bond_update_post_recirc_rules(out_xbundle->bond,
+                                              &xr.recirc_id,
+                                              &xr.hash_basis);
+            } else {
+                /* If side effects are not allowed, only getting the bond
+                 * configuration.  Rule updates will be handled by the
+                 * main thread later. */
+                bond_get_recirc_id_and_hash_basis(out_xbundle->bond,
+                                                  &xr.recirc_id,
+                                                  &xr.hash_basis);
+            }
             if (xr.recirc_id) {
                 /* Use recirculation instead of output. */
                 use_recirc = true;
@@ -7665,6 +7674,43 @@ xlate_wc_finish(struct xlate_ctx *ctx)
             ctx->wc->masks.vlans[i].tci = 0;
         }
     }
+    /* Clear tunnel wc bits if original packet is non-tunnel. */
+    if (!flow_tnl_dst_is_set(&ctx->xin->upcall_flow->tunnel)) {
+        memset(&ctx->wc->masks.tunnel, 0, sizeof ctx->wc->masks.tunnel);
+    }
+}
+
+/* This will optimize the odp actions generated. For now, it will remove
+ * trailing clone actions that are unnecessary. */
+static void
+xlate_optimize_odp_actions(struct xlate_in *xin)
+{
+    struct ofpbuf *actions = xin->odp_actions;
+    struct nlattr *last_action = NULL;
+    struct nlattr *a;
+    int left;
+
+    if (!actions) {
+        return;
+    }
+
+    /* Find the last action in the set. */
+    NL_ATTR_FOR_EACH (a, left, actions->data, actions->size) {
+        last_action = a;
+    }
+
+    /* Remove the trailing clone() action, by directly embedding the nested
+     * actions. */
+    if (last_action && nl_attr_type(last_action) == OVS_ACTION_ATTR_CLONE) {
+        void *dest;
+
+        nl_msg_reset_size(actions,
+                          (unsigned char *) last_action -
+                          (unsigned char *) actions->data);
+
+        dest = nl_msg_put_uninit(actions, nl_attr_get_size(last_action));
+        memmove(dest, nl_attr_get(last_action), nl_attr_get_size(last_action));
+    }
 }
 
 /* Translates the flow, actions, or rule in 'xin' into datapath actions in
@@ -8092,6 +8138,10 @@ exit:
         if (xin->odp_actions) {
             ofpbuf_clear(xin->odp_actions);
         }
+    } else {
+        /* In the non-error case, see if we can further optimize the datapath
+         * rules by removing redundant (clone) actions. */
+        xlate_optimize_odp_actions(xin);
     }
 
     /* Install drop action if datapath supports explicit drop action. */
diff --git a/ovsdb/raft.c b/ovsdb/raft.c
index b2c21e7..b2361b1 100644
--- a/ovsdb/raft.c
+++ b/ovsdb/raft.c
@@ -4039,7 +4039,7 @@ raft_write_snapshot(struct raft *raft, struct ovsdb_log *log,
     if (error) {
         return error;
     }
-    ovsdb_log_mark_base(raft->log);
+    ovsdb_log_mark_base(log);
 
     /* Write log records. */
     for (uint64_t index = new_log_start; index < raft->log_end; index++) {
diff --git a/package.m4 b/package.m4
index 6822be3..4362ebf 100644
--- a/package.m4
+++ b/package.m4
@@ -1,6 +1,6 @@
 # Signature of the current package.
 m4_define([AT_PACKAGE_NAME],      [openvswitch])
 m4_define([AT_PACKAGE_TARNAME],   [openvswitch])
-m4_define([AT_PACKAGE_VERSION],   [3.0.0])
-m4_define([AT_PACKAGE_STRING],    [openvswitch 3.0.0])
+m4_define([AT_PACKAGE_VERSION],   [3.0.1])
+m4_define([AT_PACKAGE_STRING],    [openvswitch 3.0.1])
 m4_define([AT_PACKAGE_BUGREPORT], [bugs@openvswitch.org])
diff --git a/python/ovs/db/idl.py b/python/ovs/db/idl.py
index 8f13d1f..8e31e02 100644
--- a/python/ovs/db/idl.py
+++ b/python/ovs/db/idl.py
@@ -1295,7 +1295,8 @@ class Row(object):
         return "{table}({data})".format(
             table=self._table.name,
             data=", ".join("{col}={val}".format(col=c, val=getattr(self, c))
-                           for c in sorted(self._table.columns)))
+                           for c in sorted(self._table.columns)
+                           if hasattr(self, c)))
 
     def _uuid_to_row(self, atom, base):
         if base.ref_table:
diff --git a/python/ovs/version.py b/python/ovs/version.py
index b0a7510..cd8a087 100644
--- a/python/ovs/version.py
+++ b/python/ovs/version.py
@@ -1,2 +1,2 @@
 # Generated automatically -- do not modify!    -*- buffer-read-only: t -*-
-VERSION = "3.0.0"
+VERSION = "3.0.1"
diff --git a/rhel/openvswitch-fedora.spec b/rhel/openvswitch-fedora.spec
index b1b3515..a32762c 100644
--- a/rhel/openvswitch-fedora.spec
+++ b/rhel/openvswitch-fedora.spec
@@ -49,7 +49,7 @@ Name: openvswitch
 Summary: Open vSwitch
 Group: System Environment/Daemons
 URL: http://www.openvswitch.org/
-Version: 3.0.0
+Version: 3.0.1
 
 # Nearly all of openvswitch is ASL 2.0.  The bugtool is LGPLv2+, and the
 # lib/sflow*.[ch] files are SISSL
diff --git a/rhel/openvswitch.spec b/rhel/openvswitch.spec
index 1d0ce74..acb527b 100644
--- a/rhel/openvswitch.spec
+++ b/rhel/openvswitch.spec
@@ -27,7 +27,7 @@ Summary: Open vSwitch daemon/database/utilities
 Group: System Environment/Daemons
 URL: http://www.openvswitch.org/
 Vendor: Nicira, Inc.
-Version: 3.0.0
+Version: 3.0.1
 
 License: ASL 2.0
 Release: %{release_number}%{?dist}
diff --git a/tests/ofproto-dpif.at b/tests/ofproto-dpif.at
index 2e91ae1..371a35c 100644
--- a/tests/ofproto-dpif.at
+++ b/tests/ofproto-dpif.at
@@ -159,7 +159,7 @@ dnl bring the primary back and verify that we switched back to the
 dnl primary.
 ovs-appctl netdev-dummy/set-admin-state p1 down
 ovs-appctl time/warp 100
-OVS_WAIT_UNTIL([test -n "`ovs-appctl bond/show | fgrep 'member p1: disabled'`"])
+OVS_WAIT_UNTIL([test -n "`ovs-appctl bond/show | grep -F 'member p1: disabled'`"])
 ovs-appctl netdev-dummy/set-admin-state p1 up
 ovs-appctl time/warp 100
 OVS_WAIT_UNTIL_EQUAL([ovs-appctl bond/show | STRIP_RECIRC_ID | STRIP_ACTIVE_MEMBER_MAC], [dnl
@@ -190,7 +190,7 @@ dnl Now delete the primary and verify that the output shows that the
 dnl primary is no longer an member
 ovs-vsctl --id=@p1 get Interface p1 -- remove Port bond0 interfaces @p1
 ovs-appctl time/warp 100
-OVS_WAIT_UNTIL([test -n "`ovs-appctl bond/show | fgrep 'active-backup primary: p1 (no such member)'`"])
+OVS_WAIT_UNTIL([test -n "`ovs-appctl bond/show | grep -F 'active-backup primary: p1 (no such member)'`"])
 
 dnl Now re-add the primary and verify that the output shows that the
 dnl primary is available again.
@@ -369,9 +369,9 @@ ovs-appctl time/warp 100
 AT_CHECK([ovs-appctl dpif/dump-flows br1 > br1_flows.txt])
 # Make sure there is resonable distribution to all three ports.
 # We don't want to make this check precise, in case hash function changes.
-AT_CHECK([test `egrep 'in_port\(4\)' br1_flows.txt |wc -l` -gt 3])
-AT_CHECK([test `egrep 'in_port\(5\)' br1_flows.txt |wc -l` -gt 3])
-AT_CHECK([test `egrep 'in_port\(6\)' br1_flows.txt |wc -l` -gt 3])
+AT_CHECK([test `grep -E 'in_port\(4\)' br1_flows.txt |wc -l` -gt 3])
+AT_CHECK([test `grep -E 'in_port\(5\)' br1_flows.txt |wc -l` -gt 3])
+AT_CHECK([test `grep -E 'in_port\(6\)' br1_flows.txt |wc -l` -gt 3])
 OVS_VSWITCHD_STOP
 AT_CLEANUP
 
@@ -531,6 +531,72 @@ AT_CHECK([sed -n '/member p2/,/^$/p' bond3.txt | grep 'hash'], [0], [ignore])
 OVS_VSWITCHD_STOP()
 AT_CLEANUP
 
+dnl Regression test for a deadlock / double lock on post-recirculation rule
+dnl updates while processing PACKET_OUT.
+AT_SETUP([ofproto-dpif - balance-tcp bonding rule updates on packet-out])
+dnl Create br0 with interfaces bond0(p1, p2) and p5,
+dnl    and br1 with interfaces bond1(p3, p4) and p6.
+dnl    bond0 <-> bond1
+OVS_VSWITCHD_START(
+  [add-bond br0 bond0 p1 p2 bond_mode=balance-tcp lacp=active dnl
+        other-config:lacp-time=fast other-config:bond-rebalance-interval=1000 -- dnl
+   set interface p1 type=dummy options:pstream=punix:$OVS_RUNDIR/p1.sock ofport_request=1 mtu_request=65535 -- dnl
+   set interface p2 type=dummy options:pstream=punix:$OVS_RUNDIR/p2.sock ofport_request=2 mtu_request=65535 -- dnl
+   add-port br0 p5 -- set interface p5 ofport_request=5 type=dummy mtu_request=65535 -- dnl
+   add-br br1 -- dnl
+   set bridge br1 other-config:hwaddr=aa:66:aa:66:00:00 -- dnl
+   set bridge br1 datapath-type=dummy other-config:datapath-id=1234 dnl
+                  fail-mode=secure -- dnl
+   add-bond br1 bond1 p3 p4 bond_mode=balance-tcp lacp=active dnl
+        other-config:lacp-time=fast other-config:bond-rebalance-interval=1000 -- dnl
+   set interface p3 type=dummy options:stream=unix:$OVS_RUNDIR/p1.sock ofport_request=3 mtu_request=65535 -- dnl
+   set interface p4 type=dummy options:stream=unix:$OVS_RUNDIR/p2.sock ofport_request=4 mtu_request=65535 -- dnl
+   add-port br1 p6 -- set interface p6 ofport_request=6 type=dummy mtu_request=65535 --])
+AT_CHECK([ovs-appctl vlog/set bond:dbg])
+AT_CHECK([ovs-appctl netdev-dummy/set-admin-state up], 0, [OK
+])
+AT_CHECK([ovs-ofctl add-flow br0 action=normal])
+AT_CHECK([ovs-ofctl add-flow br1 action=normal])
+OVS_WAIT_WHILE([ovs-appctl bond/show | grep "may_enable: false"])
+
+ovs-appctl time/stop
+ovs-appctl time/warp 2000 200
+
+dnl Send some traffic to distribute all the hashes between ports.
+AT_CHECK([SEND_TCP_BOND_PKTS([p5], [5], [65500])])
+
+dnl Wait for rebalancing for per-hash stats accounting.
+ovs-appctl time/warp 1000 100
+
+dnl Check that p2 handles some hashes.
+ovs-appctl bond/show > bond1.txt
+AT_CHECK([sed -n '/member p2/,/^$/p' bond1.txt | grep 'hash'], [0], [ignore])
+
+dnl Pause revalidators to be sure that they do not update flows while
+dnl the bonding configuration chnages.
+ovs-appctl revalidator/pause
+
+dnl Move p2 down to trigger update of bonding post-recirculation rules by
+dnl forcing move of all the hashes to p1.
+AT_CHECK([ovs-appctl netdev-dummy/set-admin-state p2 down], 0, [OK
+])
+
+dnl Send PACKET_OUT that may lead to flow updates since the bonding
+dnl configuration changed.
+packet=ffffffffffff00102030405008004500001c00000000401100000a000002ffffffff0035111100080000
+AT_CHECK([ovs-ofctl packet-out br0 "in_port=p5 packet=$packet actions=resubmit(,0)"])
+
+dnl Resume revalidators.
+ovs-appctl revalidator/resume
+ovs-appctl revalidator/wait
+
+ovs-appctl time/warp 200 100
+dnl Check that all hashes moved form p2 and OVS is still working.
+ovs-appctl bond/show > bond2.txt
+AT_CHECK([sed -n '/member p2/,/^$/p' bond2.txt | grep 'hash'], [1], [ignore])
+
+OVS_VSWITCHD_STOP()
+AT_CLEANUP
 
 # Makes sure recirculation does not change the way packet is handled.
 AT_SETUP([ofproto-dpif - balance-tcp bonding, different recirc flow ])
@@ -5626,7 +5692,7 @@ ovs-vsctl \
 
 flow="in_port=1"
 AT_CHECK([ovs-appctl ofproto/trace br0 "$flow"], [0], [stdout])
-AT_CHECK([tail -1 stdout | egrep "trunc\(200\),2,trunc\(300\),3,100|trunc\(300\),3,trunc\(200\),2,100"], [0], [stdout])
+AT_CHECK([tail -1 stdout | grep -E "trunc\(200\),2,trunc\(300\),3,100|trunc\(300\),3,trunc\(200\),2,100"], [0], [stdout])
 
 OVS_VSWITCHD_STOP
 AT_CLEANUP
@@ -6393,6 +6459,20 @@ AT_CHECK([tail -2 stderr], [0], [dnl
 ovs-appctl: ovs-vswitchd: server returned an error
 ])
 
+# Test incorrect command: ofproto/trace with nonexistent port number
+AT_CHECK([ovs-appctl ofproto/trace ovs-dummy "in_port(42)" ], [2], [stdout], [stderr])
+AT_CHECK([tail -2 stderr], [0], [dnl
+no OpenFlow port for datapath port 42
+ovs-appctl: ovs-vswitchd: server returned an error
+])
+
+# Test incorrect command: ofproto/trace with nonexistent recirc_id
+AT_CHECK([ovs-appctl ofproto/trace ovs-dummy "recirc_id(0x42)" ], [2], [stdout], [stderr])
+AT_CHECK([tail -2 stderr], [0], [dnl
+no recirculation data for recirc_id 0x42
+ovs-appctl: ovs-vswitchd: server returned an error
+])
+
 OVS_VSWITCHD_STOP
 AT_CLEANUP
 
@@ -8923,6 +9003,40 @@ AT_CHECK([tail -1 stdout], [0],
 OVS_VSWITCHD_STOP
 AT_CLEANUP
 
+AT_SETUP([ofproto-dpif - patch ports - no additional clone])
+OVS_VSWITCHD_START(
+  [add-port br0 p0 -- set Interface p0 type=dummy ofport_request=1 -- dnl
+   add-port br0 p1 -- set Interface p1 type=patch dnl
+                                       options:peer=p2 ofport_request=2 -- dnl
+   add-br br1 -- dnl
+   set bridge br1 other-config:hwaddr=aa:66:aa:66:00:00 -- dnl
+   set bridge br1 datapath-type=dummy other-config:datapath-id=1234 dnl
+                  fail-mode=secure -- dnl
+   add-port br1 p2 -- set Interface p2 type=patch dnl
+                                       options:peer=p1 -- dnl
+   add-port br1 p3 -- set Interface p3 type=dummy ofport_request=3])
+
+AT_DATA([flows-br0.txt], [dnl
+priority=10,tcp,action=push:NXM_OF_IN_PORT[],resubmit(,65),pop:NXM_OF_IN_PORT[]
+table=65,priority=10,ip,in_port=p0,action=p1
+])
+
+AT_DATA([flows-br1.txt], [dnl
+priority=100,in_port=p2,tcp,ct_state=-trk,action=ct(table=0,zone=1)
+priority=100,in_port=p2,tcp,ct_state=+trk+est,ct_zone=1,action=p3
+])
+
+AT_CHECK([ovs-ofctl --bundle add-flows br0 flows-br0.txt])
+AT_CHECK([ovs-ofctl --bundle add-flows br1 flows-br1.txt])
+
+AT_CHECK([ovs-appctl ofproto/trace br0 in_port=p0,tcp --ct-next 'trk,est' | dnl
+          grep  "Datapath actions:" | grep -q clone],
+         [1], [], [],
+         [ovs-appctl ofproto/trace br0 in_port=p0,tcp --ct-next 'trk,est'])
+
+OVS_TRAFFIC_VSWITCHD_STOP
+AT_CLEANUP
+
 dnl ----------------------------------------------------------------------
 AT_BANNER([ofproto-dpif -- megaflows])
 
diff --git a/tests/ovs-macros.at b/tests/ovs-macros.at
index ebb75ef..39fbfce 100644
--- a/tests/ovs-macros.at
+++ b/tests/ovs-macros.at
@@ -134,7 +134,7 @@ parent_pid () {
     # e.g. Alpine Linux) is noncompliant, so we use a Linux-specific approach
     # when it's available.  We check the format of the status file to avoid
     # the NetBSD file with the same name but different contents.
-    if egrep '^PPid:[[:space:]]*[0-9]*$' /proc/$1/status > /dev/null 2>&1; then
+    if grep -E '^PPid:[[:space:]]*[0-9]*$' /proc/$1/status > /dev/null 2>&1; then
         sed -n 's/^PPid:	\([0-9]*\)/\1/p' /proc/$1/status
     else
         ps -o ppid= -p $1
@@ -313,6 +313,15 @@ m4_define([OVS_APP_EXIT_AND_WAIT_BY_TARGET],
    AT_CHECK([ovs-appctl --target=$1 exit])
    OVS_WAIT_WHILE([kill -0 $TMPPID 2>/dev/null])])
 
+dnl OVS_DAEMONIZE([command], [pidfile])
+dnl
+dnl Run 'command' as a background process and record its pid to 'pidfile' to
+dnl allow cleanup on exit.
+m4_define([OVS_DAEMONIZE],
+   [$1 & echo $! > $2
+    on_exit "kill `cat $2`"
+   ])
+
 dnl on_exit "COMMAND"
 dnl
 dnl Add the shell COMMAND to a collection executed when the current test
diff --git a/tests/ovs-ofctl.at b/tests/ovs-ofctl.at
index 858dcda..a893405 100644
--- a/tests/ovs-ofctl.at
+++ b/tests/ovs-ofctl.at
@@ -3243,9 +3243,9 @@ AT_CHECK([ovs-testcontroller -vsyslog:off --detach --no-chdir --pidfile punix:te
 OVS_WAIT_UNTIL([test -e testcontroller])
 
 dnl check for some of the initial handshake messages
-OVS_WAIT_UNTIL([egrep "OFPT_FEATURES_REQUEST" snoopbr0.txt >/dev/null 2>&1])
-OVS_WAIT_UNTIL([egrep "OFPT_FEATURES_REPLY" snoopbr0.txt >/dev/null 2>&1])
-OVS_WAIT_UNTIL([egrep "OFPT_SET_CONFIG" snoopbr0.txt >/dev/null 2>&1])
+OVS_WAIT_UNTIL([grep -E "OFPT_FEATURES_REQUEST" snoopbr0.txt >/dev/null 2>&1])
+OVS_WAIT_UNTIL([grep -E "OFPT_FEATURES_REPLY" snoopbr0.txt >/dev/null 2>&1])
+OVS_WAIT_UNTIL([grep -E "OFPT_SET_CONFIG" snoopbr0.txt >/dev/null 2>&1])
 
 dnl need to suppress the 'connection failed' WARN message in ovs-vswitchd
 dnl because we need ovs-vswitchd to have the controller config before starting
diff --git a/tests/ovsdb-cluster-testsuite b/tests/ovsdb-cluster-testsuite
index 2958738..b0ee38b 100755
--- a/tests/ovsdb-cluster-testsuite
+++ b/tests/ovsdb-cluster-testsuite
@@ -1078,7 +1078,7 @@ fi
 # List of tests.
 if $at_list_p; then
   cat <<_ATEOF || at_write_fail=1
-openvswitch 3.0.0 test suite test groups:
+openvswitch 3.0.1 test suite test groups:
 
  NUM: FILE-NAME:LINE     TEST-GROUP-NAME
       KEYWORDS
@@ -1119,7 +1119,7 @@ _ATEOF
   exit $at_write_fail
 fi
 if $at_version_p; then
-  $as_echo "$as_me (openvswitch 3.0.0)" &&
+  $as_echo "$as_me (openvswitch 3.0.1)" &&
   cat <<\_ATEOF || at_write_fail=1
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1329,11 +1329,11 @@ exec 5>>"$at_suite_log"
 
 # Banners and logs.
 $as_echo "## ----------------------------- ##
-## openvswitch 3.0.0 test suite. ##
+## openvswitch 3.0.1 test suite. ##
 ## ----------------------------- ##"
 {
   $as_echo "## ----------------------------- ##
-## openvswitch 3.0.0 test suite. ##
+## openvswitch 3.0.1 test suite. ##
 ## ----------------------------- ##"
   echo
 
@@ -1702,7 +1702,7 @@ parent_pid () {
     # e.g. Alpine Linux) is noncompliant, so we use a Linux-specific approach
     # when it's available.  We check the format of the status file to avoid
     # the NetBSD file with the same name but different contents.
-    if egrep '^PPid:[[:space:]]*[0-9]*$' /proc/$1/status > /dev/null 2>&1; then
+    if grep -E '^PPid:[[:space:]]*[0-9]*$' /proc/$1/status > /dev/null 2>&1; then
         sed -n 's/^PPid:	\([0-9]*\)/\1/p' /proc/$1/status
     else
         ps -o ppid= -p $1
@@ -3870,7 +3870,7 @@ _ASBOX
   $as_echo "Please send $at_msg and all information you think might help:
 
    To: <bugs@openvswitch.org>
-   Subject: [openvswitch 3.0.0] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly}
+   Subject: [openvswitch 3.0.1] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly}
 
 You may investigate any problem if you feel able to do so, in which
 case the test suite provides a good starting point.  Its output may
diff --git a/tests/ovsdb-idl.at b/tests/ovsdb-idl.at
index d1cfa59..8e75d00 100644
--- a/tests/ovsdb-idl.at
+++ b/tests/ovsdb-idl.at
@@ -2466,3 +2466,92 @@ unix:socket2 remote has col id in table simple7
 
 OVSDB_SERVER_SHUTDOWN
 AT_CLEANUP
+
+dnl This test checks that inserting and deleting the source of a reference
+dnl doesn't remove the reference in the (deleted) source tracked record.
+OVSDB_CHECK_IDL_TRACK([track, insert and delete, refs to link1],
+  [],
+  [['["idltest",
+      {"op": "insert",
+       "table": "link2",
+       "uuid-name": "l2row0",
+       "row": {"i": 1, "l1": ["set", [["named-uuid", "l1row0"]]]}
+      },
+      {"op": "insert",
+       "table": "link1",
+       "uuid-name": "l1row0",
+       "row": {"i": 1, "k": ["named-uuid", "l1row0"]}
+      },
+      {"op": "insert",
+       "table": "link2",
+       "uuid-name": "l2row1",
+       "row": {"i": 2, "l1": ["set", [["named-uuid", "l1row0"]]]}
+      }
+    ]' \
+    '+["idltest",
+      {"op": "delete",
+       "table": "link2",
+       "where": [["i", "==", 2]]}
+       ]' \
+    '["idltest",
+      {"op": "delete",
+       "table": "link2",
+       "where": [["i", "==", 1]]}
+       ]'
+  ]],
+  [[000: empty
+001: {"error":null,"result":[{"uuid":["uuid","<0>"]},{"uuid":["uuid","<1>"]},{"uuid":["uuid","<2>"]}]}
+002: {"error":null,"result":[{"count":1}]}
+003: table link1: inserted row: i=1 k=1 ka=[] l2= uuid=<1>
+003: table link1: updated columns: i k
+003: table link2: inserted row: i=1 l1=1 uuid=<0>
+003: table link2: inserted/deleted row: i=2 l1=1 uuid=<2>
+003: table link2: updated columns: i l1
+003: table link2: updated columns: i l1
+004: {"error":null,"result":[{"count":1}]}
+005: table link1: i=1 k=1 ka=[] l2= uuid=<1>
+006: done
+]])
+OVSDB_CHECK_IDL_TRACK([track, insert and delete, refs to link2],
+  [],
+  [['["idltest",
+      {"op": "insert",
+       "table": "link1",
+       "uuid-name": "l1row0",
+       "row": {"i": 1, "k": ["named-uuid", "l1row0"], "l2": ["set", [["named-uuid", "l2row0"]]]}
+      },
+      {"op": "insert",
+       "table": "link2",
+       "uuid-name": "l2row0",
+       "row": {"i": 1}
+      },
+      {"op": "insert",
+       "table": "link1",
+       "uuid-name": "l1row1",
+       "row": {"i": 2, "k": ["named-uuid", "l1row0"], "l2": ["set", [["named-uuid", "l2row0"]]]}
+      }
+    ]' \
+    '+["idltest",
+      {"op": "delete",
+       "table": "link1",
+       "where": [["i", "==", 2]]}
+       ]' \
+    '["idltest",
+      {"op": "delete",
+       "table": "link1",
+       "where": [["i", "==", 1]]}
+       ]'
+  ]],
+  [[000: empty
+001: {"error":null,"result":[{"uuid":["uuid","<0>"]},{"uuid":["uuid","<1>"]},{"uuid":["uuid","<2>"]}]}
+002: {"error":null,"result":[{"count":1}]}
+003: table link1: inserted row: i=1 k=1 ka=[] l2=1 uuid=<0>
+003: table link1: inserted/deleted row: i=2 k=1 ka=[] l2=1 uuid=<2>
+003: table link1: updated columns: i k l2
+003: table link1: updated columns: i k l2
+003: table link2: inserted row: i=1 l1= uuid=<1>
+003: table link2: updated columns: i
+004: {"error":null,"result":[{"count":1}]}
+005: table link2: i=1 l1= uuid=<1>
+006: done
+]])
diff --git a/tests/system-afxdp-testsuite b/tests/system-afxdp-testsuite
index fbaca34..0e2cd5c 100755
--- a/tests/system-afxdp-testsuite
+++ b/tests/system-afxdp-testsuite
@@ -1075,7 +1075,7 @@ fi
 # List of tests.
 if $at_list_p; then
   cat <<_ATEOF || at_write_fail=1
-openvswitch 3.0.0 test suite test groups:
+openvswitch 3.0.1 test suite test groups:
 
  NUM: FILE-NAME:LINE     TEST-GROUP-NAME
       KEYWORDS
@@ -1116,7 +1116,7 @@ _ATEOF
   exit $at_write_fail
 fi
 if $at_version_p; then
-  $as_echo "$as_me (openvswitch 3.0.0)" &&
+  $as_echo "$as_me (openvswitch 3.0.1)" &&
   cat <<\_ATEOF || at_write_fail=1
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1334,11 +1334,11 @@ exec 5>>"$at_suite_log"
 
 # Banners and logs.
 $as_echo "## ----------------------------- ##
-## openvswitch 3.0.0 test suite. ##
+## openvswitch 3.0.1 test suite. ##
 ## ----------------------------- ##"
 {
   $as_echo "## ----------------------------- ##
-## openvswitch 3.0.0 test suite. ##
+## openvswitch 3.0.1 test suite. ##
 ## ----------------------------- ##"
   echo
 
@@ -1707,7 +1707,7 @@ parent_pid () {
     # e.g. Alpine Linux) is noncompliant, so we use a Linux-specific approach
     # when it's available.  We check the format of the status file to avoid
     # the NetBSD file with the same name but different contents.
-    if egrep '^PPid:[[:space:]]*[0-9]*$' /proc/$1/status > /dev/null 2>&1; then
+    if grep -E '^PPid:[[:space:]]*[0-9]*$' /proc/$1/status > /dev/null 2>&1; then
         sed -n 's/^PPid:	\([0-9]*\)/\1/p' /proc/$1/status
     else
         ps -o ppid= -p $1
@@ -2662,7 +2662,7 @@ _ASBOX
   $as_echo "Please send $at_msg and all information you think might help:
 
    To: <bugs@openvswitch.org>
-   Subject: [openvswitch 3.0.0] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly}
+   Subject: [openvswitch 3.0.1] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly}
 
 You may investigate any problem if you feel able to do so, in which
 case the test suite provides a good starting point.  Its output may
@@ -25020,7 +25020,10 @@ $at_traceon; }
 
    on_exit 'iptables -D INPUT 1 -i br-underlay'
 
-ip netns exec at_ns0 tcpdump -n -i p0 dst host 172.31.1.1 -l > p0.pcap &
+ip netns exec at_ns0 tcpdump -n -i p0 dst host 172.31.1.1 -l > p0.pcap 2>/dev/null & echo $! > tcpdump.pid
+     echo "kill \`cat tcpdump.pid\`" >> cleanup
+
+
 sleep 1
 
  { set +x
@@ -25056,13 +25059,13 @@ $as_echo "system-traffic.at:896" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:896"
    ovs_wait_cond () {
-    cat p0.pcap | egrep "IP 172.31.1.100 > 172.31.1.1: GREv0, length 46: ARP, Reply 10.1.1.100 is-at f2:ff:00:00:00:01.* length 28" 2>&1 1>/dev/null
+    cat p0.pcap | grep -E "IP 172.31.1.100 > 172.31.1.1: GREv0, length 46: ARP, Reply 10.1.1.100 is-at f2:ff:00:00:00:01.* length 28" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:896" "until cat p0.pcap | egrep \"IP 172.31.1.100 > 172.31.1.1: GREv0, length 46: ARP, Reply 10.1.1.100 is-at f2:ff:00:00:00:01.* length 28\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:896" "until cat p0.pcap | grep -E \"IP 172.31.1.100 > 172.31.1.1: GREv0, length 46: ARP, Reply 10.1.1.100 is-at f2:ff:00:00:00:01.* length 28\" 2>&1 1>/dev/null"
 
 
 ovs-ofctl -O OpenFlow13 packet-out br-underlay "in_port=1 packet=f2ff00000002f2ff0000000308004500007aec8e4000402ff322ac1f0101ac1f016400006558f2ff00000001f2ff00000004080045000054548f40004001cfb30a0101010a0101640800e6e829270003e1a3435b00000000ff1a050000000000101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f3031323334353637 actions=NORMAL"
@@ -25074,13 +25077,13 @@ $as_echo "system-traffic.at:900" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:900"
    ovs_wait_cond () {
-    cat p0.pcap | egrep "IP 172.31.1.100 > 172.31.1.1: GREv0, length 102: IP 10.1.1.100 > 10.1.1.1: ICMP echo reply,.* length 64$" 2>&1 1>/dev/null
+    cat p0.pcap | grep -E "IP 172.31.1.100 > 172.31.1.1: GREv0, length 102: IP 10.1.1.100 > 10.1.1.1: ICMP echo reply,.* length 64$" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:900" "until cat p0.pcap | egrep \"IP 172.31.1.100 > 172.31.1.1: GREv0, length 102: IP 10.1.1.100 > 10.1.1.1: ICMP echo reply,.* length 64\$\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:900" "until cat p0.pcap | grep -E \"IP 172.31.1.100 > 172.31.1.1: GREv0, length 102: IP 10.1.1.100 > 10.1.1.1: ICMP echo reply,.* length 64\$\" 2>&1 1>/dev/null"
 
 
 { set +x
@@ -25777,7 +25780,10 @@ $at_traceon; }
 
    on_exit 'iptables -D INPUT 1 -i br-underlay'
 
-ip netns exec at_ns0 tcpdump -n -x -i p0 dst host 172.31.1.1 -l > p0.pcap &
+ip netns exec at_ns0 tcpdump -n -x -i p0 dst host 172.31.1.1 -l > p0.pcap 2>/dev/null & echo $! > tcpdump.pid
+     echo "kill \`cat tcpdump.pid\`" >> cleanup
+
+
 sleep 1
 
  { set +x
@@ -25812,13 +25818,13 @@ $as_echo "system-traffic.at:941" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:941"
    ovs_wait_cond () {
-    cat p0.pcap | egrep "0x0030:  0806 0001 0800 0604 0002 f2ff 0000 0001" 2>&1 1>/dev/null
+    cat p0.pcap | grep -E "0x0030:  0806 0001 0800 0604 0002 f2ff 0000 0001" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:941" "until cat p0.pcap | egrep \"0x0030:  0806 0001 0800 0604 0002 f2ff 0000 0001\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:941" "until cat p0.pcap | grep -E \"0x0030:  0806 0001 0800 0604 0002 f2ff 0000 0001\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:942" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -25827,17 +25833,17 @@ $as_echo "system-traffic.at:942" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:942"
    ovs_wait_cond () {
-    cat p0.pcap | egrep "0x0040:  0a01 0164 f2ff 0000 0004 0a01 0101" 2>&1 1>/dev/null
+    cat p0.pcap | grep -E "0x0040:  0a01 0164 f2ff 0000 0004 0a01 0101" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:942" "until cat p0.pcap | egrep \"0x0040:  0a01 0164 f2ff 0000 0004 0a01 0101\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:942" "until cat p0.pcap | grep -E \"0x0040:  0a01 0164 f2ff 0000 0004 0a01 0101\" 2>&1 1>/dev/null"
 
 
 $as_echo "system-traffic.at:945" >"$at_check_line_file"
-(cat p0.pcap | egrep "IP 172.31.1.100 > 172.31.1.1: GREv0,.* length 122" 2>&1 1>/dev/null) \
+(cat p0.pcap | grep -E "IP 172.31.1.100 > 172.31.1.1: GREv0,.* length 122" 2>&1 1>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:945"
 
 ovs-ofctl -O OpenFlow13 packet-out br-underlay "in_port=1 packet=f2ff00000002f2ff0000000308004500008e70cb4000402f6ed2ac1f0101ac1f0164100088be000000051000000100000007f2ff00000001f2ff0000000408004500005c4a3340004001da070a0101010a010164080084f238fb0001f36a6b5b0000000021870e0000000000101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f actions=normal"
@@ -25849,13 +25855,13 @@ $as_echo "system-traffic.at:949" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:949"
    ovs_wait_cond () {
-    cat p0.pcap | egrep "IP 172.31.1.100 > 172.31.1.1: GREv0,.* length 122" 2>&1 1>/dev/null
+    cat p0.pcap | grep -E "IP 172.31.1.100 > 172.31.1.1: GREv0,.* length 122" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:949" "until cat p0.pcap | egrep \"IP 172.31.1.100 > 172.31.1.1: GREv0,.* length 122\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:949" "until cat p0.pcap | grep -E \"IP 172.31.1.100 > 172.31.1.1: GREv0,.* length 122\" 2>&1 1>/dev/null"
 
 
 { set +x
@@ -26538,7 +26544,10 @@ $at_traceon; }
 iptables -I INPUT 1 -i br-underlay -j ACCEPT
 on_exit 'iptables -D INPUT 1'
 
-ip netns exec at_ns0 tcpdump -n -x -i p0 dst host 172.31.1.1 -l > p0.pcap &
+ip netns exec at_ns0 tcpdump -n -x -i p0 dst host 172.31.1.1 -l > p0.pcap 2>/dev/null & echo $! > tcpdump.pid
+     echo "kill \`cat tcpdump.pid\`" >> cleanup
+
+
 sleep 1
 
  { set +x
@@ -26573,13 +26582,13 @@ $as_echo "system-traffic.at:993" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:993"
    ovs_wait_cond () {
-    cat p0.pcap | egrep "0x0030:  0000 0001 0806 0001 0800 0604 0002 f2ff" 2>&1 1>/dev/null
+    cat p0.pcap | grep -E "0x0030:  0000 0001 0806 0001 0800 0604 0002 f2ff" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:993" "until cat p0.pcap | egrep \"0x0030:  0000 0001 0806 0001 0800 0604 0002 f2ff\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:993" "until cat p0.pcap | grep -E \"0x0030:  0000 0001 0806 0001 0800 0604 0002 f2ff\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:994" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -26588,13 +26597,13 @@ $as_echo "system-traffic.at:994" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:994"
    ovs_wait_cond () {
-    cat p0.pcap | egrep "0x0040:  0000 0001 0a01 0164 f2ff 0000 0004 0a01" 2>&1 1>/dev/null
+    cat p0.pcap | grep -E "0x0040:  0000 0001 0a01 0164 f2ff 0000 0004 0a01" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:994" "until cat p0.pcap | egrep \"0x0040:  0000 0001 0a01 0164 f2ff 0000 0004 0a01\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:994" "until cat p0.pcap | grep -E \"0x0040:  0000 0001 0a01 0164 f2ff 0000 0004 0a01\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:995" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -26603,17 +26612,17 @@ $as_echo "system-traffic.at:995" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:995"
    ovs_wait_cond () {
-    cat p0.pcap | egrep "0x0050:  0101" 2>&1 1>/dev/null
+    cat p0.pcap | grep -E "0x0050:  0101" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:995" "until cat p0.pcap | egrep \"0x0050:  0101\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:995" "until cat p0.pcap | grep -E \"0x0050:  0101\" 2>&1 1>/dev/null"
 
 
 $as_echo "system-traffic.at:999" >"$at_check_line_file"
-(cat p0.pcap | egrep "IP 172.31.1.100 > 172.31.1.1: GREv0,.* length 126" 2>&1 1>/dev/null) \
+(cat p0.pcap | grep -E "IP 172.31.1.100 > 172.31.1.1: GREv0,.* length 126" 2>&1 1>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:999"
 
 ovs-ofctl -O OpenFlow13 packet-out br-underlay "in_port=1 packet=f2ff00000002f2ff0000000308004500009287e14000402f57b8ac1f0101ac1f0164100088be0000000520000001144cd5a400008078f2ff00000001f2ff0000000408004500005c38d640004001eb640a0101010a01016408005e57585f0001df6c6b5b0000000045bc050000000000101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f actions=normal"
@@ -26625,13 +26634,13 @@ $as_echo "system-traffic.at:1003" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1003"
    ovs_wait_cond () {
-    cat p0.pcap | egrep "IP 172.31.1.100 > 172.31.1.1: GREv0,.* length 126" 2>&1 1>/dev/null
+    cat p0.pcap | grep -E "IP 172.31.1.100 > 172.31.1.1: GREv0,.* length 126" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:1003" "until cat p0.pcap | egrep \"IP 172.31.1.100 > 172.31.1.1: GREv0,.* length 126\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:1003" "until cat p0.pcap | grep -E \"IP 172.31.1.100 > 172.31.1.1: GREv0,.* length 126\" 2>&1 1>/dev/null"
 
 
 { set +x
@@ -27347,7 +27356,10 @@ ovs_wait "system-traffic.at:1031" "until ip netns exec at_ns0 ping6 -c 2 fc00:10
 ip6tables -I INPUT 1 -i br-underlay -j ACCEPT
 on_exit 'ip6tables -D INPUT 1'
 
-ip netns exec at_ns0 tcpdump -n -x -i p0 dst host fc00:100::1 -l > p0.pcap &
+ip netns exec at_ns0 tcpdump -n -x -i p0 dst host fc00:100::1 -l > p0.pcap 2>/dev/null & echo $! > tcpdump.pid
+     echo "kill \`cat tcpdump.pid\`" >> cleanup
+
+
 sleep 1
 
  { set +x
@@ -27382,13 +27394,13 @@ $as_echo "system-traffic.at:1051" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1051"
    ovs_wait_cond () {
-    cat p0.pcap | egrep "0x0040:  0000 0001 0806 0001 0800 0604 0002 f2ff" 2>&1 1>/dev/null
+    cat p0.pcap | grep -E "0x0040:  0000 0001 0806 0001 0800 0604 0002 f2ff" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:1051" "until cat p0.pcap | egrep \"0x0040:  0000 0001 0806 0001 0800 0604 0002 f2ff\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:1051" "until cat p0.pcap | grep -E \"0x0040:  0000 0001 0806 0001 0800 0604 0002 f2ff\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:1052" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -27397,13 +27409,13 @@ $as_echo "system-traffic.at:1052" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1052"
    ovs_wait_cond () {
-    cat p0.pcap | egrep "0x0050:  0000 0001 0a01 0164 f2ff 0000 0004 0a01" 2>&1 1>/dev/null
+    cat p0.pcap | grep -E "0x0050:  0000 0001 0a01 0164 f2ff 0000 0004 0a01" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:1052" "until cat p0.pcap | egrep \"0x0050:  0000 0001 0a01 0164 f2ff 0000 0004 0a01\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:1052" "until cat p0.pcap | grep -E \"0x0050:  0000 0001 0a01 0164 f2ff 0000 0004 0a01\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:1053" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -27412,17 +27424,17 @@ $as_echo "system-traffic.at:1053" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1053"
    ovs_wait_cond () {
-    cat p0.pcap | egrep "0x0060:  0101" 2>&1 1>/dev/null
+    cat p0.pcap | grep -E "0x0060:  0101" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:1053" "until cat p0.pcap | egrep \"0x0060:  0101\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:1053" "until cat p0.pcap | grep -E \"0x0060:  0101\" 2>&1 1>/dev/null"
 
 
 $as_echo "system-traffic.at:1055" >"$at_check_line_file"
-(cat p0.pcap | egrep "IP6 fc00:100::100 > fc00:100::1: GREv0,.* length 114" 2>&1 1>/dev/null) \
+(cat p0.pcap | grep -E "IP6 fc00:100::100 > fc00:100::1: GREv0,.* length 114" 2>&1 1>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1055"
 
 ovs-ofctl -O OpenFlow13 packet-out br-underlay "in_port=1 packet=f2ff00000002f2ff0000000386dd60008531007a3c40fc000100000000000000000000000001fc0001000000000000000000000001002f00040104010100100088be000000061000407b00000007f2ff00000001f2ff0000000408004500005429b640004001fa8c0a0101010a01016408005c2c7526000118d3685b00000000e4aa020000000000101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f3031323334353637 actions=normal"
@@ -27434,13 +27446,13 @@ $as_echo "system-traffic.at:1059" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1059"
    ovs_wait_cond () {
-    cat p0.pcap | egrep "IP6 fc00:100::100 > fc00:100::1: GREv0,.* length 114" 2>&1 1>/dev/null
+    cat p0.pcap | grep -E "IP6 fc00:100::100 > fc00:100::1: GREv0,.* length 114" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:1059" "until cat p0.pcap | egrep \"IP6 fc00:100::100 > fc00:100::1: GREv0,.* length 114\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:1059" "until cat p0.pcap | grep -E \"IP6 fc00:100::100 > fc00:100::1: GREv0,.* length 114\" 2>&1 1>/dev/null"
 
 
 { set +x
@@ -28156,7 +28168,10 @@ ovs_wait "system-traffic.at:1087" "until ip netns exec at_ns0 ping6 -c 2 fc00:10
 ip6tables -I INPUT 1 -i br-underlay -j ACCEPT
 on_exit 'ip6tables -D INPUT 1'
 
-ip netns exec at_ns0 tcpdump -n -x -i p0 dst host fc00:100::1 -l > p0.pcap &
+ip netns exec at_ns0 tcpdump -n -x -i p0 dst host fc00:100::1 -l > p0.pcap 2>/dev/null & echo $! > tcpdump.pid
+     echo "kill \`cat tcpdump.pid\`" >> cleanup
+
+
 sleep 1
 
  { set +x
@@ -28191,13 +28206,13 @@ $as_echo "system-traffic.at:1106" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1106"
    ovs_wait_cond () {
-    cat p0.pcap | egrep "0x0040:  0004 f2ff 0000 0001 0806 0001 0800 0604" 2>&1 1>/dev/null
+    cat p0.pcap | grep -E "0x0040:  0004 f2ff 0000 0001 0806 0001 0800 0604" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:1106" "until cat p0.pcap | egrep \"0x0040:  0004 f2ff 0000 0001 0806 0001 0800 0604\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:1106" "until cat p0.pcap | grep -E \"0x0040:  0004 f2ff 0000 0001 0806 0001 0800 0604\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:1107" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -28206,13 +28221,13 @@ $as_echo "system-traffic.at:1107" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1107"
    ovs_wait_cond () {
-    cat p0.pcap | egrep "0x0050:  0002 f2ff 0000 0001 0a01 0164 f2ff 0000" 2>&1 1>/dev/null
+    cat p0.pcap | grep -E "0x0050:  0002 f2ff 0000 0001 0a01 0164 f2ff 0000" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:1107" "until cat p0.pcap | egrep \"0x0050:  0002 f2ff 0000 0001 0a01 0164 f2ff 0000\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:1107" "until cat p0.pcap | grep -E \"0x0050:  0002 f2ff 0000 0001 0a01 0164 f2ff 0000\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:1108" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -28221,17 +28236,17 @@ $as_echo "system-traffic.at:1108" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1108"
    ovs_wait_cond () {
-    cat p0.pcap | egrep "0x0060:  0004 0a01 0101" 2>&1 1>/dev/null
+    cat p0.pcap | grep -E "0x0060:  0004 0a01 0101" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:1108" "until cat p0.pcap | egrep \"0x0060:  0004 0a01 0101\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:1108" "until cat p0.pcap | grep -E \"0x0060:  0004 0a01 0101\" 2>&1 1>/dev/null"
 
 
 $as_echo "system-traffic.at:1110" >"$at_check_line_file"
-(cat p0.pcap | egrep "IP6 fc00:100::100 > fc00:100::1: GREv0, .* length 118" 2>&1 1>/dev/null) \
+(cat p0.pcap | grep -E "IP6 fc00:100::100 > fc00:100::1: GREv0, .* length 118" 2>&1 1>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1110"
 
 ovs-ofctl -O OpenFlow13 packet-out br-underlay "in_port=1 packet=f2ff00000002f2ff0000000386dd60008531007e3c40fc000100000000000000000000000001fc0001000000000000000000000001002f00040104010100100088be0000000720004079af514f9b00008070f2ff00000001f2ff00000004080045000054ffcb4000400124770a0101010a0101640800419e23ac000112d7685b000000004caf0c0000000000101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f3031323334353637 actions=normal"
@@ -28243,13 +28258,13 @@ $as_echo "system-traffic.at:1114" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1114"
    ovs_wait_cond () {
-    cat p0.pcap | egrep "IP6 fc00:100::100 > fc00:100::1: GREv0, .* length 118" 2>&1 1>/dev/null
+    cat p0.pcap | grep -E "IP6 fc00:100::100 > fc00:100::1: GREv0, .* length 118" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:1114" "until cat p0.pcap | egrep \"IP6 fc00:100::100 > fc00:100::1: GREv0, .* length 118\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:1114" "until cat p0.pcap | grep -E \"IP6 fc00:100::100 > fc00:100::1: GREv0, .* length 118\" 2>&1 1>/dev/null"
 
 
 { set +x
@@ -41731,24 +41746,8 @@ $at_traceon; }
 
 
 rm -rf p1.pcap
- { set +x
-$as_echo "$at_srcdir/system-traffic.at:1897: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p1 > p1.pcap &
-NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1897"
-( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p1 > p1.pcap &
-NS_EXEC_HEREDOC
-) >>"$at_stdout" 2>>"$at_stderr" 5>&-
-at_status=$? at_failed=false
-$at_check_filter
-at_fn_diff_devnull "$at_stderr" || at_failed=:
-at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1897"
-$at_failed && at_fn_log_failure  \
-"ovsdb-server.log" \
-"ovs-vswitchd.log"
-$at_traceon; }
+ip netns exec at_ns1 tcpdump -l -n -xx -U -i p1 > p1.pcap & echo $! > tcpdump.pid
+     echo "kill \`cat tcpdump.pid\`" >> cleanup
 
 
 sleep 1
@@ -41781,13 +41780,13 @@ $as_echo "system-traffic.at:1906" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1906"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0000:  *0000 *0000 *0002 *0000 *0000 *0001 *8847 *0000" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0000:  *0000 *0000 *0002 *0000 *0000 *0001 *8847 *0000" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:1906" "until cat p1.pcap | egrep \"0x0000:  *0000 *0000 *0002 *0000 *0000 *0001 *8847 *0000\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:1906" "until cat p1.pcap | grep -E \"0x0000:  *0000 *0000 *0002 *0000 *0000 *0001 *8847 *0000\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:1907" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -41796,13 +41795,13 @@ $as_echo "system-traffic.at:1907" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1907"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0010:  *2140 *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0010:  *2140 *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:1907" "until cat p1.pcap | egrep \"0x0010:  *2140 *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:1907" "until cat p1.pcap | grep -E \"0x0010:  *2140 *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:1908" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -41811,13 +41810,13 @@ $as_echo "system-traffic.at:1908" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1908"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0020:  *4500 *0054 *0344 *4000 *4001 *2161 *0a01 *0101" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0020:  *4500 *0054 *0344 *4000 *4001 *2161 *0a01 *0101" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:1908" "until cat p1.pcap | egrep \"0x0020:  *4500 *0054 *0344 *4000 *4001 *2161 *0a01 *0101\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:1908" "until cat p1.pcap | grep -E \"0x0020:  *4500 *0054 *0344 *4000 *4001 *2161 *0a01 *0101\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:1909" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -41826,13 +41825,13 @@ $as_echo "system-traffic.at:1909" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1909"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0030:  *0a01 *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0030:  *0a01 *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:1909" "until cat p1.pcap | egrep \"0x0030:  *0a01 *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:1909" "until cat p1.pcap | grep -E \"0x0030:  *0a01 *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61\" 2>&1 1>/dev/null"
 
 
 { set +x
@@ -42603,24 +42602,8 @@ $at_traceon; }
 
 
 rm -rf p1.pcap
- { set +x
-$as_echo "$at_srcdir/system-traffic.at:1929: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p1 > p1.pcap &
-NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1929"
-( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p1 > p1.pcap &
-NS_EXEC_HEREDOC
-) >>"$at_stdout" 2>>"$at_stderr" 5>&-
-at_status=$? at_failed=false
-$at_check_filter
-at_fn_diff_devnull "$at_stderr" || at_failed=:
-at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1929"
-$at_failed && at_fn_log_failure  \
-"ovsdb-server.log" \
-"ovs-vswitchd.log"
-$at_traceon; }
+ip netns exec at_ns1 tcpdump -l -n -xx -U -i p1 > p1.pcap & echo $! > tcpdump.pid
+     echo "kill \`cat tcpdump.pid\`" >> cleanup
 
 
 sleep 1
@@ -42653,13 +42636,13 @@ $as_echo "system-traffic.at:1938" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1938"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0000:  *0000 *0000 *0002 *0000 *0000 *0001 *8847 *0000" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0000:  *0000 *0000 *0002 *0000 *0000 *0001 *8847 *0000" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:1938" "until cat p1.pcap | egrep \"0x0000:  *0000 *0000 *0002 *0000 *0000 *0001 *8847 *0000\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:1938" "until cat p1.pcap | grep -E \"0x0000:  *0000 *0000 *0002 *0000 *0000 *0001 *8847 *0000\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:1939" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -42668,13 +42651,13 @@ $as_echo "system-traffic.at:1939" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1939"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0010:  *2140 *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0010:  *2140 *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:1939" "until cat p1.pcap | egrep \"0x0010:  *2140 *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:1939" "until cat p1.pcap | grep -E \"0x0010:  *2140 *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:1940" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -42683,13 +42666,13 @@ $as_echo "system-traffic.at:1940" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1940"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0020:  *4500 *0054 *0344 *4000 *4001 *2161 *0a01 *0101" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0020:  *4500 *0054 *0344 *4000 *4001 *2161 *0a01 *0101" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:1940" "until cat p1.pcap | egrep \"0x0020:  *4500 *0054 *0344 *4000 *4001 *2161 *0a01 *0101\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:1940" "until cat p1.pcap | grep -E \"0x0020:  *4500 *0054 *0344 *4000 *4001 *2161 *0a01 *0101\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:1941" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -42698,13 +42681,13 @@ $as_echo "system-traffic.at:1941" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1941"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0030:  *0a01 *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0030:  *0a01 *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:1941" "until cat p1.pcap | egrep \"0x0030:  *0a01 *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:1941" "until cat p1.pcap | grep -E \"0x0030:  *0a01 *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61\" 2>&1 1>/dev/null"
 
 
 { set +x
@@ -43464,24 +43447,8 @@ $at_traceon; }
 
 
 rm -rf p1.pcap
- { set +x
-$as_echo "$at_srcdir/system-traffic.at:1962: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p1 > p1.pcap &
-NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1962"
-( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p1 > p1.pcap &
-NS_EXEC_HEREDOC
-) >>"$at_stdout" 2>>"$at_stderr" 5>&-
-at_status=$? at_failed=false
-$at_check_filter
-at_fn_diff_devnull "$at_stderr" || at_failed=:
-at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1962"
-$at_failed && at_fn_log_failure  \
-"ovsdb-server.log" \
-"ovs-vswitchd.log"
-$at_traceon; }
+ip netns exec at_ns1 tcpdump -l -n -xx -U -i p1 > p1.pcap & echo $! > tcpdump.pid
+     echo "kill \`cat tcpdump.pid\`" >> cleanup
 
 
 sleep 1
@@ -43514,13 +43481,13 @@ $as_echo "system-traffic.at:1971" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1971"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0000:  *0000 *0000 *0002 *0000 *0000 *0001 *8848 *0000" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0000:  *0000 *0000 *0002 *0000 *0000 *0001 *8848 *0000" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:1971" "until cat p1.pcap | egrep \"0x0000:  *0000 *0000 *0002 *0000 *0000 *0001 *8848 *0000\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:1971" "until cat p1.pcap | grep -E \"0x0000:  *0000 *0000 *0002 *0000 *0000 *0001 *8848 *0000\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:1972" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -43529,13 +43496,13 @@ $as_echo "system-traffic.at:1972" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1972"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0010:  *2140 *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0010:  *2140 *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:1972" "until cat p1.pcap | egrep \"0x0010:  *2140 *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:1972" "until cat p1.pcap | grep -E \"0x0010:  *2140 *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:1973" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -43544,13 +43511,13 @@ $as_echo "system-traffic.at:1973" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1973"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0020:  *4500 *0054 *0344 *4000 *4001 *2161 *0a01 *0101" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0020:  *4500 *0054 *0344 *4000 *4001 *2161 *0a01 *0101" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:1973" "until cat p1.pcap | egrep \"0x0020:  *4500 *0054 *0344 *4000 *4001 *2161 *0a01 *0101\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:1973" "until cat p1.pcap | grep -E \"0x0020:  *4500 *0054 *0344 *4000 *4001 *2161 *0a01 *0101\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:1974" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -43559,13 +43526,13 @@ $as_echo "system-traffic.at:1974" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1974"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0030:  *0a01 *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0030:  *0a01 *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:1974" "until cat p1.pcap | egrep \"0x0030:  *0a01 *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:1974" "until cat p1.pcap | grep -E \"0x0030:  *0a01 *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61\" 2>&1 1>/dev/null"
 
 
 { set +x
@@ -44336,24 +44303,8 @@ $at_traceon; }
 
 
 rm -rf p1.pcap
- { set +x
-$as_echo "$at_srcdir/system-traffic.at:1994: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p1 > p1.pcap &
-NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1994"
-( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p1 > p1.pcap &
-NS_EXEC_HEREDOC
-) >>"$at_stdout" 2>>"$at_stderr" 5>&-
-at_status=$? at_failed=false
-$at_check_filter
-at_fn_diff_devnull "$at_stderr" || at_failed=:
-at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1994"
-$at_failed && at_fn_log_failure  \
-"ovsdb-server.log" \
-"ovs-vswitchd.log"
-$at_traceon; }
+ip netns exec at_ns1 tcpdump -l -n -xx -U -i p1 > p1.pcap & echo $! > tcpdump.pid
+     echo "kill \`cat tcpdump.pid\`" >> cleanup
 
 
 sleep 1
@@ -44386,13 +44337,13 @@ $as_echo "system-traffic.at:2003" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2003"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0000:  *0000 *0000 *0002 *0000 *0000 *0001 *8848 *0000" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0000:  *0000 *0000 *0002 *0000 *0000 *0001 *8848 *0000" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:2003" "until cat p1.pcap | egrep \"0x0000:  *0000 *0000 *0002 *0000 *0000 *0001 *8848 *0000\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:2003" "until cat p1.pcap | grep -E \"0x0000:  *0000 *0000 *0002 *0000 *0000 *0001 *8848 *0000\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:2004" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -44401,13 +44352,13 @@ $as_echo "system-traffic.at:2004" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2004"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0010:  *2140 *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0010:  *2140 *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:2004" "until cat p1.pcap | egrep \"0x0010:  *2140 *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:2004" "until cat p1.pcap | grep -E \"0x0010:  *2140 *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:2005" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -44416,13 +44367,13 @@ $as_echo "system-traffic.at:2005" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2005"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0020:  *4500 *0054 *0344 *4000 *4001 *2161 *0a01 *0101" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0020:  *4500 *0054 *0344 *4000 *4001 *2161 *0a01 *0101" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:2005" "until cat p1.pcap | egrep \"0x0020:  *4500 *0054 *0344 *4000 *4001 *2161 *0a01 *0101\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:2005" "until cat p1.pcap | grep -E \"0x0020:  *4500 *0054 *0344 *4000 *4001 *2161 *0a01 *0101\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:2006" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -44431,13 +44382,13 @@ $as_echo "system-traffic.at:2006" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2006"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0030:  *0a01 *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0030:  *0a01 *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:2006" "until cat p1.pcap | egrep \"0x0030:  *0a01 *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:2006" "until cat p1.pcap | grep -E \"0x0030:  *0a01 *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61\" 2>&1 1>/dev/null"
 
 
 { set +x
@@ -45198,24 +45149,8 @@ $at_traceon; }
 
 
 rm -rf p1.pcap
- { set +x
-$as_echo "$at_srcdir/system-traffic.at:2028: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p1 > p1.pcap &
-NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2028"
-( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p1 > p1.pcap &
-NS_EXEC_HEREDOC
-) >>"$at_stdout" 2>>"$at_stderr" 5>&-
-at_status=$? at_failed=false
-$at_check_filter
-at_fn_diff_devnull "$at_stderr" || at_failed=:
-at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2028"
-$at_failed && at_fn_log_failure  \
-"ovsdb-server.log" \
-"ovs-vswitchd.log"
-$at_traceon; }
+ip netns exec at_ns1 tcpdump -l -n -xx -U -i p1 > p1.pcap & echo $! > tcpdump.pid
+     echo "kill \`cat tcpdump.pid\`" >> cleanup
 
 
 sleep 1
@@ -45248,13 +45183,13 @@ $as_echo "system-traffic.at:2037" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2037"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0000:  *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800 *4500" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0000:  *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800 *4500" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:2037" "until cat p1.pcap | egrep \"0x0000:  *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800 *4500\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:2037" "until cat p1.pcap | grep -E \"0x0000:  *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800 *4500\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:2038" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -45263,13 +45198,13 @@ $as_echo "system-traffic.at:2038" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2038"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0010:  *0054 *0344 *4000 *4001 *2161 *0a01 *0101 *0a01" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0010:  *0054 *0344 *4000 *4001 *2161 *0a01 *0101 *0a01" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:2038" "until cat p1.pcap | egrep \"0x0010:  *0054 *0344 *4000 *4001 *2161 *0a01 *0101 *0a01\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:2038" "until cat p1.pcap | grep -E \"0x0010:  *0054 *0344 *4000 *4001 *2161 *0a01 *0101 *0a01\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:2039" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -45278,13 +45213,13 @@ $as_echo "system-traffic.at:2039" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2039"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0020:  *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61 *0000" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0020:  *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61 *0000" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:2039" "until cat p1.pcap | egrep \"0x0020:  *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61 *0000\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:2039" "until cat p1.pcap | grep -E \"0x0020:  *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61 *0000\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:2040" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -45293,13 +45228,13 @@ $as_echo "system-traffic.at:2040" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2040"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0030:  *0000 *500b *0200 *0000 *0000 *1011 *1213 *1415" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0030:  *0000 *500b *0200 *0000 *0000 *1011 *1213 *1415" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:2040" "until cat p1.pcap | egrep \"0x0030:  *0000 *500b *0200 *0000 *0000 *1011 *1213 *1415\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:2040" "until cat p1.pcap | grep -E \"0x0030:  *0000 *500b *0200 *0000 *0000 *1011 *1213 *1415\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:2041" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -45308,13 +45243,13 @@ $as_echo "system-traffic.at:2041" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2041"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0040:  *1617 *1819 *1a1b *1c1d *1e1f *2021 *2223 *2425" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0040:  *1617 *1819 *1a1b *1c1d *1e1f *2021 *2223 *2425" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:2041" "until cat p1.pcap | egrep \"0x0040:  *1617 *1819 *1a1b *1c1d *1e1f *2021 *2223 *2425\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:2041" "until cat p1.pcap | grep -E \"0x0040:  *1617 *1819 *1a1b *1c1d *1e1f *2021 *2223 *2425\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:2042" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -45323,13 +45258,13 @@ $as_echo "system-traffic.at:2042" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2042"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0050:  *2627 *2829 *2a2b *2c2d *2e2f *3031 *3233 *3435" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0050:  *2627 *2829 *2a2b *2c2d *2e2f *3031 *3233 *3435" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:2042" "until cat p1.pcap | egrep \"0x0050:  *2627 *2829 *2a2b *2c2d *2e2f *3031 *3233 *3435\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:2042" "until cat p1.pcap | grep -E \"0x0050:  *2627 *2829 *2a2b *2c2d *2e2f *3031 *3233 *3435\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:2043" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -45338,13 +45273,13 @@ $as_echo "system-traffic.at:2043" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2043"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0060:  *3637" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0060:  *3637" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:2043" "until cat p1.pcap | egrep \"0x0060:  *3637\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:2043" "until cat p1.pcap | grep -E \"0x0060:  *3637\" 2>&1 1>/dev/null"
 
 
 
@@ -46117,24 +46052,8 @@ $at_traceon; }
 
 
 rm -rf p1.pcap
- { set +x
-$as_echo "$at_srcdir/system-traffic.at:2065: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p1 > p1.pcap &
-NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2065"
-( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p1 > p1.pcap &
-NS_EXEC_HEREDOC
-) >>"$at_stdout" 2>>"$at_stderr" 5>&-
-at_status=$? at_failed=false
-$at_check_filter
-at_fn_diff_devnull "$at_stderr" || at_failed=:
-at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2065"
-$at_failed && at_fn_log_failure  \
-"ovsdb-server.log" \
-"ovs-vswitchd.log"
-$at_traceon; }
+ip netns exec at_ns1 tcpdump -l -n -xx -U -i p1 > p1.pcap & echo $! > tcpdump.pid
+     echo "kill \`cat tcpdump.pid\`" >> cleanup
 
 
 sleep 1
@@ -46167,13 +46086,13 @@ $as_echo "system-traffic.at:2074" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2074"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0000:  *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800 *4500" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0000:  *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800 *4500" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:2074" "until cat p1.pcap | egrep \"0x0000:  *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800 *4500\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:2074" "until cat p1.pcap | grep -E \"0x0000:  *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800 *4500\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:2075" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -46182,13 +46101,13 @@ $as_echo "system-traffic.at:2075" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2075"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0010:  *0054 *0344 *4000 *4001 *2161 *0a01 *0101 *0a01" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0010:  *0054 *0344 *4000 *4001 *2161 *0a01 *0101 *0a01" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:2075" "until cat p1.pcap | egrep \"0x0010:  *0054 *0344 *4000 *4001 *2161 *0a01 *0101 *0a01\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:2075" "until cat p1.pcap | grep -E \"0x0010:  *0054 *0344 *4000 *4001 *2161 *0a01 *0101 *0a01\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:2076" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -46197,13 +46116,13 @@ $as_echo "system-traffic.at:2076" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2076"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0020:  *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61 *0000" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0020:  *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61 *0000" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:2076" "until cat p1.pcap | egrep \"0x0020:  *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61 *0000\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:2076" "until cat p1.pcap | grep -E \"0x0020:  *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61 *0000\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:2077" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -46212,13 +46131,13 @@ $as_echo "system-traffic.at:2077" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2077"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0030:  *0000 *500b *0200 *0000 *0000 *1011 *1213 *1415" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0030:  *0000 *500b *0200 *0000 *0000 *1011 *1213 *1415" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:2077" "until cat p1.pcap | egrep \"0x0030:  *0000 *500b *0200 *0000 *0000 *1011 *1213 *1415\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:2077" "until cat p1.pcap | grep -E \"0x0030:  *0000 *500b *0200 *0000 *0000 *1011 *1213 *1415\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:2078" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -46227,13 +46146,13 @@ $as_echo "system-traffic.at:2078" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2078"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0040:  *1617 *1819 *1a1b *1c1d *1e1f *2021 *2223 *2425" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0040:  *1617 *1819 *1a1b *1c1d *1e1f *2021 *2223 *2425" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:2078" "until cat p1.pcap | egrep \"0x0040:  *1617 *1819 *1a1b *1c1d *1e1f *2021 *2223 *2425\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:2078" "until cat p1.pcap | grep -E \"0x0040:  *1617 *1819 *1a1b *1c1d *1e1f *2021 *2223 *2425\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:2079" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -46242,13 +46161,13 @@ $as_echo "system-traffic.at:2079" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2079"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0050:  *2627 *2829 *2a2b *2c2d *2e2f *3031 *3233 *3435" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0050:  *2627 *2829 *2a2b *2c2d *2e2f *3031 *3233 *3435" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:2079" "until cat p1.pcap | egrep \"0x0050:  *2627 *2829 *2a2b *2c2d *2e2f *3031 *3233 *3435\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:2079" "until cat p1.pcap | grep -E \"0x0050:  *2627 *2829 *2a2b *2c2d *2e2f *3031 *3233 *3435\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:2080" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -46257,13 +46176,13 @@ $as_echo "system-traffic.at:2080" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2080"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0060:  *3637" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0060:  *3637" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:2080" "until cat p1.pcap | egrep \"0x0060:  *3637\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:2080" "until cat p1.pcap | grep -E \"0x0060:  *3637\" 2>&1 1>/dev/null"
 
 
 
@@ -92125,12 +92044,14 @@ $at_traceon; }
 
 
 
-ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p0 -w p0.pcap >tcpdump.out 2>/dev/null &
-NS_EXEC_HEREDOC
-ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p1 -w p1.pcap >tcpdump.out 2>/dev/null &
-NS_EXEC_HEREDOC
+ip netns exec at_ns0 tcpdump -l -n -xx -U -i p0 -w p0.pcap >tcpdump.out 2>/dev/null & echo $! > tcpdump_0.pid
+     echo "kill \`cat tcpdump_0.pid\`" >> cleanup
+
+
+ip netns exec at_ns1 tcpdump -l -n -xx -U -i p1 -w p1.pcap >tcpdump.out 2>/dev/null & echo $! > tcpdump_1.pid
+     echo "kill \`cat tcpdump_1.pid\`" >> cleanup
+
+
 
 cat >flows.txt <<'_ATEOF'
 table=0,arp,actions=normal
@@ -115305,7 +115226,9 @@ $at_traceon; }
 
 
 rm p0.pcap
-tcpdump -U -i ovs-p0 -w p0.pcap &
+tcpdump -U -i ovs-p0 -w p0.pcap & echo $! > tcpdump.pid
+    on_exit "kill `cat tcpdump.pid`"
+
 sleep 1
 
  { set +x
@@ -115390,9 +115313,9 @@ $at_traceon; }
 
 
 { set +x
-$as_echo "$at_srcdir/system-traffic.at:5539: tcpdump -v \"icmp\" -r p0.pcap 2>/dev/null | egrep 'wrong|bad'"
+$as_echo "$at_srcdir/system-traffic.at:5539: tcpdump -v \"icmp\" -r p0.pcap 2>/dev/null | grep -E 'wrong|bad'"
 at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:5539"
-( $at_check_trace; tcpdump -v "icmp" -r p0.pcap 2>/dev/null | egrep 'wrong|bad'
+( $at_check_trace; tcpdump -v "icmp" -r p0.pcap 2>/dev/null | grep -E 'wrong|bad'
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
@@ -128314,7 +128237,9 @@ $at_traceon; }
 
 
 rm p0.pcap
-tcpdump -U -i ovs-p0 -w p0.pcap &
+tcpdump -U -i ovs-p0 -w p0.pcap & echo $! > tcpdump.pid
+    on_exit "kill `cat tcpdump.pid`"
+
 sleep 1
 
  { set +x
@@ -128339,9 +128264,9 @@ $at_traceon; }
 
 
 { set +x
-$as_echo "$at_srcdir/system-traffic.at:6289: tcpdump -v \"icmp6\" -r p0.pcap 2>/dev/null | egrep 'wrong|bad'"
+$as_echo "$at_srcdir/system-traffic.at:6289: tcpdump -v \"icmp6\" -r p0.pcap 2>/dev/null | grep -E 'wrong|bad'"
 at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:6289"
-( $at_check_trace; tcpdump -v "icmp6" -r p0.pcap 2>/dev/null | egrep 'wrong|bad'
+( $at_check_trace; tcpdump -v "icmp6" -r p0.pcap 2>/dev/null | grep -E 'wrong|bad'
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
@@ -147384,24 +147309,8 @@ $at_failed && at_fn_log_failure  \
 $at_traceon; }
 
 
- { set +x
-$as_echo "$at_srcdir/system-traffic.at:7279: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p1 > p1.pcap &
-NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:7279"
-( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p1 > p1.pcap &
-NS_EXEC_HEREDOC
-) >>"$at_stdout" 2>>"$at_stderr" 5>&-
-at_status=$? at_failed=false
-$at_check_filter
-at_fn_diff_devnull "$at_stderr" || at_failed=:
-at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:7279"
-$at_failed && at_fn_log_failure  \
-"ovsdb-server.log" \
-"ovs-vswitchd.log"
-$at_traceon; }
+ip netns exec at_ns1 tcpdump -l -n -xx -U -i p1 > p1.pcap & echo $! > tcpdump.pid
+     echo "kill \`cat tcpdump.pid\`" >> cleanup
 
 
 sleep 1
@@ -147434,13 +147343,13 @@ $as_echo "system-traffic.at:7288" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7288"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0000: *f2ff *0000 *0002 *f2ff *0000 *0001 *894f *0fc6" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0000: *f2ff *0000 *0002 *f2ff *0000 *0001 *894f *0fc6" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7288" "until cat p1.pcap | egrep \"0x0000: *f2ff *0000 *0002 *f2ff *0000 *0001 *894f *0fc6\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7288" "until cat p1.pcap | grep -E \"0x0000: *f2ff *0000 *0002 *f2ff *0000 *0001 *894f *0fc6\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7289" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -147449,13 +147358,13 @@ $as_echo "system-traffic.at:7289" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7289"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0010: *0103 *0012 *34ff *1122 *3344 *0000 *0000 *0000" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0010: *0103 *0012 *34ff *1122 *3344 *0000 *0000 *0000" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7289" "until cat p1.pcap | egrep \"0x0010: *0103 *0012 *34ff *1122 *3344 *0000 *0000 *0000\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7289" "until cat p1.pcap | grep -E \"0x0010: *0103 *0012 *34ff *1122 *3344 *0000 *0000 *0000\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7290" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -147464,13 +147373,13 @@ $as_echo "system-traffic.at:7290" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7290"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0020: *0000 *0000 *0000 *f200 *0000 *0002 *f200 *0000" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0020: *0000 *0000 *0000 *f200 *0000 *0002 *f200 *0000" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7290" "until cat p1.pcap | egrep \"0x0020: *0000 *0000 *0000 *f200 *0000 *0002 *f200 *0000\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7290" "until cat p1.pcap | grep -E \"0x0020: *0000 *0000 *0000 *f200 *0000 *0002 *f200 *0000\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7291" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -147479,13 +147388,13 @@ $as_echo "system-traffic.at:7291" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7291"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0030: *0001 *0800 *4500 *0028 *0001 *0000 *4006 *b013" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0030: *0001 *0800 *4500 *0028 *0001 *0000 *4006 *b013" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7291" "until cat p1.pcap | egrep \"0x0030: *0001 *0800 *4500 *0028 *0001 *0000 *4006 *b013\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7291" "until cat p1.pcap | grep -E \"0x0030: *0001 *0800 *4500 *0028 *0001 *0000 *4006 *b013\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7292" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -147494,13 +147403,13 @@ $as_echo "system-traffic.at:7292" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7292"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0040: *c0a8 *000a *0a00 *000a *0400 *0800 *0000 *00c8" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0040: *c0a8 *000a *0a00 *000a *0400 *0800 *0000 *00c8" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7292" "until cat p1.pcap | egrep \"0x0040: *c0a8 *000a *0a00 *000a *0400 *0800 *0000 *00c8\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7292" "until cat p1.pcap | grep -E \"0x0040: *c0a8 *000a *0a00 *000a *0400 *0800 *0000 *00c8\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7293" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -147509,13 +147418,13 @@ $as_echo "system-traffic.at:7293" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7293"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0050: *0000 *0000 *5002 *2000 *b85e *0000" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0050: *0000 *0000 *5002 *2000 *b85e *0000" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7293" "until cat p1.pcap | egrep \"0x0050: *0000 *0000 *5002 *2000 *b85e *0000\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7293" "until cat p1.pcap | grep -E \"0x0050: *0000 *0000 *5002 *2000 *b85e *0000\" 2>&1 1>/dev/null"
 
 
 { set +x
@@ -148267,24 +148176,8 @@ $at_failed && at_fn_log_failure  \
 $at_traceon; }
 
 
- { set +x
-$as_echo "$at_srcdir/system-traffic.at:7311: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p1 > p1.pcap &
-NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:7311"
-( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p1 > p1.pcap &
-NS_EXEC_HEREDOC
-) >>"$at_stdout" 2>>"$at_stderr" 5>&-
-at_status=$? at_failed=false
-$at_check_filter
-at_fn_diff_devnull "$at_stderr" || at_failed=:
-at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:7311"
-$at_failed && at_fn_log_failure  \
-"ovsdb-server.log" \
-"ovs-vswitchd.log"
-$at_traceon; }
+ip netns exec at_ns1 tcpdump -l -n -xx -U -i p1 > p1.pcap & echo $! > tcpdump.pid
+     echo "kill \`cat tcpdump.pid\`" >> cleanup
 
 
 sleep 1
@@ -148317,13 +148210,13 @@ $as_echo "system-traffic.at:7320" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7320"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0000: *f200 *0000 *0002 *f200 *0000 *0001 *0800 *4500" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0000: *f200 *0000 *0002 *f200 *0000 *0001 *0800 *4500" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7320" "until cat p1.pcap | egrep \"0x0000: *f200 *0000 *0002 *f200 *0000 *0001 *0800 *4500\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7320" "until cat p1.pcap | grep -E \"0x0000: *f200 *0000 *0002 *f200 *0000 *0001 *0800 *4500\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7321" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -148332,13 +148225,13 @@ $as_echo "system-traffic.at:7321" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7321"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0010: *0028 *0001 *0000 *4006 *b013 *c0a8 *000a *0a00" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0010: *0028 *0001 *0000 *4006 *b013 *c0a8 *000a *0a00" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7321" "until cat p1.pcap | egrep \"0x0010: *0028 *0001 *0000 *4006 *b013 *c0a8 *000a *0a00\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7321" "until cat p1.pcap | grep -E \"0x0010: *0028 *0001 *0000 *4006 *b013 *c0a8 *000a *0a00\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7322" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -148347,13 +148240,13 @@ $as_echo "system-traffic.at:7322" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7322"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0020: *000a *0400 *0800 *0000 *00c8 *0000 *0000 *5002" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0020: *000a *0400 *0800 *0000 *00c8 *0000 *0000 *5002" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7322" "until cat p1.pcap | egrep \"0x0020: *000a *0400 *0800 *0000 *00c8 *0000 *0000 *5002\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7322" "until cat p1.pcap | grep -E \"0x0020: *000a *0400 *0800 *0000 *00c8 *0000 *0000 *5002\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7323" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -148362,13 +148255,13 @@ $as_echo "system-traffic.at:7323" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7323"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0030: *2000 *b85e *0000" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0030: *2000 *b85e *0000" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7323" "until cat p1.pcap | egrep \"0x0030: *2000 *b85e *0000\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7323" "until cat p1.pcap | grep -E \"0x0030: *2000 *b85e *0000\" 2>&1 1>/dev/null"
 
 
 { set +x
@@ -149120,24 +149013,8 @@ $at_failed && at_fn_log_failure  \
 $at_traceon; }
 
 
- { set +x
-$as_echo "$at_srcdir/system-traffic.at:7343: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p1 > p1.pcap &
-NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:7343"
-( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p1 > p1.pcap &
-NS_EXEC_HEREDOC
-) >>"$at_stdout" 2>>"$at_stderr" 5>&-
-at_status=$? at_failed=false
-$at_check_filter
-at_fn_diff_devnull "$at_stderr" || at_failed=:
-at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:7343"
-$at_failed && at_fn_log_failure  \
-"ovsdb-server.log" \
-"ovs-vswitchd.log"
-$at_traceon; }
+ip netns exec at_ns1 tcpdump -l -n -xx -U -i p1 > p1.pcap & echo $! > tcpdump.pid
+     echo "kill \`cat tcpdump.pid\`" >> cleanup
 
 
 sleep 1
@@ -149170,13 +149047,13 @@ $as_echo "system-traffic.at:7353" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7353"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0000: *f2ff *0000 *0002 *f2ff *0000* 0001 *894f *01c6" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0000: *f2ff *0000 *0002 *f2ff *0000* 0001 *894f *01c6" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7353" "until cat p1.pcap | egrep \"0x0000: *f2ff *0000 *0002 *f2ff *0000* 0001 *894f *01c6\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7353" "until cat p1.pcap | grep -E \"0x0000: *f2ff *0000 *0002 *f2ff *0000* 0001 *894f *01c6\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7354" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -149185,13 +149062,13 @@ $as_echo "system-traffic.at:7354" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7354"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0010: *0103 *0001 *0104 *100f *0e0d *0c0b *0a09 *0807" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0010: *0103 *0001 *0104 *100f *0e0d *0c0b *0a09 *0807" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7354" "until cat p1.pcap | egrep \"0x0010: *0103 *0001 *0104 *100f *0e0d *0c0b *0a09 *0807\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7354" "until cat p1.pcap | grep -E \"0x0010: *0103 *0001 *0104 *100f *0e0d *0c0b *0a09 *0807\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7355" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -149200,13 +149077,13 @@ $as_echo "system-traffic.at:7355" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7355"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0020: *0605 *0403 *0201 *f200 *0000 *0002 *f200 *0000" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0020: *0605 *0403 *0201 *f200 *0000 *0002 *f200 *0000" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7355" "until cat p1.pcap | egrep \"0x0020: *0605 *0403 *0201 *f200 *0000 *0002 *f200 *0000\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7355" "until cat p1.pcap | grep -E \"0x0020: *0605 *0403 *0201 *f200 *0000 *0002 *f200 *0000\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7356" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -149215,13 +149092,13 @@ $as_echo "system-traffic.at:7356" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7356"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0030: *0001 *0800 *4500 *0028 *0001 *0000 *4006 *b013" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0030: *0001 *0800 *4500 *0028 *0001 *0000 *4006 *b013" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7356" "until cat p1.pcap | egrep \"0x0030: *0001 *0800 *4500 *0028 *0001 *0000 *4006 *b013\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7356" "until cat p1.pcap | grep -E \"0x0030: *0001 *0800 *4500 *0028 *0001 *0000 *4006 *b013\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7357" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -149230,13 +149107,13 @@ $as_echo "system-traffic.at:7357" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7357"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0040: *c0a8 *000a *0a00 *000a *0400 *0800 *0000 *00c8" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0040: *c0a8 *000a *0a00 *000a *0400 *0800 *0000 *00c8" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7357" "until cat p1.pcap | egrep \"0x0040: *c0a8 *000a *0a00 *000a *0400 *0800 *0000 *00c8\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7357" "until cat p1.pcap | grep -E \"0x0040: *c0a8 *000a *0a00 *000a *0400 *0800 *0000 *00c8\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7358" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -149245,13 +149122,13 @@ $as_echo "system-traffic.at:7358" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7358"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0050: *0000 *0000 *5002 *2000 *b85e *0000" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0050: *0000 *0000 *5002 *2000 *b85e *0000" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7358" "until cat p1.pcap | egrep \"0x0050: *0000 *0000 *5002 *2000 *b85e *0000\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7358" "until cat p1.pcap | grep -E \"0x0050: *0000 *0000 *5002 *2000 *b85e *0000\" 2>&1 1>/dev/null"
 
 
 { set +x
@@ -150223,44 +150100,12 @@ $at_failed && at_fn_log_failure  \
 $at_traceon; }
 
 
- { set +x
-$as_echo "$at_srcdir/system-traffic.at:7379: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p1 > p1.pcap &
-NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:7379"
-( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p1 > p1.pcap &
-NS_EXEC_HEREDOC
-) >>"$at_stdout" 2>>"$at_stderr" 5>&-
-at_status=$? at_failed=false
-$at_check_filter
-at_fn_diff_devnull "$at_stderr" || at_failed=:
-at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:7379"
-$at_failed && at_fn_log_failure  \
-"ovsdb-server.log" \
-"ovs-vswitchd.log"
-$at_traceon; }
+ip netns exec at_ns1 tcpdump -l -n -xx -U -i p1 > p1.pcap & echo $! > tcpdump.pid
+     echo "kill \`cat tcpdump.pid\`" >> cleanup
 
 
- { set +x
-$as_echo "$at_srcdir/system-traffic.at:7380: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p2 > p2.pcap &
-NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:7380"
-( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p2 > p2.pcap &
-NS_EXEC_HEREDOC
-) >>"$at_stdout" 2>>"$at_stderr" 5>&-
-at_status=$? at_failed=false
-$at_check_filter
-at_fn_diff_devnull "$at_stderr" || at_failed=:
-at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:7380"
-$at_failed && at_fn_log_failure  \
-"ovsdb-server.log" \
-"ovs-vswitchd.log"
-$at_traceon; }
+ip netns exec at_ns2 tcpdump -l -n -xx -U -i p2 > p2.pcap & echo $! > tcpdump2.pid
+     echo "kill \`cat tcpdump2.pid\`" >> cleanup
 
 
 sleep 1
@@ -150293,13 +150138,13 @@ $as_echo "system-traffic.at:7387" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7387"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0000: *f2ff *0000 *0002 *f2ff *0000 *0001 *894f *0206" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0000: *f2ff *0000 *0002 *f2ff *0000 *0001 *894f *0206" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7387" "until cat p1.pcap | egrep \"0x0000: *f2ff *0000 *0002 *f2ff *0000 *0001 *894f *0206\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7387" "until cat p1.pcap | grep -E \"0x0000: *f2ff *0000 *0002 *f2ff *0000 *0001 *894f *0206\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7388" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -150308,13 +150153,13 @@ $as_echo "system-traffic.at:7388" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7388"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0010: *0103 *0001 *0002 *0102 *0304 *0506 *0708 *090a" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0010: *0103 *0001 *0002 *0102 *0304 *0506 *0708 *090a" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7388" "until cat p1.pcap | egrep \"0x0010: *0103 *0001 *0002 *0102 *0304 *0506 *0708 *090a\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7388" "until cat p1.pcap | grep -E \"0x0010: *0103 *0001 *0002 *0102 *0304 *0506 *0708 *090a\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7389" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -150323,13 +150168,13 @@ $as_echo "system-traffic.at:7389" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7389"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0020: *0b0c *0d0e *0f10 *f200 *0000 *0002 *f200 *0000" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0020: *0b0c *0d0e *0f10 *f200 *0000 *0002 *f200 *0000" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7389" "until cat p1.pcap | egrep \"0x0020: *0b0c *0d0e *0f10 *f200 *0000 *0002 *f200 *0000\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7389" "until cat p1.pcap | grep -E \"0x0020: *0b0c *0d0e *0f10 *f200 *0000 *0002 *f200 *0000\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7390" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -150338,13 +150183,13 @@ $as_echo "system-traffic.at:7390" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7390"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0030: *0001 *0800 *4500 *0028 *0001 *0000 *4006 *b013" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0030: *0001 *0800 *4500 *0028 *0001 *0000 *4006 *b013" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7390" "until cat p1.pcap | egrep \"0x0030: *0001 *0800 *4500 *0028 *0001 *0000 *4006 *b013\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7390" "until cat p1.pcap | grep -E \"0x0030: *0001 *0800 *4500 *0028 *0001 *0000 *4006 *b013\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7391" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -150353,13 +150198,13 @@ $as_echo "system-traffic.at:7391" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7391"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0040: *c0a8 *000a *0a00 *000a *0400 *0800 *0000 *00c8" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0040: *c0a8 *000a *0a00 *000a *0400 *0800 *0000 *00c8" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7391" "until cat p1.pcap | egrep \"0x0040: *c0a8 *000a *0a00 *000a *0400 *0800 *0000 *00c8\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7391" "until cat p1.pcap | grep -E \"0x0040: *c0a8 *000a *0a00 *000a *0400 *0800 *0000 *00c8\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7392" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -150368,13 +150213,13 @@ $as_echo "system-traffic.at:7392" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7392"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0050: *0000 *0000 *5002 *2000 *b85e *0000" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0050: *0000 *0000 *5002 *2000 *b85e *0000" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7392" "until cat p1.pcap | egrep \"0x0050: *0000 *0000 *5002 *2000 *b85e *0000\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7392" "until cat p1.pcap | grep -E \"0x0050: *0000 *0000 *5002 *2000 *b85e *0000\" 2>&1 1>/dev/null"
 
 
  { set +x
@@ -150405,13 +150250,13 @@ $as_echo "system-traffic.at:7398" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7398"
    ovs_wait_cond () {
-    cat p2.pcap | egrep "0x0000: *f2ff *0000 *0002 *f2ff *0000 *0001 *894f *01c6" 2>&1 1>/dev/null
+    cat p2.pcap | grep -E "0x0000: *f2ff *0000 *0002 *f2ff *0000 *0001 *894f *01c6" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7398" "until cat p2.pcap | egrep \"0x0000: *f2ff *0000 *0002 *f2ff *0000 *0001 *894f *01c6\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7398" "until cat p2.pcap | grep -E \"0x0000: *f2ff *0000 *0002 *f2ff *0000 *0001 *894f *01c6\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7399" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -150420,13 +150265,13 @@ $as_echo "system-traffic.at:7399" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7399"
    ovs_wait_cond () {
-    cat p2.pcap | egrep "0x0010: *0103 *0001 *0001 *0102 *0304 *0506 *0708 *090a" 2>&1 1>/dev/null
+    cat p2.pcap | grep -E "0x0010: *0103 *0001 *0001 *0102 *0304 *0506 *0708 *090a" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7399" "until cat p2.pcap | egrep \"0x0010: *0103 *0001 *0001 *0102 *0304 *0506 *0708 *090a\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7399" "until cat p2.pcap | grep -E \"0x0010: *0103 *0001 *0001 *0102 *0304 *0506 *0708 *090a\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7400" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -150435,13 +150280,13 @@ $as_echo "system-traffic.at:7400" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7400"
    ovs_wait_cond () {
-    cat p2.pcap | egrep "0x0020: *0b0c *0d0e *0f10 *f200 *0000 *0002 *f200 *0000" 2>&1 1>/dev/null
+    cat p2.pcap | grep -E "0x0020: *0b0c *0d0e *0f10 *f200 *0000 *0002 *f200 *0000" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7400" "until cat p2.pcap | egrep \"0x0020: *0b0c *0d0e *0f10 *f200 *0000 *0002 *f200 *0000\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7400" "until cat p2.pcap | grep -E \"0x0020: *0b0c *0d0e *0f10 *f200 *0000 *0002 *f200 *0000\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7401" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -150450,13 +150295,13 @@ $as_echo "system-traffic.at:7401" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7401"
    ovs_wait_cond () {
-    cat p2.pcap | egrep "0x0030: *0001 *0800 *4500 *0028 *0001 *0000 *4006 *b013" 2>&1 1>/dev/null
+    cat p2.pcap | grep -E "0x0030: *0001 *0800 *4500 *0028 *0001 *0000 *4006 *b013" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7401" "until cat p2.pcap | egrep \"0x0030: *0001 *0800 *4500 *0028 *0001 *0000 *4006 *b013\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7401" "until cat p2.pcap | grep -E \"0x0030: *0001 *0800 *4500 *0028 *0001 *0000 *4006 *b013\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7402" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -150465,13 +150310,13 @@ $as_echo "system-traffic.at:7402" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7402"
    ovs_wait_cond () {
-    cat p2.pcap | egrep "0x0040: *c0a8 *000a *0a00 *000a *0400 *0800 *0000 *00c8" 2>&1 1>/dev/null
+    cat p2.pcap | grep -E "0x0040: *c0a8 *000a *0a00 *000a *0400 *0800 *0000 *00c8" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7402" "until cat p2.pcap | egrep \"0x0040: *c0a8 *000a *0a00 *000a *0400 *0800 *0000 *00c8\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7402" "until cat p2.pcap | grep -E \"0x0040: *c0a8 *000a *0a00 *000a *0400 *0800 *0000 *00c8\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7403" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -150480,13 +150325,13 @@ $as_echo "system-traffic.at:7403" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7403"
    ovs_wait_cond () {
-    cat p2.pcap | egrep "0x0050: *0000 *0000 *5002 *2000 *b85e *0000" 2>&1 1>/dev/null
+    cat p2.pcap | grep -E "0x0050: *0000 *0000 *5002 *2000 *b85e *0000" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7403" "until cat p2.pcap | egrep \"0x0050: *0000 *0000 *5002 *2000 *b85e *0000\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7403" "until cat p2.pcap | grep -E \"0x0050: *0000 *0000 *5002 *2000 *b85e *0000\" 2>&1 1>/dev/null"
 
 
 { set +x
diff --git a/tests/system-dpdk-macros.at b/tests/system-dpdk-macros.at
index d171a45..53fbc13 100644
--- a/tests/system-dpdk-macros.at
+++ b/tests/system-dpdk-macros.at
@@ -6,7 +6,7 @@
 m4_define([OVS_DPDK_PRE_CHECK],
   [dnl Check Hugepages
    AT_CHECK([cat /proc/meminfo], [], [stdout])
-   AT_SKIP_IF([egrep 'HugePages_Free: *0' stdout], [], [stdout])
+   AT_SKIP_IF([grep -E 'HugePages_Free: *0' stdout], [], [stdout])
    AT_CHECK([mount], [], [stdout])
    AT_CHECK([grep 'hugetlbfs' stdout], [], [stdout], [])
 
diff --git a/tests/system-dpdk-testsuite b/tests/system-dpdk-testsuite
index 7911337..3ec1b4e 100755
--- a/tests/system-dpdk-testsuite
+++ b/tests/system-dpdk-testsuite
@@ -941,7 +941,7 @@ fi
 # List of tests.
 if $at_list_p; then
   cat <<_ATEOF || at_write_fail=1
-openvswitch 3.0.0 test suite test groups:
+openvswitch 3.0.1 test suite test groups:
 
  NUM: FILE-NAME:LINE     TEST-GROUP-NAME
       KEYWORDS
@@ -982,7 +982,7 @@ _ATEOF
   exit $at_write_fail
 fi
 if $at_version_p; then
-  $as_echo "$as_me (openvswitch 3.0.0)" &&
+  $as_echo "$as_me (openvswitch 3.0.1)" &&
   cat <<\_ATEOF || at_write_fail=1
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1176,11 +1176,11 @@ exec 5>>"$at_suite_log"
 
 # Banners and logs.
 $as_echo "## ----------------------------- ##
-## openvswitch 3.0.0 test suite. ##
+## openvswitch 3.0.1 test suite. ##
 ## ----------------------------- ##"
 {
   $as_echo "## ----------------------------- ##
-## openvswitch 3.0.0 test suite. ##
+## openvswitch 3.0.1 test suite. ##
 ## ----------------------------- ##"
   echo
 
@@ -1549,7 +1549,7 @@ parent_pid () {
     # e.g. Alpine Linux) is noncompliant, so we use a Linux-specific approach
     # when it's available.  We check the format of the status file to avoid
     # the NetBSD file with the same name but different contents.
-    if egrep '^PPid:[[:space:]]*[0-9]*$' /proc/$1/status > /dev/null 2>&1; then
+    if grep -E '^PPid:[[:space:]]*[0-9]*$' /proc/$1/status > /dev/null 2>&1; then
         sed -n 's/^PPid:	\([0-9]*\)/\1/p' /proc/$1/status
     else
         ps -o ppid= -p $1
@@ -2504,7 +2504,7 @@ _ASBOX
   $as_echo "Please send $at_msg and all information you think might help:
 
    To: <bugs@openvswitch.org>
-   Subject: [openvswitch 3.0.0] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly}
+   Subject: [openvswitch 3.0.1] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly}
 
 You may investigate any problem if you feel able to do so, in which
 case the test suite provides a good starting point.  Its output may
@@ -2543,7 +2543,7 @@ $at_failed && at_fn_log_failure
 $at_traceon; }
 
    $as_echo "system-dpdk.at:34" >"$at_check_line_file"
-(egrep 'HugePages_Free: *0' stdout) \
+(grep -E 'HugePages_Free: *0' stdout) \
   && at_fn_check_skip 77 "$at_srcdir/system-dpdk.at:34"
    { set +x
 $as_echo "$at_srcdir/system-dpdk.at:34: mount"
@@ -2893,7 +2893,7 @@ $at_failed && at_fn_log_failure
 $at_traceon; }
 
    $as_echo "system-dpdk.at:50" >"$at_check_line_file"
-(egrep 'HugePages_Free: *0' stdout) \
+(grep -E 'HugePages_Free: *0' stdout) \
   && at_fn_check_skip 77 "$at_srcdir/system-dpdk.at:50"
    { set +x
 $as_echo "$at_srcdir/system-dpdk.at:50: mount"
@@ -3296,7 +3296,7 @@ $at_failed && at_fn_log_failure
 $at_traceon; }
 
    $as_echo "system-dpdk.at:71" >"$at_check_line_file"
-(egrep 'HugePages_Free: *0' stdout) \
+(grep -E 'HugePages_Free: *0' stdout) \
   && at_fn_check_skip 77 "$at_srcdir/system-dpdk.at:71"
    { set +x
 $as_echo "$at_srcdir/system-dpdk.at:71: mount"
@@ -3713,7 +3713,7 @@ $at_failed && at_fn_log_failure
 $at_traceon; }
 
    $as_echo "system-dpdk.at:99" >"$at_check_line_file"
-(egrep 'HugePages_Free: *0' stdout) \
+(grep -E 'HugePages_Free: *0' stdout) \
   && at_fn_check_skip 77 "$at_srcdir/system-dpdk.at:99"
    { set +x
 $as_echo "$at_srcdir/system-dpdk.at:99: mount"
@@ -4584,7 +4584,7 @@ $at_failed && at_fn_log_failure
 $at_traceon; }
 
    $as_echo "system-dpdk.at:172" >"$at_check_line_file"
-(egrep 'HugePages_Free: *0' stdout) \
+(grep -E 'HugePages_Free: *0' stdout) \
   && at_fn_check_skip 77 "$at_srcdir/system-dpdk.at:172"
    { set +x
 $as_echo "$at_srcdir/system-dpdk.at:172: mount"
@@ -5456,7 +5456,7 @@ $at_failed && at_fn_log_failure
 $at_traceon; }
 
    $as_echo "system-dpdk.at:247" >"$at_check_line_file"
-(egrep 'HugePages_Free: *0' stdout) \
+(grep -E 'HugePages_Free: *0' stdout) \
   && at_fn_check_skip 77 "$at_srcdir/system-dpdk.at:247"
    { set +x
 $as_echo "$at_srcdir/system-dpdk.at:247: mount"
@@ -5743,9 +5743,9 @@ $at_failed && at_fn_log_failure  \
 $at_traceon; }
 
 { set +x
-$as_echo "$at_srcdir/system-dpdk.at:265: egrep 'ingress_policing_burst: 0' stdout"
+$as_echo "$at_srcdir/system-dpdk.at:265: grep -E 'ingress_policing_burst: 0' stdout"
 at_fn_check_prepare_trace "system-dpdk.at:265"
-( $at_check_trace; egrep 'ingress_policing_burst: 0' stdout
+( $at_check_trace; grep -E 'ingress_policing_burst: 0' stdout
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
@@ -5774,9 +5774,9 @@ $at_failed && at_fn_log_failure  \
 $at_traceon; }
 
 { set +x
-$as_echo "$at_srcdir/system-dpdk.at:268: egrep 'ingress_policing_rate: 0' stdout"
+$as_echo "$at_srcdir/system-dpdk.at:268: grep -E 'ingress_policing_rate: 0' stdout"
 at_fn_check_prepare_trace "system-dpdk.at:268"
-( $at_check_trace; egrep 'ingress_policing_rate: 0' stdout
+( $at_check_trace; grep -E 'ingress_policing_rate: 0' stdout
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
@@ -5957,7 +5957,7 @@ $at_failed && at_fn_log_failure
 $at_traceon; }
 
    $as_echo "system-dpdk.at:283" >"$at_check_line_file"
-(egrep 'HugePages_Free: *0' stdout) \
+(grep -E 'HugePages_Free: *0' stdout) \
   && at_fn_check_skip 77 "$at_srcdir/system-dpdk.at:283"
    { set +x
 $as_echo "$at_srcdir/system-dpdk.at:283: mount"
@@ -6208,9 +6208,9 @@ $at_failed && at_fn_log_failure  \
 $at_traceon; }
 
 { set +x
-$as_echo "$at_srcdir/system-dpdk.at:301: egrep 'ingress_policing_burst: 0' stdout"
+$as_echo "$at_srcdir/system-dpdk.at:301: grep -E 'ingress_policing_burst: 0' stdout"
 at_fn_check_prepare_trace "system-dpdk.at:301"
-( $at_check_trace; egrep 'ingress_policing_burst: 0' stdout
+( $at_check_trace; grep -E 'ingress_policing_burst: 0' stdout
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
@@ -6239,9 +6239,9 @@ $at_failed && at_fn_log_failure  \
 $at_traceon; }
 
 { set +x
-$as_echo "$at_srcdir/system-dpdk.at:304: egrep 'ingress_policing_rate: 0' stdout"
+$as_echo "$at_srcdir/system-dpdk.at:304: grep -E 'ingress_policing_rate: 0' stdout"
 at_fn_check_prepare_trace "system-dpdk.at:304"
-( $at_check_trace; egrep 'ingress_policing_rate: 0' stdout
+( $at_check_trace; grep -E 'ingress_policing_rate: 0' stdout
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
@@ -6472,7 +6472,7 @@ $at_failed && at_fn_log_failure
 $at_traceon; }
 
    $as_echo "system-dpdk.at:326" >"$at_check_line_file"
-(egrep 'HugePages_Free: *0' stdout) \
+(grep -E 'HugePages_Free: *0' stdout) \
   && at_fn_check_skip 77 "$at_srcdir/system-dpdk.at:326"
    { set +x
 $as_echo "$at_srcdir/system-dpdk.at:326: mount"
@@ -6707,9 +6707,9 @@ $at_failed && at_fn_log_failure  \
 $at_traceon; }
 
 { set +x
-$as_echo "$at_srcdir/system-dpdk.at:341: egrep 'ingress_policing_burst: 1000' stdout"
+$as_echo "$at_srcdir/system-dpdk.at:341: grep -E 'ingress_policing_burst: 1000' stdout"
 at_fn_check_prepare_trace "system-dpdk.at:341"
-( $at_check_trace; egrep 'ingress_policing_burst: 1000' stdout
+( $at_check_trace; grep -E 'ingress_policing_burst: 1000' stdout
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
@@ -6738,9 +6738,9 @@ $at_failed && at_fn_log_failure  \
 $at_traceon; }
 
 { set +x
-$as_echo "$at_srcdir/system-dpdk.at:344: egrep 'ingress_policing_rate: 0' stdout"
+$as_echo "$at_srcdir/system-dpdk.at:344: grep -E 'ingress_policing_rate: 0' stdout"
 at_fn_check_prepare_trace "system-dpdk.at:344"
-( $at_check_trace; egrep 'ingress_policing_rate: 0' stdout
+( $at_check_trace; grep -E 'ingress_policing_rate: 0' stdout
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
@@ -6972,7 +6972,7 @@ $at_failed && at_fn_log_failure
 $at_traceon; }
 
    $as_echo "system-dpdk.at:367" >"$at_check_line_file"
-(egrep 'HugePages_Free: *0' stdout) \
+(grep -E 'HugePages_Free: *0' stdout) \
   && at_fn_check_skip 77 "$at_srcdir/system-dpdk.at:367"
    { set +x
 $as_echo "$at_srcdir/system-dpdk.at:367: mount"
@@ -7207,9 +7207,9 @@ $at_failed && at_fn_log_failure  \
 $at_traceon; }
 
 { set +x
-$as_echo "$at_srcdir/system-dpdk.at:382: egrep 'ingress_policing_burst: 0' stdout"
+$as_echo "$at_srcdir/system-dpdk.at:382: grep -E 'ingress_policing_burst: 0' stdout"
 at_fn_check_prepare_trace "system-dpdk.at:382"
-( $at_check_trace; egrep 'ingress_policing_burst: 0' stdout
+( $at_check_trace; grep -E 'ingress_policing_burst: 0' stdout
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
@@ -7238,9 +7238,9 @@ $at_failed && at_fn_log_failure  \
 $at_traceon; }
 
 { set +x
-$as_echo "$at_srcdir/system-dpdk.at:385: egrep 'ingress_policing_rate: 10000' stdout"
+$as_echo "$at_srcdir/system-dpdk.at:385: grep -E 'ingress_policing_rate: 10000' stdout"
 at_fn_check_prepare_trace "system-dpdk.at:385"
-( $at_check_trace; egrep 'ingress_policing_rate: 10000' stdout
+( $at_check_trace; grep -E 'ingress_policing_rate: 10000' stdout
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
@@ -7471,7 +7471,7 @@ $at_failed && at_fn_log_failure
 $at_traceon; }
 
    $as_echo "system-dpdk.at:406" >"$at_check_line_file"
-(egrep 'HugePages_Free: *0' stdout) \
+(grep -E 'HugePages_Free: *0' stdout) \
   && at_fn_check_skip 77 "$at_srcdir/system-dpdk.at:406"
    { set +x
 $as_echo "$at_srcdir/system-dpdk.at:406: mount"
@@ -7758,9 +7758,9 @@ $at_failed && at_fn_log_failure  \
 $at_traceon; }
 
 { set +x
-$as_echo "$at_srcdir/system-dpdk.at:424: egrep 'QoS not configured on phy0' stdout"
+$as_echo "$at_srcdir/system-dpdk.at:424: grep -E 'QoS not configured on phy0' stdout"
 at_fn_check_prepare_trace "system-dpdk.at:424"
-( $at_check_trace; egrep 'QoS not configured on phy0' stdout
+( $at_check_trace; grep -E 'QoS not configured on phy0' stdout
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
@@ -7941,7 +7941,7 @@ $at_failed && at_fn_log_failure
 $at_traceon; }
 
    $as_echo "system-dpdk.at:439" >"$at_check_line_file"
-(egrep 'HugePages_Free: *0' stdout) \
+(grep -E 'HugePages_Free: *0' stdout) \
   && at_fn_check_skip 77 "$at_srcdir/system-dpdk.at:439"
    { set +x
 $as_echo "$at_srcdir/system-dpdk.at:439: mount"
@@ -8240,9 +8240,9 @@ $at_failed && at_fn_log_failure  \
 $at_traceon; }
 
 { set +x
-$as_echo "$at_srcdir/system-dpdk.at:463: egrep 'QoS not configured on dpdkvhostuserclient0' stdout"
+$as_echo "$at_srcdir/system-dpdk.at:463: grep -E 'QoS not configured on dpdkvhostuserclient0' stdout"
 at_fn_check_prepare_trace "system-dpdk.at:463"
-( $at_check_trace; egrep 'QoS not configured on dpdkvhostuserclient0' stdout
+( $at_check_trace; grep -E 'QoS not configured on dpdkvhostuserclient0' stdout
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
@@ -8427,7 +8427,7 @@ $at_failed && at_fn_log_failure
 $at_traceon; }
 
    $as_echo "system-dpdk.at:480" >"$at_check_line_file"
-(egrep 'HugePages_Free: *0' stdout) \
+(grep -E 'HugePages_Free: *0' stdout) \
   && at_fn_check_skip 77 "$at_srcdir/system-dpdk.at:480"
    { set +x
 $as_echo "$at_srcdir/system-dpdk.at:480: mount"
@@ -8689,9 +8689,9 @@ $at_failed && at_fn_log_failure  \
 $at_traceon; }
 
 { set +x
-$as_echo "$at_srcdir/system-dpdk.at:496: egrep 'QoS not configured on dpdkvhostuserclient0' stdout"
+$as_echo "$at_srcdir/system-dpdk.at:496: grep -E 'QoS not configured on dpdkvhostuserclient0' stdout"
 at_fn_check_prepare_trace "system-dpdk.at:496"
-( $at_check_trace; egrep 'QoS not configured on dpdkvhostuserclient0' stdout
+( $at_check_trace; grep -E 'QoS not configured on dpdkvhostuserclient0' stdout
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
@@ -8880,7 +8880,7 @@ $at_failed && at_fn_log_failure
 $at_traceon; }
 
    $as_echo "system-dpdk.at:515" >"$at_check_line_file"
-(egrep 'HugePages_Free: *0' stdout) \
+(grep -E 'HugePages_Free: *0' stdout) \
   && at_fn_check_skip 77 "$at_srcdir/system-dpdk.at:515"
    { set +x
 $as_echo "$at_srcdir/system-dpdk.at:515: mount"
@@ -9142,9 +9142,9 @@ $at_failed && at_fn_log_failure  \
 $at_traceon; }
 
 { set +x
-$as_echo "$at_srcdir/system-dpdk.at:531: egrep 'QoS not configured on dpdkvhostuserclient0' stdout"
+$as_echo "$at_srcdir/system-dpdk.at:531: grep -E 'QoS not configured on dpdkvhostuserclient0' stdout"
 at_fn_check_prepare_trace "system-dpdk.at:531"
-( $at_check_trace; egrep 'QoS not configured on dpdkvhostuserclient0' stdout
+( $at_check_trace; grep -E 'QoS not configured on dpdkvhostuserclient0' stdout
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
@@ -9333,7 +9333,7 @@ $at_failed && at_fn_log_failure
 $at_traceon; }
 
    $as_echo "system-dpdk.at:551" >"$at_check_line_file"
-(egrep 'HugePages_Free: *0' stdout) \
+(grep -E 'HugePages_Free: *0' stdout) \
   && at_fn_check_skip 77 "$at_srcdir/system-dpdk.at:551"
    { set +x
 $as_echo "$at_srcdir/system-dpdk.at:551: mount"
@@ -9586,9 +9586,9 @@ $at_failed && at_fn_log_failure  \
 $at_traceon; }
 
 { set +x
-$as_echo "$at_srcdir/system-dpdk.at:564: egrep 'mtu=1500' stdout"
+$as_echo "$at_srcdir/system-dpdk.at:564: grep -E 'mtu=1500' stdout"
 at_fn_check_prepare_trace "system-dpdk.at:564"
-( $at_check_trace; egrep 'mtu=1500' stdout
+( $at_check_trace; grep -E 'mtu=1500' stdout
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
@@ -9641,9 +9641,9 @@ $at_failed && at_fn_log_failure  \
 $at_traceon; }
 
 { set +x
-$as_echo "$at_srcdir/system-dpdk.at:576: egrep 'mtu=9000' stdout"
+$as_echo "$at_srcdir/system-dpdk.at:576: grep -E 'mtu=9000' stdout"
 at_fn_check_prepare_trace "system-dpdk.at:576"
-( $at_check_trace; egrep 'mtu=9000' stdout
+( $at_check_trace; grep -E 'mtu=9000' stdout
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
@@ -9825,7 +9825,7 @@ $at_failed && at_fn_log_failure
 $at_traceon; }
 
    $as_echo "system-dpdk.at:592" >"$at_check_line_file"
-(egrep 'HugePages_Free: *0' stdout) \
+(grep -E 'HugePages_Free: *0' stdout) \
   && at_fn_check_skip 77 "$at_srcdir/system-dpdk.at:592"
    { set +x
 $as_echo "$at_srcdir/system-dpdk.at:592: mount"
@@ -10101,9 +10101,9 @@ $at_failed && at_fn_log_failure  \
 $at_traceon; }
 
 { set +x
-$as_echo "$at_srcdir/system-dpdk.at:612: egrep 'mtu=9000' stdout"
+$as_echo "$at_srcdir/system-dpdk.at:612: grep -E 'mtu=9000' stdout"
 at_fn_check_prepare_trace "system-dpdk.at:612"
-( $at_check_trace; egrep 'mtu=9000' stdout
+( $at_check_trace; grep -E 'mtu=9000' stdout
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
@@ -10148,9 +10148,9 @@ $at_failed && at_fn_log_failure  \
 $at_traceon; }
 
 { set +x
-$as_echo "$at_srcdir/system-dpdk.at:618: egrep 'mtu=2000' stdout"
+$as_echo "$at_srcdir/system-dpdk.at:618: grep -E 'mtu=2000' stdout"
 at_fn_check_prepare_trace "system-dpdk.at:618"
-( $at_check_trace; egrep 'mtu=2000' stdout
+( $at_check_trace; grep -E 'mtu=2000' stdout
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
@@ -10335,7 +10335,7 @@ $at_failed && at_fn_log_failure
 $at_traceon; }
 
    $as_echo "system-dpdk.at:635" >"$at_check_line_file"
-(egrep 'HugePages_Free: *0' stdout) \
+(grep -E 'HugePages_Free: *0' stdout) \
   && at_fn_check_skip 77 "$at_srcdir/system-dpdk.at:635"
    { set +x
 $as_echo "$at_srcdir/system-dpdk.at:635: mount"
@@ -10650,9 +10650,9 @@ $at_failed && at_fn_log_failure  \
 $at_traceon; }
 
 { set +x
-$as_echo "$at_srcdir/system-dpdk.at:664: egrep 'mtu=1500' stdout"
+$as_echo "$at_srcdir/system-dpdk.at:664: grep -E 'mtu=1500' stdout"
 at_fn_check_prepare_trace "system-dpdk.at:664"
-( $at_check_trace; egrep 'mtu=1500' stdout
+( $at_check_trace; grep -E 'mtu=1500' stdout
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
@@ -10697,9 +10697,9 @@ $at_failed && at_fn_log_failure  \
 $at_traceon; }
 
 { set +x
-$as_echo "$at_srcdir/system-dpdk.at:670: egrep 'mtu=9000' stdout"
+$as_echo "$at_srcdir/system-dpdk.at:670: grep -E 'mtu=9000' stdout"
 at_fn_check_prepare_trace "system-dpdk.at:670"
-( $at_check_trace; egrep 'mtu=9000' stdout
+( $at_check_trace; grep -E 'mtu=9000' stdout
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
@@ -10889,7 +10889,7 @@ $at_failed && at_fn_log_failure
 $at_traceon; }
 
    $as_echo "system-dpdk.at:691" >"$at_check_line_file"
-(egrep 'HugePages_Free: *0' stdout) \
+(grep -E 'HugePages_Free: *0' stdout) \
   && at_fn_check_skip 77 "$at_srcdir/system-dpdk.at:691"
    { set +x
 $as_echo "$at_srcdir/system-dpdk.at:691: mount"
@@ -11219,9 +11219,9 @@ $at_failed && at_fn_log_failure  \
 $at_traceon; }
 
 { set +x
-$as_echo "$at_srcdir/system-dpdk.at:721: egrep 'mtu=9000' stdout"
+$as_echo "$at_srcdir/system-dpdk.at:721: grep -E 'mtu=9000' stdout"
 at_fn_check_prepare_trace "system-dpdk.at:721"
-( $at_check_trace; egrep 'mtu=9000' stdout
+( $at_check_trace; grep -E 'mtu=9000' stdout
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
@@ -11266,9 +11266,9 @@ $at_failed && at_fn_log_failure  \
 $at_traceon; }
 
 { set +x
-$as_echo "$at_srcdir/system-dpdk.at:727: egrep 'mtu=2000' stdout"
+$as_echo "$at_srcdir/system-dpdk.at:727: grep -E 'mtu=2000' stdout"
 at_fn_check_prepare_trace "system-dpdk.at:727"
-( $at_check_trace; egrep 'mtu=2000' stdout
+( $at_check_trace; grep -E 'mtu=2000' stdout
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
@@ -11455,7 +11455,7 @@ $at_failed && at_fn_log_failure
 $at_traceon; }
 
    $as_echo "system-dpdk.at:747" >"$at_check_line_file"
-(egrep 'HugePages_Free: *0' stdout) \
+(grep -E 'HugePages_Free: *0' stdout) \
   && at_fn_check_skip 77 "$at_srcdir/system-dpdk.at:747"
    { set +x
 $as_echo "$at_srcdir/system-dpdk.at:747: mount"
@@ -11730,9 +11730,9 @@ $at_failed && at_fn_log_failure  \
 $at_traceon; }
 
 { set +x
-$as_echo "$at_srcdir/system-dpdk.at:765: egrep 'mtu=9702' stdout"
+$as_echo "$at_srcdir/system-dpdk.at:765: grep -E 'mtu=9702' stdout"
 at_fn_check_prepare_trace "system-dpdk.at:765"
-( $at_check_trace; egrep 'mtu=9702' stdout
+( $at_check_trace; grep -E 'mtu=9702' stdout
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
@@ -11951,7 +11951,7 @@ $at_failed && at_fn_log_failure
 $at_traceon; }
 
    $as_echo "system-dpdk.at:788" >"$at_check_line_file"
-(egrep 'HugePages_Free: *0' stdout) \
+(grep -E 'HugePages_Free: *0' stdout) \
   && at_fn_check_skip 77 "$at_srcdir/system-dpdk.at:788"
    { set +x
 $as_echo "$at_srcdir/system-dpdk.at:788: mount"
@@ -12226,9 +12226,9 @@ $at_failed && at_fn_log_failure  \
 $at_traceon; }
 
 { set +x
-$as_echo "$at_srcdir/system-dpdk.at:806: egrep 'mtu=68' stdout"
+$as_echo "$at_srcdir/system-dpdk.at:806: grep -E 'mtu=68' stdout"
 at_fn_check_prepare_trace "system-dpdk.at:806"
-( $at_check_trace; egrep 'mtu=68' stdout
+( $at_check_trace; grep -E 'mtu=68' stdout
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
@@ -12450,7 +12450,7 @@ $at_failed && at_fn_log_failure
 $at_traceon; }
 
    $as_echo "system-dpdk.at:830" >"$at_check_line_file"
-(egrep 'HugePages_Free: *0' stdout) \
+(grep -E 'HugePages_Free: *0' stdout) \
   && at_fn_check_skip 77 "$at_srcdir/system-dpdk.at:830"
    { set +x
 $as_echo "$at_srcdir/system-dpdk.at:830: mount"
@@ -12734,9 +12734,9 @@ $at_failed && at_fn_log_failure  \
 $at_traceon; }
 
 { set +x
-$as_echo "$at_srcdir/system-dpdk.at:855: egrep 'mtu=9702' stdout"
+$as_echo "$at_srcdir/system-dpdk.at:855: grep -E 'mtu=9702' stdout"
 at_fn_check_prepare_trace "system-dpdk.at:855"
-( $at_check_trace; egrep 'mtu=9702' stdout
+( $at_check_trace; grep -E 'mtu=9702' stdout
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
@@ -12961,7 +12961,7 @@ $at_failed && at_fn_log_failure
 $at_traceon; }
 
    $as_echo "system-dpdk.at:882" >"$at_check_line_file"
-(egrep 'HugePages_Free: *0' stdout) \
+(grep -E 'HugePages_Free: *0' stdout) \
   && at_fn_check_skip 77 "$at_srcdir/system-dpdk.at:882"
    { set +x
 $as_echo "$at_srcdir/system-dpdk.at:882: mount"
@@ -13291,9 +13291,9 @@ $at_failed && at_fn_log_failure  \
 $at_traceon; }
 
 { set +x
-$as_echo "$at_srcdir/system-dpdk.at:912: egrep 'mtu=68' stdout"
+$as_echo "$at_srcdir/system-dpdk.at:912: grep -E 'mtu=68' stdout"
 at_fn_check_prepare_trace "system-dpdk.at:912"
-( $at_check_trace; egrep 'mtu=68' stdout
+( $at_check_trace; grep -E 'mtu=68' stdout
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
@@ -13514,7 +13514,7 @@ $at_failed && at_fn_log_failure
 $at_traceon; }
 
    $as_echo "system-dpdk.at:937" >"$at_check_line_file"
-(egrep 'HugePages_Free: *0' stdout) \
+(grep -E 'HugePages_Free: *0' stdout) \
   && at_fn_check_skip 77 "$at_srcdir/system-dpdk.at:937"
    { set +x
 $as_echo "$at_srcdir/system-dpdk.at:937: mount"
@@ -13954,7 +13954,7 @@ $at_failed && at_fn_log_failure
 $at_traceon; }
 
    $as_echo "system-dpdk.at:970" >"$at_check_line_file"
-(egrep 'HugePages_Free: *0' stdout) \
+(grep -E 'HugePages_Free: *0' stdout) \
   && at_fn_check_skip 77 "$at_srcdir/system-dpdk.at:970"
    { set +x
 $as_echo "$at_srcdir/system-dpdk.at:970: mount"
@@ -14398,7 +14398,7 @@ $at_failed && at_fn_log_failure
 $at_traceon; }
 
    $as_echo "system-dpdk.at:1004" >"$at_check_line_file"
-(egrep 'HugePages_Free: *0' stdout) \
+(grep -E 'HugePages_Free: *0' stdout) \
   && at_fn_check_skip 77 "$at_srcdir/system-dpdk.at:1004"
    { set +x
 $as_echo "$at_srcdir/system-dpdk.at:1004: mount"
@@ -15132,7 +15132,7 @@ $at_failed && at_fn_log_failure
 $at_traceon; }
 
    $as_echo "system-dpdk.at:1126" >"$at_check_line_file"
-(egrep 'HugePages_Free: *0' stdout) \
+(grep -E 'HugePages_Free: *0' stdout) \
   && at_fn_check_skip 77 "$at_srcdir/system-dpdk.at:1126"
    { set +x
 $as_echo "$at_srcdir/system-dpdk.at:1126: mount"
diff --git a/tests/system-dpdk.at b/tests/system-dpdk.at
index 15f9709..770a1cc 100644
--- a/tests/system-dpdk.at
+++ b/tests/system-dpdk.at
@@ -262,10 +262,10 @@ AT_CHECK([ovs-vsctl set interface phy0 ingress_policing_rate=0 ingress_policing_
 
 dnl Check policer was removed correctly
 AT_CHECK([ovs-vsctl list interface phy0], [], [stdout])
-AT_CHECK([egrep 'ingress_policing_burst: 0' stdout], [], [stdout])
+AT_CHECK([grep -E 'ingress_policing_burst: 0' stdout], [], [stdout])
 
 AT_CHECK([ovs-vsctl list interface phy0], [], [stdout])
-AT_CHECK([egrep 'ingress_policing_rate: 0' stdout], [], [stdout])
+AT_CHECK([grep -E 'ingress_policing_rate: 0' stdout], [], [stdout])
 
 dnl Clean up
 AT_CHECK([ovs-vsctl del-port br10 phy0], [], [stdout], [stderr])
@@ -298,10 +298,10 @@ AT_CHECK([ovs-vsctl set interface dpdkvhostuserclient0 ingress_policing_rate=0 i
 
 dnl Check ingress policer was removed correctly
 AT_CHECK([ovs-vsctl list interface dpdkvhostuserclient0], [], [stdout])
-AT_CHECK([egrep 'ingress_policing_burst: 0' stdout], [], [stdout])
+AT_CHECK([grep -E 'ingress_policing_burst: 0' stdout], [], [stdout])
 
 AT_CHECK([ovs-vsctl list interface dpdkvhostuserclient0], [], [stdout])
-AT_CHECK([egrep 'ingress_policing_rate: 0' stdout], [], [stdout])
+AT_CHECK([grep -E 'ingress_policing_rate: 0' stdout], [], [stdout])
 
 dnl Parse log file
 AT_CHECK([grep "VHOST_CONFIG: vhost-user client: socket created" ovs-vswitchd.log], [], [stdout])
@@ -338,10 +338,10 @@ AT_FAIL_IF([grep "Could not create rte meter for ingress policer" ovs-vswitchd.l
 
 dnl Check ingress policer was created correctly
 AT_CHECK([ovs-vsctl list interface dpdkvhostuserclient0], [], [stdout])
-AT_CHECK([egrep 'ingress_policing_burst: 1000' stdout], [], [stdout])
+AT_CHECK([grep -E 'ingress_policing_burst: 1000' stdout], [], [stdout])
 
 AT_CHECK([ovs-vsctl list interface dpdkvhostuserclient0], [], [stdout])
-AT_CHECK([egrep 'ingress_policing_rate: 0' stdout], [], [stdout])
+AT_CHECK([grep -E 'ingress_policing_rate: 0' stdout], [], [stdout])
 
 
 dnl Parse log file
@@ -379,10 +379,10 @@ AT_FAIL_IF([grep "Could not create rte meter for ingress policer" ovs-vswitchd.l
 
 dnl Check ingress policer was created correctly
 AT_CHECK([ovs-vsctl list interface dpdkvhostuserclient0], [], [stdout])
-AT_CHECK([egrep 'ingress_policing_burst: 0' stdout], [], [stdout])
+AT_CHECK([grep -E 'ingress_policing_burst: 0' stdout], [], [stdout])
 
 AT_CHECK([ovs-vsctl list interface dpdkvhostuserclient0], [], [stdout])
-AT_CHECK([egrep 'ingress_policing_rate: 10000' stdout], [], [stdout])
+AT_CHECK([grep -E 'ingress_policing_rate: 10000' stdout], [], [stdout])
 
 dnl Parse log file
 AT_CHECK([grep "VHOST_CONFIG: vhost-user client: socket created" ovs-vswitchd.log], [], [stdout])
@@ -421,7 +421,7 @@ AT_CHECK([ovs-vsctl destroy QoS phy0 -- clear Port phy0 qos])
 
 dnl Check egress policer was removed correctly
 AT_CHECK([ovs-appctl -t ovs-vswitchd qos/show phy0], [], [stdout])
-AT_CHECK([egrep 'QoS not configured on phy0' stdout], [], [stdout])
+AT_CHECK([grep -E 'QoS not configured on phy0' stdout], [], [stdout])
 
 dnl Clean up
 AT_CHECK([ovs-vsctl del-port br10 phy0], [], [stdout], [stderr])
@@ -460,7 +460,7 @@ AT_CHECK([ovs-vsctl destroy QoS dpdkvhostuserclient0 -- clear Port dpdkvhostuser
 
 dnl Check egress policer was removed correctly
 AT_CHECK([ovs-appctl -t ovs-vswitchd qos/show dpdkvhostuserclient0], [], [stdout])
-AT_CHECK([egrep 'QoS not configured on dpdkvhostuserclient0' stdout], [], [stdout])
+AT_CHECK([grep -E 'QoS not configured on dpdkvhostuserclient0' stdout], [], [stdout])
 
 dnl Clean up
 AT_CHECK([ovs-vsctl del-port br10 dpdkvhostuserclient0], [], [stdout], [stderr])
@@ -493,7 +493,7 @@ AT_CHECK([grep "VHOST_CONFIG: $OVS_RUNDIR/dpdkvhostclient0: reconnecting..." ovs
 
 dnl Check egress policer was not created
 AT_CHECK([ovs-appctl -t ovs-vswitchd qos/show dpdkvhostuserclient0], [], [stdout])
-AT_CHECK([egrep 'QoS not configured on dpdkvhostuserclient0' stdout], [], [stdout])
+AT_CHECK([grep -E 'QoS not configured on dpdkvhostuserclient0' stdout], [], [stdout])
 
 dnl Clean up
 AT_CHECK([ovs-vsctl del-port br10 dpdkvhostuserclient0], [], [stdout], [stderr])
@@ -528,7 +528,7 @@ AT_CHECK([grep "VHOST_CONFIG: $OVS_RUNDIR/dpdkvhostclient0: reconnecting..." ovs
 
 dnl Check egress policer was not created
 AT_CHECK([ovs-appctl -t ovs-vswitchd qos/show dpdkvhostuserclient0], [], [stdout])
-AT_CHECK([egrep 'QoS not configured on dpdkvhostuserclient0' stdout], [], [stdout])
+AT_CHECK([grep -E 'QoS not configured on dpdkvhostuserclient0' stdout], [], [stdout])
 
 dnl Clean up
 AT_CHECK([ovs-vsctl del-port br10 dpdkvhostuserclient0], [], [stdout], [stderr])
@@ -561,7 +561,7 @@ sleep 2
 
 dnl Check default MTU value in the datapath
 AT_CHECK([ovs-appctl dpctl/show], [], [stdout])
-AT_CHECK([egrep 'mtu=1500' stdout], [], [stdout])
+AT_CHECK([grep -E 'mtu=1500' stdout], [], [stdout])
 
 dnl Increase MTU value and check in the datapath
 AT_CHECK([ovs-vsctl set Interface phy0 mtu_request=9000])
@@ -573,7 +573,7 @@ dnl Fail if error is encountered during MTU setup
 AT_FAIL_IF([grep "Interface phy0 MTU (9000) setup error" ovs-vswitchd.log], [], [stdout])
 
 AT_CHECK([ovs-appctl dpctl/show], [], [stdout])
-AT_CHECK([egrep 'mtu=9000' stdout], [], [stdout])
+AT_CHECK([grep -E 'mtu=9000' stdout], [], [stdout])
 
 
 dnl Clean up
@@ -609,13 +609,13 @@ AT_FAIL_IF([grep "Interface phy0 MTU (9000) setup error" ovs-vswitchd.log], [], 
 
 dnl Check MTU value in the datapath
 AT_CHECK([ovs-appctl dpctl/show], [], [stdout])
-AT_CHECK([egrep 'mtu=9000' stdout], [], [stdout])
+AT_CHECK([grep -E 'mtu=9000' stdout], [], [stdout])
 
 dnl Decrease MTU value and check in the datapath
 AT_CHECK([ovs-vsctl set Interface phy0 mtu_request=2000])
 
 AT_CHECK([ovs-appctl dpctl/show], [], [stdout])
-AT_CHECK([egrep 'mtu=2000' stdout], [], [stdout])
+AT_CHECK([grep -E 'mtu=2000' stdout], [], [stdout])
 
 
 dnl Clean up
@@ -661,13 +661,13 @@ OVS_WAIT_UNTIL([grep "virtio is now ready for processing" ovs-vswitchd.log])
 
 dnl Check default MTU value in the datapath
 AT_CHECK([ovs-appctl dpctl/show], [], [stdout])
-AT_CHECK([egrep 'mtu=1500' stdout], [], [stdout])
+AT_CHECK([grep -E 'mtu=1500' stdout], [], [stdout])
 
 dnl Increase MTU value and check in the datapath
 AT_CHECK([ovs-vsctl set Interface dpdkvhostuserclient0 mtu_request=9000])
 
 AT_CHECK([ovs-appctl dpctl/show], [], [stdout])
-AT_CHECK([egrep 'mtu=9000' stdout], [], [stdout])
+AT_CHECK([grep -E 'mtu=9000' stdout], [], [stdout])
 
 dnl Clean up the testpmd now
 pkill -f -x -9 'tail -f /dev/null'
@@ -718,13 +718,13 @@ OVS_WAIT_UNTIL([grep "virtio is now ready for processing" ovs-vswitchd.log])
 
 dnl Check MTU value in the datapath
 AT_CHECK([ovs-appctl dpctl/show], [], [stdout])
-AT_CHECK([egrep 'mtu=9000' stdout], [], [stdout])
+AT_CHECK([grep -E 'mtu=9000' stdout], [], [stdout])
 
 dnl Decrease MTU value and check in the datapath
 AT_CHECK([ovs-vsctl set Interface dpdkvhostuserclient0 mtu_request=2000])
 
 AT_CHECK([ovs-appctl dpctl/show], [], [stdout])
-AT_CHECK([egrep 'mtu=2000' stdout], [], [stdout])
+AT_CHECK([grep -E 'mtu=2000' stdout], [], [stdout])
 
 dnl Clean up the testpmd now
 pkill -f -x -9 'tail -f /dev/null'
@@ -762,7 +762,7 @@ AT_FAIL_IF([grep "Interface phy0 MTU (9702) setup error" ovs-vswitchd.log], [], 
 
 dnl Check MTU value in the datapath
 AT_CHECK([ovs-appctl dpctl/show], [], [stdout])
-AT_CHECK([egrep 'mtu=9702' stdout], [], [stdout])
+AT_CHECK([grep -E 'mtu=9702' stdout], [], [stdout])
 
 dnl Set MTU value above upper bound and check for error
 AT_CHECK([ovs-vsctl set Interface phy0 mtu_request=9711])
@@ -803,7 +803,7 @@ AT_FAIL_IF([grep "Interface phy0 MTU (68) setup error" ovs-vswitchd.log], [], [s
 
 dnl Check MTU value in the datapath
 AT_CHECK([ovs-appctl dpctl/show], [], [stdout])
-AT_CHECK([egrep 'mtu=68' stdout], [], [stdout])
+AT_CHECK([grep -E 'mtu=68' stdout], [], [stdout])
 
 dnl Set MTU value below lower bound and check for error
 AT_CHECK([ovs-vsctl set Interface phy0 mtu_request=67])
@@ -852,7 +852,7 @@ OVS_WAIT_UNTIL([grep "virtio is now ready for processing" ovs-vswitchd.log])
 
 dnl Check MTU value in the datapath
 AT_CHECK([ovs-appctl dpctl/show], [], [stdout])
-AT_CHECK([egrep 'mtu=9702' stdout], [], [stdout])
+AT_CHECK([grep -E 'mtu=9702' stdout], [], [stdout])
 
 dnl Set MTU value above upper bound and check for error
 AT_CHECK([ovs-vsctl set Interface dpdkvhostuserclient0 mtu_request=9711])
@@ -909,7 +909,7 @@ OVS_WAIT_UNTIL([grep "virtio is now ready for processing" ovs-vswitchd.log])
 
 dnl Check MTU value in the datapath
 AT_CHECK([ovs-appctl dpctl/show], [], [stdout])
-AT_CHECK([egrep 'mtu=68' stdout], [], [stdout])
+AT_CHECK([grep -E 'mtu=68' stdout], [], [stdout])
 
 dnl Set MTU value below lower bound and check for error
 AT_CHECK([ovs-vsctl set Interface dpdkvhostuserclient0 mtu_request=67])
diff --git a/tests/system-ipsec.at b/tests/system-ipsec.at
index f45a153..07f2b8f 100644
--- a/tests/system-ipsec.at
+++ b/tests/system-ipsec.at
@@ -133,10 +133,8 @@ m4_define([CHECK_ESP_TRAFFIC],
       NS_EXEC([right], [ip link set dev br-ipsec up])
 
       dnl Capture any underlay esp packets
-      tcpdump -l -nn -i ovs-p0 esp > $ovs_base/left/tcpdump.log &
-      on_exit "kill $!"
-      tcpdump -l -nn -i ovs-p1 esp > $ovs_base/right/tcpdump.log &
-      on_exit "kill $!"
+      OVS_DAEMONIZE([tcpdump -l -nn -i ovs-p0 esp > $ovs_base/left/tcpdump.log], [tcpdump0.pid])
+      OVS_DAEMONIZE([tcpdump -l -nn -i ovs-p1 esp > $ovs_base/right/tcpdump.log], [tcpdump1.pid])
 
       dnl Wait for all loaded connections to be active
       OVS_WAIT_UNTIL([test `IPSEC_STATUS_LOADED(left)` -eq `IPSEC_STATUS_ACTIVE(left)`])
diff --git a/tests/system-kmod-testsuite b/tests/system-kmod-testsuite
index 31a3957..bd66071 100755
--- a/tests/system-kmod-testsuite
+++ b/tests/system-kmod-testsuite
@@ -769,15 +769,15 @@ at_help_all="1;system-traffic.at:3;datapath - ping between two ports;;
 162;system-layer3-tunnels.at:204;layer3 - ping over Bareudp;;
 163;system-interface.at:5;interface - add delete add same interface;;
 164;system-interface.at:30;interface - add route to br and verify clean-up;;
-165;system-ipsec.at:159;IPsec -- Libreswan (ipv4, geneve, defaultroute, psk);ipsec libreswan ipv4 geneve psk;
-166;system-ipsec.at:184;IPsec -- Libreswan (ipv4, geneve, localip, psk);ipsec libreswan ipv4 geneve psk;
-167;system-ipsec.at:211;IPsec -- Libreswan (ipv4, geneve, defaultroute, self-signed);ipsec libreswan ipv4 geneve self-signed;
-168;system-ipsec.at:250;IPsec -- Libreswan (ipv4, geneve, defaultroute, ca-signed);ipsec libreswan ipv4 geneve ca-signed;
-169;system-ipsec.at:288;IPsec -- Libreswan (ipv4, gre, defaultroute, psk);ipsec libreswan ipv4 gre psk;
-170;system-ipsec.at:311;IPsec -- Libreswan (ipv4, vxlan, defaultroute, psk);ipsec libreswan ipv4, vxlan psk;
-171;system-ipsec.at:334;IPsec -- Libreswan (ipv6, vxlan, defaultroute, psk);ipsec libreswan ipv6 vxlan psk;
-172;system-ipsec.at:357;IPsec -- Libreswan (ipv6, vxlan, localip, psk);ipsec libreswan ipv6 vxlan psk;
-173;system-ipsec.at:382;IPsec -- Libreswan (ipv6, geneve, defaultroute, psk);ipsec libreswan ipv6 geneve psk;
+165;system-ipsec.at:157;IPsec -- Libreswan (ipv4, geneve, defaultroute, psk);ipsec libreswan ipv4 geneve psk;
+166;system-ipsec.at:182;IPsec -- Libreswan (ipv4, geneve, localip, psk);ipsec libreswan ipv4 geneve psk;
+167;system-ipsec.at:209;IPsec -- Libreswan (ipv4, geneve, defaultroute, self-signed);ipsec libreswan ipv4 geneve self-signed;
+168;system-ipsec.at:248;IPsec -- Libreswan (ipv4, geneve, defaultroute, ca-signed);ipsec libreswan ipv4 geneve ca-signed;
+169;system-ipsec.at:286;IPsec -- Libreswan (ipv4, gre, defaultroute, psk);ipsec libreswan ipv4 gre psk;
+170;system-ipsec.at:309;IPsec -- Libreswan (ipv4, vxlan, defaultroute, psk);ipsec libreswan ipv4, vxlan psk;
+171;system-ipsec.at:332;IPsec -- Libreswan (ipv6, vxlan, defaultroute, psk);ipsec libreswan ipv6 vxlan psk;
+172;system-ipsec.at:355;IPsec -- Libreswan (ipv6, vxlan, localip, psk);ipsec libreswan ipv6 vxlan psk;
+173;system-ipsec.at:380;IPsec -- Libreswan (ipv6, geneve, defaultroute, psk);ipsec libreswan ipv6 geneve psk;
 "
 # List of the all the test groups.
 at_groups_all=`$as_echo "$at_help_all" | sed 's/;.*//'`
@@ -1089,7 +1089,7 @@ fi
 # List of tests.
 if $at_list_p; then
   cat <<_ATEOF || at_write_fail=1
-openvswitch 3.0.0 test suite test groups:
+openvswitch 3.0.1 test suite test groups:
 
  NUM: FILE-NAME:LINE     TEST-GROUP-NAME
       KEYWORDS
@@ -1130,7 +1130,7 @@ _ATEOF
   exit $at_write_fail
 fi
 if $at_version_p; then
-  $as_echo "$as_me (openvswitch 3.0.0)" &&
+  $as_echo "$as_me (openvswitch 3.0.1)" &&
   cat <<\_ATEOF || at_write_fail=1
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1354,11 +1354,11 @@ exec 5>>"$at_suite_log"
 
 # Banners and logs.
 $as_echo "## ----------------------------- ##
-## openvswitch 3.0.0 test suite. ##
+## openvswitch 3.0.1 test suite. ##
 ## ----------------------------- ##"
 {
   $as_echo "## ----------------------------- ##
-## openvswitch 3.0.0 test suite. ##
+## openvswitch 3.0.1 test suite. ##
 ## ----------------------------- ##"
   echo
 
@@ -1727,7 +1727,7 @@ parent_pid () {
     # e.g. Alpine Linux) is noncompliant, so we use a Linux-specific approach
     # when it's available.  We check the format of the status file to avoid
     # the NetBSD file with the same name but different contents.
-    if egrep '^PPid:[[:space:]]*[0-9]*$' /proc/$1/status > /dev/null 2>&1; then
+    if grep -E '^PPid:[[:space:]]*[0-9]*$' /proc/$1/status > /dev/null 2>&1; then
         sed -n 's/^PPid:	\([0-9]*\)/\1/p' /proc/$1/status
     else
         ps -o ppid= -p $1
@@ -2682,7 +2682,7 @@ _ASBOX
   $as_echo "Please send $at_msg and all information you think might help:
 
    To: <bugs@openvswitch.org>
-   Subject: [openvswitch 3.0.0] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly}
+   Subject: [openvswitch 3.0.1] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly}
 
 You may investigate any problem if you feel able to do so, in which
 case the test suite provides a good starting point.  Its output may
@@ -22352,7 +22352,10 @@ $at_traceon; }
 
    on_exit 'iptables -D INPUT 1 -i br-underlay'
 
-ip netns exec at_ns0 tcpdump -n -i p0 dst host 172.31.1.1 -l > p0.pcap &
+ip netns exec at_ns0 tcpdump -n -i p0 dst host 172.31.1.1 -l > p0.pcap 2>/dev/null & echo $! > tcpdump.pid
+     echo "kill \`cat tcpdump.pid\`" >> cleanup
+
+
 sleep 1
 
  { set +x
@@ -22388,13 +22391,13 @@ $as_echo "system-traffic.at:896" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:896"
    ovs_wait_cond () {
-    cat p0.pcap | egrep "IP 172.31.1.100 > 172.31.1.1: GREv0, length 46: ARP, Reply 10.1.1.100 is-at f2:ff:00:00:00:01.* length 28" 2>&1 1>/dev/null
+    cat p0.pcap | grep -E "IP 172.31.1.100 > 172.31.1.1: GREv0, length 46: ARP, Reply 10.1.1.100 is-at f2:ff:00:00:00:01.* length 28" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:896" "until cat p0.pcap | egrep \"IP 172.31.1.100 > 172.31.1.1: GREv0, length 46: ARP, Reply 10.1.1.100 is-at f2:ff:00:00:00:01.* length 28\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:896" "until cat p0.pcap | grep -E \"IP 172.31.1.100 > 172.31.1.1: GREv0, length 46: ARP, Reply 10.1.1.100 is-at f2:ff:00:00:00:01.* length 28\" 2>&1 1>/dev/null"
 
 
 ovs-ofctl -O OpenFlow13 packet-out br-underlay "in_port=1 packet=f2ff00000002f2ff0000000308004500007aec8e4000402ff322ac1f0101ac1f016400006558f2ff00000001f2ff00000004080045000054548f40004001cfb30a0101010a0101640800e6e829270003e1a3435b00000000ff1a050000000000101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f3031323334353637 actions=NORMAL"
@@ -22406,13 +22409,13 @@ $as_echo "system-traffic.at:900" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:900"
    ovs_wait_cond () {
-    cat p0.pcap | egrep "IP 172.31.1.100 > 172.31.1.1: GREv0, length 102: IP 10.1.1.100 > 10.1.1.1: ICMP echo reply,.* length 64$" 2>&1 1>/dev/null
+    cat p0.pcap | grep -E "IP 172.31.1.100 > 172.31.1.1: GREv0, length 102: IP 10.1.1.100 > 10.1.1.1: ICMP echo reply,.* length 64$" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:900" "until cat p0.pcap | egrep \"IP 172.31.1.100 > 172.31.1.1: GREv0, length 102: IP 10.1.1.100 > 10.1.1.1: ICMP echo reply,.* length 64\$\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:900" "until cat p0.pcap | grep -E \"IP 172.31.1.100 > 172.31.1.1: GREv0, length 102: IP 10.1.1.100 > 10.1.1.1: ICMP echo reply,.* length 64\$\" 2>&1 1>/dev/null"
 
 
 { set +x
@@ -23071,7 +23074,10 @@ $at_traceon; }
 
    on_exit 'iptables -D INPUT 1 -i br-underlay'
 
-ip netns exec at_ns0 tcpdump -n -x -i p0 dst host 172.31.1.1 -l > p0.pcap &
+ip netns exec at_ns0 tcpdump -n -x -i p0 dst host 172.31.1.1 -l > p0.pcap 2>/dev/null & echo $! > tcpdump.pid
+     echo "kill \`cat tcpdump.pid\`" >> cleanup
+
+
 sleep 1
 
  { set +x
@@ -23106,13 +23112,13 @@ $as_echo "system-traffic.at:941" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:941"
    ovs_wait_cond () {
-    cat p0.pcap | egrep "0x0030:  0806 0001 0800 0604 0002 f2ff 0000 0001" 2>&1 1>/dev/null
+    cat p0.pcap | grep -E "0x0030:  0806 0001 0800 0604 0002 f2ff 0000 0001" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:941" "until cat p0.pcap | egrep \"0x0030:  0806 0001 0800 0604 0002 f2ff 0000 0001\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:941" "until cat p0.pcap | grep -E \"0x0030:  0806 0001 0800 0604 0002 f2ff 0000 0001\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:942" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -23121,17 +23127,17 @@ $as_echo "system-traffic.at:942" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:942"
    ovs_wait_cond () {
-    cat p0.pcap | egrep "0x0040:  0a01 0164 f2ff 0000 0004 0a01 0101" 2>&1 1>/dev/null
+    cat p0.pcap | grep -E "0x0040:  0a01 0164 f2ff 0000 0004 0a01 0101" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:942" "until cat p0.pcap | egrep \"0x0040:  0a01 0164 f2ff 0000 0004 0a01 0101\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:942" "until cat p0.pcap | grep -E \"0x0040:  0a01 0164 f2ff 0000 0004 0a01 0101\" 2>&1 1>/dev/null"
 
 
 $as_echo "system-traffic.at:945" >"$at_check_line_file"
-(cat p0.pcap | egrep "IP 172.31.1.100 > 172.31.1.1: GREv0,.* length 122" 2>&1 1>/dev/null) \
+(cat p0.pcap | grep -E "IP 172.31.1.100 > 172.31.1.1: GREv0,.* length 122" 2>&1 1>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:945"
 
 ovs-ofctl -O OpenFlow13 packet-out br-underlay "in_port=1 packet=f2ff00000002f2ff0000000308004500008e70cb4000402f6ed2ac1f0101ac1f0164100088be000000051000000100000007f2ff00000001f2ff0000000408004500005c4a3340004001da070a0101010a010164080084f238fb0001f36a6b5b0000000021870e0000000000101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f actions=normal"
@@ -23143,13 +23149,13 @@ $as_echo "system-traffic.at:949" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:949"
    ovs_wait_cond () {
-    cat p0.pcap | egrep "IP 172.31.1.100 > 172.31.1.1: GREv0,.* length 122" 2>&1 1>/dev/null
+    cat p0.pcap | grep -E "IP 172.31.1.100 > 172.31.1.1: GREv0,.* length 122" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:949" "until cat p0.pcap | egrep \"IP 172.31.1.100 > 172.31.1.1: GREv0,.* length 122\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:949" "until cat p0.pcap | grep -E \"IP 172.31.1.100 > 172.31.1.1: GREv0,.* length 122\" 2>&1 1>/dev/null"
 
 
 { set +x
@@ -23794,7 +23800,10 @@ $at_traceon; }
 iptables -I INPUT 1 -i br-underlay -j ACCEPT
 on_exit 'iptables -D INPUT 1'
 
-ip netns exec at_ns0 tcpdump -n -x -i p0 dst host 172.31.1.1 -l > p0.pcap &
+ip netns exec at_ns0 tcpdump -n -x -i p0 dst host 172.31.1.1 -l > p0.pcap 2>/dev/null & echo $! > tcpdump.pid
+     echo "kill \`cat tcpdump.pid\`" >> cleanup
+
+
 sleep 1
 
  { set +x
@@ -23829,13 +23838,13 @@ $as_echo "system-traffic.at:993" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:993"
    ovs_wait_cond () {
-    cat p0.pcap | egrep "0x0030:  0000 0001 0806 0001 0800 0604 0002 f2ff" 2>&1 1>/dev/null
+    cat p0.pcap | grep -E "0x0030:  0000 0001 0806 0001 0800 0604 0002 f2ff" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:993" "until cat p0.pcap | egrep \"0x0030:  0000 0001 0806 0001 0800 0604 0002 f2ff\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:993" "until cat p0.pcap | grep -E \"0x0030:  0000 0001 0806 0001 0800 0604 0002 f2ff\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:994" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -23844,13 +23853,13 @@ $as_echo "system-traffic.at:994" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:994"
    ovs_wait_cond () {
-    cat p0.pcap | egrep "0x0040:  0000 0001 0a01 0164 f2ff 0000 0004 0a01" 2>&1 1>/dev/null
+    cat p0.pcap | grep -E "0x0040:  0000 0001 0a01 0164 f2ff 0000 0004 0a01" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:994" "until cat p0.pcap | egrep \"0x0040:  0000 0001 0a01 0164 f2ff 0000 0004 0a01\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:994" "until cat p0.pcap | grep -E \"0x0040:  0000 0001 0a01 0164 f2ff 0000 0004 0a01\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:995" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -23859,17 +23868,17 @@ $as_echo "system-traffic.at:995" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:995"
    ovs_wait_cond () {
-    cat p0.pcap | egrep "0x0050:  0101" 2>&1 1>/dev/null
+    cat p0.pcap | grep -E "0x0050:  0101" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:995" "until cat p0.pcap | egrep \"0x0050:  0101\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:995" "until cat p0.pcap | grep -E \"0x0050:  0101\" 2>&1 1>/dev/null"
 
 
 $as_echo "system-traffic.at:999" >"$at_check_line_file"
-(cat p0.pcap | egrep "IP 172.31.1.100 > 172.31.1.1: GREv0,.* length 126" 2>&1 1>/dev/null) \
+(cat p0.pcap | grep -E "IP 172.31.1.100 > 172.31.1.1: GREv0,.* length 126" 2>&1 1>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:999"
 
 ovs-ofctl -O OpenFlow13 packet-out br-underlay "in_port=1 packet=f2ff00000002f2ff0000000308004500009287e14000402f57b8ac1f0101ac1f0164100088be0000000520000001144cd5a400008078f2ff00000001f2ff0000000408004500005c38d640004001eb640a0101010a01016408005e57585f0001df6c6b5b0000000045bc050000000000101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f actions=normal"
@@ -23881,13 +23890,13 @@ $as_echo "system-traffic.at:1003" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1003"
    ovs_wait_cond () {
-    cat p0.pcap | egrep "IP 172.31.1.100 > 172.31.1.1: GREv0,.* length 126" 2>&1 1>/dev/null
+    cat p0.pcap | grep -E "IP 172.31.1.100 > 172.31.1.1: GREv0,.* length 126" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:1003" "until cat p0.pcap | egrep \"IP 172.31.1.100 > 172.31.1.1: GREv0,.* length 126\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:1003" "until cat p0.pcap | grep -E \"IP 172.31.1.100 > 172.31.1.1: GREv0,.* length 126\" 2>&1 1>/dev/null"
 
 
 { set +x
@@ -24565,7 +24574,10 @@ ovs_wait "system-traffic.at:1031" "until ip netns exec at_ns0 ping6 -c 2 fc00:10
 ip6tables -I INPUT 1 -i br-underlay -j ACCEPT
 on_exit 'ip6tables -D INPUT 1'
 
-ip netns exec at_ns0 tcpdump -n -x -i p0 dst host fc00:100::1 -l > p0.pcap &
+ip netns exec at_ns0 tcpdump -n -x -i p0 dst host fc00:100::1 -l > p0.pcap 2>/dev/null & echo $! > tcpdump.pid
+     echo "kill \`cat tcpdump.pid\`" >> cleanup
+
+
 sleep 1
 
  { set +x
@@ -24600,13 +24612,13 @@ $as_echo "system-traffic.at:1051" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1051"
    ovs_wait_cond () {
-    cat p0.pcap | egrep "0x0040:  0000 0001 0806 0001 0800 0604 0002 f2ff" 2>&1 1>/dev/null
+    cat p0.pcap | grep -E "0x0040:  0000 0001 0806 0001 0800 0604 0002 f2ff" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:1051" "until cat p0.pcap | egrep \"0x0040:  0000 0001 0806 0001 0800 0604 0002 f2ff\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:1051" "until cat p0.pcap | grep -E \"0x0040:  0000 0001 0806 0001 0800 0604 0002 f2ff\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:1052" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -24615,13 +24627,13 @@ $as_echo "system-traffic.at:1052" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1052"
    ovs_wait_cond () {
-    cat p0.pcap | egrep "0x0050:  0000 0001 0a01 0164 f2ff 0000 0004 0a01" 2>&1 1>/dev/null
+    cat p0.pcap | grep -E "0x0050:  0000 0001 0a01 0164 f2ff 0000 0004 0a01" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:1052" "until cat p0.pcap | egrep \"0x0050:  0000 0001 0a01 0164 f2ff 0000 0004 0a01\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:1052" "until cat p0.pcap | grep -E \"0x0050:  0000 0001 0a01 0164 f2ff 0000 0004 0a01\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:1053" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -24630,17 +24642,17 @@ $as_echo "system-traffic.at:1053" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1053"
    ovs_wait_cond () {
-    cat p0.pcap | egrep "0x0060:  0101" 2>&1 1>/dev/null
+    cat p0.pcap | grep -E "0x0060:  0101" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:1053" "until cat p0.pcap | egrep \"0x0060:  0101\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:1053" "until cat p0.pcap | grep -E \"0x0060:  0101\" 2>&1 1>/dev/null"
 
 
 $as_echo "system-traffic.at:1055" >"$at_check_line_file"
-(cat p0.pcap | egrep "IP6 fc00:100::100 > fc00:100::1: GREv0,.* length 114" 2>&1 1>/dev/null) \
+(cat p0.pcap | grep -E "IP6 fc00:100::100 > fc00:100::1: GREv0,.* length 114" 2>&1 1>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1055"
 
 ovs-ofctl -O OpenFlow13 packet-out br-underlay "in_port=1 packet=f2ff00000002f2ff0000000386dd60008531007a3c40fc000100000000000000000000000001fc0001000000000000000000000001002f00040104010100100088be000000061000407b00000007f2ff00000001f2ff0000000408004500005429b640004001fa8c0a0101010a01016408005c2c7526000118d3685b00000000e4aa020000000000101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f3031323334353637 actions=normal"
@@ -24652,13 +24664,13 @@ $as_echo "system-traffic.at:1059" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1059"
    ovs_wait_cond () {
-    cat p0.pcap | egrep "IP6 fc00:100::100 > fc00:100::1: GREv0,.* length 114" 2>&1 1>/dev/null
+    cat p0.pcap | grep -E "IP6 fc00:100::100 > fc00:100::1: GREv0,.* length 114" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:1059" "until cat p0.pcap | egrep \"IP6 fc00:100::100 > fc00:100::1: GREv0,.* length 114\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:1059" "until cat p0.pcap | grep -E \"IP6 fc00:100::100 > fc00:100::1: GREv0,.* length 114\" 2>&1 1>/dev/null"
 
 
 { set +x
@@ -25336,7 +25348,10 @@ ovs_wait "system-traffic.at:1087" "until ip netns exec at_ns0 ping6 -c 2 fc00:10
 ip6tables -I INPUT 1 -i br-underlay -j ACCEPT
 on_exit 'ip6tables -D INPUT 1'
 
-ip netns exec at_ns0 tcpdump -n -x -i p0 dst host fc00:100::1 -l > p0.pcap &
+ip netns exec at_ns0 tcpdump -n -x -i p0 dst host fc00:100::1 -l > p0.pcap 2>/dev/null & echo $! > tcpdump.pid
+     echo "kill \`cat tcpdump.pid\`" >> cleanup
+
+
 sleep 1
 
  { set +x
@@ -25371,13 +25386,13 @@ $as_echo "system-traffic.at:1106" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1106"
    ovs_wait_cond () {
-    cat p0.pcap | egrep "0x0040:  0004 f2ff 0000 0001 0806 0001 0800 0604" 2>&1 1>/dev/null
+    cat p0.pcap | grep -E "0x0040:  0004 f2ff 0000 0001 0806 0001 0800 0604" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:1106" "until cat p0.pcap | egrep \"0x0040:  0004 f2ff 0000 0001 0806 0001 0800 0604\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:1106" "until cat p0.pcap | grep -E \"0x0040:  0004 f2ff 0000 0001 0806 0001 0800 0604\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:1107" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -25386,13 +25401,13 @@ $as_echo "system-traffic.at:1107" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1107"
    ovs_wait_cond () {
-    cat p0.pcap | egrep "0x0050:  0002 f2ff 0000 0001 0a01 0164 f2ff 0000" 2>&1 1>/dev/null
+    cat p0.pcap | grep -E "0x0050:  0002 f2ff 0000 0001 0a01 0164 f2ff 0000" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:1107" "until cat p0.pcap | egrep \"0x0050:  0002 f2ff 0000 0001 0a01 0164 f2ff 0000\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:1107" "until cat p0.pcap | grep -E \"0x0050:  0002 f2ff 0000 0001 0a01 0164 f2ff 0000\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:1108" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -25401,17 +25416,17 @@ $as_echo "system-traffic.at:1108" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1108"
    ovs_wait_cond () {
-    cat p0.pcap | egrep "0x0060:  0004 0a01 0101" 2>&1 1>/dev/null
+    cat p0.pcap | grep -E "0x0060:  0004 0a01 0101" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:1108" "until cat p0.pcap | egrep \"0x0060:  0004 0a01 0101\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:1108" "until cat p0.pcap | grep -E \"0x0060:  0004 0a01 0101\" 2>&1 1>/dev/null"
 
 
 $as_echo "system-traffic.at:1110" >"$at_check_line_file"
-(cat p0.pcap | egrep "IP6 fc00:100::100 > fc00:100::1: GREv0, .* length 118" 2>&1 1>/dev/null) \
+(cat p0.pcap | grep -E "IP6 fc00:100::100 > fc00:100::1: GREv0, .* length 118" 2>&1 1>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1110"
 
 ovs-ofctl -O OpenFlow13 packet-out br-underlay "in_port=1 packet=f2ff00000002f2ff0000000386dd60008531007e3c40fc000100000000000000000000000001fc0001000000000000000000000001002f00040104010100100088be0000000720004079af514f9b00008070f2ff00000001f2ff00000004080045000054ffcb4000400124770a0101010a0101640800419e23ac000112d7685b000000004caf0c0000000000101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f3031323334353637 actions=normal"
@@ -25423,13 +25438,13 @@ $as_echo "system-traffic.at:1114" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1114"
    ovs_wait_cond () {
-    cat p0.pcap | egrep "IP6 fc00:100::100 > fc00:100::1: GREv0, .* length 118" 2>&1 1>/dev/null
+    cat p0.pcap | grep -E "IP6 fc00:100::100 > fc00:100::1: GREv0, .* length 118" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:1114" "until cat p0.pcap | egrep \"IP6 fc00:100::100 > fc00:100::1: GREv0, .* length 118\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:1114" "until cat p0.pcap | grep -E \"IP6 fc00:100::100 > fc00:100::1: GREv0, .* length 118\" 2>&1 1>/dev/null"
 
 
 { set +x
@@ -38005,24 +38020,8 @@ $at_traceon; }
 
 
 rm -rf p1.pcap
- { set +x
-$as_echo "$at_srcdir/system-traffic.at:1897: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p1 > p1.pcap &
-NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1897"
-( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p1 > p1.pcap &
-NS_EXEC_HEREDOC
-) >>"$at_stdout" 2>>"$at_stderr" 5>&-
-at_status=$? at_failed=false
-$at_check_filter
-at_fn_diff_devnull "$at_stderr" || at_failed=:
-at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1897"
-$at_failed && at_fn_log_failure  \
-"ovsdb-server.log" \
-"ovs-vswitchd.log"
-$at_traceon; }
+ip netns exec at_ns1 tcpdump -l -n -xx -U -i p1 > p1.pcap & echo $! > tcpdump.pid
+     echo "kill \`cat tcpdump.pid\`" >> cleanup
 
 
 sleep 1
@@ -38055,13 +38054,13 @@ $as_echo "system-traffic.at:1906" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1906"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0000:  *0000 *0000 *0002 *0000 *0000 *0001 *8847 *0000" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0000:  *0000 *0000 *0002 *0000 *0000 *0001 *8847 *0000" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:1906" "until cat p1.pcap | egrep \"0x0000:  *0000 *0000 *0002 *0000 *0000 *0001 *8847 *0000\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:1906" "until cat p1.pcap | grep -E \"0x0000:  *0000 *0000 *0002 *0000 *0000 *0001 *8847 *0000\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:1907" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -38070,13 +38069,13 @@ $as_echo "system-traffic.at:1907" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1907"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0010:  *2140 *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0010:  *2140 *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:1907" "until cat p1.pcap | egrep \"0x0010:  *2140 *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:1907" "until cat p1.pcap | grep -E \"0x0010:  *2140 *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:1908" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -38085,13 +38084,13 @@ $as_echo "system-traffic.at:1908" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1908"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0020:  *4500 *0054 *0344 *4000 *4001 *2161 *0a01 *0101" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0020:  *4500 *0054 *0344 *4000 *4001 *2161 *0a01 *0101" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:1908" "until cat p1.pcap | egrep \"0x0020:  *4500 *0054 *0344 *4000 *4001 *2161 *0a01 *0101\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:1908" "until cat p1.pcap | grep -E \"0x0020:  *4500 *0054 *0344 *4000 *4001 *2161 *0a01 *0101\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:1909" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -38100,13 +38099,13 @@ $as_echo "system-traffic.at:1909" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1909"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0030:  *0a01 *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0030:  *0a01 *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:1909" "until cat p1.pcap | egrep \"0x0030:  *0a01 *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:1909" "until cat p1.pcap | grep -E \"0x0030:  *0a01 *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61\" 2>&1 1>/dev/null"
 
 
 { set +x
@@ -38805,24 +38804,8 @@ $at_traceon; }
 
 
 rm -rf p1.pcap
- { set +x
-$as_echo "$at_srcdir/system-traffic.at:1929: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p1 > p1.pcap &
-NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1929"
-( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p1 > p1.pcap &
-NS_EXEC_HEREDOC
-) >>"$at_stdout" 2>>"$at_stderr" 5>&-
-at_status=$? at_failed=false
-$at_check_filter
-at_fn_diff_devnull "$at_stderr" || at_failed=:
-at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1929"
-$at_failed && at_fn_log_failure  \
-"ovsdb-server.log" \
-"ovs-vswitchd.log"
-$at_traceon; }
+ip netns exec at_ns1 tcpdump -l -n -xx -U -i p1 > p1.pcap & echo $! > tcpdump.pid
+     echo "kill \`cat tcpdump.pid\`" >> cleanup
 
 
 sleep 1
@@ -38855,13 +38838,13 @@ $as_echo "system-traffic.at:1938" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1938"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0000:  *0000 *0000 *0002 *0000 *0000 *0001 *8847 *0000" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0000:  *0000 *0000 *0002 *0000 *0000 *0001 *8847 *0000" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:1938" "until cat p1.pcap | egrep \"0x0000:  *0000 *0000 *0002 *0000 *0000 *0001 *8847 *0000\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:1938" "until cat p1.pcap | grep -E \"0x0000:  *0000 *0000 *0002 *0000 *0000 *0001 *8847 *0000\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:1939" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -38870,13 +38853,13 @@ $as_echo "system-traffic.at:1939" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1939"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0010:  *2140 *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0010:  *2140 *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:1939" "until cat p1.pcap | egrep \"0x0010:  *2140 *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:1939" "until cat p1.pcap | grep -E \"0x0010:  *2140 *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:1940" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -38885,13 +38868,13 @@ $as_echo "system-traffic.at:1940" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1940"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0020:  *4500 *0054 *0344 *4000 *4001 *2161 *0a01 *0101" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0020:  *4500 *0054 *0344 *4000 *4001 *2161 *0a01 *0101" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:1940" "until cat p1.pcap | egrep \"0x0020:  *4500 *0054 *0344 *4000 *4001 *2161 *0a01 *0101\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:1940" "until cat p1.pcap | grep -E \"0x0020:  *4500 *0054 *0344 *4000 *4001 *2161 *0a01 *0101\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:1941" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -38900,13 +38883,13 @@ $as_echo "system-traffic.at:1941" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1941"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0030:  *0a01 *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0030:  *0a01 *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:1941" "until cat p1.pcap | egrep \"0x0030:  *0a01 *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:1941" "until cat p1.pcap | grep -E \"0x0030:  *0a01 *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61\" 2>&1 1>/dev/null"
 
 
 { set +x
@@ -39594,24 +39577,8 @@ $at_traceon; }
 
 
 rm -rf p1.pcap
- { set +x
-$as_echo "$at_srcdir/system-traffic.at:1962: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p1 > p1.pcap &
-NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1962"
-( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p1 > p1.pcap &
-NS_EXEC_HEREDOC
-) >>"$at_stdout" 2>>"$at_stderr" 5>&-
-at_status=$? at_failed=false
-$at_check_filter
-at_fn_diff_devnull "$at_stderr" || at_failed=:
-at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1962"
-$at_failed && at_fn_log_failure  \
-"ovsdb-server.log" \
-"ovs-vswitchd.log"
-$at_traceon; }
+ip netns exec at_ns1 tcpdump -l -n -xx -U -i p1 > p1.pcap & echo $! > tcpdump.pid
+     echo "kill \`cat tcpdump.pid\`" >> cleanup
 
 
 sleep 1
@@ -39644,13 +39611,13 @@ $as_echo "system-traffic.at:1971" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1971"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0000:  *0000 *0000 *0002 *0000 *0000 *0001 *8848 *0000" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0000:  *0000 *0000 *0002 *0000 *0000 *0001 *8848 *0000" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:1971" "until cat p1.pcap | egrep \"0x0000:  *0000 *0000 *0002 *0000 *0000 *0001 *8848 *0000\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:1971" "until cat p1.pcap | grep -E \"0x0000:  *0000 *0000 *0002 *0000 *0000 *0001 *8848 *0000\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:1972" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -39659,13 +39626,13 @@ $as_echo "system-traffic.at:1972" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1972"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0010:  *2140 *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0010:  *2140 *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:1972" "until cat p1.pcap | egrep \"0x0010:  *2140 *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:1972" "until cat p1.pcap | grep -E \"0x0010:  *2140 *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:1973" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -39674,13 +39641,13 @@ $as_echo "system-traffic.at:1973" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1973"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0020:  *4500 *0054 *0344 *4000 *4001 *2161 *0a01 *0101" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0020:  *4500 *0054 *0344 *4000 *4001 *2161 *0a01 *0101" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:1973" "until cat p1.pcap | egrep \"0x0020:  *4500 *0054 *0344 *4000 *4001 *2161 *0a01 *0101\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:1973" "until cat p1.pcap | grep -E \"0x0020:  *4500 *0054 *0344 *4000 *4001 *2161 *0a01 *0101\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:1974" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -39689,13 +39656,13 @@ $as_echo "system-traffic.at:1974" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1974"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0030:  *0a01 *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0030:  *0a01 *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:1974" "until cat p1.pcap | egrep \"0x0030:  *0a01 *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:1974" "until cat p1.pcap | grep -E \"0x0030:  *0a01 *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61\" 2>&1 1>/dev/null"
 
 
 { set +x
@@ -40394,24 +40361,8 @@ $at_traceon; }
 
 
 rm -rf p1.pcap
- { set +x
-$as_echo "$at_srcdir/system-traffic.at:1994: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p1 > p1.pcap &
-NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1994"
-( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p1 > p1.pcap &
-NS_EXEC_HEREDOC
-) >>"$at_stdout" 2>>"$at_stderr" 5>&-
-at_status=$? at_failed=false
-$at_check_filter
-at_fn_diff_devnull "$at_stderr" || at_failed=:
-at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1994"
-$at_failed && at_fn_log_failure  \
-"ovsdb-server.log" \
-"ovs-vswitchd.log"
-$at_traceon; }
+ip netns exec at_ns1 tcpdump -l -n -xx -U -i p1 > p1.pcap & echo $! > tcpdump.pid
+     echo "kill \`cat tcpdump.pid\`" >> cleanup
 
 
 sleep 1
@@ -40444,13 +40395,13 @@ $as_echo "system-traffic.at:2003" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2003"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0000:  *0000 *0000 *0002 *0000 *0000 *0001 *8848 *0000" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0000:  *0000 *0000 *0002 *0000 *0000 *0001 *8848 *0000" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:2003" "until cat p1.pcap | egrep \"0x0000:  *0000 *0000 *0002 *0000 *0000 *0001 *8848 *0000\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:2003" "until cat p1.pcap | grep -E \"0x0000:  *0000 *0000 *0002 *0000 *0000 *0001 *8848 *0000\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:2004" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -40459,13 +40410,13 @@ $as_echo "system-traffic.at:2004" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2004"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0010:  *2140 *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0010:  *2140 *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:2004" "until cat p1.pcap | egrep \"0x0010:  *2140 *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:2004" "until cat p1.pcap | grep -E \"0x0010:  *2140 *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:2005" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -40474,13 +40425,13 @@ $as_echo "system-traffic.at:2005" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2005"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0020:  *4500 *0054 *0344 *4000 *4001 *2161 *0a01 *0101" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0020:  *4500 *0054 *0344 *4000 *4001 *2161 *0a01 *0101" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:2005" "until cat p1.pcap | egrep \"0x0020:  *4500 *0054 *0344 *4000 *4001 *2161 *0a01 *0101\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:2005" "until cat p1.pcap | grep -E \"0x0020:  *4500 *0054 *0344 *4000 *4001 *2161 *0a01 *0101\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:2006" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -40489,13 +40440,13 @@ $as_echo "system-traffic.at:2006" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2006"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0030:  *0a01 *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0030:  *0a01 *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:2006" "until cat p1.pcap | egrep \"0x0030:  *0a01 *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:2006" "until cat p1.pcap | grep -E \"0x0030:  *0a01 *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61\" 2>&1 1>/dev/null"
 
 
 { set +x
@@ -41184,24 +41135,8 @@ $at_traceon; }
 
 
 rm -rf p1.pcap
- { set +x
-$as_echo "$at_srcdir/system-traffic.at:2028: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p1 > p1.pcap &
-NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2028"
-( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p1 > p1.pcap &
-NS_EXEC_HEREDOC
-) >>"$at_stdout" 2>>"$at_stderr" 5>&-
-at_status=$? at_failed=false
-$at_check_filter
-at_fn_diff_devnull "$at_stderr" || at_failed=:
-at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2028"
-$at_failed && at_fn_log_failure  \
-"ovsdb-server.log" \
-"ovs-vswitchd.log"
-$at_traceon; }
+ip netns exec at_ns1 tcpdump -l -n -xx -U -i p1 > p1.pcap & echo $! > tcpdump.pid
+     echo "kill \`cat tcpdump.pid\`" >> cleanup
 
 
 sleep 1
@@ -41234,13 +41169,13 @@ $as_echo "system-traffic.at:2037" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2037"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0000:  *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800 *4500" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0000:  *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800 *4500" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:2037" "until cat p1.pcap | egrep \"0x0000:  *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800 *4500\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:2037" "until cat p1.pcap | grep -E \"0x0000:  *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800 *4500\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:2038" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -41249,13 +41184,13 @@ $as_echo "system-traffic.at:2038" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2038"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0010:  *0054 *0344 *4000 *4001 *2161 *0a01 *0101 *0a01" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0010:  *0054 *0344 *4000 *4001 *2161 *0a01 *0101 *0a01" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:2038" "until cat p1.pcap | egrep \"0x0010:  *0054 *0344 *4000 *4001 *2161 *0a01 *0101 *0a01\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:2038" "until cat p1.pcap | grep -E \"0x0010:  *0054 *0344 *4000 *4001 *2161 *0a01 *0101 *0a01\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:2039" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -41264,13 +41199,13 @@ $as_echo "system-traffic.at:2039" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2039"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0020:  *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61 *0000" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0020:  *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61 *0000" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:2039" "until cat p1.pcap | egrep \"0x0020:  *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61 *0000\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:2039" "until cat p1.pcap | grep -E \"0x0020:  *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61 *0000\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:2040" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -41279,13 +41214,13 @@ $as_echo "system-traffic.at:2040" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2040"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0030:  *0000 *500b *0200 *0000 *0000 *1011 *1213 *1415" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0030:  *0000 *500b *0200 *0000 *0000 *1011 *1213 *1415" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:2040" "until cat p1.pcap | egrep \"0x0030:  *0000 *500b *0200 *0000 *0000 *1011 *1213 *1415\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:2040" "until cat p1.pcap | grep -E \"0x0030:  *0000 *500b *0200 *0000 *0000 *1011 *1213 *1415\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:2041" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -41294,13 +41229,13 @@ $as_echo "system-traffic.at:2041" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2041"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0040:  *1617 *1819 *1a1b *1c1d *1e1f *2021 *2223 *2425" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0040:  *1617 *1819 *1a1b *1c1d *1e1f *2021 *2223 *2425" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:2041" "until cat p1.pcap | egrep \"0x0040:  *1617 *1819 *1a1b *1c1d *1e1f *2021 *2223 *2425\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:2041" "until cat p1.pcap | grep -E \"0x0040:  *1617 *1819 *1a1b *1c1d *1e1f *2021 *2223 *2425\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:2042" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -41309,13 +41244,13 @@ $as_echo "system-traffic.at:2042" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2042"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0050:  *2627 *2829 *2a2b *2c2d *2e2f *3031 *3233 *3435" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0050:  *2627 *2829 *2a2b *2c2d *2e2f *3031 *3233 *3435" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:2042" "until cat p1.pcap | egrep \"0x0050:  *2627 *2829 *2a2b *2c2d *2e2f *3031 *3233 *3435\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:2042" "until cat p1.pcap | grep -E \"0x0050:  *2627 *2829 *2a2b *2c2d *2e2f *3031 *3233 *3435\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:2043" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -41324,13 +41259,13 @@ $as_echo "system-traffic.at:2043" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2043"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0060:  *3637" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0060:  *3637" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:2043" "until cat p1.pcap | egrep \"0x0060:  *3637\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:2043" "until cat p1.pcap | grep -E \"0x0060:  *3637\" 2>&1 1>/dev/null"
 
 
 
@@ -42031,24 +41966,8 @@ $at_traceon; }
 
 
 rm -rf p1.pcap
- { set +x
-$as_echo "$at_srcdir/system-traffic.at:2065: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p1 > p1.pcap &
-NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2065"
-( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p1 > p1.pcap &
-NS_EXEC_HEREDOC
-) >>"$at_stdout" 2>>"$at_stderr" 5>&-
-at_status=$? at_failed=false
-$at_check_filter
-at_fn_diff_devnull "$at_stderr" || at_failed=:
-at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2065"
-$at_failed && at_fn_log_failure  \
-"ovsdb-server.log" \
-"ovs-vswitchd.log"
-$at_traceon; }
+ip netns exec at_ns1 tcpdump -l -n -xx -U -i p1 > p1.pcap & echo $! > tcpdump.pid
+     echo "kill \`cat tcpdump.pid\`" >> cleanup
 
 
 sleep 1
@@ -42081,13 +42000,13 @@ $as_echo "system-traffic.at:2074" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2074"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0000:  *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800 *4500" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0000:  *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800 *4500" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:2074" "until cat p1.pcap | egrep \"0x0000:  *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800 *4500\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:2074" "until cat p1.pcap | grep -E \"0x0000:  *36b1 *ee7c *0102 *36b1 *ee7c *0103 *0800 *4500\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:2075" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -42096,13 +42015,13 @@ $as_echo "system-traffic.at:2075" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2075"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0010:  *0054 *0344 *4000 *4001 *2161 *0a01 *0101 *0a01" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0010:  *0054 *0344 *4000 *4001 *2161 *0a01 *0101 *0a01" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:2075" "until cat p1.pcap | egrep \"0x0010:  *0054 *0344 *4000 *4001 *2161 *0a01 *0101 *0a01\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:2075" "until cat p1.pcap | grep -E \"0x0010:  *0054 *0344 *4000 *4001 *2161 *0a01 *0101 *0a01\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:2076" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -42111,13 +42030,13 @@ $as_echo "system-traffic.at:2076" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2076"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0020:  *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61 *0000" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0020:  *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61 *0000" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:2076" "until cat p1.pcap | egrep \"0x0020:  *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61 *0000\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:2076" "until cat p1.pcap | grep -E \"0x0020:  *0102 *0800 *efac *7ce4 *0003 *5b2c *1f61 *0000\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:2077" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -42126,13 +42045,13 @@ $as_echo "system-traffic.at:2077" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2077"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0030:  *0000 *500b *0200 *0000 *0000 *1011 *1213 *1415" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0030:  *0000 *500b *0200 *0000 *0000 *1011 *1213 *1415" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:2077" "until cat p1.pcap | egrep \"0x0030:  *0000 *500b *0200 *0000 *0000 *1011 *1213 *1415\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:2077" "until cat p1.pcap | grep -E \"0x0030:  *0000 *500b *0200 *0000 *0000 *1011 *1213 *1415\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:2078" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -42141,13 +42060,13 @@ $as_echo "system-traffic.at:2078" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2078"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0040:  *1617 *1819 *1a1b *1c1d *1e1f *2021 *2223 *2425" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0040:  *1617 *1819 *1a1b *1c1d *1e1f *2021 *2223 *2425" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:2078" "until cat p1.pcap | egrep \"0x0040:  *1617 *1819 *1a1b *1c1d *1e1f *2021 *2223 *2425\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:2078" "until cat p1.pcap | grep -E \"0x0040:  *1617 *1819 *1a1b *1c1d *1e1f *2021 *2223 *2425\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:2079" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -42156,13 +42075,13 @@ $as_echo "system-traffic.at:2079" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2079"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0050:  *2627 *2829 *2a2b *2c2d *2e2f *3031 *3233 *3435" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0050:  *2627 *2829 *2a2b *2c2d *2e2f *3031 *3233 *3435" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:2079" "until cat p1.pcap | egrep \"0x0050:  *2627 *2829 *2a2b *2c2d *2e2f *3031 *3233 *3435\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:2079" "until cat p1.pcap | grep -E \"0x0050:  *2627 *2829 *2a2b *2c2d *2e2f *3031 *3233 *3435\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:2080" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -42171,13 +42090,13 @@ $as_echo "system-traffic.at:2080" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2080"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0060:  *3637" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0060:  *3637" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:2080" "until cat p1.pcap | egrep \"0x0060:  *3637\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:2080" "until cat p1.pcap | grep -E \"0x0060:  *3637\" 2>&1 1>/dev/null"
 
 
 
@@ -84076,12 +83995,14 @@ $at_traceon; }
 
 
 
-ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p0 -w p0.pcap >tcpdump.out 2>/dev/null &
-NS_EXEC_HEREDOC
-ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p1 -w p1.pcap >tcpdump.out 2>/dev/null &
-NS_EXEC_HEREDOC
+ip netns exec at_ns0 tcpdump -l -n -xx -U -i p0 -w p0.pcap >tcpdump.out 2>/dev/null & echo $! > tcpdump_0.pid
+     echo "kill \`cat tcpdump_0.pid\`" >> cleanup
+
+
+ip netns exec at_ns1 tcpdump -l -n -xx -U -i p1 -w p1.pcap >tcpdump.out 2>/dev/null & echo $! > tcpdump_1.pid
+     echo "kill \`cat tcpdump_1.pid\`" >> cleanup
+
+
 
 cat >flows.txt <<'_ATEOF'
 table=0,arp,actions=normal
@@ -105747,7 +105668,9 @@ $at_traceon; }
 
 
 rm p0.pcap
-tcpdump -U -i ovs-p0 -w p0.pcap &
+tcpdump -U -i ovs-p0 -w p0.pcap & echo $! > tcpdump.pid
+    on_exit "kill `cat tcpdump.pid`"
+
 sleep 1
 
  { set +x
@@ -105832,9 +105755,9 @@ $at_traceon; }
 
 
 { set +x
-$as_echo "$at_srcdir/system-traffic.at:5539: tcpdump -v \"icmp\" -r p0.pcap 2>/dev/null | egrep 'wrong|bad'"
+$as_echo "$at_srcdir/system-traffic.at:5539: tcpdump -v \"icmp\" -r p0.pcap 2>/dev/null | grep -E 'wrong|bad'"
 at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:5539"
-( $at_check_trace; tcpdump -v "icmp" -r p0.pcap 2>/dev/null | egrep 'wrong|bad'
+( $at_check_trace; tcpdump -v "icmp" -r p0.pcap 2>/dev/null | grep -E 'wrong|bad'
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
@@ -117916,7 +117839,9 @@ $at_traceon; }
 
 
 rm p0.pcap
-tcpdump -U -i ovs-p0 -w p0.pcap &
+tcpdump -U -i ovs-p0 -w p0.pcap & echo $! > tcpdump.pid
+    on_exit "kill `cat tcpdump.pid`"
+
 sleep 1
 
  { set +x
@@ -117941,9 +117866,9 @@ $at_traceon; }
 
 
 { set +x
-$as_echo "$at_srcdir/system-traffic.at:6289: tcpdump -v \"icmp6\" -r p0.pcap 2>/dev/null | egrep 'wrong|bad'"
+$as_echo "$at_srcdir/system-traffic.at:6289: tcpdump -v \"icmp6\" -r p0.pcap 2>/dev/null | grep -E 'wrong|bad'"
 at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:6289"
-( $at_check_trace; tcpdump -v "icmp6" -r p0.pcap 2>/dev/null | egrep 'wrong|bad'
+( $at_check_trace; tcpdump -v "icmp6" -r p0.pcap 2>/dev/null | grep -E 'wrong|bad'
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
@@ -135691,24 +135616,8 @@ $at_failed && at_fn_log_failure  \
 $at_traceon; }
 
 
- { set +x
-$as_echo "$at_srcdir/system-traffic.at:7279: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p1 > p1.pcap &
-NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:7279"
-( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p1 > p1.pcap &
-NS_EXEC_HEREDOC
-) >>"$at_stdout" 2>>"$at_stderr" 5>&-
-at_status=$? at_failed=false
-$at_check_filter
-at_fn_diff_devnull "$at_stderr" || at_failed=:
-at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:7279"
-$at_failed && at_fn_log_failure  \
-"ovsdb-server.log" \
-"ovs-vswitchd.log"
-$at_traceon; }
+ip netns exec at_ns1 tcpdump -l -n -xx -U -i p1 > p1.pcap & echo $! > tcpdump.pid
+     echo "kill \`cat tcpdump.pid\`" >> cleanup
 
 
 sleep 1
@@ -135741,13 +135650,13 @@ $as_echo "system-traffic.at:7288" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7288"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0000: *f2ff *0000 *0002 *f2ff *0000 *0001 *894f *0fc6" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0000: *f2ff *0000 *0002 *f2ff *0000 *0001 *894f *0fc6" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7288" "until cat p1.pcap | egrep \"0x0000: *f2ff *0000 *0002 *f2ff *0000 *0001 *894f *0fc6\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7288" "until cat p1.pcap | grep -E \"0x0000: *f2ff *0000 *0002 *f2ff *0000 *0001 *894f *0fc6\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7289" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -135756,13 +135665,13 @@ $as_echo "system-traffic.at:7289" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7289"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0010: *0103 *0012 *34ff *1122 *3344 *0000 *0000 *0000" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0010: *0103 *0012 *34ff *1122 *3344 *0000 *0000 *0000" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7289" "until cat p1.pcap | egrep \"0x0010: *0103 *0012 *34ff *1122 *3344 *0000 *0000 *0000\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7289" "until cat p1.pcap | grep -E \"0x0010: *0103 *0012 *34ff *1122 *3344 *0000 *0000 *0000\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7290" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -135771,13 +135680,13 @@ $as_echo "system-traffic.at:7290" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7290"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0020: *0000 *0000 *0000 *f200 *0000 *0002 *f200 *0000" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0020: *0000 *0000 *0000 *f200 *0000 *0002 *f200 *0000" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7290" "until cat p1.pcap | egrep \"0x0020: *0000 *0000 *0000 *f200 *0000 *0002 *f200 *0000\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7290" "until cat p1.pcap | grep -E \"0x0020: *0000 *0000 *0000 *f200 *0000 *0002 *f200 *0000\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7291" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -135786,13 +135695,13 @@ $as_echo "system-traffic.at:7291" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7291"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0030: *0001 *0800 *4500 *0028 *0001 *0000 *4006 *b013" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0030: *0001 *0800 *4500 *0028 *0001 *0000 *4006 *b013" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7291" "until cat p1.pcap | egrep \"0x0030: *0001 *0800 *4500 *0028 *0001 *0000 *4006 *b013\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7291" "until cat p1.pcap | grep -E \"0x0030: *0001 *0800 *4500 *0028 *0001 *0000 *4006 *b013\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7292" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -135801,13 +135710,13 @@ $as_echo "system-traffic.at:7292" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7292"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0040: *c0a8 *000a *0a00 *000a *0400 *0800 *0000 *00c8" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0040: *c0a8 *000a *0a00 *000a *0400 *0800 *0000 *00c8" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7292" "until cat p1.pcap | egrep \"0x0040: *c0a8 *000a *0a00 *000a *0400 *0800 *0000 *00c8\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7292" "until cat p1.pcap | grep -E \"0x0040: *c0a8 *000a *0a00 *000a *0400 *0800 *0000 *00c8\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7293" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -135816,13 +135725,13 @@ $as_echo "system-traffic.at:7293" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7293"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0050: *0000 *0000 *5002 *2000 *b85e *0000" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0050: *0000 *0000 *5002 *2000 *b85e *0000" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7293" "until cat p1.pcap | egrep \"0x0050: *0000 *0000 *5002 *2000 *b85e *0000\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7293" "until cat p1.pcap | grep -E \"0x0050: *0000 *0000 *5002 *2000 *b85e *0000\" 2>&1 1>/dev/null"
 
 
 { set +x
@@ -136502,24 +136411,8 @@ $at_failed && at_fn_log_failure  \
 $at_traceon; }
 
 
- { set +x
-$as_echo "$at_srcdir/system-traffic.at:7311: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p1 > p1.pcap &
-NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:7311"
-( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p1 > p1.pcap &
-NS_EXEC_HEREDOC
-) >>"$at_stdout" 2>>"$at_stderr" 5>&-
-at_status=$? at_failed=false
-$at_check_filter
-at_fn_diff_devnull "$at_stderr" || at_failed=:
-at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:7311"
-$at_failed && at_fn_log_failure  \
-"ovsdb-server.log" \
-"ovs-vswitchd.log"
-$at_traceon; }
+ip netns exec at_ns1 tcpdump -l -n -xx -U -i p1 > p1.pcap & echo $! > tcpdump.pid
+     echo "kill \`cat tcpdump.pid\`" >> cleanup
 
 
 sleep 1
@@ -136552,13 +136445,13 @@ $as_echo "system-traffic.at:7320" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7320"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0000: *f200 *0000 *0002 *f200 *0000 *0001 *0800 *4500" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0000: *f200 *0000 *0002 *f200 *0000 *0001 *0800 *4500" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7320" "until cat p1.pcap | egrep \"0x0000: *f200 *0000 *0002 *f200 *0000 *0001 *0800 *4500\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7320" "until cat p1.pcap | grep -E \"0x0000: *f200 *0000 *0002 *f200 *0000 *0001 *0800 *4500\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7321" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -136567,13 +136460,13 @@ $as_echo "system-traffic.at:7321" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7321"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0010: *0028 *0001 *0000 *4006 *b013 *c0a8 *000a *0a00" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0010: *0028 *0001 *0000 *4006 *b013 *c0a8 *000a *0a00" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7321" "until cat p1.pcap | egrep \"0x0010: *0028 *0001 *0000 *4006 *b013 *c0a8 *000a *0a00\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7321" "until cat p1.pcap | grep -E \"0x0010: *0028 *0001 *0000 *4006 *b013 *c0a8 *000a *0a00\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7322" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -136582,13 +136475,13 @@ $as_echo "system-traffic.at:7322" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7322"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0020: *000a *0400 *0800 *0000 *00c8 *0000 *0000 *5002" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0020: *000a *0400 *0800 *0000 *00c8 *0000 *0000 *5002" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7322" "until cat p1.pcap | egrep \"0x0020: *000a *0400 *0800 *0000 *00c8 *0000 *0000 *5002\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7322" "until cat p1.pcap | grep -E \"0x0020: *000a *0400 *0800 *0000 *00c8 *0000 *0000 *5002\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7323" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -136597,13 +136490,13 @@ $as_echo "system-traffic.at:7323" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7323"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0030: *2000 *b85e *0000" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0030: *2000 *b85e *0000" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7323" "until cat p1.pcap | egrep \"0x0030: *2000 *b85e *0000\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7323" "until cat p1.pcap | grep -E \"0x0030: *2000 *b85e *0000\" 2>&1 1>/dev/null"
 
 
 { set +x
@@ -137283,24 +137176,8 @@ $at_failed && at_fn_log_failure  \
 $at_traceon; }
 
 
- { set +x
-$as_echo "$at_srcdir/system-traffic.at:7343: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p1 > p1.pcap &
-NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:7343"
-( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p1 > p1.pcap &
-NS_EXEC_HEREDOC
-) >>"$at_stdout" 2>>"$at_stderr" 5>&-
-at_status=$? at_failed=false
-$at_check_filter
-at_fn_diff_devnull "$at_stderr" || at_failed=:
-at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:7343"
-$at_failed && at_fn_log_failure  \
-"ovsdb-server.log" \
-"ovs-vswitchd.log"
-$at_traceon; }
+ip netns exec at_ns1 tcpdump -l -n -xx -U -i p1 > p1.pcap & echo $! > tcpdump.pid
+     echo "kill \`cat tcpdump.pid\`" >> cleanup
 
 
 sleep 1
@@ -137333,13 +137210,13 @@ $as_echo "system-traffic.at:7353" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7353"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0000: *f2ff *0000 *0002 *f2ff *0000* 0001 *894f *01c6" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0000: *f2ff *0000 *0002 *f2ff *0000* 0001 *894f *01c6" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7353" "until cat p1.pcap | egrep \"0x0000: *f2ff *0000 *0002 *f2ff *0000* 0001 *894f *01c6\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7353" "until cat p1.pcap | grep -E \"0x0000: *f2ff *0000 *0002 *f2ff *0000* 0001 *894f *01c6\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7354" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -137348,13 +137225,13 @@ $as_echo "system-traffic.at:7354" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7354"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0010: *0103 *0001 *0104 *100f *0e0d *0c0b *0a09 *0807" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0010: *0103 *0001 *0104 *100f *0e0d *0c0b *0a09 *0807" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7354" "until cat p1.pcap | egrep \"0x0010: *0103 *0001 *0104 *100f *0e0d *0c0b *0a09 *0807\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7354" "until cat p1.pcap | grep -E \"0x0010: *0103 *0001 *0104 *100f *0e0d *0c0b *0a09 *0807\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7355" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -137363,13 +137240,13 @@ $as_echo "system-traffic.at:7355" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7355"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0020: *0605 *0403 *0201 *f200 *0000 *0002 *f200 *0000" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0020: *0605 *0403 *0201 *f200 *0000 *0002 *f200 *0000" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7355" "until cat p1.pcap | egrep \"0x0020: *0605 *0403 *0201 *f200 *0000 *0002 *f200 *0000\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7355" "until cat p1.pcap | grep -E \"0x0020: *0605 *0403 *0201 *f200 *0000 *0002 *f200 *0000\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7356" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -137378,13 +137255,13 @@ $as_echo "system-traffic.at:7356" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7356"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0030: *0001 *0800 *4500 *0028 *0001 *0000 *4006 *b013" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0030: *0001 *0800 *4500 *0028 *0001 *0000 *4006 *b013" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7356" "until cat p1.pcap | egrep \"0x0030: *0001 *0800 *4500 *0028 *0001 *0000 *4006 *b013\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7356" "until cat p1.pcap | grep -E \"0x0030: *0001 *0800 *4500 *0028 *0001 *0000 *4006 *b013\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7357" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -137393,13 +137270,13 @@ $as_echo "system-traffic.at:7357" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7357"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0040: *c0a8 *000a *0a00 *000a *0400 *0800 *0000 *00c8" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0040: *c0a8 *000a *0a00 *000a *0400 *0800 *0000 *00c8" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7357" "until cat p1.pcap | egrep \"0x0040: *c0a8 *000a *0a00 *000a *0400 *0800 *0000 *00c8\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7357" "until cat p1.pcap | grep -E \"0x0040: *c0a8 *000a *0a00 *000a *0400 *0800 *0000 *00c8\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7358" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -137408,13 +137285,13 @@ $as_echo "system-traffic.at:7358" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7358"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0050: *0000 *0000 *5002 *2000 *b85e *0000" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0050: *0000 *0000 *5002 *2000 *b85e *0000" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7358" "until cat p1.pcap | egrep \"0x0050: *0000 *0000 *5002 *2000 *b85e *0000\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7358" "until cat p1.pcap | grep -E \"0x0050: *0000 *0000 *5002 *2000 *b85e *0000\" 2>&1 1>/dev/null"
 
 
 { set +x
@@ -138283,44 +138160,12 @@ $at_failed && at_fn_log_failure  \
 $at_traceon; }
 
 
- { set +x
-$as_echo "$at_srcdir/system-traffic.at:7379: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p1 > p1.pcap &
-NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:7379"
-( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p1 > p1.pcap &
-NS_EXEC_HEREDOC
-) >>"$at_stdout" 2>>"$at_stderr" 5>&-
-at_status=$? at_failed=false
-$at_check_filter
-at_fn_diff_devnull "$at_stderr" || at_failed=:
-at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:7379"
-$at_failed && at_fn_log_failure  \
-"ovsdb-server.log" \
-"ovs-vswitchd.log"
-$at_traceon; }
+ip netns exec at_ns1 tcpdump -l -n -xx -U -i p1 > p1.pcap & echo $! > tcpdump.pid
+     echo "kill \`cat tcpdump.pid\`" >> cleanup
 
 
- { set +x
-$as_echo "$at_srcdir/system-traffic.at:7380: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p2 > p2.pcap &
-NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:7380"
-( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
-tcpdump -l -n -xx -U -i p2 > p2.pcap &
-NS_EXEC_HEREDOC
-) >>"$at_stdout" 2>>"$at_stderr" 5>&-
-at_status=$? at_failed=false
-$at_check_filter
-at_fn_diff_devnull "$at_stderr" || at_failed=:
-at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:7380"
-$at_failed && at_fn_log_failure  \
-"ovsdb-server.log" \
-"ovs-vswitchd.log"
-$at_traceon; }
+ip netns exec at_ns2 tcpdump -l -n -xx -U -i p2 > p2.pcap & echo $! > tcpdump2.pid
+     echo "kill \`cat tcpdump2.pid\`" >> cleanup
 
 
 sleep 1
@@ -138353,13 +138198,13 @@ $as_echo "system-traffic.at:7387" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7387"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0000: *f2ff *0000 *0002 *f2ff *0000 *0001 *894f *0206" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0000: *f2ff *0000 *0002 *f2ff *0000 *0001 *894f *0206" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7387" "until cat p1.pcap | egrep \"0x0000: *f2ff *0000 *0002 *f2ff *0000 *0001 *894f *0206\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7387" "until cat p1.pcap | grep -E \"0x0000: *f2ff *0000 *0002 *f2ff *0000 *0001 *894f *0206\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7388" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -138368,13 +138213,13 @@ $as_echo "system-traffic.at:7388" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7388"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0010: *0103 *0001 *0002 *0102 *0304 *0506 *0708 *090a" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0010: *0103 *0001 *0002 *0102 *0304 *0506 *0708 *090a" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7388" "until cat p1.pcap | egrep \"0x0010: *0103 *0001 *0002 *0102 *0304 *0506 *0708 *090a\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7388" "until cat p1.pcap | grep -E \"0x0010: *0103 *0001 *0002 *0102 *0304 *0506 *0708 *090a\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7389" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -138383,13 +138228,13 @@ $as_echo "system-traffic.at:7389" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7389"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0020: *0b0c *0d0e *0f10 *f200 *0000 *0002 *f200 *0000" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0020: *0b0c *0d0e *0f10 *f200 *0000 *0002 *f200 *0000" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7389" "until cat p1.pcap | egrep \"0x0020: *0b0c *0d0e *0f10 *f200 *0000 *0002 *f200 *0000\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7389" "until cat p1.pcap | grep -E \"0x0020: *0b0c *0d0e *0f10 *f200 *0000 *0002 *f200 *0000\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7390" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -138398,13 +138243,13 @@ $as_echo "system-traffic.at:7390" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7390"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0030: *0001 *0800 *4500 *0028 *0001 *0000 *4006 *b013" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0030: *0001 *0800 *4500 *0028 *0001 *0000 *4006 *b013" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7390" "until cat p1.pcap | egrep \"0x0030: *0001 *0800 *4500 *0028 *0001 *0000 *4006 *b013\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7390" "until cat p1.pcap | grep -E \"0x0030: *0001 *0800 *4500 *0028 *0001 *0000 *4006 *b013\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7391" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -138413,13 +138258,13 @@ $as_echo "system-traffic.at:7391" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7391"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0040: *c0a8 *000a *0a00 *000a *0400 *0800 *0000 *00c8" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0040: *c0a8 *000a *0a00 *000a *0400 *0800 *0000 *00c8" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7391" "until cat p1.pcap | egrep \"0x0040: *c0a8 *000a *0a00 *000a *0400 *0800 *0000 *00c8\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7391" "until cat p1.pcap | grep -E \"0x0040: *c0a8 *000a *0a00 *000a *0400 *0800 *0000 *00c8\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7392" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -138428,13 +138273,13 @@ $as_echo "system-traffic.at:7392" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7392"
    ovs_wait_cond () {
-    cat p1.pcap | egrep "0x0050: *0000 *0000 *5002 *2000 *b85e *0000" 2>&1 1>/dev/null
+    cat p1.pcap | grep -E "0x0050: *0000 *0000 *5002 *2000 *b85e *0000" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7392" "until cat p1.pcap | egrep \"0x0050: *0000 *0000 *5002 *2000 *b85e *0000\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7392" "until cat p1.pcap | grep -E \"0x0050: *0000 *0000 *5002 *2000 *b85e *0000\" 2>&1 1>/dev/null"
 
 
  { set +x
@@ -138465,13 +138310,13 @@ $as_echo "system-traffic.at:7398" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7398"
    ovs_wait_cond () {
-    cat p2.pcap | egrep "0x0000: *f2ff *0000 *0002 *f2ff *0000 *0001 *894f *01c6" 2>&1 1>/dev/null
+    cat p2.pcap | grep -E "0x0000: *f2ff *0000 *0002 *f2ff *0000 *0001 *894f *01c6" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7398" "until cat p2.pcap | egrep \"0x0000: *f2ff *0000 *0002 *f2ff *0000 *0001 *894f *01c6\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7398" "until cat p2.pcap | grep -E \"0x0000: *f2ff *0000 *0002 *f2ff *0000 *0001 *894f *01c6\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7399" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -138480,13 +138325,13 @@ $as_echo "system-traffic.at:7399" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7399"
    ovs_wait_cond () {
-    cat p2.pcap | egrep "0x0010: *0103 *0001 *0001 *0102 *0304 *0506 *0708 *090a" 2>&1 1>/dev/null
+    cat p2.pcap | grep -E "0x0010: *0103 *0001 *0001 *0102 *0304 *0506 *0708 *090a" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7399" "until cat p2.pcap | egrep \"0x0010: *0103 *0001 *0001 *0102 *0304 *0506 *0708 *090a\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7399" "until cat p2.pcap | grep -E \"0x0010: *0103 *0001 *0001 *0102 *0304 *0506 *0708 *090a\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7400" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -138495,13 +138340,13 @@ $as_echo "system-traffic.at:7400" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7400"
    ovs_wait_cond () {
-    cat p2.pcap | egrep "0x0020: *0b0c *0d0e *0f10 *f200 *0000 *0002 *f200 *0000" 2>&1 1>/dev/null
+    cat p2.pcap | grep -E "0x0020: *0b0c *0d0e *0f10 *f200 *0000 *0002 *f200 *0000" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7400" "until cat p2.pcap | egrep \"0x0020: *0b0c *0d0e *0f10 *f200 *0000 *0002 *f200 *0000\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7400" "until cat p2.pcap | grep -E \"0x0020: *0b0c *0d0e *0f10 *f200 *0000 *0002 *f200 *0000\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7401" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -138510,13 +138355,13 @@ $as_echo "system-traffic.at:7401" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7401"
    ovs_wait_cond () {
-    cat p2.pcap | egrep "0x0030: *0001 *0800 *4500 *0028 *0001 *0000 *4006 *b013" 2>&1 1>/dev/null
+    cat p2.pcap | grep -E "0x0030: *0001 *0800 *4500 *0028 *0001 *0000 *4006 *b013" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7401" "until cat p2.pcap | egrep \"0x0030: *0001 *0800 *4500 *0028 *0001 *0000 *4006 *b013\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7401" "until cat p2.pcap | grep -E \"0x0030: *0001 *0800 *4500 *0028 *0001 *0000 *4006 *b013\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7402" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -138525,13 +138370,13 @@ $as_echo "system-traffic.at:7402" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7402"
    ovs_wait_cond () {
-    cat p2.pcap | egrep "0x0040: *c0a8 *000a *0a00 *000a *0400 *0800 *0000 *00c8" 2>&1 1>/dev/null
+    cat p2.pcap | grep -E "0x0040: *c0a8 *000a *0a00 *000a *0400 *0800 *0000 *00c8" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7402" "until cat p2.pcap | egrep \"0x0040: *c0a8 *000a *0a00 *000a *0400 *0800 *0000 *00c8\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7402" "until cat p2.pcap | grep -E \"0x0040: *c0a8 *000a *0a00 *000a *0400 *0800 *0000 *00c8\" 2>&1 1>/dev/null"
 
 $as_echo "system-traffic.at:7403" >"$at_check_line_file"
 (test "1" -ge 3) \
@@ -138540,13 +138385,13 @@ $as_echo "system-traffic.at:7403" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
   && at_fn_check_skip 99 "$at_srcdir/system-traffic.at:7403"
    ovs_wait_cond () {
-    cat p2.pcap | egrep "0x0050: *0000 *0000 *5002 *2000 *b85e *0000" 2>&1 1>/dev/null
+    cat p2.pcap | grep -E "0x0050: *0000 *0000 *5002 *2000 *b85e *0000" 2>&1 1>/dev/null
 }
 ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-traffic.at:7403" "until cat p2.pcap | egrep \"0x0050: *0000 *0000 *5002 *2000 *b85e *0000\" 2>&1 1>/dev/null"
+ovs_wait "system-traffic.at:7403" "until cat p2.pcap | grep -E \"0x0050: *0000 *0000 *5002 *2000 *b85e *0000\" 2>&1 1>/dev/null"
 
 
 { set +x
@@ -140765,7 +140610,7 @@ at_fn_check_prepare_trace "system-layer3-tunnels.at:149"
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
-echo >>"$at_stdout"; $as_echo "Datapath actions: clone(tnl_push(tnl_port(4),header(size=38,type=3,eth(dst=f8:bc:12:44:34:b6,src=aa:55:aa:55:00:03,dl_type=0x0800),ipv4(src=1.1.2.88,dst=1.1.2.92,proto=47,tos=0,ttl=64,frag=0x4000),gre((flags=0x0,proto=0x6558))),out_port(2)),1)
+echo >>"$at_stdout"; $as_echo "Datapath actions: tnl_push(tnl_port(4),header(size=38,type=3,eth(dst=f8:bc:12:44:34:b6,src=aa:55:aa:55:00:03,dl_type=0x0800),ipv4(src=1.1.2.88,dst=1.1.2.92,proto=47,tos=0,ttl=64,frag=0x4000),gre((flags=0x0,proto=0x6558))),out_port(2)),1
 " | \
   $at_diff - "$at_stdout" || at_failed=:
 at_fn_check_status 0 $at_status "$at_srcdir/system-layer3-tunnels.at:149"
@@ -143659,7 +143504,7 @@ ovs_cleanup
 read at_status <"$at_status_file"
 #AT_STOP_164
 #AT_START_165
-at_fn_group_banner 165 'system-ipsec.at:159' \
+at_fn_group_banner 165 'system-ipsec.at:157' \
   "IPsec -- Libreswan (ipv4, geneve, defaultroute, psk)" "" 11
 at_xfail=no
 (
@@ -143670,31 +143515,31 @@ ovs_init
 
 
 
-      $as_echo "system-ipsec.at:164" >"$at_check_line_file"
+      $as_echo "system-ipsec.at:162" >"$at_check_line_file"
 (!(ipsec --version | grep Libreswan)) \
-  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:164"
-      $as_echo "system-ipsec.at:164" >"$at_check_line_file"
+  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:162"
+      $as_echo "system-ipsec.at:162" >"$at_check_line_file"
 (test ! -x $(which certutil)) \
-  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:164"
-      $as_echo "system-ipsec.at:164" >"$at_check_line_file"
+  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:162"
+      $as_echo "system-ipsec.at:162" >"$at_check_line_file"
 (test ! -x $(which pk12util)) \
-  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:164"
-      $as_echo "system-ipsec.at:164" >"$at_check_line_file"
+  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:162"
+      $as_echo "system-ipsec.at:162" >"$at_check_line_file"
 (test ! -x $(which openssl)) \
-  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:164"
-                        $as_echo "system-ipsec.at:164" >"$at_check_line_file"
+  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:162"
+                        $as_echo "system-ipsec.at:162" >"$at_check_line_file"
 (test "${#ovs_base}" -gt "90" ) \
-  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:164"
+  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:162"
 { set +x
-$as_echo "$at_srcdir/system-ipsec.at:165: modprobe openvswitch"
-at_fn_check_prepare_trace "system-ipsec.at:165"
+$as_echo "$at_srcdir/system-ipsec.at:163: modprobe openvswitch"
+at_fn_check_prepare_trace "system-ipsec.at:163"
 ( $at_check_trace; modprobe openvswitch
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:165"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:163"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -143714,38 +143559,38 @@ $at_traceon; }
    on_exit 'ovs-appctl dpctl/flush-conntrack'
       touch .conf.db.~lock~
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:165: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
-at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "system-ipsec.at:165"
+$as_echo "$at_srcdir/system-ipsec.at:163: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
+at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "system-ipsec.at:163"
 ( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:165"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:163"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:165: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
-at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "system-ipsec.at:165"
+$as_echo "$at_srcdir/system-ipsec.at:163: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
+at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "system-ipsec.at:163"
 ( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 echo stderr:; tee stderr <"$at_stderr"
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:165"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:163"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
    on_exit "kill `cat ovsdb-server.pid`"
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:165: sed < stderr '
+$as_echo "$at_srcdir/system-ipsec.at:163: sed < stderr '
 /vlog|INFO|opened log file/d
 /ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:165"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:163"
 ( $at_check_trace; sed < stderr '
 /vlog|INFO|opened log file/d
 /ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
@@ -143754,37 +143599,37 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:165"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:163"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
 
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:165: ovs-vsctl --no-wait init "
-at_fn_check_prepare_trace "system-ipsec.at:165"
+$as_echo "$at_srcdir/system-ipsec.at:163: ovs-vsctl --no-wait init "
+at_fn_check_prepare_trace "system-ipsec.at:163"
 ( $at_check_trace; ovs-vsctl --no-wait init
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:165"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:163"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log"
 $at_traceon; }
 
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:165: ovs-vswitchd  --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
-at_fn_check_prepare_trace "system-ipsec.at:165"
+$as_echo "$at_srcdir/system-ipsec.at:163: ovs-vswitchd  --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
+at_fn_check_prepare_trace "system-ipsec.at:163"
 ( $at_check_trace; ovs-vswitchd  --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 echo stderr:; tee stderr <"$at_stderr"
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:165"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:163"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log"
 $at_traceon; }
@@ -143792,7 +143637,7 @@ $at_traceon; }
 
    on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:165: sed < stderr '
+$as_echo "$at_srcdir/system-ipsec.at:163: sed < stderr '
 /ovs_numa|INFO|Discovered /d
 /odp_execute_impl|INFO|Action implementation /d
 /vlog|INFO|opened log file/d
@@ -143808,7 +143653,7 @@ $as_echo "$at_srcdir/system-ipsec.at:165: sed < stderr '
 /probe tc:/d
 /setting extended ack support failed/d
 /tc: Using policy/d'"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:165"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:163"
 ( $at_check_trace; sed < stderr '
 /ovs_numa|INFO|Discovered /d
 /odp_execute_impl|INFO|Action implementation /d
@@ -143830,7 +143675,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:165"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:163"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -143838,15 +143683,15 @@ $at_traceon; }
 
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:165: ovs-vsctl -- add-br br0 -- set Bridge br0 protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
-at_fn_check_prepare_trace "system-ipsec.at:165"
+$as_echo "$at_srcdir/system-ipsec.at:163: ovs-vsctl -- add-br br0 -- set Bridge br0 protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
+at_fn_check_prepare_trace "system-ipsec.at:163"
 ( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:165"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:163"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -143854,30 +143699,30 @@ $at_traceon; }
 
 
 { set +x
-$as_echo "$at_srcdir/system-ipsec.at:166: cp \${abs_top_srcdir}/vswitchd/vswitch.ovsschema vswitch.ovsschema"
-at_fn_check_prepare_notrace 'a ${...} parameter expansion' "system-ipsec.at:166"
+$as_echo "$at_srcdir/system-ipsec.at:164: cp \${abs_top_srcdir}/vswitchd/vswitch.ovsschema vswitch.ovsschema"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "system-ipsec.at:164"
 ( $at_check_trace; cp ${abs_top_srcdir}/vswitchd/vswitch.ovsschema vswitch.ovsschema
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:166"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:164"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
             { set +x
-$as_echo "$at_srcdir/system-ipsec.at:166: ovs-ofctl add-flow br0 \"actions=normal\""
-at_fn_check_prepare_trace "system-ipsec.at:166"
+$as_echo "$at_srcdir/system-ipsec.at:164: ovs-ofctl add-flow br0 \"actions=normal\""
+at_fn_check_prepare_trace "system-ipsec.at:164"
 ( $at_check_trace; ovs-ofctl add-flow br0 "actions=normal"
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:166"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:164"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -143889,15 +143734,15 @@ ip netns del left
 
 
                 { set +x
-$as_echo "$at_srcdir/system-ipsec.at:169: ip netns add left || return 77"
-at_fn_check_prepare_trace "system-ipsec.at:169"
+$as_echo "$at_srcdir/system-ipsec.at:167: ip netns add left || return 77"
+at_fn_check_prepare_trace "system-ipsec.at:167"
 ( $at_check_trace; ip netns add left || return 77
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:169"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:167"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -143918,15 +143763,15 @@ NS_EXEC_HEREDOC
 sysctl -w net.ipv6.conf.default.accept_dad=0
 NS_EXEC_HEREDOC
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:169: ip link add p0 type veth peer name ovs-p0 || return 77"
-at_fn_check_prepare_trace "system-ipsec.at:169"
+$as_echo "$at_srcdir/system-ipsec.at:167: ip link add p0 type veth peer name ovs-p0 || return 77"
+at_fn_check_prepare_trace "system-ipsec.at:167"
 ( $at_check_trace; ip link add p0 type veth peer name ovs-p0 || return 77
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:169"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:167"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -143935,39 +143780,39 @@ $at_traceon; }
       on_exit 'ip link del ovs-p0'
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:169: ip link set p0 netns left"
-at_fn_check_prepare_trace "system-ipsec.at:169"
+$as_echo "$at_srcdir/system-ipsec.at:167: ip link set p0 netns left"
+at_fn_check_prepare_trace "system-ipsec.at:167"
 ( $at_check_trace; ip link set p0 netns left
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:169"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:167"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:169: ip link set dev ovs-p0 up"
-at_fn_check_prepare_trace "system-ipsec.at:169"
+$as_echo "$at_srcdir/system-ipsec.at:167: ip link set dev ovs-p0 up"
+at_fn_check_prepare_trace "system-ipsec.at:167"
 ( $at_check_trace; ip link set dev ovs-p0 up
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:169"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:167"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:169: ovs-vsctl add-port br0 ovs-p0 -- \\
+$as_echo "$at_srcdir/system-ipsec.at:167: ovs-vsctl add-port br0 ovs-p0 -- \\
                 set interface ovs-p0 external-ids:iface-id=\"p0\""
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:169"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:167"
 ( $at_check_trace; ovs-vsctl add-port br0 ovs-p0 -- \
                 set interface ovs-p0 external-ids:iface-id="p0"
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
@@ -143975,17 +143820,17 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:169"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:167"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
        { set +x
-$as_echo "$at_srcdir/system-ipsec.at:169: ip netns exec left sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:167: ip netns exec left sh << NS_EXEC_HEREDOC
 ip addr add 10.1.1.1/24 dev p0
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:169"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:167"
 ( $at_check_trace; ip netns exec left sh << NS_EXEC_HEREDOC
 ip addr add 10.1.1.1/24 dev p0
 NS_EXEC_HEREDOC
@@ -143994,7 +143839,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:169"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:167"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -144002,10 +143847,10 @@ $at_traceon; }
 
 
        { set +x
-$as_echo "$at_srcdir/system-ipsec.at:169: ip netns exec left sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:167: ip netns exec left sh << NS_EXEC_HEREDOC
 ip link set dev p0 up
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:169"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:167"
 ( $at_check_trace; ip netns exec left sh << NS_EXEC_HEREDOC
 ip link set dev p0 up
 NS_EXEC_HEREDOC
@@ -144014,7 +143859,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:169"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:167"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -144023,10 +143868,10 @@ $at_traceon; }
 
       if test -n ""; then
          { set +x
-$as_echo "$at_srcdir/system-ipsec.at:169: ip netns exec left sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:167: ip netns exec left sh << NS_EXEC_HEREDOC
 ip link set dev p0 address
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:169"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:167"
 ( $at_check_trace; ip netns exec left sh << NS_EXEC_HEREDOC
 ip link set dev p0 address
 NS_EXEC_HEREDOC
@@ -144035,7 +143880,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:169"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:167"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -144045,10 +143890,10 @@ $at_traceon; }
       fi
       if test -n ""; then
          { set +x
-$as_echo "$at_srcdir/system-ipsec.at:169: ip netns exec left sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:167: ip netns exec left sh << NS_EXEC_HEREDOC
 ip route add default via
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:169"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:167"
 ( $at_check_trace; ip netns exec left sh << NS_EXEC_HEREDOC
 ip route add default via
 NS_EXEC_HEREDOC
@@ -144057,7 +143902,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:169"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:167"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -144100,13 +143945,13 @@ NS_EXEC_HEREDOC
   touch $ovs_base/left/secrets
   ipsec initnss --nssdir $ovs_base/left/ipsec.d
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:169: ip netns exec left sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:167: ip netns exec left sh << NS_EXEC_HEREDOC
 ipsec pluto --config \$ovs_base/left/ipsec.conf \\
         --ipsecdir \$ovs_base/left --nssdir \$ovs_base/left/ipsec.d \\
         --logfile \$ovs_base/left/pluto.log --secretsfile \$ovs_base/left/secrets \\
         --rundir \$ovs_base/left
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:169"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:167"
 ( $at_check_trace; ip netns exec left sh << NS_EXEC_HEREDOC
 ipsec pluto --config $ovs_base/left/ipsec.conf \
         --ipsecdir $ovs_base/left --nssdir $ovs_base/left/ipsec.d \
@@ -144118,7 +143963,7 @@ at_status=$? at_failed=false
 $at_check_filter
 echo stderr:; tee stderr <"$at_stderr"
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:169"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:167"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -144128,7 +143973,7 @@ $at_traceon; }
   on_exit "kill `cat $ovs_base/left/pluto.pid`"
 
      { set +x
-$as_echo "$at_srcdir/system-ipsec.at:169: ip netns exec left sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:167: ip netns exec left sh << NS_EXEC_HEREDOC
 ovs-monitor-ipsec unix:\${OVS_RUNDIR}/left/db.sock\\
         --pidfile=\${OVS_RUNDIR}/left/ovs-monitor-ipsec.pid --ike-daemon=libreswan\\
         --ipsec-conf=\$ovs_base/left/ipsec.conf --ipsec-d=\$ovs_base/left/ipsec.d \\
@@ -144137,7 +143982,7 @@ ovs-monitor-ipsec unix:\${OVS_RUNDIR}/left/db.sock\\
         --ipsec-ctl=\$ovs_base/left/pluto.ctl \\
         --no-restart-ike-daemon --detach
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'a ${...} parameter expansion' "system-ipsec.at:169"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "system-ipsec.at:167"
 ( $at_check_trace; ip netns exec left sh << NS_EXEC_HEREDOC
 ovs-monitor-ipsec unix:${OVS_RUNDIR}/left/db.sock\
         --pidfile=${OVS_RUNDIR}/left/ovs-monitor-ipsec.pid --ike-daemon=libreswan\
@@ -144152,7 +143997,7 @@ at_status=$? at_failed=false
 $at_check_filter
 echo stderr:; tee stderr <"$at_stderr"
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:169"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:167"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -144170,15 +144015,15 @@ ip netns del right
 
 
                 { set +x
-$as_echo "$at_srcdir/system-ipsec.at:170: ip netns add right || return 77"
-at_fn_check_prepare_trace "system-ipsec.at:170"
+$as_echo "$at_srcdir/system-ipsec.at:168: ip netns add right || return 77"
+at_fn_check_prepare_trace "system-ipsec.at:168"
 ( $at_check_trace; ip netns add right || return 77
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:170"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:168"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -144199,15 +144044,15 @@ NS_EXEC_HEREDOC
 sysctl -w net.ipv6.conf.default.accept_dad=0
 NS_EXEC_HEREDOC
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:170: ip link add p1 type veth peer name ovs-p1 || return 77"
-at_fn_check_prepare_trace "system-ipsec.at:170"
+$as_echo "$at_srcdir/system-ipsec.at:168: ip link add p1 type veth peer name ovs-p1 || return 77"
+at_fn_check_prepare_trace "system-ipsec.at:168"
 ( $at_check_trace; ip link add p1 type veth peer name ovs-p1 || return 77
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:170"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:168"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -144216,39 +144061,39 @@ $at_traceon; }
       on_exit 'ip link del ovs-p1'
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:170: ip link set p1 netns right"
-at_fn_check_prepare_trace "system-ipsec.at:170"
+$as_echo "$at_srcdir/system-ipsec.at:168: ip link set p1 netns right"
+at_fn_check_prepare_trace "system-ipsec.at:168"
 ( $at_check_trace; ip link set p1 netns right
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:170"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:168"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:170: ip link set dev ovs-p1 up"
-at_fn_check_prepare_trace "system-ipsec.at:170"
+$as_echo "$at_srcdir/system-ipsec.at:168: ip link set dev ovs-p1 up"
+at_fn_check_prepare_trace "system-ipsec.at:168"
 ( $at_check_trace; ip link set dev ovs-p1 up
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:170"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:168"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:170: ovs-vsctl add-port br0 ovs-p1 -- \\
+$as_echo "$at_srcdir/system-ipsec.at:168: ovs-vsctl add-port br0 ovs-p1 -- \\
                 set interface ovs-p1 external-ids:iface-id=\"p1\""
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:170"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:168"
 ( $at_check_trace; ovs-vsctl add-port br0 ovs-p1 -- \
                 set interface ovs-p1 external-ids:iface-id="p1"
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
@@ -144256,17 +144101,17 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:170"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:168"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
        { set +x
-$as_echo "$at_srcdir/system-ipsec.at:170: ip netns exec right sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:168: ip netns exec right sh << NS_EXEC_HEREDOC
 ip addr add 10.1.1.2/24 dev p1
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:170"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:168"
 ( $at_check_trace; ip netns exec right sh << NS_EXEC_HEREDOC
 ip addr add 10.1.1.2/24 dev p1
 NS_EXEC_HEREDOC
@@ -144275,7 +144120,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:170"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:168"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -144283,10 +144128,10 @@ $at_traceon; }
 
 
        { set +x
-$as_echo "$at_srcdir/system-ipsec.at:170: ip netns exec right sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:168: ip netns exec right sh << NS_EXEC_HEREDOC
 ip link set dev p1 up
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:170"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:168"
 ( $at_check_trace; ip netns exec right sh << NS_EXEC_HEREDOC
 ip link set dev p1 up
 NS_EXEC_HEREDOC
@@ -144295,7 +144140,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:170"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:168"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -144304,10 +144149,10 @@ $at_traceon; }
 
       if test -n ""; then
          { set +x
-$as_echo "$at_srcdir/system-ipsec.at:170: ip netns exec right sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:168: ip netns exec right sh << NS_EXEC_HEREDOC
 ip link set dev p1 address
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:170"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:168"
 ( $at_check_trace; ip netns exec right sh << NS_EXEC_HEREDOC
 ip link set dev p1 address
 NS_EXEC_HEREDOC
@@ -144316,7 +144161,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:170"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:168"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -144326,10 +144171,10 @@ $at_traceon; }
       fi
       if test -n ""; then
          { set +x
-$as_echo "$at_srcdir/system-ipsec.at:170: ip netns exec right sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:168: ip netns exec right sh << NS_EXEC_HEREDOC
 ip route add default via
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:170"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:168"
 ( $at_check_trace; ip netns exec right sh << NS_EXEC_HEREDOC
 ip route add default via
 NS_EXEC_HEREDOC
@@ -144338,7 +144183,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:170"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:168"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -144381,13 +144226,13 @@ NS_EXEC_HEREDOC
   touch $ovs_base/right/secrets
   ipsec initnss --nssdir $ovs_base/right/ipsec.d
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:170: ip netns exec right sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:168: ip netns exec right sh << NS_EXEC_HEREDOC
 ipsec pluto --config \$ovs_base/right/ipsec.conf \\
         --ipsecdir \$ovs_base/right --nssdir \$ovs_base/right/ipsec.d \\
         --logfile \$ovs_base/right/pluto.log --secretsfile \$ovs_base/right/secrets \\
         --rundir \$ovs_base/right
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:170"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:168"
 ( $at_check_trace; ip netns exec right sh << NS_EXEC_HEREDOC
 ipsec pluto --config $ovs_base/right/ipsec.conf \
         --ipsecdir $ovs_base/right --nssdir $ovs_base/right/ipsec.d \
@@ -144399,7 +144244,7 @@ at_status=$? at_failed=false
 $at_check_filter
 echo stderr:; tee stderr <"$at_stderr"
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:170"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:168"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -144409,7 +144254,7 @@ $at_traceon; }
   on_exit "kill `cat $ovs_base/right/pluto.pid`"
 
      { set +x
-$as_echo "$at_srcdir/system-ipsec.at:170: ip netns exec right sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:168: ip netns exec right sh << NS_EXEC_HEREDOC
 ovs-monitor-ipsec unix:\${OVS_RUNDIR}/right/db.sock\\
         --pidfile=\${OVS_RUNDIR}/right/ovs-monitor-ipsec.pid --ike-daemon=libreswan\\
         --ipsec-conf=\$ovs_base/right/ipsec.conf --ipsec-d=\$ovs_base/right/ipsec.d \\
@@ -144418,7 +144263,7 @@ ovs-monitor-ipsec unix:\${OVS_RUNDIR}/right/db.sock\\
         --ipsec-ctl=\$ovs_base/right/pluto.ctl \\
         --no-restart-ike-daemon --detach
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'a ${...} parameter expansion' "system-ipsec.at:170"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "system-ipsec.at:168"
 ( $at_check_trace; ip netns exec right sh << NS_EXEC_HEREDOC
 ovs-monitor-ipsec unix:${OVS_RUNDIR}/right/db.sock\
         --pidfile=${OVS_RUNDIR}/right/ovs-monitor-ipsec.pid --ike-daemon=libreswan\
@@ -144433,7 +144278,7 @@ at_status=$? at_failed=false
 $at_check_filter
 echo stderr:; tee stderr <"$at_stderr"
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:170"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:168"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -144448,12 +144293,12 @@ NS_EXEC_HEREDOC
 
 
 ip netns exec left ovs-vsctl --db unix:$ovs_base/left/db.sock add-port br-ipsec tun -- set Interface tun type=geneve options:remote_ip=10.1.1.2 options:psk=swordfish
-                  $as_echo "system-ipsec.at:173" >"$at_check_line_file"
+                  $as_echo "system-ipsec.at:171" >"$at_check_line_file"
 (test "1" -ge 3) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:173"
-      $as_echo "system-ipsec.at:173" >"$at_check_line_file"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:171"
+      $as_echo "system-ipsec.at:171" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:173"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:171"
    ovs_wait_cond () {
     test `ipsec status --rundir $ovs_base/left | \
            grep "Total IPsec connections" | \
@@ -144463,19 +144308,19 @@ ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-ipsec.at:173" "until test \`ipsec status --rundir $ovs_base/left | \
+ovs_wait "system-ipsec.at:171" "until test \`ipsec status --rundir $ovs_base/left | \
            grep "Total IPsec connections" | \
            sed 's/[0-9]* Total IPsec connections: loaded \([0-2]\), active \([0-2]\).*/\1/m'\` -eq 2"
 
 
 
 ip netns exec right ovs-vsctl --db unix:$ovs_base/right/db.sock add-port br-ipsec tun -- set Interface tun type=geneve options:remote_ip=10.1.1.1 options:psk=swordfish
-                  $as_echo "system-ipsec.at:177" >"$at_check_line_file"
+                  $as_echo "system-ipsec.at:175" >"$at_check_line_file"
 (test "1" -ge 3) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:177"
-      $as_echo "system-ipsec.at:177" >"$at_check_line_file"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:175"
+      $as_echo "system-ipsec.at:175" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:177"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:175"
    ovs_wait_cond () {
     test `ipsec status --rundir $ovs_base/right | \
            grep "Total IPsec connections" | \
@@ -144485,7 +144330,7 @@ ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-ipsec.at:177" "until test \`ipsec status --rundir $ovs_base/right | \
+ovs_wait "system-ipsec.at:175" "until test \`ipsec status --rundir $ovs_base/right | \
            grep "Total IPsec connections" | \
            sed 's/[0-9]* Total IPsec connections: loaded \([0-2]\), active \([0-2]\).*/\1/m'\` -eq 2"
 
@@ -144504,17 +144349,19 @@ NS_EXEC_HEREDOC
 ip link set dev br-ipsec up
 NS_EXEC_HEREDOC
 
-            tcpdump -l -nn -i ovs-p0 esp > $ovs_base/left/tcpdump.log &
-      on_exit "kill $!"
-      tcpdump -l -nn -i ovs-p1 esp > $ovs_base/right/tcpdump.log &
-      on_exit "kill $!"
+            tcpdump -l -nn -i ovs-p0 esp > $ovs_base/left/tcpdump.log & echo $! > tcpdump0.pid
+    on_exit "kill `cat tcpdump0.pid`"
 
-            $as_echo "system-ipsec.at:179" >"$at_check_line_file"
+      tcpdump -l -nn -i ovs-p1 esp > $ovs_base/right/tcpdump.log & echo $! > tcpdump1.pid
+    on_exit "kill `cat tcpdump1.pid`"
+
+
+            $as_echo "system-ipsec.at:177" >"$at_check_line_file"
 (test "1" -ge 3) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:179"
-      $as_echo "system-ipsec.at:179" >"$at_check_line_file"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:177"
+      $as_echo "system-ipsec.at:177" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:179"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:177"
    ovs_wait_cond () {
     test `ipsec status --rundir $ovs_base/left | \
            grep "Total IPsec connections" | \
@@ -144526,18 +144373,18 @@ ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-ipsec.at:179" "until test \`ipsec status --rundir $ovs_base/left | \
+ovs_wait "system-ipsec.at:177" "until test \`ipsec status --rundir $ovs_base/left | \
            grep "Total IPsec connections" | \
            sed 's/[0-9]* Total IPsec connections: loaded \([0-2]\), active \([0-2]\).*/\1/m'\` -eq \`ipsec status --rundir $ovs_base/left | \
            grep "Total IPsec connections" | \
            sed 's/[0-9]* Total IPsec connections: loaded \([0-2]\), active \([0-2]\).*/\2/m'\`"
 
-      $as_echo "system-ipsec.at:179" >"$at_check_line_file"
+      $as_echo "system-ipsec.at:177" >"$at_check_line_file"
 (test "1" -ge 3) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:179"
-      $as_echo "system-ipsec.at:179" >"$at_check_line_file"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:177"
+      $as_echo "system-ipsec.at:177" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:179"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:177"
    ovs_wait_cond () {
     test `ipsec status --rundir $ovs_base/right | \
            grep "Total IPsec connections" | \
@@ -144549,7 +144396,7 @@ ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-ipsec.at:179" "until test \`ipsec status --rundir $ovs_base/right | \
+ovs_wait "system-ipsec.at:177" "until test \`ipsec status --rundir $ovs_base/right | \
            grep "Total IPsec connections" | \
            sed 's/[0-9]* Total IPsec connections: loaded \([0-2]\), active \([0-2]\).*/\1/m'\` -eq \`ipsec status --rundir $ovs_base/right | \
            grep "Total IPsec connections" | \
@@ -144557,10 +144404,10 @@ ovs_wait "system-ipsec.at:179" "until test \`ipsec status --rundir $ovs_base/rig
 
 
              { set +x
-$as_echo "$at_srcdir/system-ipsec.at:179: ip netns exec left sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:177: ip netns exec left sh << NS_EXEC_HEREDOC
 ping -q -c 3 -i 0.3 -w 2 192.0.0.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:179"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:177"
 ( $at_check_trace; ip netns exec left sh << NS_EXEC_HEREDOC
 ping -q -c 3 -i 0.3 -w 2 192.0.0.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
 NS_EXEC_HEREDOC
@@ -144571,7 +144418,7 @@ at_fn_diff_devnull "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; $as_echo "3 packets transmitted, 3 received, 0% packet loss, time 0ms
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:179"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:177"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -144579,10 +144426,10 @@ $at_traceon; }
 
 
        { set +x
-$as_echo "$at_srcdir/system-ipsec.at:179: ip netns exec right sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:177: ip netns exec right sh << NS_EXEC_HEREDOC
 ping -q -c 3 -i 0.3 -w 2 192.0.0.1 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:179"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:177"
 ( $at_check_trace; ip netns exec right sh << NS_EXEC_HEREDOC
 ping -q -c 3 -i 0.3 -w 2 192.0.0.1 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
 NS_EXEC_HEREDOC
@@ -144593,7 +144440,7 @@ at_fn_diff_devnull "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; $as_echo "3 packets transmitted, 3 received, 0% packet loss, time 0ms
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:179"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:177"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -144602,30 +144449,30 @@ $at_traceon; }
 
 
                         { set +x
-$as_echo "$at_srcdir/system-ipsec.at:179: cat \$ovs_base/left/tcpdump.log | grep ESP"
-at_fn_check_prepare_notrace 'a shell pipeline' "system-ipsec.at:179"
+$as_echo "$at_srcdir/system-ipsec.at:177: cat \$ovs_base/left/tcpdump.log | grep ESP"
+at_fn_check_prepare_notrace 'a shell pipeline' "system-ipsec.at:177"
 ( $at_check_trace; cat $ovs_base/left/tcpdump.log | grep ESP
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 echo stderr:; tee stderr <"$at_stderr"
 echo stdout:; tee stdout <"$at_stdout"
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:179"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:177"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:179: cat \$ovs_base/right/tcpdump.log | grep ESP"
-at_fn_check_prepare_notrace 'a shell pipeline' "system-ipsec.at:179"
+$as_echo "$at_srcdir/system-ipsec.at:177: cat \$ovs_base/right/tcpdump.log | grep ESP"
+at_fn_check_prepare_notrace 'a shell pipeline' "system-ipsec.at:177"
 ( $at_check_trace; cat $ovs_base/right/tcpdump.log | grep ESP
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 echo stderr:; tee stderr <"$at_stderr"
 echo stdout:; tee stdout <"$at_stdout"
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:179"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:177"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -144633,30 +144480,30 @@ $at_traceon; }
 
 
 { set +x
-$as_echo "$at_srcdir/system-ipsec.at:181: check_logs "
-at_fn_check_prepare_trace "system-ipsec.at:181"
+$as_echo "$at_srcdir/system-ipsec.at:179: check_logs "
+at_fn_check_prepare_trace "system-ipsec.at:179"
 ( $at_check_trace; check_logs
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:181"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:179"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:181: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
-at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-ipsec.at:181"
+$as_echo "$at_srcdir/system-ipsec.at:179: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
+at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-ipsec.at:179"
 ( $at_check_trace; test -e $OVS_RUNDIR/ovs-vswitchd.pid
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:181"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:179"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -144664,26 +144511,26 @@ $at_traceon; }
 
    TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:181: ovs-appctl -t ovs-vswitchd exit --cleanup"
-at_fn_check_prepare_trace "system-ipsec.at:181"
+$as_echo "$at_srcdir/system-ipsec.at:179: ovs-appctl -t ovs-vswitchd exit --cleanup"
+at_fn_check_prepare_trace "system-ipsec.at:179"
 ( $at_check_trace; ovs-appctl -t ovs-vswitchd exit --cleanup
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:181"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:179"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
-   $as_echo "system-ipsec.at:181" >"$at_check_line_file"
+   $as_echo "system-ipsec.at:179" >"$at_check_line_file"
 (test "1" -ge 3) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:181"
-      $as_echo "system-ipsec.at:181" >"$at_check_line_file"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:179"
+      $as_echo "system-ipsec.at:179" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:181"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:179"
    ovs_wait_cond () {
     if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
 }
@@ -144691,18 +144538,18 @@ ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-ipsec.at:181" "while kill -0 \$TMPPID 2>/dev/null"
+ovs_wait "system-ipsec.at:179" "while kill -0 \$TMPPID 2>/dev/null"
 
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:181: test -e \$OVS_RUNDIR/ovsdb-server.pid"
-at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-ipsec.at:181"
+$as_echo "$at_srcdir/system-ipsec.at:179: test -e \$OVS_RUNDIR/ovsdb-server.pid"
+at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-ipsec.at:179"
 ( $at_check_trace; test -e $OVS_RUNDIR/ovsdb-server.pid
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:181"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:179"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -144710,26 +144557,26 @@ $at_traceon; }
 
    TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:181: ovs-appctl -t ovsdb-server exit"
-at_fn_check_prepare_trace "system-ipsec.at:181"
+$as_echo "$at_srcdir/system-ipsec.at:179: ovs-appctl -t ovsdb-server exit"
+at_fn_check_prepare_trace "system-ipsec.at:179"
 ( $at_check_trace; ovs-appctl -t ovsdb-server exit
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:181"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:179"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
-   $as_echo "system-ipsec.at:181" >"$at_check_line_file"
+   $as_echo "system-ipsec.at:179" >"$at_check_line_file"
 (test "1" -ge 3) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:181"
-      $as_echo "system-ipsec.at:181" >"$at_check_line_file"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:179"
+      $as_echo "system-ipsec.at:179" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:181"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:179"
    ovs_wait_cond () {
     if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
 }
@@ -144737,18 +144584,18 @@ ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-ipsec.at:181" "while kill -0 \$TMPPID 2>/dev/null"
+ovs_wait "system-ipsec.at:179" "while kill -0 \$TMPPID 2>/dev/null"
 
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:181: :; "
-at_fn_check_prepare_trace "system-ipsec.at:181"
+$as_echo "$at_srcdir/system-ipsec.at:179: :; "
+at_fn_check_prepare_trace "system-ipsec.at:179"
 ( $at_check_trace; :;
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:181"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:179"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -144762,7 +144609,7 @@ ovs_cleanup
 read at_status <"$at_status_file"
 #AT_STOP_165
 #AT_START_166
-at_fn_group_banner 166 'system-ipsec.at:184' \
+at_fn_group_banner 166 'system-ipsec.at:182' \
   "IPsec -- Libreswan (ipv4, geneve, localip, psk)" "" 11
 at_xfail=no
 (
@@ -144773,31 +144620,31 @@ ovs_init
 
 
 
-      $as_echo "system-ipsec.at:189" >"$at_check_line_file"
+      $as_echo "system-ipsec.at:187" >"$at_check_line_file"
 (!(ipsec --version | grep Libreswan)) \
-  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:189"
-      $as_echo "system-ipsec.at:189" >"$at_check_line_file"
+  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:187"
+      $as_echo "system-ipsec.at:187" >"$at_check_line_file"
 (test ! -x $(which certutil)) \
-  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:189"
-      $as_echo "system-ipsec.at:189" >"$at_check_line_file"
+  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:187"
+      $as_echo "system-ipsec.at:187" >"$at_check_line_file"
 (test ! -x $(which pk12util)) \
-  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:189"
-      $as_echo "system-ipsec.at:189" >"$at_check_line_file"
+  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:187"
+      $as_echo "system-ipsec.at:187" >"$at_check_line_file"
 (test ! -x $(which openssl)) \
-  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:189"
-                        $as_echo "system-ipsec.at:189" >"$at_check_line_file"
+  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:187"
+                        $as_echo "system-ipsec.at:187" >"$at_check_line_file"
 (test "${#ovs_base}" -gt "90" ) \
-  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:189"
+  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:187"
 { set +x
-$as_echo "$at_srcdir/system-ipsec.at:190: modprobe openvswitch"
-at_fn_check_prepare_trace "system-ipsec.at:190"
+$as_echo "$at_srcdir/system-ipsec.at:188: modprobe openvswitch"
+at_fn_check_prepare_trace "system-ipsec.at:188"
 ( $at_check_trace; modprobe openvswitch
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:190"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:188"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -144817,38 +144664,38 @@ $at_traceon; }
    on_exit 'ovs-appctl dpctl/flush-conntrack'
       touch .conf.db.~lock~
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:190: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
-at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "system-ipsec.at:190"
+$as_echo "$at_srcdir/system-ipsec.at:188: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
+at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "system-ipsec.at:188"
 ( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:190"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:188"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:190: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
-at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "system-ipsec.at:190"
+$as_echo "$at_srcdir/system-ipsec.at:188: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
+at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "system-ipsec.at:188"
 ( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 echo stderr:; tee stderr <"$at_stderr"
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:190"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:188"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
    on_exit "kill `cat ovsdb-server.pid`"
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:190: sed < stderr '
+$as_echo "$at_srcdir/system-ipsec.at:188: sed < stderr '
 /vlog|INFO|opened log file/d
 /ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:190"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:188"
 ( $at_check_trace; sed < stderr '
 /vlog|INFO|opened log file/d
 /ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
@@ -144857,37 +144704,37 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:190"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:188"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
 
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:190: ovs-vsctl --no-wait init "
-at_fn_check_prepare_trace "system-ipsec.at:190"
+$as_echo "$at_srcdir/system-ipsec.at:188: ovs-vsctl --no-wait init "
+at_fn_check_prepare_trace "system-ipsec.at:188"
 ( $at_check_trace; ovs-vsctl --no-wait init
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:190"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:188"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log"
 $at_traceon; }
 
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:190: ovs-vswitchd  --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
-at_fn_check_prepare_trace "system-ipsec.at:190"
+$as_echo "$at_srcdir/system-ipsec.at:188: ovs-vswitchd  --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
+at_fn_check_prepare_trace "system-ipsec.at:188"
 ( $at_check_trace; ovs-vswitchd  --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 echo stderr:; tee stderr <"$at_stderr"
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:190"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:188"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log"
 $at_traceon; }
@@ -144895,7 +144742,7 @@ $at_traceon; }
 
    on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:190: sed < stderr '
+$as_echo "$at_srcdir/system-ipsec.at:188: sed < stderr '
 /ovs_numa|INFO|Discovered /d
 /odp_execute_impl|INFO|Action implementation /d
 /vlog|INFO|opened log file/d
@@ -144911,7 +144758,7 @@ $as_echo "$at_srcdir/system-ipsec.at:190: sed < stderr '
 /probe tc:/d
 /setting extended ack support failed/d
 /tc: Using policy/d'"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:190"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:188"
 ( $at_check_trace; sed < stderr '
 /ovs_numa|INFO|Discovered /d
 /odp_execute_impl|INFO|Action implementation /d
@@ -144933,7 +144780,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:190"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:188"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -144941,15 +144788,15 @@ $at_traceon; }
 
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:190: ovs-vsctl -- add-br br0 -- set Bridge br0 protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
-at_fn_check_prepare_trace "system-ipsec.at:190"
+$as_echo "$at_srcdir/system-ipsec.at:188: ovs-vsctl -- add-br br0 -- set Bridge br0 protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
+at_fn_check_prepare_trace "system-ipsec.at:188"
 ( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:190"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:188"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -144957,30 +144804,30 @@ $at_traceon; }
 
 
 { set +x
-$as_echo "$at_srcdir/system-ipsec.at:191: cp \${abs_top_srcdir}/vswitchd/vswitch.ovsschema vswitch.ovsschema"
-at_fn_check_prepare_notrace 'a ${...} parameter expansion' "system-ipsec.at:191"
+$as_echo "$at_srcdir/system-ipsec.at:189: cp \${abs_top_srcdir}/vswitchd/vswitch.ovsschema vswitch.ovsschema"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "system-ipsec.at:189"
 ( $at_check_trace; cp ${abs_top_srcdir}/vswitchd/vswitch.ovsschema vswitch.ovsschema
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:191"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:189"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
             { set +x
-$as_echo "$at_srcdir/system-ipsec.at:191: ovs-ofctl add-flow br0 \"actions=normal\""
-at_fn_check_prepare_trace "system-ipsec.at:191"
+$as_echo "$at_srcdir/system-ipsec.at:189: ovs-ofctl add-flow br0 \"actions=normal\""
+at_fn_check_prepare_trace "system-ipsec.at:189"
 ( $at_check_trace; ovs-ofctl add-flow br0 "actions=normal"
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:191"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:189"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -144992,15 +144839,15 @@ ip netns del left
 
 
                 { set +x
-$as_echo "$at_srcdir/system-ipsec.at:194: ip netns add left || return 77"
-at_fn_check_prepare_trace "system-ipsec.at:194"
+$as_echo "$at_srcdir/system-ipsec.at:192: ip netns add left || return 77"
+at_fn_check_prepare_trace "system-ipsec.at:192"
 ( $at_check_trace; ip netns add left || return 77
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:194"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:192"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -145021,15 +144868,15 @@ NS_EXEC_HEREDOC
 sysctl -w net.ipv6.conf.default.accept_dad=0
 NS_EXEC_HEREDOC
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:194: ip link add p0 type veth peer name ovs-p0 || return 77"
-at_fn_check_prepare_trace "system-ipsec.at:194"
+$as_echo "$at_srcdir/system-ipsec.at:192: ip link add p0 type veth peer name ovs-p0 || return 77"
+at_fn_check_prepare_trace "system-ipsec.at:192"
 ( $at_check_trace; ip link add p0 type veth peer name ovs-p0 || return 77
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:194"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:192"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -145038,39 +144885,39 @@ $at_traceon; }
       on_exit 'ip link del ovs-p0'
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:194: ip link set p0 netns left"
-at_fn_check_prepare_trace "system-ipsec.at:194"
+$as_echo "$at_srcdir/system-ipsec.at:192: ip link set p0 netns left"
+at_fn_check_prepare_trace "system-ipsec.at:192"
 ( $at_check_trace; ip link set p0 netns left
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:194"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:192"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:194: ip link set dev ovs-p0 up"
-at_fn_check_prepare_trace "system-ipsec.at:194"
+$as_echo "$at_srcdir/system-ipsec.at:192: ip link set dev ovs-p0 up"
+at_fn_check_prepare_trace "system-ipsec.at:192"
 ( $at_check_trace; ip link set dev ovs-p0 up
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:194"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:192"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:194: ovs-vsctl add-port br0 ovs-p0 -- \\
+$as_echo "$at_srcdir/system-ipsec.at:192: ovs-vsctl add-port br0 ovs-p0 -- \\
                 set interface ovs-p0 external-ids:iface-id=\"p0\""
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:194"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:192"
 ( $at_check_trace; ovs-vsctl add-port br0 ovs-p0 -- \
                 set interface ovs-p0 external-ids:iface-id="p0"
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
@@ -145078,17 +144925,17 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:194"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:192"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
        { set +x
-$as_echo "$at_srcdir/system-ipsec.at:194: ip netns exec left sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:192: ip netns exec left sh << NS_EXEC_HEREDOC
 ip addr add 10.1.1.1/24 dev p0
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:194"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:192"
 ( $at_check_trace; ip netns exec left sh << NS_EXEC_HEREDOC
 ip addr add 10.1.1.1/24 dev p0
 NS_EXEC_HEREDOC
@@ -145097,7 +144944,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:194"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:192"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -145105,10 +144952,10 @@ $at_traceon; }
 
 
        { set +x
-$as_echo "$at_srcdir/system-ipsec.at:194: ip netns exec left sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:192: ip netns exec left sh << NS_EXEC_HEREDOC
 ip link set dev p0 up
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:194"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:192"
 ( $at_check_trace; ip netns exec left sh << NS_EXEC_HEREDOC
 ip link set dev p0 up
 NS_EXEC_HEREDOC
@@ -145117,7 +144964,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:194"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:192"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -145126,10 +144973,10 @@ $at_traceon; }
 
       if test -n ""; then
          { set +x
-$as_echo "$at_srcdir/system-ipsec.at:194: ip netns exec left sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:192: ip netns exec left sh << NS_EXEC_HEREDOC
 ip link set dev p0 address
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:194"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:192"
 ( $at_check_trace; ip netns exec left sh << NS_EXEC_HEREDOC
 ip link set dev p0 address
 NS_EXEC_HEREDOC
@@ -145138,7 +144985,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:194"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:192"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -145148,10 +144995,10 @@ $at_traceon; }
       fi
       if test -n ""; then
          { set +x
-$as_echo "$at_srcdir/system-ipsec.at:194: ip netns exec left sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:192: ip netns exec left sh << NS_EXEC_HEREDOC
 ip route add default via
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:194"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:192"
 ( $at_check_trace; ip netns exec left sh << NS_EXEC_HEREDOC
 ip route add default via
 NS_EXEC_HEREDOC
@@ -145160,7 +145007,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:194"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:192"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -145203,13 +145050,13 @@ NS_EXEC_HEREDOC
   touch $ovs_base/left/secrets
   ipsec initnss --nssdir $ovs_base/left/ipsec.d
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:194: ip netns exec left sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:192: ip netns exec left sh << NS_EXEC_HEREDOC
 ipsec pluto --config \$ovs_base/left/ipsec.conf \\
         --ipsecdir \$ovs_base/left --nssdir \$ovs_base/left/ipsec.d \\
         --logfile \$ovs_base/left/pluto.log --secretsfile \$ovs_base/left/secrets \\
         --rundir \$ovs_base/left
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:194"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:192"
 ( $at_check_trace; ip netns exec left sh << NS_EXEC_HEREDOC
 ipsec pluto --config $ovs_base/left/ipsec.conf \
         --ipsecdir $ovs_base/left --nssdir $ovs_base/left/ipsec.d \
@@ -145221,7 +145068,7 @@ at_status=$? at_failed=false
 $at_check_filter
 echo stderr:; tee stderr <"$at_stderr"
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:194"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:192"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -145231,7 +145078,7 @@ $at_traceon; }
   on_exit "kill `cat $ovs_base/left/pluto.pid`"
 
      { set +x
-$as_echo "$at_srcdir/system-ipsec.at:194: ip netns exec left sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:192: ip netns exec left sh << NS_EXEC_HEREDOC
 ovs-monitor-ipsec unix:\${OVS_RUNDIR}/left/db.sock\\
         --pidfile=\${OVS_RUNDIR}/left/ovs-monitor-ipsec.pid --ike-daemon=libreswan\\
         --ipsec-conf=\$ovs_base/left/ipsec.conf --ipsec-d=\$ovs_base/left/ipsec.d \\
@@ -145240,7 +145087,7 @@ ovs-monitor-ipsec unix:\${OVS_RUNDIR}/left/db.sock\\
         --ipsec-ctl=\$ovs_base/left/pluto.ctl \\
         --no-restart-ike-daemon --detach
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'a ${...} parameter expansion' "system-ipsec.at:194"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "system-ipsec.at:192"
 ( $at_check_trace; ip netns exec left sh << NS_EXEC_HEREDOC
 ovs-monitor-ipsec unix:${OVS_RUNDIR}/left/db.sock\
         --pidfile=${OVS_RUNDIR}/left/ovs-monitor-ipsec.pid --ike-daemon=libreswan\
@@ -145255,7 +145102,7 @@ at_status=$? at_failed=false
 $at_check_filter
 echo stderr:; tee stderr <"$at_stderr"
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:194"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:192"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -145273,15 +145120,15 @@ ip netns del right
 
 
                 { set +x
-$as_echo "$at_srcdir/system-ipsec.at:195: ip netns add right || return 77"
-at_fn_check_prepare_trace "system-ipsec.at:195"
+$as_echo "$at_srcdir/system-ipsec.at:193: ip netns add right || return 77"
+at_fn_check_prepare_trace "system-ipsec.at:193"
 ( $at_check_trace; ip netns add right || return 77
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:195"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:193"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -145302,15 +145149,15 @@ NS_EXEC_HEREDOC
 sysctl -w net.ipv6.conf.default.accept_dad=0
 NS_EXEC_HEREDOC
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:195: ip link add p1 type veth peer name ovs-p1 || return 77"
-at_fn_check_prepare_trace "system-ipsec.at:195"
+$as_echo "$at_srcdir/system-ipsec.at:193: ip link add p1 type veth peer name ovs-p1 || return 77"
+at_fn_check_prepare_trace "system-ipsec.at:193"
 ( $at_check_trace; ip link add p1 type veth peer name ovs-p1 || return 77
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:195"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:193"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -145319,39 +145166,39 @@ $at_traceon; }
       on_exit 'ip link del ovs-p1'
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:195: ip link set p1 netns right"
-at_fn_check_prepare_trace "system-ipsec.at:195"
+$as_echo "$at_srcdir/system-ipsec.at:193: ip link set p1 netns right"
+at_fn_check_prepare_trace "system-ipsec.at:193"
 ( $at_check_trace; ip link set p1 netns right
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:195"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:193"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:195: ip link set dev ovs-p1 up"
-at_fn_check_prepare_trace "system-ipsec.at:195"
+$as_echo "$at_srcdir/system-ipsec.at:193: ip link set dev ovs-p1 up"
+at_fn_check_prepare_trace "system-ipsec.at:193"
 ( $at_check_trace; ip link set dev ovs-p1 up
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:195"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:193"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:195: ovs-vsctl add-port br0 ovs-p1 -- \\
+$as_echo "$at_srcdir/system-ipsec.at:193: ovs-vsctl add-port br0 ovs-p1 -- \\
                 set interface ovs-p1 external-ids:iface-id=\"p1\""
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:195"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:193"
 ( $at_check_trace; ovs-vsctl add-port br0 ovs-p1 -- \
                 set interface ovs-p1 external-ids:iface-id="p1"
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
@@ -145359,17 +145206,17 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:195"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:193"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
        { set +x
-$as_echo "$at_srcdir/system-ipsec.at:195: ip netns exec right sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:193: ip netns exec right sh << NS_EXEC_HEREDOC
 ip addr add 10.1.1.2/24 dev p1
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:195"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:193"
 ( $at_check_trace; ip netns exec right sh << NS_EXEC_HEREDOC
 ip addr add 10.1.1.2/24 dev p1
 NS_EXEC_HEREDOC
@@ -145378,7 +145225,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:195"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:193"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -145386,10 +145233,10 @@ $at_traceon; }
 
 
        { set +x
-$as_echo "$at_srcdir/system-ipsec.at:195: ip netns exec right sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:193: ip netns exec right sh << NS_EXEC_HEREDOC
 ip link set dev p1 up
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:195"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:193"
 ( $at_check_trace; ip netns exec right sh << NS_EXEC_HEREDOC
 ip link set dev p1 up
 NS_EXEC_HEREDOC
@@ -145398,7 +145245,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:195"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:193"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -145407,10 +145254,10 @@ $at_traceon; }
 
       if test -n ""; then
          { set +x
-$as_echo "$at_srcdir/system-ipsec.at:195: ip netns exec right sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:193: ip netns exec right sh << NS_EXEC_HEREDOC
 ip link set dev p1 address
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:195"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:193"
 ( $at_check_trace; ip netns exec right sh << NS_EXEC_HEREDOC
 ip link set dev p1 address
 NS_EXEC_HEREDOC
@@ -145419,7 +145266,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:195"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:193"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -145429,10 +145276,10 @@ $at_traceon; }
       fi
       if test -n ""; then
          { set +x
-$as_echo "$at_srcdir/system-ipsec.at:195: ip netns exec right sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:193: ip netns exec right sh << NS_EXEC_HEREDOC
 ip route add default via
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:195"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:193"
 ( $at_check_trace; ip netns exec right sh << NS_EXEC_HEREDOC
 ip route add default via
 NS_EXEC_HEREDOC
@@ -145441,7 +145288,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:195"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:193"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -145484,13 +145331,13 @@ NS_EXEC_HEREDOC
   touch $ovs_base/right/secrets
   ipsec initnss --nssdir $ovs_base/right/ipsec.d
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:195: ip netns exec right sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:193: ip netns exec right sh << NS_EXEC_HEREDOC
 ipsec pluto --config \$ovs_base/right/ipsec.conf \\
         --ipsecdir \$ovs_base/right --nssdir \$ovs_base/right/ipsec.d \\
         --logfile \$ovs_base/right/pluto.log --secretsfile \$ovs_base/right/secrets \\
         --rundir \$ovs_base/right
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:195"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:193"
 ( $at_check_trace; ip netns exec right sh << NS_EXEC_HEREDOC
 ipsec pluto --config $ovs_base/right/ipsec.conf \
         --ipsecdir $ovs_base/right --nssdir $ovs_base/right/ipsec.d \
@@ -145502,7 +145349,7 @@ at_status=$? at_failed=false
 $at_check_filter
 echo stderr:; tee stderr <"$at_stderr"
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:195"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:193"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -145512,7 +145359,7 @@ $at_traceon; }
   on_exit "kill `cat $ovs_base/right/pluto.pid`"
 
      { set +x
-$as_echo "$at_srcdir/system-ipsec.at:195: ip netns exec right sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:193: ip netns exec right sh << NS_EXEC_HEREDOC
 ovs-monitor-ipsec unix:\${OVS_RUNDIR}/right/db.sock\\
         --pidfile=\${OVS_RUNDIR}/right/ovs-monitor-ipsec.pid --ike-daemon=libreswan\\
         --ipsec-conf=\$ovs_base/right/ipsec.conf --ipsec-d=\$ovs_base/right/ipsec.d \\
@@ -145521,7 +145368,7 @@ ovs-monitor-ipsec unix:\${OVS_RUNDIR}/right/db.sock\\
         --ipsec-ctl=\$ovs_base/right/pluto.ctl \\
         --no-restart-ike-daemon --detach
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'a ${...} parameter expansion' "system-ipsec.at:195"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "system-ipsec.at:193"
 ( $at_check_trace; ip netns exec right sh << NS_EXEC_HEREDOC
 ovs-monitor-ipsec unix:${OVS_RUNDIR}/right/db.sock\
         --pidfile=${OVS_RUNDIR}/right/ovs-monitor-ipsec.pid --ike-daemon=libreswan\
@@ -145536,7 +145383,7 @@ at_status=$? at_failed=false
 $at_check_filter
 echo stderr:; tee stderr <"$at_stderr"
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:195"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:193"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -145552,12 +145399,12 @@ NS_EXEC_HEREDOC
 
 ip netns exec left ovs-vsctl --db unix:$ovs_base/left/db.sock add-port br-ipsec tun -- set Interface tun type=geneve options:remote_ip=10.1.1.2 \
                       options:local_ip=10.1.1.1 options:psk=swordfish
-                  $as_echo "system-ipsec.at:198" >"$at_check_line_file"
+                  $as_echo "system-ipsec.at:196" >"$at_check_line_file"
 (test "1" -ge 3) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:198"
-      $as_echo "system-ipsec.at:198" >"$at_check_line_file"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:196"
+      $as_echo "system-ipsec.at:196" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:198"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:196"
    ovs_wait_cond () {
     test `ipsec status --rundir $ovs_base/left | \
            grep "Total IPsec connections" | \
@@ -145567,7 +145414,7 @@ ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-ipsec.at:198" "until test \`ipsec status --rundir $ovs_base/left | \
+ovs_wait "system-ipsec.at:196" "until test \`ipsec status --rundir $ovs_base/left | \
            grep "Total IPsec connections" | \
            sed 's/[0-9]* Total IPsec connections: loaded \([0-2]\), active \([0-2]\).*/\1/m'\` -eq 2"
 
@@ -145575,12 +145422,12 @@ ovs_wait "system-ipsec.at:198" "until test \`ipsec status --rundir $ovs_base/lef
 
 ip netns exec right ovs-vsctl --db unix:$ovs_base/right/db.sock add-port br-ipsec tun -- set Interface tun type=geneve options:remote_ip=10.1.1.1 \
                        options:local_ip=10.1.1.2 options:psk=swordfish
-                  $as_echo "system-ipsec.at:203" >"$at_check_line_file"
+                  $as_echo "system-ipsec.at:201" >"$at_check_line_file"
 (test "1" -ge 3) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:203"
-      $as_echo "system-ipsec.at:203" >"$at_check_line_file"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:201"
+      $as_echo "system-ipsec.at:201" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:203"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:201"
    ovs_wait_cond () {
     test `ipsec status --rundir $ovs_base/right | \
            grep "Total IPsec connections" | \
@@ -145590,7 +145437,7 @@ ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-ipsec.at:203" "until test \`ipsec status --rundir $ovs_base/right | \
+ovs_wait "system-ipsec.at:201" "until test \`ipsec status --rundir $ovs_base/right | \
            grep "Total IPsec connections" | \
            sed 's/[0-9]* Total IPsec connections: loaded \([0-2]\), active \([0-2]\).*/\1/m'\` -eq 2"
 
@@ -145609,17 +145456,19 @@ NS_EXEC_HEREDOC
 ip link set dev br-ipsec up
 NS_EXEC_HEREDOC
 
-            tcpdump -l -nn -i ovs-p0 esp > $ovs_base/left/tcpdump.log &
-      on_exit "kill $!"
-      tcpdump -l -nn -i ovs-p1 esp > $ovs_base/right/tcpdump.log &
-      on_exit "kill $!"
+            tcpdump -l -nn -i ovs-p0 esp > $ovs_base/left/tcpdump.log & echo $! > tcpdump0.pid
+    on_exit "kill `cat tcpdump0.pid`"
 
-            $as_echo "system-ipsec.at:206" >"$at_check_line_file"
+      tcpdump -l -nn -i ovs-p1 esp > $ovs_base/right/tcpdump.log & echo $! > tcpdump1.pid
+    on_exit "kill `cat tcpdump1.pid`"
+
+
+            $as_echo "system-ipsec.at:204" >"$at_check_line_file"
 (test "1" -ge 3) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:206"
-      $as_echo "system-ipsec.at:206" >"$at_check_line_file"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:204"
+      $as_echo "system-ipsec.at:204" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:206"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:204"
    ovs_wait_cond () {
     test `ipsec status --rundir $ovs_base/left | \
            grep "Total IPsec connections" | \
@@ -145631,18 +145480,18 @@ ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-ipsec.at:206" "until test \`ipsec status --rundir $ovs_base/left | \
+ovs_wait "system-ipsec.at:204" "until test \`ipsec status --rundir $ovs_base/left | \
            grep "Total IPsec connections" | \
            sed 's/[0-9]* Total IPsec connections: loaded \([0-2]\), active \([0-2]\).*/\1/m'\` -eq \`ipsec status --rundir $ovs_base/left | \
            grep "Total IPsec connections" | \
            sed 's/[0-9]* Total IPsec connections: loaded \([0-2]\), active \([0-2]\).*/\2/m'\`"
 
-      $as_echo "system-ipsec.at:206" >"$at_check_line_file"
+      $as_echo "system-ipsec.at:204" >"$at_check_line_file"
 (test "1" -ge 3) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:206"
-      $as_echo "system-ipsec.at:206" >"$at_check_line_file"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:204"
+      $as_echo "system-ipsec.at:204" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:206"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:204"
    ovs_wait_cond () {
     test `ipsec status --rundir $ovs_base/right | \
            grep "Total IPsec connections" | \
@@ -145654,7 +145503,7 @@ ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-ipsec.at:206" "until test \`ipsec status --rundir $ovs_base/right | \
+ovs_wait "system-ipsec.at:204" "until test \`ipsec status --rundir $ovs_base/right | \
            grep "Total IPsec connections" | \
            sed 's/[0-9]* Total IPsec connections: loaded \([0-2]\), active \([0-2]\).*/\1/m'\` -eq \`ipsec status --rundir $ovs_base/right | \
            grep "Total IPsec connections" | \
@@ -145662,10 +145511,10 @@ ovs_wait "system-ipsec.at:206" "until test \`ipsec status --rundir $ovs_base/rig
 
 
              { set +x
-$as_echo "$at_srcdir/system-ipsec.at:206: ip netns exec left sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:204: ip netns exec left sh << NS_EXEC_HEREDOC
 ping -q -c 3 -i 0.3 -w 2 192.0.0.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:206"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:204"
 ( $at_check_trace; ip netns exec left sh << NS_EXEC_HEREDOC
 ping -q -c 3 -i 0.3 -w 2 192.0.0.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
 NS_EXEC_HEREDOC
@@ -145676,7 +145525,7 @@ at_fn_diff_devnull "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; $as_echo "3 packets transmitted, 3 received, 0% packet loss, time 0ms
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:206"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:204"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -145684,10 +145533,10 @@ $at_traceon; }
 
 
        { set +x
-$as_echo "$at_srcdir/system-ipsec.at:206: ip netns exec right sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:204: ip netns exec right sh << NS_EXEC_HEREDOC
 ping -q -c 3 -i 0.3 -w 2 192.0.0.1 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:206"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:204"
 ( $at_check_trace; ip netns exec right sh << NS_EXEC_HEREDOC
 ping -q -c 3 -i 0.3 -w 2 192.0.0.1 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
 NS_EXEC_HEREDOC
@@ -145698,7 +145547,7 @@ at_fn_diff_devnull "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; $as_echo "3 packets transmitted, 3 received, 0% packet loss, time 0ms
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:206"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:204"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -145707,30 +145556,30 @@ $at_traceon; }
 
 
                         { set +x
-$as_echo "$at_srcdir/system-ipsec.at:206: cat \$ovs_base/left/tcpdump.log | grep ESP"
-at_fn_check_prepare_notrace 'a shell pipeline' "system-ipsec.at:206"
+$as_echo "$at_srcdir/system-ipsec.at:204: cat \$ovs_base/left/tcpdump.log | grep ESP"
+at_fn_check_prepare_notrace 'a shell pipeline' "system-ipsec.at:204"
 ( $at_check_trace; cat $ovs_base/left/tcpdump.log | grep ESP
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 echo stderr:; tee stderr <"$at_stderr"
 echo stdout:; tee stdout <"$at_stdout"
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:206"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:204"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:206: cat \$ovs_base/right/tcpdump.log | grep ESP"
-at_fn_check_prepare_notrace 'a shell pipeline' "system-ipsec.at:206"
+$as_echo "$at_srcdir/system-ipsec.at:204: cat \$ovs_base/right/tcpdump.log | grep ESP"
+at_fn_check_prepare_notrace 'a shell pipeline' "system-ipsec.at:204"
 ( $at_check_trace; cat $ovs_base/right/tcpdump.log | grep ESP
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 echo stderr:; tee stderr <"$at_stderr"
 echo stdout:; tee stdout <"$at_stdout"
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:206"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:204"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -145738,30 +145587,30 @@ $at_traceon; }
 
 
 { set +x
-$as_echo "$at_srcdir/system-ipsec.at:208: check_logs "
-at_fn_check_prepare_trace "system-ipsec.at:208"
+$as_echo "$at_srcdir/system-ipsec.at:206: check_logs "
+at_fn_check_prepare_trace "system-ipsec.at:206"
 ( $at_check_trace; check_logs
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:208"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:206"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:208: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
-at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-ipsec.at:208"
+$as_echo "$at_srcdir/system-ipsec.at:206: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
+at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-ipsec.at:206"
 ( $at_check_trace; test -e $OVS_RUNDIR/ovs-vswitchd.pid
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:208"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:206"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -145769,26 +145618,26 @@ $at_traceon; }
 
    TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:208: ovs-appctl -t ovs-vswitchd exit --cleanup"
-at_fn_check_prepare_trace "system-ipsec.at:208"
+$as_echo "$at_srcdir/system-ipsec.at:206: ovs-appctl -t ovs-vswitchd exit --cleanup"
+at_fn_check_prepare_trace "system-ipsec.at:206"
 ( $at_check_trace; ovs-appctl -t ovs-vswitchd exit --cleanup
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:208"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:206"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
-   $as_echo "system-ipsec.at:208" >"$at_check_line_file"
+   $as_echo "system-ipsec.at:206" >"$at_check_line_file"
 (test "1" -ge 3) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:208"
-      $as_echo "system-ipsec.at:208" >"$at_check_line_file"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:206"
+      $as_echo "system-ipsec.at:206" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:208"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:206"
    ovs_wait_cond () {
     if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
 }
@@ -145796,18 +145645,18 @@ ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-ipsec.at:208" "while kill -0 \$TMPPID 2>/dev/null"
+ovs_wait "system-ipsec.at:206" "while kill -0 \$TMPPID 2>/dev/null"
 
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:208: test -e \$OVS_RUNDIR/ovsdb-server.pid"
-at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-ipsec.at:208"
+$as_echo "$at_srcdir/system-ipsec.at:206: test -e \$OVS_RUNDIR/ovsdb-server.pid"
+at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-ipsec.at:206"
 ( $at_check_trace; test -e $OVS_RUNDIR/ovsdb-server.pid
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:208"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:206"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -145815,26 +145664,26 @@ $at_traceon; }
 
    TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:208: ovs-appctl -t ovsdb-server exit"
-at_fn_check_prepare_trace "system-ipsec.at:208"
+$as_echo "$at_srcdir/system-ipsec.at:206: ovs-appctl -t ovsdb-server exit"
+at_fn_check_prepare_trace "system-ipsec.at:206"
 ( $at_check_trace; ovs-appctl -t ovsdb-server exit
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:208"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:206"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
-   $as_echo "system-ipsec.at:208" >"$at_check_line_file"
+   $as_echo "system-ipsec.at:206" >"$at_check_line_file"
 (test "1" -ge 3) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:208"
-      $as_echo "system-ipsec.at:208" >"$at_check_line_file"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:206"
+      $as_echo "system-ipsec.at:206" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:208"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:206"
    ovs_wait_cond () {
     if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
 }
@@ -145842,18 +145691,18 @@ ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-ipsec.at:208" "while kill -0 \$TMPPID 2>/dev/null"
+ovs_wait "system-ipsec.at:206" "while kill -0 \$TMPPID 2>/dev/null"
 
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:208: :; "
-at_fn_check_prepare_trace "system-ipsec.at:208"
+$as_echo "$at_srcdir/system-ipsec.at:206: :; "
+at_fn_check_prepare_trace "system-ipsec.at:206"
 ( $at_check_trace; :;
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:208"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:206"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -145867,7 +145716,7 @@ ovs_cleanup
 read at_status <"$at_status_file"
 #AT_STOP_166
 #AT_START_167
-at_fn_group_banner 167 'system-ipsec.at:211' \
+at_fn_group_banner 167 'system-ipsec.at:209' \
   "IPsec -- Libreswan (ipv4, geneve, defaultroute, self-signed)" "" 11
 at_xfail=no
 (
@@ -145878,31 +145727,31 @@ ovs_init
 
 
 
-      $as_echo "system-ipsec.at:216" >"$at_check_line_file"
+      $as_echo "system-ipsec.at:214" >"$at_check_line_file"
 (!(ipsec --version | grep Libreswan)) \
-  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:216"
-      $as_echo "system-ipsec.at:216" >"$at_check_line_file"
+  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:214"
+      $as_echo "system-ipsec.at:214" >"$at_check_line_file"
 (test ! -x $(which certutil)) \
-  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:216"
-      $as_echo "system-ipsec.at:216" >"$at_check_line_file"
+  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:214"
+      $as_echo "system-ipsec.at:214" >"$at_check_line_file"
 (test ! -x $(which pk12util)) \
-  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:216"
-      $as_echo "system-ipsec.at:216" >"$at_check_line_file"
+  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:214"
+      $as_echo "system-ipsec.at:214" >"$at_check_line_file"
 (test ! -x $(which openssl)) \
-  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:216"
-                        $as_echo "system-ipsec.at:216" >"$at_check_line_file"
+  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:214"
+                        $as_echo "system-ipsec.at:214" >"$at_check_line_file"
 (test "${#ovs_base}" -gt "90" ) \
-  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:216"
+  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:214"
 { set +x
-$as_echo "$at_srcdir/system-ipsec.at:217: modprobe openvswitch"
-at_fn_check_prepare_trace "system-ipsec.at:217"
+$as_echo "$at_srcdir/system-ipsec.at:215: modprobe openvswitch"
+at_fn_check_prepare_trace "system-ipsec.at:215"
 ( $at_check_trace; modprobe openvswitch
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:217"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:215"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -145922,38 +145771,38 @@ $at_traceon; }
    on_exit 'ovs-appctl dpctl/flush-conntrack'
       touch .conf.db.~lock~
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:217: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
-at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "system-ipsec.at:217"
+$as_echo "$at_srcdir/system-ipsec.at:215: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
+at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "system-ipsec.at:215"
 ( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:217"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:215"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:217: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
-at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "system-ipsec.at:217"
+$as_echo "$at_srcdir/system-ipsec.at:215: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
+at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "system-ipsec.at:215"
 ( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 echo stderr:; tee stderr <"$at_stderr"
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:217"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:215"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
    on_exit "kill `cat ovsdb-server.pid`"
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:217: sed < stderr '
+$as_echo "$at_srcdir/system-ipsec.at:215: sed < stderr '
 /vlog|INFO|opened log file/d
 /ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:217"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:215"
 ( $at_check_trace; sed < stderr '
 /vlog|INFO|opened log file/d
 /ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
@@ -145962,37 +145811,37 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:217"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:215"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
 
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:217: ovs-vsctl --no-wait init "
-at_fn_check_prepare_trace "system-ipsec.at:217"
+$as_echo "$at_srcdir/system-ipsec.at:215: ovs-vsctl --no-wait init "
+at_fn_check_prepare_trace "system-ipsec.at:215"
 ( $at_check_trace; ovs-vsctl --no-wait init
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:217"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:215"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log"
 $at_traceon; }
 
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:217: ovs-vswitchd  --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
-at_fn_check_prepare_trace "system-ipsec.at:217"
+$as_echo "$at_srcdir/system-ipsec.at:215: ovs-vswitchd  --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
+at_fn_check_prepare_trace "system-ipsec.at:215"
 ( $at_check_trace; ovs-vswitchd  --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 echo stderr:; tee stderr <"$at_stderr"
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:217"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:215"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log"
 $at_traceon; }
@@ -146000,7 +145849,7 @@ $at_traceon; }
 
    on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:217: sed < stderr '
+$as_echo "$at_srcdir/system-ipsec.at:215: sed < stderr '
 /ovs_numa|INFO|Discovered /d
 /odp_execute_impl|INFO|Action implementation /d
 /vlog|INFO|opened log file/d
@@ -146016,7 +145865,7 @@ $as_echo "$at_srcdir/system-ipsec.at:217: sed < stderr '
 /probe tc:/d
 /setting extended ack support failed/d
 /tc: Using policy/d'"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:217"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:215"
 ( $at_check_trace; sed < stderr '
 /ovs_numa|INFO|Discovered /d
 /odp_execute_impl|INFO|Action implementation /d
@@ -146038,7 +145887,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:217"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:215"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -146046,15 +145895,15 @@ $at_traceon; }
 
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:217: ovs-vsctl -- add-br br0 -- set Bridge br0 protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
-at_fn_check_prepare_trace "system-ipsec.at:217"
+$as_echo "$at_srcdir/system-ipsec.at:215: ovs-vsctl -- add-br br0 -- set Bridge br0 protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
+at_fn_check_prepare_trace "system-ipsec.at:215"
 ( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:217"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:215"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -146062,30 +145911,30 @@ $at_traceon; }
 
 
 { set +x
-$as_echo "$at_srcdir/system-ipsec.at:218: cp \${abs_top_srcdir}/vswitchd/vswitch.ovsschema vswitch.ovsschema"
-at_fn_check_prepare_notrace 'a ${...} parameter expansion' "system-ipsec.at:218"
+$as_echo "$at_srcdir/system-ipsec.at:216: cp \${abs_top_srcdir}/vswitchd/vswitch.ovsschema vswitch.ovsschema"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "system-ipsec.at:216"
 ( $at_check_trace; cp ${abs_top_srcdir}/vswitchd/vswitch.ovsschema vswitch.ovsschema
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:218"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:216"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
             { set +x
-$as_echo "$at_srcdir/system-ipsec.at:218: ovs-ofctl add-flow br0 \"actions=normal\""
-at_fn_check_prepare_trace "system-ipsec.at:218"
+$as_echo "$at_srcdir/system-ipsec.at:216: ovs-ofctl add-flow br0 \"actions=normal\""
+at_fn_check_prepare_trace "system-ipsec.at:216"
 ( $at_check_trace; ovs-ofctl add-flow br0 "actions=normal"
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:218"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:216"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -146097,15 +145946,15 @@ ip netns del left
 
 
                 { set +x
-$as_echo "$at_srcdir/system-ipsec.at:221: ip netns add left || return 77"
-at_fn_check_prepare_trace "system-ipsec.at:221"
+$as_echo "$at_srcdir/system-ipsec.at:219: ip netns add left || return 77"
+at_fn_check_prepare_trace "system-ipsec.at:219"
 ( $at_check_trace; ip netns add left || return 77
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:221"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:219"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -146126,15 +145975,15 @@ NS_EXEC_HEREDOC
 sysctl -w net.ipv6.conf.default.accept_dad=0
 NS_EXEC_HEREDOC
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:221: ip link add p0 type veth peer name ovs-p0 || return 77"
-at_fn_check_prepare_trace "system-ipsec.at:221"
+$as_echo "$at_srcdir/system-ipsec.at:219: ip link add p0 type veth peer name ovs-p0 || return 77"
+at_fn_check_prepare_trace "system-ipsec.at:219"
 ( $at_check_trace; ip link add p0 type veth peer name ovs-p0 || return 77
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:221"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:219"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -146143,39 +145992,39 @@ $at_traceon; }
       on_exit 'ip link del ovs-p0'
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:221: ip link set p0 netns left"
-at_fn_check_prepare_trace "system-ipsec.at:221"
+$as_echo "$at_srcdir/system-ipsec.at:219: ip link set p0 netns left"
+at_fn_check_prepare_trace "system-ipsec.at:219"
 ( $at_check_trace; ip link set p0 netns left
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:221"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:219"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:221: ip link set dev ovs-p0 up"
-at_fn_check_prepare_trace "system-ipsec.at:221"
+$as_echo "$at_srcdir/system-ipsec.at:219: ip link set dev ovs-p0 up"
+at_fn_check_prepare_trace "system-ipsec.at:219"
 ( $at_check_trace; ip link set dev ovs-p0 up
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:221"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:219"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:221: ovs-vsctl add-port br0 ovs-p0 -- \\
+$as_echo "$at_srcdir/system-ipsec.at:219: ovs-vsctl add-port br0 ovs-p0 -- \\
                 set interface ovs-p0 external-ids:iface-id=\"p0\""
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:221"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:219"
 ( $at_check_trace; ovs-vsctl add-port br0 ovs-p0 -- \
                 set interface ovs-p0 external-ids:iface-id="p0"
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
@@ -146183,17 +146032,17 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:221"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:219"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
        { set +x
-$as_echo "$at_srcdir/system-ipsec.at:221: ip netns exec left sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:219: ip netns exec left sh << NS_EXEC_HEREDOC
 ip addr add 10.1.1.1/24 dev p0
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:221"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:219"
 ( $at_check_trace; ip netns exec left sh << NS_EXEC_HEREDOC
 ip addr add 10.1.1.1/24 dev p0
 NS_EXEC_HEREDOC
@@ -146202,7 +146051,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:221"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:219"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -146210,10 +146059,10 @@ $at_traceon; }
 
 
        { set +x
-$as_echo "$at_srcdir/system-ipsec.at:221: ip netns exec left sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:219: ip netns exec left sh << NS_EXEC_HEREDOC
 ip link set dev p0 up
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:221"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:219"
 ( $at_check_trace; ip netns exec left sh << NS_EXEC_HEREDOC
 ip link set dev p0 up
 NS_EXEC_HEREDOC
@@ -146222,7 +146071,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:221"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:219"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -146231,10 +146080,10 @@ $at_traceon; }
 
       if test -n ""; then
          { set +x
-$as_echo "$at_srcdir/system-ipsec.at:221: ip netns exec left sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:219: ip netns exec left sh << NS_EXEC_HEREDOC
 ip link set dev p0 address
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:221"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:219"
 ( $at_check_trace; ip netns exec left sh << NS_EXEC_HEREDOC
 ip link set dev p0 address
 NS_EXEC_HEREDOC
@@ -146243,7 +146092,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:221"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:219"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -146253,10 +146102,10 @@ $at_traceon; }
       fi
       if test -n ""; then
          { set +x
-$as_echo "$at_srcdir/system-ipsec.at:221: ip netns exec left sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:219: ip netns exec left sh << NS_EXEC_HEREDOC
 ip route add default via
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:221"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:219"
 ( $at_check_trace; ip netns exec left sh << NS_EXEC_HEREDOC
 ip route add default via
 NS_EXEC_HEREDOC
@@ -146265,7 +146114,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:221"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:219"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -146308,13 +146157,13 @@ NS_EXEC_HEREDOC
   touch $ovs_base/left/secrets
   ipsec initnss --nssdir $ovs_base/left/ipsec.d
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:221: ip netns exec left sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:219: ip netns exec left sh << NS_EXEC_HEREDOC
 ipsec pluto --config \$ovs_base/left/ipsec.conf \\
         --ipsecdir \$ovs_base/left --nssdir \$ovs_base/left/ipsec.d \\
         --logfile \$ovs_base/left/pluto.log --secretsfile \$ovs_base/left/secrets \\
         --rundir \$ovs_base/left
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:221"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:219"
 ( $at_check_trace; ip netns exec left sh << NS_EXEC_HEREDOC
 ipsec pluto --config $ovs_base/left/ipsec.conf \
         --ipsecdir $ovs_base/left --nssdir $ovs_base/left/ipsec.d \
@@ -146326,7 +146175,7 @@ at_status=$? at_failed=false
 $at_check_filter
 echo stderr:; tee stderr <"$at_stderr"
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:221"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:219"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -146336,7 +146185,7 @@ $at_traceon; }
   on_exit "kill `cat $ovs_base/left/pluto.pid`"
 
      { set +x
-$as_echo "$at_srcdir/system-ipsec.at:221: ip netns exec left sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:219: ip netns exec left sh << NS_EXEC_HEREDOC
 ovs-monitor-ipsec unix:\${OVS_RUNDIR}/left/db.sock\\
         --pidfile=\${OVS_RUNDIR}/left/ovs-monitor-ipsec.pid --ike-daemon=libreswan\\
         --ipsec-conf=\$ovs_base/left/ipsec.conf --ipsec-d=\$ovs_base/left/ipsec.d \\
@@ -146345,7 +146194,7 @@ ovs-monitor-ipsec unix:\${OVS_RUNDIR}/left/db.sock\\
         --ipsec-ctl=\$ovs_base/left/pluto.ctl \\
         --no-restart-ike-daemon --detach
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'a ${...} parameter expansion' "system-ipsec.at:221"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "system-ipsec.at:219"
 ( $at_check_trace; ip netns exec left sh << NS_EXEC_HEREDOC
 ovs-monitor-ipsec unix:${OVS_RUNDIR}/left/db.sock\
         --pidfile=${OVS_RUNDIR}/left/ovs-monitor-ipsec.pid --ike-daemon=libreswan\
@@ -146360,7 +146209,7 @@ at_status=$? at_failed=false
 $at_check_filter
 echo stderr:; tee stderr <"$at_stderr"
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:221"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:219"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -146378,15 +146227,15 @@ ip netns del right
 
 
                 { set +x
-$as_echo "$at_srcdir/system-ipsec.at:222: ip netns add right || return 77"
-at_fn_check_prepare_trace "system-ipsec.at:222"
+$as_echo "$at_srcdir/system-ipsec.at:220: ip netns add right || return 77"
+at_fn_check_prepare_trace "system-ipsec.at:220"
 ( $at_check_trace; ip netns add right || return 77
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:222"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:220"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -146407,15 +146256,15 @@ NS_EXEC_HEREDOC
 sysctl -w net.ipv6.conf.default.accept_dad=0
 NS_EXEC_HEREDOC
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:222: ip link add p1 type veth peer name ovs-p1 || return 77"
-at_fn_check_prepare_trace "system-ipsec.at:222"
+$as_echo "$at_srcdir/system-ipsec.at:220: ip link add p1 type veth peer name ovs-p1 || return 77"
+at_fn_check_prepare_trace "system-ipsec.at:220"
 ( $at_check_trace; ip link add p1 type veth peer name ovs-p1 || return 77
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:222"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:220"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -146424,39 +146273,39 @@ $at_traceon; }
       on_exit 'ip link del ovs-p1'
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:222: ip link set p1 netns right"
-at_fn_check_prepare_trace "system-ipsec.at:222"
+$as_echo "$at_srcdir/system-ipsec.at:220: ip link set p1 netns right"
+at_fn_check_prepare_trace "system-ipsec.at:220"
 ( $at_check_trace; ip link set p1 netns right
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:222"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:220"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:222: ip link set dev ovs-p1 up"
-at_fn_check_prepare_trace "system-ipsec.at:222"
+$as_echo "$at_srcdir/system-ipsec.at:220: ip link set dev ovs-p1 up"
+at_fn_check_prepare_trace "system-ipsec.at:220"
 ( $at_check_trace; ip link set dev ovs-p1 up
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:222"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:220"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:222: ovs-vsctl add-port br0 ovs-p1 -- \\
+$as_echo "$at_srcdir/system-ipsec.at:220: ovs-vsctl add-port br0 ovs-p1 -- \\
                 set interface ovs-p1 external-ids:iface-id=\"p1\""
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:222"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:220"
 ( $at_check_trace; ovs-vsctl add-port br0 ovs-p1 -- \
                 set interface ovs-p1 external-ids:iface-id="p1"
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
@@ -146464,17 +146313,17 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:222"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:220"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
        { set +x
-$as_echo "$at_srcdir/system-ipsec.at:222: ip netns exec right sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:220: ip netns exec right sh << NS_EXEC_HEREDOC
 ip addr add 10.1.1.2/24 dev p1
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:222"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:220"
 ( $at_check_trace; ip netns exec right sh << NS_EXEC_HEREDOC
 ip addr add 10.1.1.2/24 dev p1
 NS_EXEC_HEREDOC
@@ -146483,7 +146332,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:222"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:220"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -146491,10 +146340,10 @@ $at_traceon; }
 
 
        { set +x
-$as_echo "$at_srcdir/system-ipsec.at:222: ip netns exec right sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:220: ip netns exec right sh << NS_EXEC_HEREDOC
 ip link set dev p1 up
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:222"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:220"
 ( $at_check_trace; ip netns exec right sh << NS_EXEC_HEREDOC
 ip link set dev p1 up
 NS_EXEC_HEREDOC
@@ -146503,7 +146352,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:222"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:220"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -146512,10 +146361,10 @@ $at_traceon; }
 
       if test -n ""; then
          { set +x
-$as_echo "$at_srcdir/system-ipsec.at:222: ip netns exec right sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:220: ip netns exec right sh << NS_EXEC_HEREDOC
 ip link set dev p1 address
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:222"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:220"
 ( $at_check_trace; ip netns exec right sh << NS_EXEC_HEREDOC
 ip link set dev p1 address
 NS_EXEC_HEREDOC
@@ -146524,7 +146373,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:222"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:220"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -146534,10 +146383,10 @@ $at_traceon; }
       fi
       if test -n ""; then
          { set +x
-$as_echo "$at_srcdir/system-ipsec.at:222: ip netns exec right sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:220: ip netns exec right sh << NS_EXEC_HEREDOC
 ip route add default via
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:222"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:220"
 ( $at_check_trace; ip netns exec right sh << NS_EXEC_HEREDOC
 ip route add default via
 NS_EXEC_HEREDOC
@@ -146546,7 +146395,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:222"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:220"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -146589,13 +146438,13 @@ NS_EXEC_HEREDOC
   touch $ovs_base/right/secrets
   ipsec initnss --nssdir $ovs_base/right/ipsec.d
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:222: ip netns exec right sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:220: ip netns exec right sh << NS_EXEC_HEREDOC
 ipsec pluto --config \$ovs_base/right/ipsec.conf \\
         --ipsecdir \$ovs_base/right --nssdir \$ovs_base/right/ipsec.d \\
         --logfile \$ovs_base/right/pluto.log --secretsfile \$ovs_base/right/secrets \\
         --rundir \$ovs_base/right
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:222"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:220"
 ( $at_check_trace; ip netns exec right sh << NS_EXEC_HEREDOC
 ipsec pluto --config $ovs_base/right/ipsec.conf \
         --ipsecdir $ovs_base/right --nssdir $ovs_base/right/ipsec.d \
@@ -146607,7 +146456,7 @@ at_status=$? at_failed=false
 $at_check_filter
 echo stderr:; tee stderr <"$at_stderr"
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:222"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:220"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -146617,7 +146466,7 @@ $at_traceon; }
   on_exit "kill `cat $ovs_base/right/pluto.pid`"
 
      { set +x
-$as_echo "$at_srcdir/system-ipsec.at:222: ip netns exec right sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:220: ip netns exec right sh << NS_EXEC_HEREDOC
 ovs-monitor-ipsec unix:\${OVS_RUNDIR}/right/db.sock\\
         --pidfile=\${OVS_RUNDIR}/right/ovs-monitor-ipsec.pid --ike-daemon=libreswan\\
         --ipsec-conf=\$ovs_base/right/ipsec.conf --ipsec-d=\$ovs_base/right/ipsec.d \\
@@ -146626,7 +146475,7 @@ ovs-monitor-ipsec unix:\${OVS_RUNDIR}/right/db.sock\\
         --ipsec-ctl=\$ovs_base/right/pluto.ctl \\
         --no-restart-ike-daemon --detach
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'a ${...} parameter expansion' "system-ipsec.at:222"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "system-ipsec.at:220"
 ( $at_check_trace; ip netns exec right sh << NS_EXEC_HEREDOC
 ovs-monitor-ipsec unix:${OVS_RUNDIR}/right/db.sock\
         --pidfile=${OVS_RUNDIR}/right/ovs-monitor-ipsec.pid --ike-daemon=libreswan\
@@ -146641,7 +146490,7 @@ at_status=$? at_failed=false
 $at_check_filter
 echo stderr:; tee stderr <"$at_stderr"
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:222"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:220"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -146668,12 +146517,12 @@ ip netns exec right ovs-vsctl --db unix:$ovs_base/right/db.sock set Open_vSwitch
 
 ip netns exec left ovs-vsctl --db unix:$ovs_base/left/db.sock add-port br-ipsec tun -- set Interface tun type=geneve options:remote_ip=10.1.1.2 \
                       options:remote_cert=${ovs_base}/right-cert.pem
-                  $as_echo "system-ipsec.at:237" >"$at_check_line_file"
+                  $as_echo "system-ipsec.at:235" >"$at_check_line_file"
 (test "1" -ge 3) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:237"
-      $as_echo "system-ipsec.at:237" >"$at_check_line_file"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:235"
+      $as_echo "system-ipsec.at:235" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:237"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:235"
    ovs_wait_cond () {
     test `ipsec status --rundir $ovs_base/left | \
            grep "Total IPsec connections" | \
@@ -146683,7 +146532,7 @@ ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-ipsec.at:237" "until test \`ipsec status --rundir $ovs_base/left | \
+ovs_wait "system-ipsec.at:235" "until test \`ipsec status --rundir $ovs_base/left | \
            grep "Total IPsec connections" | \
            sed 's/[0-9]* Total IPsec connections: loaded \([0-2]\), active \([0-2]\).*/\1/m'\` -eq 2"
 
@@ -146691,12 +146540,12 @@ ovs_wait "system-ipsec.at:237" "until test \`ipsec status --rundir $ovs_base/lef
 
 ip netns exec right ovs-vsctl --db unix:$ovs_base/right/db.sock add-port br-ipsec tun -- set Interface tun type=geneve options:remote_ip=10.1.1.1 \
                        options:remote_cert=${ovs_base}/left-cert.pem
-                  $as_echo "system-ipsec.at:242" >"$at_check_line_file"
+                  $as_echo "system-ipsec.at:240" >"$at_check_line_file"
 (test "1" -ge 3) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:242"
-      $as_echo "system-ipsec.at:242" >"$at_check_line_file"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:240"
+      $as_echo "system-ipsec.at:240" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:242"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:240"
    ovs_wait_cond () {
     test `ipsec status --rundir $ovs_base/right | \
            grep "Total IPsec connections" | \
@@ -146706,7 +146555,7 @@ ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-ipsec.at:242" "until test \`ipsec status --rundir $ovs_base/right | \
+ovs_wait "system-ipsec.at:240" "until test \`ipsec status --rundir $ovs_base/right | \
            grep "Total IPsec connections" | \
            sed 's/[0-9]* Total IPsec connections: loaded \([0-2]\), active \([0-2]\).*/\1/m'\` -eq 2"
 
@@ -146725,17 +146574,19 @@ NS_EXEC_HEREDOC
 ip link set dev br-ipsec up
 NS_EXEC_HEREDOC
 
-            tcpdump -l -nn -i ovs-p0 esp > $ovs_base/left/tcpdump.log &
-      on_exit "kill $!"
-      tcpdump -l -nn -i ovs-p1 esp > $ovs_base/right/tcpdump.log &
-      on_exit "kill $!"
+            tcpdump -l -nn -i ovs-p0 esp > $ovs_base/left/tcpdump.log & echo $! > tcpdump0.pid
+    on_exit "kill `cat tcpdump0.pid`"
+
+      tcpdump -l -nn -i ovs-p1 esp > $ovs_base/right/tcpdump.log & echo $! > tcpdump1.pid
+    on_exit "kill `cat tcpdump1.pid`"
 
-            $as_echo "system-ipsec.at:245" >"$at_check_line_file"
+
+            $as_echo "system-ipsec.at:243" >"$at_check_line_file"
 (test "1" -ge 3) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:245"
-      $as_echo "system-ipsec.at:245" >"$at_check_line_file"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:243"
+      $as_echo "system-ipsec.at:243" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:245"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:243"
    ovs_wait_cond () {
     test `ipsec status --rundir $ovs_base/left | \
            grep "Total IPsec connections" | \
@@ -146747,18 +146598,18 @@ ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-ipsec.at:245" "until test \`ipsec status --rundir $ovs_base/left | \
+ovs_wait "system-ipsec.at:243" "until test \`ipsec status --rundir $ovs_base/left | \
            grep "Total IPsec connections" | \
            sed 's/[0-9]* Total IPsec connections: loaded \([0-2]\), active \([0-2]\).*/\1/m'\` -eq \`ipsec status --rundir $ovs_base/left | \
            grep "Total IPsec connections" | \
            sed 's/[0-9]* Total IPsec connections: loaded \([0-2]\), active \([0-2]\).*/\2/m'\`"
 
-      $as_echo "system-ipsec.at:245" >"$at_check_line_file"
+      $as_echo "system-ipsec.at:243" >"$at_check_line_file"
 (test "1" -ge 3) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:245"
-      $as_echo "system-ipsec.at:245" >"$at_check_line_file"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:243"
+      $as_echo "system-ipsec.at:243" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:245"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:243"
    ovs_wait_cond () {
     test `ipsec status --rundir $ovs_base/right | \
            grep "Total IPsec connections" | \
@@ -146770,7 +146621,7 @@ ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-ipsec.at:245" "until test \`ipsec status --rundir $ovs_base/right | \
+ovs_wait "system-ipsec.at:243" "until test \`ipsec status --rundir $ovs_base/right | \
            grep "Total IPsec connections" | \
            sed 's/[0-9]* Total IPsec connections: loaded \([0-2]\), active \([0-2]\).*/\1/m'\` -eq \`ipsec status --rundir $ovs_base/right | \
            grep "Total IPsec connections" | \
@@ -146778,10 +146629,10 @@ ovs_wait "system-ipsec.at:245" "until test \`ipsec status --rundir $ovs_base/rig
 
 
              { set +x
-$as_echo "$at_srcdir/system-ipsec.at:245: ip netns exec left sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:243: ip netns exec left sh << NS_EXEC_HEREDOC
 ping -q -c 3 -i 0.3 -w 2 192.0.0.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:245"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:243"
 ( $at_check_trace; ip netns exec left sh << NS_EXEC_HEREDOC
 ping -q -c 3 -i 0.3 -w 2 192.0.0.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
 NS_EXEC_HEREDOC
@@ -146792,7 +146643,7 @@ at_fn_diff_devnull "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; $as_echo "3 packets transmitted, 3 received, 0% packet loss, time 0ms
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:245"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:243"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -146800,10 +146651,10 @@ $at_traceon; }
 
 
        { set +x
-$as_echo "$at_srcdir/system-ipsec.at:245: ip netns exec right sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:243: ip netns exec right sh << NS_EXEC_HEREDOC
 ping -q -c 3 -i 0.3 -w 2 192.0.0.1 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:245"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:243"
 ( $at_check_trace; ip netns exec right sh << NS_EXEC_HEREDOC
 ping -q -c 3 -i 0.3 -w 2 192.0.0.1 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
 NS_EXEC_HEREDOC
@@ -146814,7 +146665,7 @@ at_fn_diff_devnull "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; $as_echo "3 packets transmitted, 3 received, 0% packet loss, time 0ms
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:245"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:243"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -146823,30 +146674,30 @@ $at_traceon; }
 
 
                         { set +x
-$as_echo "$at_srcdir/system-ipsec.at:245: cat \$ovs_base/left/tcpdump.log | grep ESP"
-at_fn_check_prepare_notrace 'a shell pipeline' "system-ipsec.at:245"
+$as_echo "$at_srcdir/system-ipsec.at:243: cat \$ovs_base/left/tcpdump.log | grep ESP"
+at_fn_check_prepare_notrace 'a shell pipeline' "system-ipsec.at:243"
 ( $at_check_trace; cat $ovs_base/left/tcpdump.log | grep ESP
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 echo stderr:; tee stderr <"$at_stderr"
 echo stdout:; tee stdout <"$at_stdout"
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:245"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:243"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:245: cat \$ovs_base/right/tcpdump.log | grep ESP"
-at_fn_check_prepare_notrace 'a shell pipeline' "system-ipsec.at:245"
+$as_echo "$at_srcdir/system-ipsec.at:243: cat \$ovs_base/right/tcpdump.log | grep ESP"
+at_fn_check_prepare_notrace 'a shell pipeline' "system-ipsec.at:243"
 ( $at_check_trace; cat $ovs_base/right/tcpdump.log | grep ESP
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 echo stderr:; tee stderr <"$at_stderr"
 echo stdout:; tee stdout <"$at_stdout"
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:245"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:243"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -146854,30 +146705,30 @@ $at_traceon; }
 
 
 { set +x
-$as_echo "$at_srcdir/system-ipsec.at:247: check_logs "
-at_fn_check_prepare_trace "system-ipsec.at:247"
+$as_echo "$at_srcdir/system-ipsec.at:245: check_logs "
+at_fn_check_prepare_trace "system-ipsec.at:245"
 ( $at_check_trace; check_logs
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:247"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:245"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:247: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
-at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-ipsec.at:247"
+$as_echo "$at_srcdir/system-ipsec.at:245: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
+at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-ipsec.at:245"
 ( $at_check_trace; test -e $OVS_RUNDIR/ovs-vswitchd.pid
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:247"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:245"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -146885,26 +146736,26 @@ $at_traceon; }
 
    TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:247: ovs-appctl -t ovs-vswitchd exit --cleanup"
-at_fn_check_prepare_trace "system-ipsec.at:247"
+$as_echo "$at_srcdir/system-ipsec.at:245: ovs-appctl -t ovs-vswitchd exit --cleanup"
+at_fn_check_prepare_trace "system-ipsec.at:245"
 ( $at_check_trace; ovs-appctl -t ovs-vswitchd exit --cleanup
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:247"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:245"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
-   $as_echo "system-ipsec.at:247" >"$at_check_line_file"
+   $as_echo "system-ipsec.at:245" >"$at_check_line_file"
 (test "1" -ge 3) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:247"
-      $as_echo "system-ipsec.at:247" >"$at_check_line_file"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:245"
+      $as_echo "system-ipsec.at:245" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:247"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:245"
    ovs_wait_cond () {
     if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
 }
@@ -146912,18 +146763,18 @@ ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-ipsec.at:247" "while kill -0 \$TMPPID 2>/dev/null"
+ovs_wait "system-ipsec.at:245" "while kill -0 \$TMPPID 2>/dev/null"
 
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:247: test -e \$OVS_RUNDIR/ovsdb-server.pid"
-at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-ipsec.at:247"
+$as_echo "$at_srcdir/system-ipsec.at:245: test -e \$OVS_RUNDIR/ovsdb-server.pid"
+at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-ipsec.at:245"
 ( $at_check_trace; test -e $OVS_RUNDIR/ovsdb-server.pid
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:247"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:245"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -146931,26 +146782,26 @@ $at_traceon; }
 
    TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:247: ovs-appctl -t ovsdb-server exit"
-at_fn_check_prepare_trace "system-ipsec.at:247"
+$as_echo "$at_srcdir/system-ipsec.at:245: ovs-appctl -t ovsdb-server exit"
+at_fn_check_prepare_trace "system-ipsec.at:245"
 ( $at_check_trace; ovs-appctl -t ovsdb-server exit
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:247"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:245"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
-   $as_echo "system-ipsec.at:247" >"$at_check_line_file"
+   $as_echo "system-ipsec.at:245" >"$at_check_line_file"
 (test "1" -ge 3) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:247"
-      $as_echo "system-ipsec.at:247" >"$at_check_line_file"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:245"
+      $as_echo "system-ipsec.at:245" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:247"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:245"
    ovs_wait_cond () {
     if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
 }
@@ -146958,18 +146809,18 @@ ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-ipsec.at:247" "while kill -0 \$TMPPID 2>/dev/null"
+ovs_wait "system-ipsec.at:245" "while kill -0 \$TMPPID 2>/dev/null"
 
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:247: :; "
-at_fn_check_prepare_trace "system-ipsec.at:247"
+$as_echo "$at_srcdir/system-ipsec.at:245: :; "
+at_fn_check_prepare_trace "system-ipsec.at:245"
 ( $at_check_trace; :;
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:247"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:245"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -146983,7 +146834,7 @@ ovs_cleanup
 read at_status <"$at_status_file"
 #AT_STOP_167
 #AT_START_168
-at_fn_group_banner 168 'system-ipsec.at:250' \
+at_fn_group_banner 168 'system-ipsec.at:248' \
   "IPsec -- Libreswan (ipv4, geneve, defaultroute, ca-signed)" "" 11
 at_xfail=no
 (
@@ -146994,31 +146845,31 @@ ovs_init
 
 
 
-      $as_echo "system-ipsec.at:255" >"$at_check_line_file"
+      $as_echo "system-ipsec.at:253" >"$at_check_line_file"
 (!(ipsec --version | grep Libreswan)) \
-  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:255"
-      $as_echo "system-ipsec.at:255" >"$at_check_line_file"
+  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:253"
+      $as_echo "system-ipsec.at:253" >"$at_check_line_file"
 (test ! -x $(which certutil)) \
-  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:255"
-      $as_echo "system-ipsec.at:255" >"$at_check_line_file"
+  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:253"
+      $as_echo "system-ipsec.at:253" >"$at_check_line_file"
 (test ! -x $(which pk12util)) \
-  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:255"
-      $as_echo "system-ipsec.at:255" >"$at_check_line_file"
+  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:253"
+      $as_echo "system-ipsec.at:253" >"$at_check_line_file"
 (test ! -x $(which openssl)) \
-  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:255"
-                        $as_echo "system-ipsec.at:255" >"$at_check_line_file"
+  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:253"
+                        $as_echo "system-ipsec.at:253" >"$at_check_line_file"
 (test "${#ovs_base}" -gt "90" ) \
-  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:255"
+  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:253"
 { set +x
-$as_echo "$at_srcdir/system-ipsec.at:256: modprobe openvswitch"
-at_fn_check_prepare_trace "system-ipsec.at:256"
+$as_echo "$at_srcdir/system-ipsec.at:254: modprobe openvswitch"
+at_fn_check_prepare_trace "system-ipsec.at:254"
 ( $at_check_trace; modprobe openvswitch
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:256"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:254"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -147038,38 +146889,38 @@ $at_traceon; }
    on_exit 'ovs-appctl dpctl/flush-conntrack'
       touch .conf.db.~lock~
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:256: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
-at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "system-ipsec.at:256"
+$as_echo "$at_srcdir/system-ipsec.at:254: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
+at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "system-ipsec.at:254"
 ( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:256"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:254"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:256: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
-at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "system-ipsec.at:256"
+$as_echo "$at_srcdir/system-ipsec.at:254: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
+at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "system-ipsec.at:254"
 ( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 echo stderr:; tee stderr <"$at_stderr"
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:256"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:254"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
    on_exit "kill `cat ovsdb-server.pid`"
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:256: sed < stderr '
+$as_echo "$at_srcdir/system-ipsec.at:254: sed < stderr '
 /vlog|INFO|opened log file/d
 /ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:256"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:254"
 ( $at_check_trace; sed < stderr '
 /vlog|INFO|opened log file/d
 /ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
@@ -147078,37 +146929,37 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:256"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:254"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
 
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:256: ovs-vsctl --no-wait init "
-at_fn_check_prepare_trace "system-ipsec.at:256"
+$as_echo "$at_srcdir/system-ipsec.at:254: ovs-vsctl --no-wait init "
+at_fn_check_prepare_trace "system-ipsec.at:254"
 ( $at_check_trace; ovs-vsctl --no-wait init
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:256"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:254"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log"
 $at_traceon; }
 
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:256: ovs-vswitchd  --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
-at_fn_check_prepare_trace "system-ipsec.at:256"
+$as_echo "$at_srcdir/system-ipsec.at:254: ovs-vswitchd  --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
+at_fn_check_prepare_trace "system-ipsec.at:254"
 ( $at_check_trace; ovs-vswitchd  --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 echo stderr:; tee stderr <"$at_stderr"
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:256"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:254"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log"
 $at_traceon; }
@@ -147116,7 +146967,7 @@ $at_traceon; }
 
    on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:256: sed < stderr '
+$as_echo "$at_srcdir/system-ipsec.at:254: sed < stderr '
 /ovs_numa|INFO|Discovered /d
 /odp_execute_impl|INFO|Action implementation /d
 /vlog|INFO|opened log file/d
@@ -147132,7 +146983,7 @@ $as_echo "$at_srcdir/system-ipsec.at:256: sed < stderr '
 /probe tc:/d
 /setting extended ack support failed/d
 /tc: Using policy/d'"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:256"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:254"
 ( $at_check_trace; sed < stderr '
 /ovs_numa|INFO|Discovered /d
 /odp_execute_impl|INFO|Action implementation /d
@@ -147154,7 +147005,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:256"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:254"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -147162,15 +147013,15 @@ $at_traceon; }
 
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:256: ovs-vsctl -- add-br br0 -- set Bridge br0 protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
-at_fn_check_prepare_trace "system-ipsec.at:256"
+$as_echo "$at_srcdir/system-ipsec.at:254: ovs-vsctl -- add-br br0 -- set Bridge br0 protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
+at_fn_check_prepare_trace "system-ipsec.at:254"
 ( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:256"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:254"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -147178,30 +147029,30 @@ $at_traceon; }
 
 
 { set +x
-$as_echo "$at_srcdir/system-ipsec.at:257: cp \${abs_top_srcdir}/vswitchd/vswitch.ovsschema vswitch.ovsschema"
-at_fn_check_prepare_notrace 'a ${...} parameter expansion' "system-ipsec.at:257"
+$as_echo "$at_srcdir/system-ipsec.at:255: cp \${abs_top_srcdir}/vswitchd/vswitch.ovsschema vswitch.ovsschema"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "system-ipsec.at:255"
 ( $at_check_trace; cp ${abs_top_srcdir}/vswitchd/vswitch.ovsschema vswitch.ovsschema
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:257"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:255"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
             { set +x
-$as_echo "$at_srcdir/system-ipsec.at:257: ovs-ofctl add-flow br0 \"actions=normal\""
-at_fn_check_prepare_trace "system-ipsec.at:257"
+$as_echo "$at_srcdir/system-ipsec.at:255: ovs-ofctl add-flow br0 \"actions=normal\""
+at_fn_check_prepare_trace "system-ipsec.at:255"
 ( $at_check_trace; ovs-ofctl add-flow br0 "actions=normal"
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:257"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:255"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -147213,15 +147064,15 @@ ip netns del left
 
 
                 { set +x
-$as_echo "$at_srcdir/system-ipsec.at:260: ip netns add left || return 77"
-at_fn_check_prepare_trace "system-ipsec.at:260"
+$as_echo "$at_srcdir/system-ipsec.at:258: ip netns add left || return 77"
+at_fn_check_prepare_trace "system-ipsec.at:258"
 ( $at_check_trace; ip netns add left || return 77
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:260"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:258"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -147242,15 +147093,15 @@ NS_EXEC_HEREDOC
 sysctl -w net.ipv6.conf.default.accept_dad=0
 NS_EXEC_HEREDOC
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:260: ip link add p0 type veth peer name ovs-p0 || return 77"
-at_fn_check_prepare_trace "system-ipsec.at:260"
+$as_echo "$at_srcdir/system-ipsec.at:258: ip link add p0 type veth peer name ovs-p0 || return 77"
+at_fn_check_prepare_trace "system-ipsec.at:258"
 ( $at_check_trace; ip link add p0 type veth peer name ovs-p0 || return 77
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:260"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:258"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -147259,39 +147110,39 @@ $at_traceon; }
       on_exit 'ip link del ovs-p0'
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:260: ip link set p0 netns left"
-at_fn_check_prepare_trace "system-ipsec.at:260"
+$as_echo "$at_srcdir/system-ipsec.at:258: ip link set p0 netns left"
+at_fn_check_prepare_trace "system-ipsec.at:258"
 ( $at_check_trace; ip link set p0 netns left
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:260"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:258"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:260: ip link set dev ovs-p0 up"
-at_fn_check_prepare_trace "system-ipsec.at:260"
+$as_echo "$at_srcdir/system-ipsec.at:258: ip link set dev ovs-p0 up"
+at_fn_check_prepare_trace "system-ipsec.at:258"
 ( $at_check_trace; ip link set dev ovs-p0 up
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:260"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:258"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:260: ovs-vsctl add-port br0 ovs-p0 -- \\
+$as_echo "$at_srcdir/system-ipsec.at:258: ovs-vsctl add-port br0 ovs-p0 -- \\
                 set interface ovs-p0 external-ids:iface-id=\"p0\""
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:260"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:258"
 ( $at_check_trace; ovs-vsctl add-port br0 ovs-p0 -- \
                 set interface ovs-p0 external-ids:iface-id="p0"
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
@@ -147299,17 +147150,17 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:260"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:258"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
        { set +x
-$as_echo "$at_srcdir/system-ipsec.at:260: ip netns exec left sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:258: ip netns exec left sh << NS_EXEC_HEREDOC
 ip addr add 10.1.1.1/24 dev p0
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:260"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:258"
 ( $at_check_trace; ip netns exec left sh << NS_EXEC_HEREDOC
 ip addr add 10.1.1.1/24 dev p0
 NS_EXEC_HEREDOC
@@ -147318,7 +147169,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:260"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:258"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -147326,10 +147177,10 @@ $at_traceon; }
 
 
        { set +x
-$as_echo "$at_srcdir/system-ipsec.at:260: ip netns exec left sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:258: ip netns exec left sh << NS_EXEC_HEREDOC
 ip link set dev p0 up
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:260"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:258"
 ( $at_check_trace; ip netns exec left sh << NS_EXEC_HEREDOC
 ip link set dev p0 up
 NS_EXEC_HEREDOC
@@ -147338,7 +147189,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:260"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:258"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -147347,10 +147198,10 @@ $at_traceon; }
 
       if test -n ""; then
          { set +x
-$as_echo "$at_srcdir/system-ipsec.at:260: ip netns exec left sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:258: ip netns exec left sh << NS_EXEC_HEREDOC
 ip link set dev p0 address
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:260"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:258"
 ( $at_check_trace; ip netns exec left sh << NS_EXEC_HEREDOC
 ip link set dev p0 address
 NS_EXEC_HEREDOC
@@ -147359,7 +147210,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:260"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:258"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -147369,10 +147220,10 @@ $at_traceon; }
       fi
       if test -n ""; then
          { set +x
-$as_echo "$at_srcdir/system-ipsec.at:260: ip netns exec left sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:258: ip netns exec left sh << NS_EXEC_HEREDOC
 ip route add default via
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:260"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:258"
 ( $at_check_trace; ip netns exec left sh << NS_EXEC_HEREDOC
 ip route add default via
 NS_EXEC_HEREDOC
@@ -147381,7 +147232,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:260"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:258"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -147424,13 +147275,13 @@ NS_EXEC_HEREDOC
   touch $ovs_base/left/secrets
   ipsec initnss --nssdir $ovs_base/left/ipsec.d
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:260: ip netns exec left sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:258: ip netns exec left sh << NS_EXEC_HEREDOC
 ipsec pluto --config \$ovs_base/left/ipsec.conf \\
         --ipsecdir \$ovs_base/left --nssdir \$ovs_base/left/ipsec.d \\
         --logfile \$ovs_base/left/pluto.log --secretsfile \$ovs_base/left/secrets \\
         --rundir \$ovs_base/left
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:260"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:258"
 ( $at_check_trace; ip netns exec left sh << NS_EXEC_HEREDOC
 ipsec pluto --config $ovs_base/left/ipsec.conf \
         --ipsecdir $ovs_base/left --nssdir $ovs_base/left/ipsec.d \
@@ -147442,7 +147293,7 @@ at_status=$? at_failed=false
 $at_check_filter
 echo stderr:; tee stderr <"$at_stderr"
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:260"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:258"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -147452,7 +147303,7 @@ $at_traceon; }
   on_exit "kill `cat $ovs_base/left/pluto.pid`"
 
      { set +x
-$as_echo "$at_srcdir/system-ipsec.at:260: ip netns exec left sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:258: ip netns exec left sh << NS_EXEC_HEREDOC
 ovs-monitor-ipsec unix:\${OVS_RUNDIR}/left/db.sock\\
         --pidfile=\${OVS_RUNDIR}/left/ovs-monitor-ipsec.pid --ike-daemon=libreswan\\
         --ipsec-conf=\$ovs_base/left/ipsec.conf --ipsec-d=\$ovs_base/left/ipsec.d \\
@@ -147461,7 +147312,7 @@ ovs-monitor-ipsec unix:\${OVS_RUNDIR}/left/db.sock\\
         --ipsec-ctl=\$ovs_base/left/pluto.ctl \\
         --no-restart-ike-daemon --detach
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'a ${...} parameter expansion' "system-ipsec.at:260"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "system-ipsec.at:258"
 ( $at_check_trace; ip netns exec left sh << NS_EXEC_HEREDOC
 ovs-monitor-ipsec unix:${OVS_RUNDIR}/left/db.sock\
         --pidfile=${OVS_RUNDIR}/left/ovs-monitor-ipsec.pid --ike-daemon=libreswan\
@@ -147476,7 +147327,7 @@ at_status=$? at_failed=false
 $at_check_filter
 echo stderr:; tee stderr <"$at_stderr"
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:260"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:258"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -147494,15 +147345,15 @@ ip netns del right
 
 
                 { set +x
-$as_echo "$at_srcdir/system-ipsec.at:261: ip netns add right || return 77"
-at_fn_check_prepare_trace "system-ipsec.at:261"
+$as_echo "$at_srcdir/system-ipsec.at:259: ip netns add right || return 77"
+at_fn_check_prepare_trace "system-ipsec.at:259"
 ( $at_check_trace; ip netns add right || return 77
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:261"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:259"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -147523,15 +147374,15 @@ NS_EXEC_HEREDOC
 sysctl -w net.ipv6.conf.default.accept_dad=0
 NS_EXEC_HEREDOC
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:261: ip link add p1 type veth peer name ovs-p1 || return 77"
-at_fn_check_prepare_trace "system-ipsec.at:261"
+$as_echo "$at_srcdir/system-ipsec.at:259: ip link add p1 type veth peer name ovs-p1 || return 77"
+at_fn_check_prepare_trace "system-ipsec.at:259"
 ( $at_check_trace; ip link add p1 type veth peer name ovs-p1 || return 77
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:261"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:259"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -147540,39 +147391,39 @@ $at_traceon; }
       on_exit 'ip link del ovs-p1'
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:261: ip link set p1 netns right"
-at_fn_check_prepare_trace "system-ipsec.at:261"
+$as_echo "$at_srcdir/system-ipsec.at:259: ip link set p1 netns right"
+at_fn_check_prepare_trace "system-ipsec.at:259"
 ( $at_check_trace; ip link set p1 netns right
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:261"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:259"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:261: ip link set dev ovs-p1 up"
-at_fn_check_prepare_trace "system-ipsec.at:261"
+$as_echo "$at_srcdir/system-ipsec.at:259: ip link set dev ovs-p1 up"
+at_fn_check_prepare_trace "system-ipsec.at:259"
 ( $at_check_trace; ip link set dev ovs-p1 up
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:261"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:259"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:261: ovs-vsctl add-port br0 ovs-p1 -- \\
+$as_echo "$at_srcdir/system-ipsec.at:259: ovs-vsctl add-port br0 ovs-p1 -- \\
                 set interface ovs-p1 external-ids:iface-id=\"p1\""
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:261"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:259"
 ( $at_check_trace; ovs-vsctl add-port br0 ovs-p1 -- \
                 set interface ovs-p1 external-ids:iface-id="p1"
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
@@ -147580,17 +147431,17 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:261"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:259"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
        { set +x
-$as_echo "$at_srcdir/system-ipsec.at:261: ip netns exec right sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:259: ip netns exec right sh << NS_EXEC_HEREDOC
 ip addr add 10.1.1.2/24 dev p1
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:261"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:259"
 ( $at_check_trace; ip netns exec right sh << NS_EXEC_HEREDOC
 ip addr add 10.1.1.2/24 dev p1
 NS_EXEC_HEREDOC
@@ -147599,7 +147450,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:261"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:259"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -147607,10 +147458,10 @@ $at_traceon; }
 
 
        { set +x
-$as_echo "$at_srcdir/system-ipsec.at:261: ip netns exec right sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:259: ip netns exec right sh << NS_EXEC_HEREDOC
 ip link set dev p1 up
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:261"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:259"
 ( $at_check_trace; ip netns exec right sh << NS_EXEC_HEREDOC
 ip link set dev p1 up
 NS_EXEC_HEREDOC
@@ -147619,7 +147470,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:261"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:259"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -147628,10 +147479,10 @@ $at_traceon; }
 
       if test -n ""; then
          { set +x
-$as_echo "$at_srcdir/system-ipsec.at:261: ip netns exec right sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:259: ip netns exec right sh << NS_EXEC_HEREDOC
 ip link set dev p1 address
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:261"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:259"
 ( $at_check_trace; ip netns exec right sh << NS_EXEC_HEREDOC
 ip link set dev p1 address
 NS_EXEC_HEREDOC
@@ -147640,7 +147491,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:261"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:259"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -147650,10 +147501,10 @@ $at_traceon; }
       fi
       if test -n ""; then
          { set +x
-$as_echo "$at_srcdir/system-ipsec.at:261: ip netns exec right sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:259: ip netns exec right sh << NS_EXEC_HEREDOC
 ip route add default via
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:261"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:259"
 ( $at_check_trace; ip netns exec right sh << NS_EXEC_HEREDOC
 ip route add default via
 NS_EXEC_HEREDOC
@@ -147662,7 +147513,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:261"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:259"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -147705,13 +147556,13 @@ NS_EXEC_HEREDOC
   touch $ovs_base/right/secrets
   ipsec initnss --nssdir $ovs_base/right/ipsec.d
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:261: ip netns exec right sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:259: ip netns exec right sh << NS_EXEC_HEREDOC
 ipsec pluto --config \$ovs_base/right/ipsec.conf \\
         --ipsecdir \$ovs_base/right --nssdir \$ovs_base/right/ipsec.d \\
         --logfile \$ovs_base/right/pluto.log --secretsfile \$ovs_base/right/secrets \\
         --rundir \$ovs_base/right
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:261"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:259"
 ( $at_check_trace; ip netns exec right sh << NS_EXEC_HEREDOC
 ipsec pluto --config $ovs_base/right/ipsec.conf \
         --ipsecdir $ovs_base/right --nssdir $ovs_base/right/ipsec.d \
@@ -147723,7 +147574,7 @@ at_status=$? at_failed=false
 $at_check_filter
 echo stderr:; tee stderr <"$at_stderr"
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:261"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:259"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -147733,7 +147584,7 @@ $at_traceon; }
   on_exit "kill `cat $ovs_base/right/pluto.pid`"
 
      { set +x
-$as_echo "$at_srcdir/system-ipsec.at:261: ip netns exec right sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:259: ip netns exec right sh << NS_EXEC_HEREDOC
 ovs-monitor-ipsec unix:\${OVS_RUNDIR}/right/db.sock\\
         --pidfile=\${OVS_RUNDIR}/right/ovs-monitor-ipsec.pid --ike-daemon=libreswan\\
         --ipsec-conf=\$ovs_base/right/ipsec.conf --ipsec-d=\$ovs_base/right/ipsec.d \\
@@ -147742,7 +147593,7 @@ ovs-monitor-ipsec unix:\${OVS_RUNDIR}/right/db.sock\\
         --ipsec-ctl=\$ovs_base/right/pluto.ctl \\
         --no-restart-ike-daemon --detach
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'a ${...} parameter expansion' "system-ipsec.at:261"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "system-ipsec.at:259"
 ( $at_check_trace; ip netns exec right sh << NS_EXEC_HEREDOC
 ovs-monitor-ipsec unix:${OVS_RUNDIR}/right/db.sock\
         --pidfile=${OVS_RUNDIR}/right/ovs-monitor-ipsec.pid --ike-daemon=libreswan\
@@ -147757,7 +147608,7 @@ at_status=$? at_failed=false
 $at_check_filter
 echo stderr:; tee stderr <"$at_stderr"
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:261"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:259"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -147784,12 +147635,12 @@ ip netns exec right ovs-vsctl --db unix:$ovs_base/right/db.sock set Open_vSwitch
       other_config:private_key=${ovs_base}/right-privkey.pem
 
 ip netns exec left ovs-vsctl --db unix:$ovs_base/left/db.sock add-port br-ipsec tun -- set Interface tun type=geneve options:remote_ip=10.1.1.2 options:remote_name=right
-                  $as_echo "system-ipsec.at:277" >"$at_check_line_file"
+                  $as_echo "system-ipsec.at:275" >"$at_check_line_file"
 (test "1" -ge 3) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:277"
-      $as_echo "system-ipsec.at:277" >"$at_check_line_file"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:275"
+      $as_echo "system-ipsec.at:275" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:277"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:275"
    ovs_wait_cond () {
     test `ipsec status --rundir $ovs_base/left | \
            grep "Total IPsec connections" | \
@@ -147799,19 +147650,19 @@ ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-ipsec.at:277" "until test \`ipsec status --rundir $ovs_base/left | \
+ovs_wait "system-ipsec.at:275" "until test \`ipsec status --rundir $ovs_base/left | \
            grep "Total IPsec connections" | \
            sed 's/[0-9]* Total IPsec connections: loaded \([0-2]\), active \([0-2]\).*/\1/m'\` -eq 2"
 
 
 
 ip netns exec right ovs-vsctl --db unix:$ovs_base/right/db.sock add-port br-ipsec tun -- set Interface tun type=geneve options:remote_ip=10.1.1.1 options:remote_name=left
-                  $as_echo "system-ipsec.at:281" >"$at_check_line_file"
+                  $as_echo "system-ipsec.at:279" >"$at_check_line_file"
 (test "1" -ge 3) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:281"
-      $as_echo "system-ipsec.at:281" >"$at_check_line_file"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:279"
+      $as_echo "system-ipsec.at:279" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:281"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:279"
    ovs_wait_cond () {
     test `ipsec status --rundir $ovs_base/right | \
            grep "Total IPsec connections" | \
@@ -147821,7 +147672,7 @@ ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-ipsec.at:281" "until test \`ipsec status --rundir $ovs_base/right | \
+ovs_wait "system-ipsec.at:279" "until test \`ipsec status --rundir $ovs_base/right | \
            grep "Total IPsec connections" | \
            sed 's/[0-9]* Total IPsec connections: loaded \([0-2]\), active \([0-2]\).*/\1/m'\` -eq 2"
 
@@ -147840,17 +147691,19 @@ NS_EXEC_HEREDOC
 ip link set dev br-ipsec up
 NS_EXEC_HEREDOC
 
-            tcpdump -l -nn -i ovs-p0 esp > $ovs_base/left/tcpdump.log &
-      on_exit "kill $!"
-      tcpdump -l -nn -i ovs-p1 esp > $ovs_base/right/tcpdump.log &
-      on_exit "kill $!"
+            tcpdump -l -nn -i ovs-p0 esp > $ovs_base/left/tcpdump.log & echo $! > tcpdump0.pid
+    on_exit "kill `cat tcpdump0.pid`"
+
+      tcpdump -l -nn -i ovs-p1 esp > $ovs_base/right/tcpdump.log & echo $! > tcpdump1.pid
+    on_exit "kill `cat tcpdump1.pid`"
 
-            $as_echo "system-ipsec.at:283" >"$at_check_line_file"
+
+            $as_echo "system-ipsec.at:281" >"$at_check_line_file"
 (test "1" -ge 3) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:283"
-      $as_echo "system-ipsec.at:283" >"$at_check_line_file"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:281"
+      $as_echo "system-ipsec.at:281" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:283"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:281"
    ovs_wait_cond () {
     test `ipsec status --rundir $ovs_base/left | \
            grep "Total IPsec connections" | \
@@ -147862,18 +147715,18 @@ ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-ipsec.at:283" "until test \`ipsec status --rundir $ovs_base/left | \
+ovs_wait "system-ipsec.at:281" "until test \`ipsec status --rundir $ovs_base/left | \
            grep "Total IPsec connections" | \
            sed 's/[0-9]* Total IPsec connections: loaded \([0-2]\), active \([0-2]\).*/\1/m'\` -eq \`ipsec status --rundir $ovs_base/left | \
            grep "Total IPsec connections" | \
            sed 's/[0-9]* Total IPsec connections: loaded \([0-2]\), active \([0-2]\).*/\2/m'\`"
 
-      $as_echo "system-ipsec.at:283" >"$at_check_line_file"
+      $as_echo "system-ipsec.at:281" >"$at_check_line_file"
 (test "1" -ge 3) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:283"
-      $as_echo "system-ipsec.at:283" >"$at_check_line_file"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:281"
+      $as_echo "system-ipsec.at:281" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:283"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:281"
    ovs_wait_cond () {
     test `ipsec status --rundir $ovs_base/right | \
            grep "Total IPsec connections" | \
@@ -147885,7 +147738,7 @@ ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-ipsec.at:283" "until test \`ipsec status --rundir $ovs_base/right | \
+ovs_wait "system-ipsec.at:281" "until test \`ipsec status --rundir $ovs_base/right | \
            grep "Total IPsec connections" | \
            sed 's/[0-9]* Total IPsec connections: loaded \([0-2]\), active \([0-2]\).*/\1/m'\` -eq \`ipsec status --rundir $ovs_base/right | \
            grep "Total IPsec connections" | \
@@ -147893,10 +147746,10 @@ ovs_wait "system-ipsec.at:283" "until test \`ipsec status --rundir $ovs_base/rig
 
 
              { set +x
-$as_echo "$at_srcdir/system-ipsec.at:283: ip netns exec left sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:281: ip netns exec left sh << NS_EXEC_HEREDOC
 ping -q -c 3 -i 0.3 -w 2 192.0.0.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:283"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:281"
 ( $at_check_trace; ip netns exec left sh << NS_EXEC_HEREDOC
 ping -q -c 3 -i 0.3 -w 2 192.0.0.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
 NS_EXEC_HEREDOC
@@ -147907,7 +147760,7 @@ at_fn_diff_devnull "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; $as_echo "3 packets transmitted, 3 received, 0% packet loss, time 0ms
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:283"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:281"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -147915,10 +147768,10 @@ $at_traceon; }
 
 
        { set +x
-$as_echo "$at_srcdir/system-ipsec.at:283: ip netns exec right sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:281: ip netns exec right sh << NS_EXEC_HEREDOC
 ping -q -c 3 -i 0.3 -w 2 192.0.0.1 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:283"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:281"
 ( $at_check_trace; ip netns exec right sh << NS_EXEC_HEREDOC
 ping -q -c 3 -i 0.3 -w 2 192.0.0.1 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
 NS_EXEC_HEREDOC
@@ -147929,7 +147782,7 @@ at_fn_diff_devnull "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; $as_echo "3 packets transmitted, 3 received, 0% packet loss, time 0ms
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:283"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:281"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -147938,30 +147791,30 @@ $at_traceon; }
 
 
                         { set +x
-$as_echo "$at_srcdir/system-ipsec.at:283: cat \$ovs_base/left/tcpdump.log | grep ESP"
-at_fn_check_prepare_notrace 'a shell pipeline' "system-ipsec.at:283"
+$as_echo "$at_srcdir/system-ipsec.at:281: cat \$ovs_base/left/tcpdump.log | grep ESP"
+at_fn_check_prepare_notrace 'a shell pipeline' "system-ipsec.at:281"
 ( $at_check_trace; cat $ovs_base/left/tcpdump.log | grep ESP
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 echo stderr:; tee stderr <"$at_stderr"
 echo stdout:; tee stdout <"$at_stdout"
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:283"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:281"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:283: cat \$ovs_base/right/tcpdump.log | grep ESP"
-at_fn_check_prepare_notrace 'a shell pipeline' "system-ipsec.at:283"
+$as_echo "$at_srcdir/system-ipsec.at:281: cat \$ovs_base/right/tcpdump.log | grep ESP"
+at_fn_check_prepare_notrace 'a shell pipeline' "system-ipsec.at:281"
 ( $at_check_trace; cat $ovs_base/right/tcpdump.log | grep ESP
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 echo stderr:; tee stderr <"$at_stderr"
 echo stdout:; tee stdout <"$at_stdout"
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:283"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:281"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -147969,30 +147822,30 @@ $at_traceon; }
 
 
 { set +x
-$as_echo "$at_srcdir/system-ipsec.at:285: check_logs "
-at_fn_check_prepare_trace "system-ipsec.at:285"
+$as_echo "$at_srcdir/system-ipsec.at:283: check_logs "
+at_fn_check_prepare_trace "system-ipsec.at:283"
 ( $at_check_trace; check_logs
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:285"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:283"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:285: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
-at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-ipsec.at:285"
+$as_echo "$at_srcdir/system-ipsec.at:283: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
+at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-ipsec.at:283"
 ( $at_check_trace; test -e $OVS_RUNDIR/ovs-vswitchd.pid
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:285"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:283"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -148000,26 +147853,26 @@ $at_traceon; }
 
    TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:285: ovs-appctl -t ovs-vswitchd exit --cleanup"
-at_fn_check_prepare_trace "system-ipsec.at:285"
+$as_echo "$at_srcdir/system-ipsec.at:283: ovs-appctl -t ovs-vswitchd exit --cleanup"
+at_fn_check_prepare_trace "system-ipsec.at:283"
 ( $at_check_trace; ovs-appctl -t ovs-vswitchd exit --cleanup
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:285"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:283"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
-   $as_echo "system-ipsec.at:285" >"$at_check_line_file"
+   $as_echo "system-ipsec.at:283" >"$at_check_line_file"
 (test "1" -ge 3) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:285"
-      $as_echo "system-ipsec.at:285" >"$at_check_line_file"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:283"
+      $as_echo "system-ipsec.at:283" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:285"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:283"
    ovs_wait_cond () {
     if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
 }
@@ -148027,18 +147880,18 @@ ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-ipsec.at:285" "while kill -0 \$TMPPID 2>/dev/null"
+ovs_wait "system-ipsec.at:283" "while kill -0 \$TMPPID 2>/dev/null"
 
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:285: test -e \$OVS_RUNDIR/ovsdb-server.pid"
-at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-ipsec.at:285"
+$as_echo "$at_srcdir/system-ipsec.at:283: test -e \$OVS_RUNDIR/ovsdb-server.pid"
+at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-ipsec.at:283"
 ( $at_check_trace; test -e $OVS_RUNDIR/ovsdb-server.pid
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:285"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:283"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -148046,26 +147899,26 @@ $at_traceon; }
 
    TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:285: ovs-appctl -t ovsdb-server exit"
-at_fn_check_prepare_trace "system-ipsec.at:285"
+$as_echo "$at_srcdir/system-ipsec.at:283: ovs-appctl -t ovsdb-server exit"
+at_fn_check_prepare_trace "system-ipsec.at:283"
 ( $at_check_trace; ovs-appctl -t ovsdb-server exit
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:285"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:283"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
-   $as_echo "system-ipsec.at:285" >"$at_check_line_file"
+   $as_echo "system-ipsec.at:283" >"$at_check_line_file"
 (test "1" -ge 3) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:285"
-      $as_echo "system-ipsec.at:285" >"$at_check_line_file"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:283"
+      $as_echo "system-ipsec.at:283" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:285"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:283"
    ovs_wait_cond () {
     if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
 }
@@ -148073,18 +147926,18 @@ ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-ipsec.at:285" "while kill -0 \$TMPPID 2>/dev/null"
+ovs_wait "system-ipsec.at:283" "while kill -0 \$TMPPID 2>/dev/null"
 
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:285: :; "
-at_fn_check_prepare_trace "system-ipsec.at:285"
+$as_echo "$at_srcdir/system-ipsec.at:283: :; "
+at_fn_check_prepare_trace "system-ipsec.at:283"
 ( $at_check_trace; :;
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:285"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:283"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -148098,7 +147951,7 @@ ovs_cleanup
 read at_status <"$at_status_file"
 #AT_STOP_168
 #AT_START_169
-at_fn_group_banner 169 'system-ipsec.at:288' \
+at_fn_group_banner 169 'system-ipsec.at:286' \
   "IPsec -- Libreswan (ipv4, gre, defaultroute, psk)" "" 11
 at_xfail=no
 (
@@ -148109,31 +147962,31 @@ ovs_init
 
 
 
-      $as_echo "system-ipsec.at:291" >"$at_check_line_file"
+      $as_echo "system-ipsec.at:289" >"$at_check_line_file"
 (!(ipsec --version | grep Libreswan)) \
-  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:291"
-      $as_echo "system-ipsec.at:291" >"$at_check_line_file"
+  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:289"
+      $as_echo "system-ipsec.at:289" >"$at_check_line_file"
 (test ! -x $(which certutil)) \
-  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:291"
-      $as_echo "system-ipsec.at:291" >"$at_check_line_file"
+  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:289"
+      $as_echo "system-ipsec.at:289" >"$at_check_line_file"
 (test ! -x $(which pk12util)) \
-  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:291"
-      $as_echo "system-ipsec.at:291" >"$at_check_line_file"
+  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:289"
+      $as_echo "system-ipsec.at:289" >"$at_check_line_file"
 (test ! -x $(which openssl)) \
-  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:291"
-                        $as_echo "system-ipsec.at:291" >"$at_check_line_file"
+  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:289"
+                        $as_echo "system-ipsec.at:289" >"$at_check_line_file"
 (test "${#ovs_base}" -gt "90" ) \
-  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:291"
+  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:289"
 { set +x
-$as_echo "$at_srcdir/system-ipsec.at:292: modprobe openvswitch"
-at_fn_check_prepare_trace "system-ipsec.at:292"
+$as_echo "$at_srcdir/system-ipsec.at:290: modprobe openvswitch"
+at_fn_check_prepare_trace "system-ipsec.at:290"
 ( $at_check_trace; modprobe openvswitch
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:292"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:290"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -148153,38 +148006,38 @@ $at_traceon; }
    on_exit 'ovs-appctl dpctl/flush-conntrack'
       touch .conf.db.~lock~
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:292: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
-at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "system-ipsec.at:292"
+$as_echo "$at_srcdir/system-ipsec.at:290: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
+at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "system-ipsec.at:290"
 ( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:292"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:290"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:292: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
-at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "system-ipsec.at:292"
+$as_echo "$at_srcdir/system-ipsec.at:290: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
+at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "system-ipsec.at:290"
 ( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 echo stderr:; tee stderr <"$at_stderr"
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:292"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:290"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
    on_exit "kill `cat ovsdb-server.pid`"
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:292: sed < stderr '
+$as_echo "$at_srcdir/system-ipsec.at:290: sed < stderr '
 /vlog|INFO|opened log file/d
 /ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:292"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:290"
 ( $at_check_trace; sed < stderr '
 /vlog|INFO|opened log file/d
 /ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
@@ -148193,37 +148046,37 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:292"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:290"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
 
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:292: ovs-vsctl --no-wait init "
-at_fn_check_prepare_trace "system-ipsec.at:292"
+$as_echo "$at_srcdir/system-ipsec.at:290: ovs-vsctl --no-wait init "
+at_fn_check_prepare_trace "system-ipsec.at:290"
 ( $at_check_trace; ovs-vsctl --no-wait init
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:292"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:290"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log"
 $at_traceon; }
 
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:292: ovs-vswitchd  --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
-at_fn_check_prepare_trace "system-ipsec.at:292"
+$as_echo "$at_srcdir/system-ipsec.at:290: ovs-vswitchd  --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
+at_fn_check_prepare_trace "system-ipsec.at:290"
 ( $at_check_trace; ovs-vswitchd  --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 echo stderr:; tee stderr <"$at_stderr"
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:292"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:290"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log"
 $at_traceon; }
@@ -148231,7 +148084,7 @@ $at_traceon; }
 
    on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:292: sed < stderr '
+$as_echo "$at_srcdir/system-ipsec.at:290: sed < stderr '
 /ovs_numa|INFO|Discovered /d
 /odp_execute_impl|INFO|Action implementation /d
 /vlog|INFO|opened log file/d
@@ -148247,7 +148100,7 @@ $as_echo "$at_srcdir/system-ipsec.at:292: sed < stderr '
 /probe tc:/d
 /setting extended ack support failed/d
 /tc: Using policy/d'"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:292"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:290"
 ( $at_check_trace; sed < stderr '
 /ovs_numa|INFO|Discovered /d
 /odp_execute_impl|INFO|Action implementation /d
@@ -148269,7 +148122,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:292"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:290"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -148277,15 +148130,15 @@ $at_traceon; }
 
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:292: ovs-vsctl -- add-br br0 -- set Bridge br0 protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
-at_fn_check_prepare_trace "system-ipsec.at:292"
+$as_echo "$at_srcdir/system-ipsec.at:290: ovs-vsctl -- add-br br0 -- set Bridge br0 protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
+at_fn_check_prepare_trace "system-ipsec.at:290"
 ( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:292"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:290"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -148293,30 +148146,30 @@ $at_traceon; }
 
 
 { set +x
-$as_echo "$at_srcdir/system-ipsec.at:293: cp \${abs_top_srcdir}/vswitchd/vswitch.ovsschema vswitch.ovsschema"
-at_fn_check_prepare_notrace 'a ${...} parameter expansion' "system-ipsec.at:293"
+$as_echo "$at_srcdir/system-ipsec.at:291: cp \${abs_top_srcdir}/vswitchd/vswitch.ovsschema vswitch.ovsschema"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "system-ipsec.at:291"
 ( $at_check_trace; cp ${abs_top_srcdir}/vswitchd/vswitch.ovsschema vswitch.ovsschema
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:293"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:291"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
             { set +x
-$as_echo "$at_srcdir/system-ipsec.at:293: ovs-ofctl add-flow br0 \"actions=normal\""
-at_fn_check_prepare_trace "system-ipsec.at:293"
+$as_echo "$at_srcdir/system-ipsec.at:291: ovs-ofctl add-flow br0 \"actions=normal\""
+at_fn_check_prepare_trace "system-ipsec.at:291"
 ( $at_check_trace; ovs-ofctl add-flow br0 "actions=normal"
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:293"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:291"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -148328,15 +148181,15 @@ ip netns del left
 
 
                 { set +x
-$as_echo "$at_srcdir/system-ipsec.at:296: ip netns add left || return 77"
-at_fn_check_prepare_trace "system-ipsec.at:296"
+$as_echo "$at_srcdir/system-ipsec.at:294: ip netns add left || return 77"
+at_fn_check_prepare_trace "system-ipsec.at:294"
 ( $at_check_trace; ip netns add left || return 77
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:296"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:294"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -148357,15 +148210,15 @@ NS_EXEC_HEREDOC
 sysctl -w net.ipv6.conf.default.accept_dad=0
 NS_EXEC_HEREDOC
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:296: ip link add p0 type veth peer name ovs-p0 || return 77"
-at_fn_check_prepare_trace "system-ipsec.at:296"
+$as_echo "$at_srcdir/system-ipsec.at:294: ip link add p0 type veth peer name ovs-p0 || return 77"
+at_fn_check_prepare_trace "system-ipsec.at:294"
 ( $at_check_trace; ip link add p0 type veth peer name ovs-p0 || return 77
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:296"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:294"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -148374,39 +148227,39 @@ $at_traceon; }
       on_exit 'ip link del ovs-p0'
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:296: ip link set p0 netns left"
-at_fn_check_prepare_trace "system-ipsec.at:296"
+$as_echo "$at_srcdir/system-ipsec.at:294: ip link set p0 netns left"
+at_fn_check_prepare_trace "system-ipsec.at:294"
 ( $at_check_trace; ip link set p0 netns left
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:296"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:294"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:296: ip link set dev ovs-p0 up"
-at_fn_check_prepare_trace "system-ipsec.at:296"
+$as_echo "$at_srcdir/system-ipsec.at:294: ip link set dev ovs-p0 up"
+at_fn_check_prepare_trace "system-ipsec.at:294"
 ( $at_check_trace; ip link set dev ovs-p0 up
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:296"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:294"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:296: ovs-vsctl add-port br0 ovs-p0 -- \\
+$as_echo "$at_srcdir/system-ipsec.at:294: ovs-vsctl add-port br0 ovs-p0 -- \\
                 set interface ovs-p0 external-ids:iface-id=\"p0\""
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:296"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:294"
 ( $at_check_trace; ovs-vsctl add-port br0 ovs-p0 -- \
                 set interface ovs-p0 external-ids:iface-id="p0"
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
@@ -148414,17 +148267,17 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:296"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:294"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
        { set +x
-$as_echo "$at_srcdir/system-ipsec.at:296: ip netns exec left sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:294: ip netns exec left sh << NS_EXEC_HEREDOC
 ip addr add 10.1.1.1/24 dev p0
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:296"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:294"
 ( $at_check_trace; ip netns exec left sh << NS_EXEC_HEREDOC
 ip addr add 10.1.1.1/24 dev p0
 NS_EXEC_HEREDOC
@@ -148433,7 +148286,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:296"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:294"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -148441,10 +148294,10 @@ $at_traceon; }
 
 
        { set +x
-$as_echo "$at_srcdir/system-ipsec.at:296: ip netns exec left sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:294: ip netns exec left sh << NS_EXEC_HEREDOC
 ip link set dev p0 up
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:296"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:294"
 ( $at_check_trace; ip netns exec left sh << NS_EXEC_HEREDOC
 ip link set dev p0 up
 NS_EXEC_HEREDOC
@@ -148453,7 +148306,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:296"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:294"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -148462,10 +148315,10 @@ $at_traceon; }
 
       if test -n ""; then
          { set +x
-$as_echo "$at_srcdir/system-ipsec.at:296: ip netns exec left sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:294: ip netns exec left sh << NS_EXEC_HEREDOC
 ip link set dev p0 address
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:296"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:294"
 ( $at_check_trace; ip netns exec left sh << NS_EXEC_HEREDOC
 ip link set dev p0 address
 NS_EXEC_HEREDOC
@@ -148474,7 +148327,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:296"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:294"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -148484,10 +148337,10 @@ $at_traceon; }
       fi
       if test -n ""; then
          { set +x
-$as_echo "$at_srcdir/system-ipsec.at:296: ip netns exec left sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:294: ip netns exec left sh << NS_EXEC_HEREDOC
 ip route add default via
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:296"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:294"
 ( $at_check_trace; ip netns exec left sh << NS_EXEC_HEREDOC
 ip route add default via
 NS_EXEC_HEREDOC
@@ -148496,7 +148349,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:296"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:294"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -148539,13 +148392,13 @@ NS_EXEC_HEREDOC
   touch $ovs_base/left/secrets
   ipsec initnss --nssdir $ovs_base/left/ipsec.d
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:296: ip netns exec left sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:294: ip netns exec left sh << NS_EXEC_HEREDOC
 ipsec pluto --config \$ovs_base/left/ipsec.conf \\
         --ipsecdir \$ovs_base/left --nssdir \$ovs_base/left/ipsec.d \\
         --logfile \$ovs_base/left/pluto.log --secretsfile \$ovs_base/left/secrets \\
         --rundir \$ovs_base/left
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:296"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:294"
 ( $at_check_trace; ip netns exec left sh << NS_EXEC_HEREDOC
 ipsec pluto --config $ovs_base/left/ipsec.conf \
         --ipsecdir $ovs_base/left --nssdir $ovs_base/left/ipsec.d \
@@ -148557,7 +148410,7 @@ at_status=$? at_failed=false
 $at_check_filter
 echo stderr:; tee stderr <"$at_stderr"
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:296"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:294"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -148567,7 +148420,7 @@ $at_traceon; }
   on_exit "kill `cat $ovs_base/left/pluto.pid`"
 
      { set +x
-$as_echo "$at_srcdir/system-ipsec.at:296: ip netns exec left sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:294: ip netns exec left sh << NS_EXEC_HEREDOC
 ovs-monitor-ipsec unix:\${OVS_RUNDIR}/left/db.sock\\
         --pidfile=\${OVS_RUNDIR}/left/ovs-monitor-ipsec.pid --ike-daemon=libreswan\\
         --ipsec-conf=\$ovs_base/left/ipsec.conf --ipsec-d=\$ovs_base/left/ipsec.d \\
@@ -148576,7 +148429,7 @@ ovs-monitor-ipsec unix:\${OVS_RUNDIR}/left/db.sock\\
         --ipsec-ctl=\$ovs_base/left/pluto.ctl \\
         --no-restart-ike-daemon --detach
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'a ${...} parameter expansion' "system-ipsec.at:296"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "system-ipsec.at:294"
 ( $at_check_trace; ip netns exec left sh << NS_EXEC_HEREDOC
 ovs-monitor-ipsec unix:${OVS_RUNDIR}/left/db.sock\
         --pidfile=${OVS_RUNDIR}/left/ovs-monitor-ipsec.pid --ike-daemon=libreswan\
@@ -148591,7 +148444,7 @@ at_status=$? at_failed=false
 $at_check_filter
 echo stderr:; tee stderr <"$at_stderr"
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:296"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:294"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -148609,15 +148462,15 @@ ip netns del right
 
 
                 { set +x
-$as_echo "$at_srcdir/system-ipsec.at:297: ip netns add right || return 77"
-at_fn_check_prepare_trace "system-ipsec.at:297"
+$as_echo "$at_srcdir/system-ipsec.at:295: ip netns add right || return 77"
+at_fn_check_prepare_trace "system-ipsec.at:295"
 ( $at_check_trace; ip netns add right || return 77
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:297"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:295"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -148638,15 +148491,15 @@ NS_EXEC_HEREDOC
 sysctl -w net.ipv6.conf.default.accept_dad=0
 NS_EXEC_HEREDOC
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:297: ip link add p1 type veth peer name ovs-p1 || return 77"
-at_fn_check_prepare_trace "system-ipsec.at:297"
+$as_echo "$at_srcdir/system-ipsec.at:295: ip link add p1 type veth peer name ovs-p1 || return 77"
+at_fn_check_prepare_trace "system-ipsec.at:295"
 ( $at_check_trace; ip link add p1 type veth peer name ovs-p1 || return 77
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:297"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:295"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -148655,39 +148508,39 @@ $at_traceon; }
       on_exit 'ip link del ovs-p1'
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:297: ip link set p1 netns right"
-at_fn_check_prepare_trace "system-ipsec.at:297"
+$as_echo "$at_srcdir/system-ipsec.at:295: ip link set p1 netns right"
+at_fn_check_prepare_trace "system-ipsec.at:295"
 ( $at_check_trace; ip link set p1 netns right
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:297"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:295"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:297: ip link set dev ovs-p1 up"
-at_fn_check_prepare_trace "system-ipsec.at:297"
+$as_echo "$at_srcdir/system-ipsec.at:295: ip link set dev ovs-p1 up"
+at_fn_check_prepare_trace "system-ipsec.at:295"
 ( $at_check_trace; ip link set dev ovs-p1 up
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:297"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:295"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:297: ovs-vsctl add-port br0 ovs-p1 -- \\
+$as_echo "$at_srcdir/system-ipsec.at:295: ovs-vsctl add-port br0 ovs-p1 -- \\
                 set interface ovs-p1 external-ids:iface-id=\"p1\""
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:297"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:295"
 ( $at_check_trace; ovs-vsctl add-port br0 ovs-p1 -- \
                 set interface ovs-p1 external-ids:iface-id="p1"
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
@@ -148695,17 +148548,17 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:297"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:295"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
        { set +x
-$as_echo "$at_srcdir/system-ipsec.at:297: ip netns exec right sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:295: ip netns exec right sh << NS_EXEC_HEREDOC
 ip addr add 10.1.1.2/24 dev p1
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:297"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:295"
 ( $at_check_trace; ip netns exec right sh << NS_EXEC_HEREDOC
 ip addr add 10.1.1.2/24 dev p1
 NS_EXEC_HEREDOC
@@ -148714,7 +148567,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:297"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:295"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -148722,10 +148575,10 @@ $at_traceon; }
 
 
        { set +x
-$as_echo "$at_srcdir/system-ipsec.at:297: ip netns exec right sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:295: ip netns exec right sh << NS_EXEC_HEREDOC
 ip link set dev p1 up
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:297"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:295"
 ( $at_check_trace; ip netns exec right sh << NS_EXEC_HEREDOC
 ip link set dev p1 up
 NS_EXEC_HEREDOC
@@ -148734,7 +148587,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:297"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:295"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -148743,10 +148596,10 @@ $at_traceon; }
 
       if test -n ""; then
          { set +x
-$as_echo "$at_srcdir/system-ipsec.at:297: ip netns exec right sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:295: ip netns exec right sh << NS_EXEC_HEREDOC
 ip link set dev p1 address
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:297"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:295"
 ( $at_check_trace; ip netns exec right sh << NS_EXEC_HEREDOC
 ip link set dev p1 address
 NS_EXEC_HEREDOC
@@ -148755,7 +148608,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:297"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:295"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -148765,10 +148618,10 @@ $at_traceon; }
       fi
       if test -n ""; then
          { set +x
-$as_echo "$at_srcdir/system-ipsec.at:297: ip netns exec right sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:295: ip netns exec right sh << NS_EXEC_HEREDOC
 ip route add default via
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:297"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:295"
 ( $at_check_trace; ip netns exec right sh << NS_EXEC_HEREDOC
 ip route add default via
 NS_EXEC_HEREDOC
@@ -148777,7 +148630,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:297"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:295"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -148820,13 +148673,13 @@ NS_EXEC_HEREDOC
   touch $ovs_base/right/secrets
   ipsec initnss --nssdir $ovs_base/right/ipsec.d
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:297: ip netns exec right sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:295: ip netns exec right sh << NS_EXEC_HEREDOC
 ipsec pluto --config \$ovs_base/right/ipsec.conf \\
         --ipsecdir \$ovs_base/right --nssdir \$ovs_base/right/ipsec.d \\
         --logfile \$ovs_base/right/pluto.log --secretsfile \$ovs_base/right/secrets \\
         --rundir \$ovs_base/right
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:297"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:295"
 ( $at_check_trace; ip netns exec right sh << NS_EXEC_HEREDOC
 ipsec pluto --config $ovs_base/right/ipsec.conf \
         --ipsecdir $ovs_base/right --nssdir $ovs_base/right/ipsec.d \
@@ -148838,7 +148691,7 @@ at_status=$? at_failed=false
 $at_check_filter
 echo stderr:; tee stderr <"$at_stderr"
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:297"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:295"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -148848,7 +148701,7 @@ $at_traceon; }
   on_exit "kill `cat $ovs_base/right/pluto.pid`"
 
      { set +x
-$as_echo "$at_srcdir/system-ipsec.at:297: ip netns exec right sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:295: ip netns exec right sh << NS_EXEC_HEREDOC
 ovs-monitor-ipsec unix:\${OVS_RUNDIR}/right/db.sock\\
         --pidfile=\${OVS_RUNDIR}/right/ovs-monitor-ipsec.pid --ike-daemon=libreswan\\
         --ipsec-conf=\$ovs_base/right/ipsec.conf --ipsec-d=\$ovs_base/right/ipsec.d \\
@@ -148857,7 +148710,7 @@ ovs-monitor-ipsec unix:\${OVS_RUNDIR}/right/db.sock\\
         --ipsec-ctl=\$ovs_base/right/pluto.ctl \\
         --no-restart-ike-daemon --detach
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'a ${...} parameter expansion' "system-ipsec.at:297"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "system-ipsec.at:295"
 ( $at_check_trace; ip netns exec right sh << NS_EXEC_HEREDOC
 ovs-monitor-ipsec unix:${OVS_RUNDIR}/right/db.sock\
         --pidfile=${OVS_RUNDIR}/right/ovs-monitor-ipsec.pid --ike-daemon=libreswan\
@@ -148872,7 +148725,7 @@ at_status=$? at_failed=false
 $at_check_filter
 echo stderr:; tee stderr <"$at_stderr"
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:297"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:295"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -148887,12 +148740,12 @@ NS_EXEC_HEREDOC
 
 
 ip netns exec left ovs-vsctl --db unix:$ovs_base/left/db.sock add-port br-ipsec tun -- set Interface tun type=gre options:remote_ip=10.1.1.2 options:psk=swordfish
-                  $as_echo "system-ipsec.at:300" >"$at_check_line_file"
+                  $as_echo "system-ipsec.at:298" >"$at_check_line_file"
 (test "1" -ge 3) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:300"
-      $as_echo "system-ipsec.at:300" >"$at_check_line_file"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:298"
+      $as_echo "system-ipsec.at:298" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:300"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:298"
    ovs_wait_cond () {
     test `ipsec status --rundir $ovs_base/left | \
            grep "Total IPsec connections" | \
@@ -148902,19 +148755,19 @@ ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-ipsec.at:300" "until test \`ipsec status --rundir $ovs_base/left | \
+ovs_wait "system-ipsec.at:298" "until test \`ipsec status --rundir $ovs_base/left | \
            grep "Total IPsec connections" | \
            sed 's/[0-9]* Total IPsec connections: loaded \([0-2]\), active \([0-2]\).*/\1/m'\` -eq 1"
 
 
 
 ip netns exec right ovs-vsctl --db unix:$ovs_base/right/db.sock add-port br-ipsec tun -- set Interface tun type=gre options:remote_ip=10.1.1.1 options:psk=swordfish
-                  $as_echo "system-ipsec.at:304" >"$at_check_line_file"
+                  $as_echo "system-ipsec.at:302" >"$at_check_line_file"
 (test "1" -ge 3) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:304"
-      $as_echo "system-ipsec.at:304" >"$at_check_line_file"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:302"
+      $as_echo "system-ipsec.at:302" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:304"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:302"
    ovs_wait_cond () {
     test `ipsec status --rundir $ovs_base/right | \
            grep "Total IPsec connections" | \
@@ -148924,7 +148777,7 @@ ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-ipsec.at:304" "until test \`ipsec status --rundir $ovs_base/right | \
+ovs_wait "system-ipsec.at:302" "until test \`ipsec status --rundir $ovs_base/right | \
            grep "Total IPsec connections" | \
            sed 's/[0-9]* Total IPsec connections: loaded \([0-2]\), active \([0-2]\).*/\1/m'\` -eq 1"
 
@@ -148943,17 +148796,19 @@ NS_EXEC_HEREDOC
 ip link set dev br-ipsec up
 NS_EXEC_HEREDOC
 
-            tcpdump -l -nn -i ovs-p0 esp > $ovs_base/left/tcpdump.log &
-      on_exit "kill $!"
-      tcpdump -l -nn -i ovs-p1 esp > $ovs_base/right/tcpdump.log &
-      on_exit "kill $!"
+            tcpdump -l -nn -i ovs-p0 esp > $ovs_base/left/tcpdump.log & echo $! > tcpdump0.pid
+    on_exit "kill `cat tcpdump0.pid`"
+
+      tcpdump -l -nn -i ovs-p1 esp > $ovs_base/right/tcpdump.log & echo $! > tcpdump1.pid
+    on_exit "kill `cat tcpdump1.pid`"
+
 
-            $as_echo "system-ipsec.at:306" >"$at_check_line_file"
+            $as_echo "system-ipsec.at:304" >"$at_check_line_file"
 (test "1" -ge 3) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:306"
-      $as_echo "system-ipsec.at:306" >"$at_check_line_file"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:304"
+      $as_echo "system-ipsec.at:304" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:306"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:304"
    ovs_wait_cond () {
     test `ipsec status --rundir $ovs_base/left | \
            grep "Total IPsec connections" | \
@@ -148965,18 +148820,18 @@ ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-ipsec.at:306" "until test \`ipsec status --rundir $ovs_base/left | \
+ovs_wait "system-ipsec.at:304" "until test \`ipsec status --rundir $ovs_base/left | \
            grep "Total IPsec connections" | \
            sed 's/[0-9]* Total IPsec connections: loaded \([0-2]\), active \([0-2]\).*/\1/m'\` -eq \`ipsec status --rundir $ovs_base/left | \
            grep "Total IPsec connections" | \
            sed 's/[0-9]* Total IPsec connections: loaded \([0-2]\), active \([0-2]\).*/\2/m'\`"
 
-      $as_echo "system-ipsec.at:306" >"$at_check_line_file"
+      $as_echo "system-ipsec.at:304" >"$at_check_line_file"
 (test "1" -ge 3) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:306"
-      $as_echo "system-ipsec.at:306" >"$at_check_line_file"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:304"
+      $as_echo "system-ipsec.at:304" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:306"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:304"
    ovs_wait_cond () {
     test `ipsec status --rundir $ovs_base/right | \
            grep "Total IPsec connections" | \
@@ -148988,7 +148843,7 @@ ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-ipsec.at:306" "until test \`ipsec status --rundir $ovs_base/right | \
+ovs_wait "system-ipsec.at:304" "until test \`ipsec status --rundir $ovs_base/right | \
            grep "Total IPsec connections" | \
            sed 's/[0-9]* Total IPsec connections: loaded \([0-2]\), active \([0-2]\).*/\1/m'\` -eq \`ipsec status --rundir $ovs_base/right | \
            grep "Total IPsec connections" | \
@@ -148996,10 +148851,10 @@ ovs_wait "system-ipsec.at:306" "until test \`ipsec status --rundir $ovs_base/rig
 
 
              { set +x
-$as_echo "$at_srcdir/system-ipsec.at:306: ip netns exec left sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:304: ip netns exec left sh << NS_EXEC_HEREDOC
 ping -q -c 3 -i 0.3 -w 2 192.0.0.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:306"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:304"
 ( $at_check_trace; ip netns exec left sh << NS_EXEC_HEREDOC
 ping -q -c 3 -i 0.3 -w 2 192.0.0.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
 NS_EXEC_HEREDOC
@@ -149010,7 +148865,7 @@ at_fn_diff_devnull "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; $as_echo "3 packets transmitted, 3 received, 0% packet loss, time 0ms
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:306"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:304"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -149018,10 +148873,10 @@ $at_traceon; }
 
 
        { set +x
-$as_echo "$at_srcdir/system-ipsec.at:306: ip netns exec right sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:304: ip netns exec right sh << NS_EXEC_HEREDOC
 ping -q -c 3 -i 0.3 -w 2 192.0.0.1 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:306"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:304"
 ( $at_check_trace; ip netns exec right sh << NS_EXEC_HEREDOC
 ping -q -c 3 -i 0.3 -w 2 192.0.0.1 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
 NS_EXEC_HEREDOC
@@ -149032,7 +148887,7 @@ at_fn_diff_devnull "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; $as_echo "3 packets transmitted, 3 received, 0% packet loss, time 0ms
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:306"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:304"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -149041,30 +148896,30 @@ $at_traceon; }
 
 
                         { set +x
-$as_echo "$at_srcdir/system-ipsec.at:306: cat \$ovs_base/left/tcpdump.log | grep ESP"
-at_fn_check_prepare_notrace 'a shell pipeline' "system-ipsec.at:306"
+$as_echo "$at_srcdir/system-ipsec.at:304: cat \$ovs_base/left/tcpdump.log | grep ESP"
+at_fn_check_prepare_notrace 'a shell pipeline' "system-ipsec.at:304"
 ( $at_check_trace; cat $ovs_base/left/tcpdump.log | grep ESP
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 echo stderr:; tee stderr <"$at_stderr"
 echo stdout:; tee stdout <"$at_stdout"
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:306"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:304"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:306: cat \$ovs_base/right/tcpdump.log | grep ESP"
-at_fn_check_prepare_notrace 'a shell pipeline' "system-ipsec.at:306"
+$as_echo "$at_srcdir/system-ipsec.at:304: cat \$ovs_base/right/tcpdump.log | grep ESP"
+at_fn_check_prepare_notrace 'a shell pipeline' "system-ipsec.at:304"
 ( $at_check_trace; cat $ovs_base/right/tcpdump.log | grep ESP
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 echo stderr:; tee stderr <"$at_stderr"
 echo stdout:; tee stdout <"$at_stdout"
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:306"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:304"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -149072,30 +148927,30 @@ $at_traceon; }
 
 
 { set +x
-$as_echo "$at_srcdir/system-ipsec.at:308: check_logs "
-at_fn_check_prepare_trace "system-ipsec.at:308"
+$as_echo "$at_srcdir/system-ipsec.at:306: check_logs "
+at_fn_check_prepare_trace "system-ipsec.at:306"
 ( $at_check_trace; check_logs
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:308"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:306"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:308: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
-at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-ipsec.at:308"
+$as_echo "$at_srcdir/system-ipsec.at:306: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
+at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-ipsec.at:306"
 ( $at_check_trace; test -e $OVS_RUNDIR/ovs-vswitchd.pid
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:308"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:306"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -149103,26 +148958,26 @@ $at_traceon; }
 
    TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:308: ovs-appctl -t ovs-vswitchd exit --cleanup"
-at_fn_check_prepare_trace "system-ipsec.at:308"
+$as_echo "$at_srcdir/system-ipsec.at:306: ovs-appctl -t ovs-vswitchd exit --cleanup"
+at_fn_check_prepare_trace "system-ipsec.at:306"
 ( $at_check_trace; ovs-appctl -t ovs-vswitchd exit --cleanup
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:308"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:306"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
-   $as_echo "system-ipsec.at:308" >"$at_check_line_file"
+   $as_echo "system-ipsec.at:306" >"$at_check_line_file"
 (test "1" -ge 3) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:308"
-      $as_echo "system-ipsec.at:308" >"$at_check_line_file"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:306"
+      $as_echo "system-ipsec.at:306" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:308"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:306"
    ovs_wait_cond () {
     if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
 }
@@ -149130,18 +148985,18 @@ ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-ipsec.at:308" "while kill -0 \$TMPPID 2>/dev/null"
+ovs_wait "system-ipsec.at:306" "while kill -0 \$TMPPID 2>/dev/null"
 
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:308: test -e \$OVS_RUNDIR/ovsdb-server.pid"
-at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-ipsec.at:308"
+$as_echo "$at_srcdir/system-ipsec.at:306: test -e \$OVS_RUNDIR/ovsdb-server.pid"
+at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-ipsec.at:306"
 ( $at_check_trace; test -e $OVS_RUNDIR/ovsdb-server.pid
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:308"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:306"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -149149,26 +149004,26 @@ $at_traceon; }
 
    TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:308: ovs-appctl -t ovsdb-server exit"
-at_fn_check_prepare_trace "system-ipsec.at:308"
+$as_echo "$at_srcdir/system-ipsec.at:306: ovs-appctl -t ovsdb-server exit"
+at_fn_check_prepare_trace "system-ipsec.at:306"
 ( $at_check_trace; ovs-appctl -t ovsdb-server exit
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:308"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:306"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
-   $as_echo "system-ipsec.at:308" >"$at_check_line_file"
+   $as_echo "system-ipsec.at:306" >"$at_check_line_file"
 (test "1" -ge 3) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:308"
-      $as_echo "system-ipsec.at:308" >"$at_check_line_file"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:306"
+      $as_echo "system-ipsec.at:306" >"$at_check_line_file"
 (test "1" -eq 2 && test "" -eq "" 2>/dev/null) \
-  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:308"
+  && at_fn_check_skip 99 "$at_srcdir/system-ipsec.at:306"
    ovs_wait_cond () {
     if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
 }
@@ -149176,18 +149031,18 @@ ovs_wait_failed () {
     :
 
 }
-ovs_wait "system-ipsec.at:308" "while kill -0 \$TMPPID 2>/dev/null"
+ovs_wait "system-ipsec.at:306" "while kill -0 \$TMPPID 2>/dev/null"
 
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:308: :; "
-at_fn_check_prepare_trace "system-ipsec.at:308"
+$as_echo "$at_srcdir/system-ipsec.at:306: :; "
+at_fn_check_prepare_trace "system-ipsec.at:306"
 ( $at_check_trace; :;
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:308"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:306"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -149201,7 +149056,7 @@ ovs_cleanup
 read at_status <"$at_status_file"
 #AT_STOP_169
 #AT_START_170
-at_fn_group_banner 170 'system-ipsec.at:311' \
+at_fn_group_banner 170 'system-ipsec.at:309' \
   "IPsec -- Libreswan (ipv4, vxlan, defaultroute, psk)" "" 11
 at_xfail=no
 (
@@ -149212,31 +149067,31 @@ ovs_init
 
 
 
-      $as_echo "system-ipsec.at:314" >"$at_check_line_file"
+      $as_echo "system-ipsec.at:312" >"$at_check_line_file"
 (!(ipsec --version | grep Libreswan)) \
-  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:314"
-      $as_echo "system-ipsec.at:314" >"$at_check_line_file"
+  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:312"
+      $as_echo "system-ipsec.at:312" >"$at_check_line_file"
 (test ! -x $(which certutil)) \
-  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:314"
-      $as_echo "system-ipsec.at:314" >"$at_check_line_file"
+  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:312"
+      $as_echo "system-ipsec.at:312" >"$at_check_line_file"
 (test ! -x $(which pk12util)) \
-  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:314"
-      $as_echo "system-ipsec.at:314" >"$at_check_line_file"
+  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:312"
+      $as_echo "system-ipsec.at:312" >"$at_check_line_file"
 (test ! -x $(which openssl)) \
-  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:314"
-                        $as_echo "system-ipsec.at:314" >"$at_check_line_file"
+  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:312"
+                        $as_echo "system-ipsec.at:312" >"$at_check_line_file"
 (test "${#ovs_base}" -gt "90" ) \
-  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:314"
+  && at_fn_check_skip 77 "$at_srcdir/system-ipsec.at:312"
 { set +x
-$as_echo "$at_srcdir/system-ipsec.at:315: modprobe openvswitch"
-at_fn_check_prepare_trace "system-ipsec.at:315"
+$as_echo "$at_srcdir/system-ipsec.at:313: modprobe openvswitch"
+at_fn_check_prepare_trace "system-ipsec.at:313"
 ( $at_check_trace; modprobe openvswitch
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:315"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:313"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -149256,38 +149111,38 @@ $at_traceon; }
    on_exit 'ovs-appctl dpctl/flush-conntrack'
       touch .conf.db.~lock~
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:315: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
-at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "system-ipsec.at:315"
+$as_echo "$at_srcdir/system-ipsec.at:313: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
+at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "system-ipsec.at:313"
 ( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:315"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:313"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:315: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
-at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "system-ipsec.at:315"
+$as_echo "$at_srcdir/system-ipsec.at:313: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
+at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "system-ipsec.at:313"
 ( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 echo stderr:; tee stderr <"$at_stderr"
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:315"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:313"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
    on_exit "kill `cat ovsdb-server.pid`"
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:315: sed < stderr '
+$as_echo "$at_srcdir/system-ipsec.at:313: sed < stderr '
 /vlog|INFO|opened log file/d
 /ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:315"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:313"
 ( $at_check_trace; sed < stderr '
 /vlog|INFO|opened log file/d
 /ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
@@ -149296,37 +149151,37 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:315"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:313"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
 
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:315: ovs-vsctl --no-wait init "
-at_fn_check_prepare_trace "system-ipsec.at:315"
+$as_echo "$at_srcdir/system-ipsec.at:313: ovs-vsctl --no-wait init "
+at_fn_check_prepare_trace "system-ipsec.at:313"
 ( $at_check_trace; ovs-vsctl --no-wait init
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:315"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:313"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log"
 $at_traceon; }
 
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:315: ovs-vswitchd  --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
-at_fn_check_prepare_trace "system-ipsec.at:315"
+$as_echo "$at_srcdir/system-ipsec.at:313: ovs-vswitchd  --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
+at_fn_check_prepare_trace "system-ipsec.at:313"
 ( $at_check_trace; ovs-vswitchd  --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 echo stderr:; tee stderr <"$at_stderr"
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:315"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:313"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log"
 $at_traceon; }
@@ -149334,7 +149189,7 @@ $at_traceon; }
 
    on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:315: sed < stderr '
+$as_echo "$at_srcdir/system-ipsec.at:313: sed < stderr '
 /ovs_numa|INFO|Discovered /d
 /odp_execute_impl|INFO|Action implementation /d
 /vlog|INFO|opened log file/d
@@ -149350,7 +149205,7 @@ $as_echo "$at_srcdir/system-ipsec.at:315: sed < stderr '
 /probe tc:/d
 /setting extended ack support failed/d
 /tc: Using policy/d'"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:315"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:313"
 ( $at_check_trace; sed < stderr '
 /ovs_numa|INFO|Discovered /d
 /odp_execute_impl|INFO|Action implementation /d
@@ -149372,7 +149227,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:315"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:313"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -149380,15 +149235,15 @@ $at_traceon; }
 
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:315: ovs-vsctl -- add-br br0 -- set Bridge br0 protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
-at_fn_check_prepare_trace "system-ipsec.at:315"
+$as_echo "$at_srcdir/system-ipsec.at:313: ovs-vsctl -- add-br br0 -- set Bridge br0 protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
+at_fn_check_prepare_trace "system-ipsec.at:313"
 ( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:315"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:313"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -149396,30 +149251,30 @@ $at_traceon; }
 
 
 { set +x
-$as_echo "$at_srcdir/system-ipsec.at:316: cp \${abs_top_srcdir}/vswitchd/vswitch.ovsschema vswitch.ovsschema"
-at_fn_check_prepare_notrace 'a ${...} parameter expansion' "system-ipsec.at:316"
+$as_echo "$at_srcdir/system-ipsec.at:314: cp \${abs_top_srcdir}/vswitchd/vswitch.ovsschema vswitch.ovsschema"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "system-ipsec.at:314"
 ( $at_check_trace; cp ${abs_top_srcdir}/vswitchd/vswitch.ovsschema vswitch.ovsschema
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:316"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:314"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
             { set +x
-$as_echo "$at_srcdir/system-ipsec.at:316: ovs-ofctl add-flow br0 \"actions=normal\""
-at_fn_check_prepare_trace "system-ipsec.at:316"
+$as_echo "$at_srcdir/system-ipsec.at:314: ovs-ofctl add-flow br0 \"actions=normal\""
+at_fn_check_prepare_trace "system-ipsec.at:314"
 ( $at_check_trace; ovs-ofctl add-flow br0 "actions=normal"
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:316"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:314"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -149431,15 +149286,15 @@ ip netns del left
 
 
                 { set +x
-$as_echo "$at_srcdir/system-ipsec.at:319: ip netns add left || return 77"
-at_fn_check_prepare_trace "system-ipsec.at:319"
+$as_echo "$at_srcdir/system-ipsec.at:317: ip netns add left || return 77"
+at_fn_check_prepare_trace "system-ipsec.at:317"
 ( $at_check_trace; ip netns add left || return 77
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:319"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:317"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -149460,15 +149315,15 @@ NS_EXEC_HEREDOC
 sysctl -w net.ipv6.conf.default.accept_dad=0
 NS_EXEC_HEREDOC
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:319: ip link add p0 type veth peer name ovs-p0 || return 77"
-at_fn_check_prepare_trace "system-ipsec.at:319"
+$as_echo "$at_srcdir/system-ipsec.at:317: ip link add p0 type veth peer name ovs-p0 || return 77"
+at_fn_check_prepare_trace "system-ipsec.at:317"
 ( $at_check_trace; ip link add p0 type veth peer name ovs-p0 || return 77
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:319"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:317"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -149477,39 +149332,39 @@ $at_traceon; }
       on_exit 'ip link del ovs-p0'
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:319: ip link set p0 netns left"
-at_fn_check_prepare_trace "system-ipsec.at:319"
+$as_echo "$at_srcdir/system-ipsec.at:317: ip link set p0 netns left"
+at_fn_check_prepare_trace "system-ipsec.at:317"
 ( $at_check_trace; ip link set p0 netns left
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:319"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:317"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:319: ip link set dev ovs-p0 up"
-at_fn_check_prepare_trace "system-ipsec.at:319"
+$as_echo "$at_srcdir/system-ipsec.at:317: ip link set dev ovs-p0 up"
+at_fn_check_prepare_trace "system-ipsec.at:317"
 ( $at_check_trace; ip link set dev ovs-p0 up
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:319"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:317"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:319: ovs-vsctl add-port br0 ovs-p0 -- \\
+$as_echo "$at_srcdir/system-ipsec.at:317: ovs-vsctl add-port br0 ovs-p0 -- \\
                 set interface ovs-p0 external-ids:iface-id=\"p0\""
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:319"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:317"
 ( $at_check_trace; ovs-vsctl add-port br0 ovs-p0 -- \
                 set interface ovs-p0 external-ids:iface-id="p0"
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
@@ -149517,17 +149372,17 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:319"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:317"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
        { set +x
-$as_echo "$at_srcdir/system-ipsec.at:319: ip netns exec left sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:317: ip netns exec left sh << NS_EXEC_HEREDOC
 ip addr add 10.1.1.1/24 dev p0
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:319"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:317"
 ( $at_check_trace; ip netns exec left sh << NS_EXEC_HEREDOC
 ip addr add 10.1.1.1/24 dev p0
 NS_EXEC_HEREDOC
@@ -149536,7 +149391,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:319"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:317"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -149544,10 +149399,10 @@ $at_traceon; }
 
 
        { set +x
-$as_echo "$at_srcdir/system-ipsec.at:319: ip netns exec left sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:317: ip netns exec left sh << NS_EXEC_HEREDOC
 ip link set dev p0 up
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:319"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:317"
 ( $at_check_trace; ip netns exec left sh << NS_EXEC_HEREDOC
 ip link set dev p0 up
 NS_EXEC_HEREDOC
@@ -149556,7 +149411,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:319"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:317"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -149565,10 +149420,10 @@ $at_traceon; }
 
       if test -n ""; then
          { set +x
-$as_echo "$at_srcdir/system-ipsec.at:319: ip netns exec left sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:317: ip netns exec left sh << NS_EXEC_HEREDOC
 ip link set dev p0 address
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:319"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:317"
 ( $at_check_trace; ip netns exec left sh << NS_EXEC_HEREDOC
 ip link set dev p0 address
 NS_EXEC_HEREDOC
@@ -149577,7 +149432,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:319"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:317"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -149587,10 +149442,10 @@ $at_traceon; }
       fi
       if test -n ""; then
          { set +x
-$as_echo "$at_srcdir/system-ipsec.at:319: ip netns exec left sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:317: ip netns exec left sh << NS_EXEC_HEREDOC
 ip route add default via
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:319"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:317"
 ( $at_check_trace; ip netns exec left sh << NS_EXEC_HEREDOC
 ip route add default via
 NS_EXEC_HEREDOC
@@ -149599,7 +149454,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:319"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:317"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -149642,13 +149497,13 @@ NS_EXEC_HEREDOC
   touch $ovs_base/left/secrets
   ipsec initnss --nssdir $ovs_base/left/ipsec.d
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:319: ip netns exec left sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:317: ip netns exec left sh << NS_EXEC_HEREDOC
 ipsec pluto --config \$ovs_base/left/ipsec.conf \\
         --ipsecdir \$ovs_base/left --nssdir \$ovs_base/left/ipsec.d \\
         --logfile \$ovs_base/left/pluto.log --secretsfile \$ovs_base/left/secrets \\
         --rundir \$ovs_base/left
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:319"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:317"
 ( $at_check_trace; ip netns exec left sh << NS_EXEC_HEREDOC
 ipsec pluto --config $ovs_base/left/ipsec.conf \
         --ipsecdir $ovs_base/left --nssdir $ovs_base/left/ipsec.d \
@@ -149660,7 +149515,7 @@ at_status=$? at_failed=false
 $at_check_filter
 echo stderr:; tee stderr <"$at_stderr"
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:319"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:317"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -149670,7 +149525,7 @@ $at_traceon; }
   on_exit "kill `cat $ovs_base/left/pluto.pid`"
 
      { set +x
-$as_echo "$at_srcdir/system-ipsec.at:319: ip netns exec left sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:317: ip netns exec left sh << NS_EXEC_HEREDOC
 ovs-monitor-ipsec unix:\${OVS_RUNDIR}/left/db.sock\\
         --pidfile=\${OVS_RUNDIR}/left/ovs-monitor-ipsec.pid --ike-daemon=libreswan\\
         --ipsec-conf=\$ovs_base/left/ipsec.conf --ipsec-d=\$ovs_base/left/ipsec.d \\
@@ -149679,7 +149534,7 @@ ovs-monitor-ipsec unix:\${OVS_RUNDIR}/left/db.sock\\
         --ipsec-ctl=\$ovs_base/left/pluto.ctl \\
         --no-restart-ike-daemon --detach
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'a ${...} parameter expansion' "system-ipsec.at:319"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "system-ipsec.at:317"
 ( $at_check_trace; ip netns exec left sh << NS_EXEC_HEREDOC
 ovs-monitor-ipsec unix:${OVS_RUNDIR}/left/db.sock\
         --pidfile=${OVS_RUNDIR}/left/ovs-monitor-ipsec.pid --ike-daemon=libreswan\
@@ -149694,7 +149549,7 @@ at_status=$? at_failed=false
 $at_check_filter
 echo stderr:; tee stderr <"$at_stderr"
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:319"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:317"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -149712,15 +149567,15 @@ ip netns del right
 
 
                 { set +x
-$as_echo "$at_srcdir/system-ipsec.at:320: ip netns add right || return 77"
-at_fn_check_prepare_trace "system-ipsec.at:320"
+$as_echo "$at_srcdir/system-ipsec.at:318: ip netns add right || return 77"
+at_fn_check_prepare_trace "system-ipsec.at:318"
 ( $at_check_trace; ip netns add right || return 77
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:320"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:318"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -149741,15 +149596,15 @@ NS_EXEC_HEREDOC
 sysctl -w net.ipv6.conf.default.accept_dad=0
 NS_EXEC_HEREDOC
    { set +x
-$as_echo "$at_srcdir/system-ipsec.at:320: ip link add p1 type veth peer name ovs-p1 || return 77"
-at_fn_check_prepare_trace "system-ipsec.at:320"
+$as_echo "$at_srcdir/system-ipsec.at:318: ip link add p1 type veth peer name ovs-p1 || return 77"
+at_fn_check_prepare_trace "system-ipsec.at:318"
 ( $at_check_trace; ip link add p1 type veth peer name ovs-p1 || return 77
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:320"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:318"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -149758,39 +149613,39 @@ $at_traceon; }
       on_exit 'ip link del ovs-p1'
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:320: ip link set p1 netns right"
-at_fn_check_prepare_trace "system-ipsec.at:320"
+$as_echo "$at_srcdir/system-ipsec.at:318: ip link set p1 netns right"
+at_fn_check_prepare_trace "system-ipsec.at:318"
 ( $at_check_trace; ip link set p1 netns right
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:320"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:318"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:320: ip link set dev ovs-p1 up"
-at_fn_check_prepare_trace "system-ipsec.at:320"
+$as_echo "$at_srcdir/system-ipsec.at:318: ip link set dev ovs-p1 up"
+at_fn_check_prepare_trace "system-ipsec.at:318"
 ( $at_check_trace; ip link set dev ovs-p1 up
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:320"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:318"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
       { set +x
-$as_echo "$at_srcdir/system-ipsec.at:320: ovs-vsctl add-port br0 ovs-p1 -- \\
+$as_echo "$at_srcdir/system-ipsec.at:318: ovs-vsctl add-port br0 ovs-p1 -- \\
                 set interface ovs-p1 external-ids:iface-id=\"p1\""
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:320"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:318"
 ( $at_check_trace; ovs-vsctl add-port br0 ovs-p1 -- \
                 set interface ovs-p1 external-ids:iface-id="p1"
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
@@ -149798,17 +149653,17 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:320"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:318"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
 $at_traceon; }
 
        { set +x
-$as_echo "$at_srcdir/system-ipsec.at:320: ip netns exec right sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:318: ip netns exec right sh << NS_EXEC_HEREDOC
 ip addr add 10.1.1.2/24 dev p1
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:320"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:318"
 ( $at_check_trace; ip netns exec right sh << NS_EXEC_HEREDOC
 ip addr add 10.1.1.2/24 dev p1
 NS_EXEC_HEREDOC
@@ -149817,7 +149672,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:320"
+at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:318"
 $at_failed && at_fn_log_failure  \
 "ovsdb-server.log" \
 "ovs-vswitchd.log"
@@ -149825,10 +149680,10 @@ $at_traceon; }
 
 
        { set +x
-$as_echo "$at_srcdir/system-ipsec.at:320: ip netns exec right sh << NS_EXEC_HEREDOC
+$as_echo "$at_srcdir/system-ipsec.at:318: ip netns exec right sh << NS_EXEC_HEREDOC
 ip link set dev p1 up
 NS_EXEC_HEREDOC"
-at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:320"
+at_fn_check_prepare_notrace 'an embedded newline' "system-ipsec.at:318"
 ( $at_check_trace; ip netns exec right sh << NS_EXEC_HEREDOC
 ip link set dev p1 up
 NS_EXEC_HEREDOC
@@ -149837,7 +149692,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/system-ipsec.at:320"
+at_fn_check_status 0 $at_status "$at