#! /bin/sh
# Generated from tests/system-userspace-testsuite.at by GNU Autoconf 2.69.
#
# Copyright (C) 2009-2012 Free Software Foundation, Inc.
#
# This test suite is free software; the Free Software Foundation gives
# unlimited permission to copy, distribute and modify it.
#
# Copyright (c) 2015 Nicira, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
## -------------------- ##
## M4sh Initialization. ##
## -------------------- ##

# Be more Bourne compatible
DUALCASE=1; export DUALCASE # for MKS sh
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
  emulate sh
  NULLCMD=:
  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in #(
  *posix*) :
    set -o posix ;; #(
  *) :
     ;;
esac
fi


as_nl='
'
export as_nl
# Printing a long string crashes Solaris 7 /usr/bin/printf.
as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
# Prefer a ksh shell builtin over an external printf program on Solaris,
# but without wasting forks for bash or zsh.
if test -z "$BASH_VERSION$ZSH_VERSION" \
    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
  as_echo='print -r --'
  as_echo_n='print -rn --'
elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
  as_echo='printf %s\n'
  as_echo_n='printf %s'
else
  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
    as_echo_n='/usr/ucb/echo -n'
  else
    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
    as_echo_n_body='eval
      arg=$1;
      case $arg in #(
      *"$as_nl"*)
	expr "X$arg" : "X\\(.*\\)$as_nl";
	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
      esac;
      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
    '
    export as_echo_n_body
    as_echo_n='sh -c $as_echo_n_body as_echo'
  fi
  export as_echo_body
  as_echo='sh -c $as_echo_body as_echo'
fi

# The user is always right.
if test "${PATH_SEPARATOR+set}" != set; then
  PATH_SEPARATOR=:
  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
      PATH_SEPARATOR=';'
  }
fi


# IFS
# We need space, tab and new line, in precisely that order.  Quoting is
# there to prevent editors from complaining about space-tab.
# (If _AS_PATH_WALK were called with IFS unset, it would disable word
# splitting by setting IFS to empty value.)
IFS=" ""	$as_nl"

# Find who we are.  Look in the path if we contain no directory separator.
as_myself=
case $0 in #((
  *[\\/]* ) as_myself=$0 ;;
  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
  done
IFS=$as_save_IFS

     ;;
esac
# We did not find ourselves, most probably we were run as `sh COMMAND'
# in which case we are not to be found in the path.
if test "x$as_myself" = x; then
  as_myself=$0
fi
if test ! -f "$as_myself"; then
  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
  exit 1
fi

# Unset variables that we do not need and which cause bugs (e.g. in
# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
# suppresses any "Segmentation fault" message there.  '((' could
# trigger a bug in pdksh 5.2.14.
for as_var in BASH_ENV ENV MAIL MAILPATH
do eval test x\${$as_var+set} = xset \
  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
done
PS1='$ '
PS2='> '
PS4='+ '

# NLS nuisances.
LC_ALL=C
export LC_ALL
LANGUAGE=C
export LANGUAGE

# CDPATH.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH

if test "x$CONFIG_SHELL" = x; then
  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
  emulate sh
  NULLCMD=:
  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '\${1+\"\$@\"}'='\"\$@\"'
  setopt NO_GLOB_SUBST
else
  case \`(set -o) 2>/dev/null\` in #(
  *posix*) :
    set -o posix ;; #(
  *) :
     ;;
esac
fi
"
  as_required="as_fn_return () { (exit \$1); }
as_fn_success () { as_fn_return 0; }
as_fn_failure () { as_fn_return 1; }
as_fn_ret_success () { return 0; }
as_fn_ret_failure () { return 1; }

exitcode=0
as_fn_success || { exitcode=1; echo as_fn_success failed.; }
as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :

else
  exitcode=1; echo positional parameters were not saved.
fi
test x\$exitcode = x0 || exit 1
test -x / || exit 1"
  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
test \$(( 1 + 1 )) = 2 || exit 1"
  if (eval "$as_required") 2>/dev/null; then :
  as_have_required=yes
else
  as_have_required=no
fi
  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :

else
  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
as_found=false
for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
  as_found=:
  case $as_dir in #(
	 /*)
	   for as_base in sh bash ksh sh5; do
	     # Try only shells that exist, to save several forks.
	     as_shell=$as_dir/$as_base
	     if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
		    { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
  CONFIG_SHELL=$as_shell as_have_required=yes
		   if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
  break 2
fi
fi
	   done;;
       esac
  as_found=false
done
$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
	      { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
  CONFIG_SHELL=$SHELL as_have_required=yes
fi; }
IFS=$as_save_IFS


      if test "x$CONFIG_SHELL" != x; then :
  export CONFIG_SHELL
             # We cannot yet assume a decent shell, so we have to provide a
# neutralization value for shells without unset; and this also
# works around shells that cannot unset nonexistent variables.
# Preserve -v and -x to the replacement shell.
BASH_ENV=/dev/null
ENV=/dev/null
(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
case $- in # ((((
  *v*x* | *x*v* ) as_opts=-vx ;;
  *v* ) as_opts=-v ;;
  *x* ) as_opts=-x ;;
  * ) as_opts= ;;
esac
exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
# Admittedly, this is quite paranoid, since all the known shells bail
# out after a failed `exec'.
$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
exit 255
fi

    if test x$as_have_required = xno; then :
  $as_echo "$0: This script requires a shell more modern than all"
  $as_echo "$0: the shells that I found on your system."
  if test x${ZSH_VERSION+set} = xset ; then
    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
  else
    $as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
$0: including any error possibly output before this
$0: message. Then install a modern shell, or manually run
$0: the script under such a shell if you do have one."
  fi
  exit 1
fi
fi
fi
SHELL=${CONFIG_SHELL-/bin/sh}
export SHELL
# Unset more variables known to interfere with behavior of common tools.
CLICOLOR_FORCE= GREP_OPTIONS=
unset CLICOLOR_FORCE GREP_OPTIONS

## --------------------- ##
## M4sh Shell Functions. ##
## --------------------- ##
# as_fn_unset VAR
# ---------------
# Portably unset VAR.
as_fn_unset ()
{
  { eval $1=; unset $1;}
}
as_unset=as_fn_unset

# as_fn_set_status STATUS
# -----------------------
# Set $? to STATUS, without forking.
as_fn_set_status ()
{
  return $1
} # as_fn_set_status

# as_fn_exit STATUS
# -----------------
# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
as_fn_exit ()
{
  set +e
  as_fn_set_status $1
  exit $1
} # as_fn_exit

# as_fn_mkdir_p
# -------------
# Create "$as_dir" as a directory, including parents if necessary.
as_fn_mkdir_p ()
{

  case $as_dir in #(
  -*) as_dir=./$as_dir;;
  esac
  test -d "$as_dir" || eval $as_mkdir_p || {
    as_dirs=
    while :; do
      case $as_dir in #(
      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
      *) as_qdir=$as_dir;;
      esac
      as_dirs="'$as_qdir' $as_dirs"
      as_dir=`$as_dirname -- "$as_dir" ||
$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
	 X"$as_dir" : 'X\(//\)[^/]' \| \
	 X"$as_dir" : 'X\(//\)$' \| \
	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$as_dir" |
    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)[^/].*/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\).*/{
	    s//\1/
	    q
	  }
	  s/.*/./; q'`
      test -d "$as_dir" && break
    done
    test -z "$as_dirs" || eval "mkdir $as_dirs"
  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"


} # as_fn_mkdir_p

# as_fn_executable_p FILE
# -----------------------
# Test if FILE is an executable regular file.
as_fn_executable_p ()
{
  test -f "$1" && test -x "$1"
} # as_fn_executable_p
# as_fn_append VAR VALUE
# ----------------------
# Append the text in VALUE to the end of the definition contained in VAR. Take
# advantage of any shell optimizations that allow amortized linear growth over
# repeated appends, instead of the typical quadratic growth present in naive
# implementations.
if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
  eval 'as_fn_append ()
  {
    eval $1+=\$2
  }'
else
  as_fn_append ()
  {
    eval $1=\$$1\$2
  }
fi # as_fn_append

# as_fn_arith ARG...
# ------------------
# Perform arithmetic evaluation on the ARGs, and store the result in the
# global $as_val. Take advantage of shells that can avoid forks. The arguments
# must be portable across $(()) and expr.
if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
  eval 'as_fn_arith ()
  {
    as_val=$(( $* ))
  }'
else
  as_fn_arith ()
  {
    as_val=`expr "$@" || test $? -eq 1`
  }
fi # as_fn_arith


# as_fn_error STATUS ERROR [LINENO LOG_FD]
# ----------------------------------------
# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
# script with STATUS, using 1 if that was 0.
as_fn_error ()
{
  as_status=$1; test $as_status -eq 0 && as_status=1
  if test "$4"; then
    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
  fi
  $as_echo "$as_me: error: $2" >&2
  as_fn_exit $as_status
} # as_fn_error

if expr a : '\(a\)' >/dev/null 2>&1 &&
   test "X`expr 00001 : '.*\(...\)'`" = X001; then
  as_expr=expr
else
  as_expr=false
fi

if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
  as_basename=basename
else
  as_basename=false
fi

as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
	 X"$0" : 'X\(//\)$' \| \
	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X/"$0" |
    sed '/^.*\/\([^/][^/]*\)\/*$/{
	    s//\1/
	    q
	  }
	  /^X\/\(\/\/\)$/{
	    s//\1/
	    q
	  }
	  /^X\/\(\/\).*/{
	    s//\1/
	    q
	  }
	  s/.*/./; q'`

if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
  as_dirname=dirname
else
  as_dirname=false
fi

# Avoid depending upon Character Ranges.
as_cr_letters='abcdefghijklmnopqrstuvwxyz'
as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
as_cr_Letters=$as_cr_letters$as_cr_LETTERS
as_cr_digits='0123456789'
as_cr_alnum=$as_cr_Letters$as_cr_digits


  as_lineno_1=$LINENO as_lineno_1a=$LINENO
  as_lineno_2=$LINENO as_lineno_2a=$LINENO
  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
  sed -n '
    p
    /[$]LINENO/=
  ' <$as_myself |
    sed '
      s/[$]LINENO.*/&-/
      t lineno
      b
      :lineno
      N
      :loop
      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
      t loop
      s/-\n.*//
    ' >$as_me.lineno &&
  chmod +x "$as_me.lineno" ||
    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }

  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
  # already done that, so ensure we don't try to do so again and fall
  # in an infinite loop.  This has already happened in practice.
  _as_can_reexec=no; export _as_can_reexec
  # Don't try to exec as it changes $[0], causing all sort of problems
  # (the dirname of $[0] is not the place where we might find the
  # original and so on.  Autoconf is especially sensitive to this).
  . "./$as_me.lineno"
  # Exit status is that of the last command.
  exit
}

ECHO_C= ECHO_N= ECHO_T=
case `echo -n x` in #(((((
-n*)
  case `echo 'xy\c'` in
  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
  xy)  ECHO_C='\c';;
  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
       ECHO_T='	';;
  esac;;
*)
  ECHO_N='-n';;
esac

rm -f conf$$ conf$$.exe conf$$.file
if test -d conf$$.dir; then
  rm -f conf$$.dir/conf$$.file
else
  rm -f conf$$.dir
  mkdir conf$$.dir 2>/dev/null
fi
if (echo >conf$$.file) 2>/dev/null; then
  if ln -s conf$$.file conf$$ 2>/dev/null; then
    as_ln_s='ln -s'
    # ... but there are two gotchas:
    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
    # In both cases, we have to default to `cp -pR'.
    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
      as_ln_s='cp -pR'
  elif ln conf$$.file conf$$ 2>/dev/null; then
    as_ln_s=ln
  else
    as_ln_s='cp -pR'
  fi
else
  as_ln_s='cp -pR'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null

if mkdir -p . 2>/dev/null; then
  as_mkdir_p='mkdir -p "$as_dir"'
else
  test -d ./-p && rmdir ./-p
  as_mkdir_p=false
fi

as_test_x='test -x'
as_executable_p=as_fn_executable_p

# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"

# Sed expression to map a string onto a valid variable name.
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"





SHELL=${CONFIG_SHELL-/bin/sh}

# How were we run?
at_cli_args="$@"


# Not all shells have the 'times' builtin; the subshell is needed to make
# sure we discard the 'times: not found' message from the shell.
at_times_p=false
(times) >/dev/null 2>&1 && at_times_p=:

# CLI Arguments to pass to the debugging scripts.
at_debug_args=
# -e sets to true
at_errexit_p=false
# Shall we be verbose?  ':' means no, empty means yes.
at_verbose=:
at_quiet=
# Running several jobs in parallel, 0 means as many as test groups.
at_jobs=1
at_traceon=:
at_trace_echo=:
at_check_filter_trace=:

# Shall we keep the debug scripts?  Must be `:' when the suite is
# run by a debug script, so that the script doesn't remove itself.
at_debug_p=false
# Display help message?
at_help_p=false
# Display the version message?
at_version_p=false
# List test groups?
at_list_p=false
# --clean
at_clean=false
# Test groups to run
at_groups=
# Whether to rerun failed tests.
at_recheck=
# Whether a write failure occurred
at_write_fail=0

# The directory we run the suite in.  Default to . if no -C option.
at_dir=`pwd`
# An absolute reference to this testsuite script.
case $as_myself in
  [\\/]* | ?:[\\/]* ) at_myself=$as_myself ;;
  * ) at_myself=$at_dir/$as_myself ;;
esac
# Whether -C is in effect.
at_change_dir=false

# Whether to enable colored test results.
at_color=auto
# List of the tested programs.
at_tested='ovs-vswitchd
ovs-vsctl
perl'
# As many question marks as there are digits in the last test group number.
# Used to normalize the test group numbers so that `ls' lists them in
# numerical order.
at_format='??'
# Description of all the test groups.
at_help_all="1;system-traffic.at:3;datapath - ping between two ports;;
2;system-traffic.at:26;datapath - http between two ports;;
3;system-traffic.at:46;datapath - ping between two ports on vlan;;
4;system-traffic.at:72;datapath - ping between two ports on cvlan;;
5;system-traffic.at:103;datapath - ping6 between two ports;;
6;system-traffic.at:131;datapath - ping6 between two ports on vlan;;
7;system-traffic.at:162;datapath - ping6 between two ports on cvlan;;
8;system-traffic.at:193;datapath - ping over bond;;
9;system-traffic.at:218;datapath - ping over vxlan tunnel;;
10;system-traffic.at:259;datapath - ping over vxlan6 tunnel;;
11;system-traffic.at:302;datapath - ping over gre tunnel;;
12;system-traffic.at:342;datapath - ping over geneve tunnel;;
13;system-traffic.at:383;datapath - ping over geneve6 tunnel;;
14;system-traffic.at:426;datapath - clone action;;
15;system-traffic.at:458;datapath - mpls actions;;
16;system-traffic.at:494;datapath - basic truncate action;;
17;system-traffic.at:609;datapath - truncate and output to gre tunnel;;
18;system-traffic.at:730;conntrack - controller;;
19;system-traffic.at:774;conntrack - force commit;;
20;system-traffic.at:835;conntrack - IPv4 ping;;
21;system-traffic.at:874;conntrack - IPv6 ping;;
22;system-traffic.at:923;conntrack - preserve registers;;
23;system-traffic.at:964;conntrack - invalid;;
24;system-traffic.at:1007;conntrack - zones;;
25;system-traffic.at:1055;conntrack - zones from field;;
26;system-traffic.at:1102;conntrack - multiple bridges;;
27;system-traffic.at:1146;conntrack - multiple zones;;
28;system-traffic.at:1183;conntrack - multiple namespaces, internal ports;;
29;system-traffic.at:1225;conntrack - ct_mark;;
30;system-traffic.at:1271;conntrack - ct_mark bit-fiddling;;
31;system-traffic.at:1307;conntrack - ct_mark from register;;
32;system-traffic.at:1352;conntrack - ct_label;;
33;system-traffic.at:1392;conntrack - ct_label bit-fiddling;;
34;system-traffic.at:1428;conntrack - ct metadata, multiple zones;;
35;system-traffic.at:1467;conntrack - ICMP related;;
36;system-traffic.at:1503;conntrack - ICMP related to original direction;;
37;system-traffic.at:1561;conntrack - ICMP related 2;;
38;system-traffic.at:1610;conntrack - IPv4 fragmentation;;
39;system-traffic.at:1644;conntrack - IPv4 fragmentation expiry;;
40;system-traffic.at:1675;conntrack - IPv4 fragmentation + vlan;;
41;system-traffic.at:1711;conntrack - IPv4 fragmentation + cvlan;;
42;system-traffic.at:1764;conntrack - IPv6 fragmentation;;
43;system-traffic.at:1804;conntrack - IPv6 fragmentation expiry;;
44;system-traffic.at:1845;conntrack - IPv6 fragmentation + vlan;;
45;system-traffic.at:1888;conntrack - IPv6 fragmentation + cvlan;;
46;system-traffic.at:1942;conntrack - Fragmentation over vxlan;;
47;system-traffic.at:1994;conntrack - IPv6 Fragmentation over vxlan;;
48;system-traffic.at:2054;conntrack - resubmit to ct multiple times;;
49;system-traffic.at:2095;conntrack - IPv4 HTTP;;
50;system-traffic.at:2132;conntrack - IPv6 HTTP;;
51;system-traffic.at:2173;conntrack - commit, recirc;;
52;system-traffic.at:2214;conntrack - multiple zones, local;;
53;system-traffic.at:2263;conntrack - multi-stage pipeline, local;;
54;system-traffic.at:2334;FTP - no conntrack;;
55;system-traffic.at:2363;conntrack - FTP;;
56;system-traffic.at:2448;conntrack - FTP over IPv6;;
57;system-traffic.at:2503;conntrack - IPv6 FTP Passive;;
58;system-traffic.at:2562;conntrack - FTP with multiple expectations;;
59;system-traffic.at:2628;conntrack - TFTP;;
60;system-traffic.at:2704;conntrack - simple SNAT;;
61;system-traffic.at:2750;conntrack - SNAT with ct_mark change on reply;;
62;system-traffic.at:2793;conntrack - SNAT with port range;;
63;system-traffic.at:2841;conntrack - more complex SNAT;;
64;system-traffic.at:2893;conntrack - simple DNAT;;
65;system-traffic.at:2948;conntrack - more complex DNAT;;
66;system-traffic.at:3009;conntrack - ICMP related with NAT;;
67;system-traffic.at:3175;conntrack - FTP NAT prerecirc ;;
68;system-traffic.at:3186;conntrack - FTP NAT prerecirc seqadj;;
69;system-traffic.at:3241;conntrack - FTP NAT postrecirc ;;
70;system-traffic.at:3252;conntrack - FTP NAT postrecirc seqadj;;
71;system-traffic.at:3372;conntrack - FTP NAT orig tuple ;;
72;system-traffic.at:3376;conntrack - FTP NAT orig tuple seqadj;;
73;system-traffic.at:3378;conntrack - IPv4 FTP Passive with NAT;;
74;system-traffic.at:3438;conntrack - IPv6 HTTP with SNAT;;
75;system-traffic.at:3482;conntrack - IPv6 HTTP with DNAT;;
76;system-traffic.at:3526;conntrack - IPv6 ICMP6 Related with SNAT;;
77;system-traffic.at:3579;conntrack - IPv6 FTP with NAT;;
78;system-traffic.at:3639;conntrack - IPv6 FTP Passive with NAT;;
79;system-traffic.at:3700;conntrack - IPv6 FTP with NAT - orig tuple;;
80;system-traffic.at:3760;conntrack - IPv4 TFTP with NAT;;
81;system-traffic.at:3824;conntrack - DNAT load balancing;;
82;system-traffic.at:3911;conntrack - DNAT load balancing with NC;;
83;system-traffic.at:4001;802.1ad - vlan_limit;;
84;system-traffic.at:4030;802.1ad - push/pop outer 802.1ad;;
85;system-traffic.at:4086;802.1ad - push/pop outer 802.1q;;
86;system-traffic.at:4142;802.1ad - 802.1q tunnel;;
87;system-traffic.at:4204;802.1ad - double vlan match;;
88;system-layer3-tunnels.at:3;layer3 - ping over VXLAN-GPE;;
89;system-layer3-tunnels.at:52;layer3 - ping over GRE;;
90;system-ovn.at:3;ovn -- 2 LRs connected via LS, gateway router, SNAT and DNAT;ovnnat;
91;system-ovn.at:179;ovn -- 2 LRs connected via LS, gateway router, easy SNAT;ovnnat;
92;system-ovn.at:289;ovn -- multiple gateway routers, SNAT and DNAT;ovnnat;
93;system-ovn.at:509;ovn -- load-balancing;ovnlb;
94;system-ovn.at:656;ovn -- load-balancing - same subnet.;ovnlb;
95;system-ovn.at:763;ovn -- load balancing in gateway router;ovnlb;
96;system-ovn.at:909;ovn -- multiple gateway routers, load-balancing;ovnlb;
97;system-ovn.at:1078;ovn -- DNAT and SNAT on distributed router - N/S;ovnnat;
98;system-ovn.at:1225;ovn -- DNAT and SNAT on distributed router - E/W;ovnnat;
99;system-userspace-packet-type-aware.at:3;ptap - triangle bridge setup with L2 and L3 GRE tunnels;;
"
# List of the all the test groups.
at_groups_all=`$as_echo "$at_help_all" | sed 's/;.*//'`

# at_fn_validate_ranges NAME...
# -----------------------------
# Validate and normalize the test group number contained in each variable
# NAME. Leading zeroes are treated as decimal.
at_fn_validate_ranges ()
{
  for at_grp
  do
    eval at_value=\$$at_grp
    if test $at_value -lt 1 || test $at_value -gt 99; then
      $as_echo "invalid test group: $at_value" >&2
      exit 1
    fi
    case $at_value in
      0*) # We want to treat leading 0 as decimal, like expr and test, but
	  # AS_VAR_ARITH treats it as octal if it uses $(( )).
	  # With XSI shells, ${at_value#${at_value%%[1-9]*}} avoids the
	  # expr fork, but it is not worth the effort to determine if the
	  # shell supports XSI when the user can just avoid leading 0.
	  eval $at_grp='`expr $at_value + 0`' ;;
    esac
  done
}

at_prev=
for at_option
do
  # If the previous option needs an argument, assign it.
  if test -n "$at_prev"; then
    at_option=$at_prev=$at_option
    at_prev=
  fi

  case $at_option in
  *=?*) at_optarg=`expr "X$at_option" : '[^=]*=\(.*\)'` ;;
  *)    at_optarg= ;;
  esac

  # Accept the important Cygnus configure options, so we can diagnose typos.

  case $at_option in
    --help | -h )
	at_help_p=:
	;;

    --list | -l )
	at_list_p=:
	;;

    --version | -V )
	at_version_p=:
	;;

    --clean | -c )
	at_clean=:
	;;

    --color )
	at_color=always
	;;
    --color=* )
	case $at_optarg in
	no | never | none) at_color=never ;;
	auto | tty | if-tty) at_color=auto ;;
	always | yes | force) at_color=always ;;
	*) at_optname=`echo " $at_option" | sed 's/^ //; s/=.*//'`
	   as_fn_error $? "unrecognized argument to $at_optname: $at_optarg" ;;
	esac
	;;

    --debug | -d )
	at_debug_p=:
	;;

    --errexit | -e )
	at_debug_p=:
	at_errexit_p=:
	;;

    --verbose | -v )
	at_verbose=; at_quiet=:
	;;

    --trace | -x )
	at_traceon='set -x'
	at_trace_echo=echo
	at_check_filter_trace=at_fn_filter_trace
	;;

    [0-9] | [0-9][0-9] | [0-9][0-9][0-9] | [0-9][0-9][0-9][0-9])
	at_fn_validate_ranges at_option
	as_fn_append at_groups "$at_option$as_nl"
	;;

    # Ranges
    [0-9]- | [0-9][0-9]- | [0-9][0-9][0-9]- | [0-9][0-9][0-9][0-9]-)
	at_range_start=`echo $at_option |tr -d X-`
	at_fn_validate_ranges at_range_start
	at_range=`$as_echo "$at_groups_all" | \
	  sed -ne '/^'$at_range_start'$/,$p'`
	as_fn_append at_groups "$at_range$as_nl"
	;;

    -[0-9] | -[0-9][0-9] | -[0-9][0-9][0-9] | -[0-9][0-9][0-9][0-9])
	at_range_end=`echo $at_option |tr -d X-`
	at_fn_validate_ranges at_range_end
	at_range=`$as_echo "$at_groups_all" | \
	  sed -ne '1,/^'$at_range_end'$/p'`
	as_fn_append at_groups "$at_range$as_nl"
	;;

    [0-9]-[0-9] | [0-9]-[0-9][0-9] | [0-9]-[0-9][0-9][0-9] | \
    [0-9]-[0-9][0-9][0-9][0-9] | [0-9][0-9]-[0-9][0-9] | \
    [0-9][0-9]-[0-9][0-9][0-9] | [0-9][0-9]-[0-9][0-9][0-9][0-9] | \
    [0-9][0-9][0-9]-[0-9][0-9][0-9] | \
    [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9] | \
    [0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9] )
	at_range_start=`expr $at_option : '\(.*\)-'`
	at_range_end=`expr $at_option : '.*-\(.*\)'`
	if test $at_range_start -gt $at_range_end; then
	  at_tmp=$at_range_end
	  at_range_end=$at_range_start
	  at_range_start=$at_tmp
	fi
	at_fn_validate_ranges at_range_start at_range_end
	at_range=`$as_echo "$at_groups_all" | \
	  sed -ne '/^'$at_range_start'$/,/^'$at_range_end'$/p'`
	as_fn_append at_groups "$at_range$as_nl"
	;;

    # Directory selection.
    --directory | -C )
	at_prev=--directory
	;;
    --directory=* )
	at_change_dir=:
	at_dir=$at_optarg
	if test x- = "x$at_dir" ; then
	  at_dir=./-
	fi
	;;

    # Parallel execution.
    --jobs | -j )
	at_jobs=0
	;;
    --jobs=* | -j[0-9]* )
	if test -n "$at_optarg"; then
	  at_jobs=$at_optarg
	else
	  at_jobs=`expr X$at_option : 'X-j\(.*\)'`
	fi
	case $at_jobs in *[!0-9]*)
	  at_optname=`echo " $at_option" | sed 's/^ //; s/[0-9=].*//'`
	  as_fn_error $? "non-numeric argument to $at_optname: $at_jobs" ;;
	esac
	;;

    # Keywords.
    --keywords | -k )
	at_prev=--keywords
	;;
    --keywords=* )
	at_groups_selected=$at_help_all
	at_save_IFS=$IFS
	IFS=,
	set X $at_optarg
	shift
	IFS=$at_save_IFS
	for at_keyword
	do
	  at_invert=
	  case $at_keyword in
	  '!'*)
	    at_invert="-v"
	    at_keyword=`expr "X$at_keyword" : 'X!\(.*\)'`
	    ;;
	  esac
	  # It is on purpose that we match the test group titles too.
	  at_groups_selected=`$as_echo "$at_groups_selected" |
	      grep -i $at_invert "^[1-9][^;]*;.*[; ]$at_keyword[ ;]"`
	done
	# Smash the keywords.
	at_groups_selected=`$as_echo "$at_groups_selected" | sed 's/;.*//'`
	as_fn_append at_groups "$at_groups_selected$as_nl"
	;;
    --recheck)
	at_recheck=:
	;;

    *=*)
	at_envvar=`expr "x$at_option" : 'x\([^=]*\)='`
	# Reject names that are not valid shell variable names.
	case $at_envvar in
	  '' | [0-9]* | *[!_$as_cr_alnum]* )
	    as_fn_error $? "invalid variable name: \`$at_envvar'" ;;
	esac
	at_value=`$as_echo "$at_optarg" | sed "s/'/'\\\\\\\\''/g"`
	# Export now, but save eval for later and for debug scripts.
	export $at_envvar
	as_fn_append at_debug_args " $at_envvar='$at_value'"
	;;

     *) $as_echo "$as_me: invalid option: $at_option" >&2
	$as_echo "Try \`$0 --help' for more information." >&2
	exit 1
	;;
  esac
done

# Verify our last option didn't require an argument
if test -n "$at_prev"; then :
  as_fn_error $? "\`$at_prev' requires an argument"
fi

# The file containing the suite.
at_suite_log=$at_dir/$as_me.log

# Selected test groups.
if test -z "$at_groups$at_recheck"; then
  at_groups=$at_groups_all
else
  if test -n "$at_recheck" && test -r "$at_suite_log"; then
    at_oldfails=`sed -n '
      /^Failed tests:$/,/^Skipped tests:$/{
	s/^[ ]*\([1-9][0-9]*\):.*/\1/p
      }
      /^Unexpected passes:$/,/^## Detailed failed tests/{
	s/^[ ]*\([1-9][0-9]*\):.*/\1/p
      }
      /^## Detailed failed tests/q
      ' "$at_suite_log"`
    as_fn_append at_groups "$at_oldfails$as_nl"
  fi
  # Sort the tests, removing duplicates.
  at_groups=`$as_echo "$at_groups" | sort -nu | sed '/^$/d'`
fi

if test x"$at_color" = xalways \
   || { test x"$at_color" = xauto && test -t 1; }; then
  at_red=`printf '\033[0;31m'`
  at_grn=`printf '\033[0;32m'`
  at_lgn=`printf '\033[1;32m'`
  at_blu=`printf '\033[1;34m'`
  at_std=`printf '\033[m'`
else
  at_red= at_grn= at_lgn= at_blu= at_std=
fi

# Help message.
if $at_help_p; then
  cat <<_ATEOF || at_write_fail=1
Usage: $0 [OPTION]... [VARIABLE=VALUE]... [TESTS]

Run all the tests, or the selected TESTS, given by numeric ranges, and
save a detailed log file.  Upon failure, create debugging scripts.

Do not change environment variables directly.  Instead, set them via
command line arguments.  Set \`AUTOTEST_PATH' to select the executables
to exercise.  Each relative directory is expanded as build and source
directories relative to the top level of this distribution.
E.g., from within the build directory /tmp/foo-1.0, invoking this:

  $ $0 AUTOTEST_PATH=bin

is equivalent to the following, assuming the source directory is /src/foo-1.0:

  PATH=/tmp/foo-1.0/bin:/src/foo-1.0/bin:\$PATH $0
_ATEOF
cat <<_ATEOF || at_write_fail=1

Operation modes:
  -h, --help     print the help message, then exit
  -V, --version  print version number, then exit
  -c, --clean    remove all the files this test suite might create and exit
  -l, --list     describes all the tests, or the selected TESTS
_ATEOF
cat <<_ATEOF || at_write_fail=1

Execution tuning:
  -C, --directory=DIR
                 change to directory DIR before starting
      --color[=never|auto|always]
                 disable colored test results, or enable even without terminal
  -j, --jobs[=N]
                 Allow N jobs at once; infinite jobs with no arg (default 1)
  -k, --keywords=KEYWORDS
                 select the tests matching all the comma-separated KEYWORDS
                 multiple \`-k' accumulate; prefixed \`!' negates a KEYWORD
      --recheck  select all tests that failed or passed unexpectedly last time
  -e, --errexit  abort as soon as a test fails; implies --debug
  -v, --verbose  force more detailed output
                 default for debugging scripts
  -d, --debug    inhibit clean up and top-level logging
                 default for debugging scripts
  -x, --trace    enable tests shell tracing
_ATEOF
cat <<_ATEOF || at_write_fail=1

Report bugs to <bugs@openvswitch.org>.
_ATEOF
  exit $at_write_fail
fi

# List of tests.
if $at_list_p; then
  cat <<_ATEOF || at_write_fail=1
openvswitch 2.8.0 test suite test groups:

 NUM: FILE-NAME:LINE     TEST-GROUP-NAME
      KEYWORDS

_ATEOF
  # Pass an empty line as separator between selected groups and help.
  $as_echo "$at_groups$as_nl$as_nl$at_help_all" |
    awk 'NF == 1 && FS != ";" {
	   selected[$ 1] = 1
	   next
	 }
	 /^$/ { FS = ";" }
	 NF > 0 {
	   if (selected[$ 1]) {
	     printf " %3d: %-18s %s\n", $ 1, $ 2, $ 3
	     if ($ 4) {
	       lmax = 79
	       indent = "     "
	       line = indent
	       len = length (line)
	       n = split ($ 4, a, " ")
	       for (i = 1; i <= n; i++) {
		 l = length (a[i]) + 1
		 if (i > 1 && len + l > lmax) {
		   print line
		   line = indent " " a[i]
		   len = length (line)
		 } else {
		   line = line " " a[i]
		   len += l
		 }
	       }
	       if (n)
		 print line
	     }
	   }
	 }' || at_write_fail=1
  exit $at_write_fail
fi
if $at_version_p; then
  $as_echo "$as_me (openvswitch 2.8.0)" &&
  cat <<\_ATEOF || at_write_fail=1

Copyright (C) 2012 Free Software Foundation, Inc.
This test suite is free software; the Free Software Foundation gives
unlimited permission to copy, distribute and modify it.

Copyright (c) 2015 Nicira, Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at:

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
_ATEOF
  exit $at_write_fail
fi

# Should we print banners?  Yes if more than one test is run.
case $at_groups in #(
  *$as_nl* )
      at_print_banners=: ;; #(
  * ) at_print_banners=false ;;
esac
# Text for banner N, set to a single space once printed.
# Banner 1. system-traffic.at:1
# Category starts at test group 1.
at_banner_text_1="datapath-sanity"
# Banner 2. system-traffic.at:728
# Category starts at test group 18.
at_banner_text_2="conntrack"
# Banner 3. system-traffic.at:2093
# Category starts at test group 49.
at_banner_text_3="conntrack - L7"
# Banner 4. system-traffic.at:2702
# Category starts at test group 60.
at_banner_text_4="conntrack - NAT"
# Banner 5. system-traffic.at:3999
# Category starts at test group 83.
at_banner_text_5="802.1ad"
# Banner 6. system-layer3-tunnels.at:1
# Category starts at test group 88.
at_banner_text_6="layer3-tunnels"
# Banner 7. system-ovn.at:1
# Category starts at test group 90.
at_banner_text_7="system-ovn"
# Banner 8. system-userspace-packet-type-aware.at:1
# Category starts at test group 99.
at_banner_text_8="packet-type-aware pipeline"

# Take any -C into account.
if $at_change_dir ; then
  test x != "x$at_dir" && cd "$at_dir" \
    || as_fn_error $? "unable to change directory"
  at_dir=`pwd`
fi

# Load the config files for any default variable assignments.
for at_file in atconfig atlocal
do
  test -r $at_file || continue
  . ./$at_file || as_fn_error $? "invalid content: $at_file"
done

# Autoconf <=2.59b set at_top_builddir instead of at_top_build_prefix:
: "${at_top_build_prefix=$at_top_builddir}"

# Perform any assignments requested during argument parsing.
eval "$at_debug_args"

# atconfig delivers names relative to the directory the test suite is
# in, but the groups themselves are run in testsuite-dir/group-dir.
if test -n "$at_top_srcdir"; then
  builddir=../..
  for at_dir_var in srcdir top_srcdir top_build_prefix
  do
    eval at_val=\$at_$at_dir_var
    case $at_val in
      [\\/$]* | ?:[\\/]* ) at_prefix= ;;
      *) at_prefix=../../ ;;
    esac
    eval "$at_dir_var=\$at_prefix\$at_val"
  done
fi

## -------------------- ##
## Directory structure. ##
## -------------------- ##

# This is the set of directories and files used by this script
# (non-literals are capitalized):
#
# TESTSUITE         - the testsuite
# TESTSUITE.log     - summarizes the complete testsuite run
# TESTSUITE.dir/    - created during a run, remains after -d or failed test
# + at-groups/      - during a run: status of all groups in run
# | + NNN/          - during a run: meta-data about test group NNN
# | | + check-line  - location (source file and line) of current AT_CHECK
# | | + status      - exit status of current AT_CHECK
# | | + stdout      - stdout of current AT_CHECK
# | | + stder1      - stderr, including trace
# | | + stderr      - stderr, with trace filtered out
# | | + test-source - portion of testsuite that defines group
# | | + times       - timestamps for computing duration
# | | + pass        - created if group passed
# | | + xpass       - created if group xpassed
# | | + fail        - created if group failed
# | | + xfail       - created if group xfailed
# | | + skip        - created if group skipped
# + at-stop         - during a run: end the run if this file exists
# + at-source-lines - during a run: cache of TESTSUITE line numbers for extraction
# + 0..NNN/         - created for each group NNN, remains after -d or failed test
# | + TESTSUITE.log - summarizes the group results
# | + ...           - files created during the group

# The directory the whole suite works in.
# Should be absolute to let the user `cd' at will.
at_suite_dir=$at_dir/$as_me.dir
# The file containing the suite ($at_dir might have changed since earlier).
at_suite_log=$at_dir/$as_me.log
# The directory containing helper files per test group.
at_helper_dir=$at_suite_dir/at-groups
# Stop file: if it exists, do not start new jobs.
at_stop_file=$at_suite_dir/at-stop
# The fifo used for the job dispatcher.
at_job_fifo=$at_suite_dir/at-job-fifo

if $at_clean; then
  test -d "$at_suite_dir" &&
    find "$at_suite_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \;
  rm -f -r "$at_suite_dir" "$at_suite_log"
  exit $?
fi

# Don't take risks: use only absolute directories in PATH.
#
# For stand-alone test suites (ie. atconfig was not found),
# AUTOTEST_PATH is relative to `.'.
#
# For embedded test suites, AUTOTEST_PATH is relative to the top level
# of the package.  Then expand it into build/src parts, since users
# may create executables in both places.
AUTOTEST_PATH=`$as_echo "$AUTOTEST_PATH" | sed "s|:|$PATH_SEPARATOR|g"`
at_path=
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $AUTOTEST_PATH $PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
    test -n "$at_path" && as_fn_append at_path $PATH_SEPARATOR
case $as_dir in
  [\\/]* | ?:[\\/]* )
    as_fn_append at_path "$as_dir"
    ;;
  * )
    if test -z "$at_top_build_prefix"; then
      # Stand-alone test suite.
      as_fn_append at_path "$as_dir"
    else
      # Embedded test suite.
      as_fn_append at_path "$at_top_build_prefix$as_dir$PATH_SEPARATOR"
      as_fn_append at_path "$at_top_srcdir/$as_dir"
    fi
    ;;
esac
  done
IFS=$as_save_IFS


# Now build and simplify PATH.
#
# There might be directories that don't exist, but don't redirect
# builtins' (eg., cd) stderr directly: Ultrix's sh hates that.
at_new_path=
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $at_path
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
    test -d "$as_dir" || continue
case $as_dir in
  [\\/]* | ?:[\\/]* ) ;;
  * ) as_dir=`(cd "$as_dir" && pwd) 2>/dev/null` ;;
esac
case $PATH_SEPARATOR$at_new_path$PATH_SEPARATOR in
  *$PATH_SEPARATOR$as_dir$PATH_SEPARATOR*) ;;
  $PATH_SEPARATOR$PATH_SEPARATOR) at_new_path=$as_dir ;;
  *) as_fn_append at_new_path "$PATH_SEPARATOR$as_dir" ;;
esac
  done
IFS=$as_save_IFS

PATH=$at_new_path
export PATH

# Setting up the FDs.



# 5 is the log file.  Not to be overwritten if `-d'.
if $at_debug_p; then
  at_suite_log=/dev/null
else
  : >"$at_suite_log"
fi
exec 5>>"$at_suite_log"

# Banners and logs.
$as_echo "## ----------------------------- ##
## openvswitch 2.8.0 test suite. ##
## ----------------------------- ##"
{
  $as_echo "## ----------------------------- ##
## openvswitch 2.8.0 test suite. ##
## ----------------------------- ##"
  echo

  $as_echo "$as_me: command line was:"
  $as_echo "  \$ $0 $at_cli_args"
  echo

  # If ChangeLog exists, list a few lines in case it might help determining
  # the exact version.
  if test -n "$at_top_srcdir" && test -f "$at_top_srcdir/ChangeLog"; then
    $as_echo "## ---------- ##
## ChangeLog. ##
## ---------- ##"
    echo
    sed 's/^/| /;10q' "$at_top_srcdir/ChangeLog"
    echo
  fi

  {
cat <<_ASUNAME
## --------- ##
## Platform. ##
## --------- ##

hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
uname -m = `(uname -m) 2>/dev/null || echo unknown`
uname -r = `(uname -r) 2>/dev/null || echo unknown`
uname -s = `(uname -s) 2>/dev/null || echo unknown`
uname -v = `(uname -v) 2>/dev/null || echo unknown`

/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`

/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`

_ASUNAME

as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
    $as_echo "PATH: $as_dir"
  done
IFS=$as_save_IFS

}
  echo

  # Contents of the config files.
  for at_file in atconfig atlocal
  do
    test -r $at_file || continue
    $as_echo "$as_me: $at_file:"
    sed 's/^/| /' $at_file
    echo
  done
} >&5


## ------------------------- ##
## Autotest shell functions. ##
## ------------------------- ##

# at_fn_banner NUMBER
# -------------------
# Output banner NUMBER, provided the testsuite is running multiple groups and
# this particular banner has not yet been printed.
at_fn_banner ()
{
  $at_print_banners || return 0
  eval at_banner_text=\$at_banner_text_$1
  test "x$at_banner_text" = "x " && return 0
  eval "at_banner_text_$1=\" \""
  if test -z "$at_banner_text"; then
    $at_first || echo
  else
    $as_echo "$as_nl$at_banner_text$as_nl"
  fi
} # at_fn_banner

# at_fn_check_prepare_notrace REASON LINE
# ---------------------------------------
# Perform AT_CHECK preparations for the command at LINE for an untraceable
# command; REASON is the reason for disabling tracing.
at_fn_check_prepare_notrace ()
{
  $at_trace_echo "Not enabling shell tracing (command contains $1)"
  $as_echo "$2" >"$at_check_line_file"
  at_check_trace=: at_check_filter=:
  : >"$at_stdout"; : >"$at_stderr"
}

# at_fn_check_prepare_trace LINE
# ------------------------------
# Perform AT_CHECK preparations for the command at LINE for a traceable
# command.
at_fn_check_prepare_trace ()
{
  $as_echo "$1" >"$at_check_line_file"
  at_check_trace=$at_traceon at_check_filter=$at_check_filter_trace
  : >"$at_stdout"; : >"$at_stderr"
}

# at_fn_check_prepare_dynamic COMMAND LINE
# ----------------------------------------
# Decide if COMMAND at LINE is traceable at runtime, and call the appropriate
# preparation function.
at_fn_check_prepare_dynamic ()
{
  case $1 in
    *$as_nl*)
      at_fn_check_prepare_notrace 'an embedded newline' "$2" ;;
    *)
      at_fn_check_prepare_trace "$2" ;;
  esac
}

# at_fn_filter_trace
# ------------------
# Remove the lines in the file "$at_stderr" generated by "set -x" and print
# them to stderr.
at_fn_filter_trace ()
{
  mv "$at_stderr" "$at_stder1"
  grep '^ *+' "$at_stder1" >&2
  grep -v '^ *+' "$at_stder1" >"$at_stderr"
}

# at_fn_log_failure FILE-LIST
# ---------------------------
# Copy the files in the list on stdout with a "> " prefix, and exit the shell
# with a failure exit code.
at_fn_log_failure ()
{
  for file
    do $as_echo "$file:"; sed 's/^/> /' "$file"; done
  echo 1 > "$at_status_file"
  exit 1
}

# at_fn_check_skip EXIT-CODE LINE
# -------------------------------
# Check whether EXIT-CODE is a special exit code (77 or 99), and if so exit
# the test group subshell with that same exit code. Use LINE in any report
# about test failure.
at_fn_check_skip ()
{
  case $1 in
    99) echo 99 > "$at_status_file"; at_failed=:
	$as_echo "$2: hard failure"; exit 99;;
    77) echo 77 > "$at_status_file"; exit 77;;
  esac
}

# at_fn_check_status EXPECTED EXIT-CODE LINE
# ------------------------------------------
# Check whether EXIT-CODE is the EXPECTED exit code, and if so do nothing.
# Otherwise, if it is 77 or 99, exit the test group subshell with that same
# exit code; if it is anything else print an error message referring to LINE,
# and fail the test.
at_fn_check_status ()
{
  case $2 in
    $1 ) ;;
    77) echo 77 > "$at_status_file"; exit 77;;
    99) echo 99 > "$at_status_file"; at_failed=:
	$as_echo "$3: hard failure"; exit 99;;
    *) $as_echo "$3: exit code was $2, expected $1"
      at_failed=:;;
  esac
}

# at_fn_diff_devnull FILE
# -----------------------
# Emit a diff between /dev/null and FILE. Uses "test -s" to avoid useless diff
# invocations.
at_fn_diff_devnull ()
{
  test -s "$1" || return 0
  $at_diff "$at_devnull" "$1"
}

# at_fn_test NUMBER
# -----------------
# Parse out test NUMBER from the tail of this file.
at_fn_test ()
{
  eval at_sed=\$at_sed$1
  sed "$at_sed" "$at_myself" > "$at_test_source"
}

# at_fn_create_debugging_script
# -----------------------------
# Create the debugging script $at_group_dir/run which will reproduce the
# current test group.
at_fn_create_debugging_script ()
{
  {
    echo "#! /bin/sh" &&
    echo 'test "${ZSH_VERSION+set}" = set && alias -g '\''${1+"$@"}'\''='\''"$@"'\''' &&
    $as_echo "cd '$at_dir'" &&
    $as_echo "exec \${CONFIG_SHELL-$SHELL} \"$at_myself\" -v -d $at_debug_args $at_group \${1+\"\$@\"}" &&
    echo 'exit 1'
  } >"$at_group_dir/run" &&
  chmod +x "$at_group_dir/run"
}

## -------------------------------- ##
## End of autotest shell functions. ##
## -------------------------------- ##
{
  $as_echo "## ---------------- ##
## Tested programs. ##
## ---------------- ##"
  echo
} >&5

# Report what programs are being tested.
for at_program in : $at_tested
do
  test "$at_program" = : && continue
  case $at_program in
    [\\/]* | ?:[\\/]* ) $at_program_=$at_program ;;
    * )
    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
    test -f "$as_dir/$at_program" && break
  done
IFS=$as_save_IFS

    at_program_=$as_dir/$at_program ;;
  esac
  if test -f "$at_program_"; then
    {
      $as_echo "$at_srcdir/system-userspace-testsuite.at:1: $at_program_ --version"
      "$at_program_" --version </dev/null
      echo
    } >&5 2>&1
  else
    as_fn_error $? "cannot find $at_program" "$LINENO" 5
  fi
done

{
  $as_echo "## ------------------ ##
## Running the tests. ##
## ------------------ ##"
} >&5

at_start_date=`date`
at_start_time=`date +%s 2>/dev/null`
$as_echo "$as_me: starting at: $at_start_date" >&5


# Set ovs_base to the base directory in which the test is running and
# initialize the OVS_*DIR environment variables to point to this
# directory.
ovs_init() {
    ovs_base=`pwd`
    trap '. "$ovs_base/cleanup"' 0
    : > cleanup
    ovs_setenv
}

# With no parameter or an empty parameter, sets the OVS_*DIR
# environment variables to point to $ovs_base, the base directory in
# which the test is running.
#
# With a parameter, sets them to $ovs_base/$1.
ovs_setenv() {
    sandbox=$1
    ovs_dir=$ovs_base${1:+/$1}
    OVS_RUNDIR=$ovs_dir; export OVS_RUNDIR
    OVS_LOGDIR=$ovs_dir; export OVS_LOGDIR
    OVS_DBDIR=$ovs_dir; export OVS_DBDIR
    OVS_SYSCONFDIR=$ovs_dir; export OVS_SYSCONFDIR
    OVS_PKGDATADIR=$ovs_dir; export OVS_PKGDATADIR
}

ovs_wait () {
    # First try the condition without waiting.
    ovs_wait_cond && return 0

    # Try a quick sleep, so that the test completes very quickly
    # in the normal case.  POSIX doesn't require fractional times to
    # work, so this might not work.
    sleep 0.1
    ovs_wait_cond && return 0

    # Then wait up to 10 seconds.
    for d in 0 1 2 3 4 5 6 7 8 9; do
        sleep 1
        ovs_wait_cond && return 0
    done
    return 1
}

# Prints the integers from $1 to $2, increasing by $3 (default 1) on stdout.
seq () {
    while test $1 -le $2; do
        echo $1
        set `expr $1 + ${3-1}` $2 $3
    done
}

if test "$IS_WIN32" = "yes"; then
    pwd () {
        command pwd -W "$@"
    }

    diff () {
        command diff --strip-trailing-cr "$@"
    }

    # tskill is more effective than taskkill but it isn't always installed.
    if (tskill //?) >/dev/null 2>&1; then :; else
        tskill () { taskkill //F //PID $1 >/dev/null; }
    fi

    kill () {
        signal=
        retval=0
        for arg; do
            case $arg in
            -*) signal=$arg ;;
            [1-9][0-9]*)
                # tasklist always returns 0.
                # If pid does exist, there will be a line with the pid.
                if tasklist //fi "PID eq $arg" | grep $arg >/dev/null; then
                    if test "X$signal" != "X-0"; then
                        tskill $arg
                    fi
                else
                    retval=1
                fi
                ;;
            esac
        done
        return $retval
    }
fi

# parent_pid PID
#
# Prints the PID of the parent of process PID.
parent_pid () {
    # Using "ps" is portable to any POSIX system, but busybox "ps" (used in
    # 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
        sed -n 's/^PPid:	\([0-9]*\)/\1/p' /proc/$1/status
    else
        ps -o ppid= -p $1
    fi
}

# kill_ovs_vswitchd [PID]
#
# Signal the ovs-vswitchd daemon to exit gracefully and wait for it to
# terminate or kill it if that takes too long.
#
# It is used to cleanup all sorts of tests and results. It can't assume
# any state, including the availability of PID file which can be provided.
kill_ovs_vswitchd () {
    # Use provided PID or save the current PID if available.
    TMPPID=$1
    if test -z "$TMPPID"; then
        TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid 2>/dev/null)
    fi

    # Tell the daemon to terminate gracefully
    ovs-appctl --timeout=10 -t ovs-vswitchd exit --cleanup 2>/dev/null

    # Nothing else to be done if there is no PID
    test -z "$TMPPID" && return

    for i in 1 2 3 4 5 6 7 8 9; do
        # Check if the daemon is alive.
        kill -0 $TMPPID 2>/dev/null || return

        # Fallback to whole number since POSIX doesn't require
        # fractional times to work.
        sleep 0.1 || sleep 1
    done

    # Make sure it is terminated.
    kill $TMPPID
}

# Normalize the output of 'wc' to match POSIX.
# POSIX says 'wc' should print "%d %d %d", but GNU prints "%7d %7d %7d".
# POSIX says 'wc -l' should print "%d %s", but BSD prints "%8d".
#
# This fixes all of those (it will screw up filenames that contain
# multiple sequential spaces, but that doesn't really matter).
wc () {
   command wc "$@" | tr -s ' ' ' ' | sed 's/^ *//'
}

on_exit () {
    (echo "$1"; cat cleanup) > cleanup.tmp
    mv cleanup.tmp cleanup
}



# Strips out uninteresting parts of ovs-ofctl output, as well as parts
# that vary from one run to another.
ofctl_strip () {
    sed '
s/ (xid=0x[0-9a-fA-F]*)//
s/ duration=[0-9.]*s,//
s/ cookie=0x0,//
s/ table=0,//
s/ n_packets=0,//
s/ n_bytes=0,//
s/ idle_age=[0-9]*,//
s/ hard_age=[0-9]*,//
s/dp_hash=0x[0-9a-f]*\//dp_hash=0x0\//
s/recirc_id=0x[0-9a-f]*,/recirc_id=0x0,/
s/[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9]Z|//
s/dir\/[0-9]*\/br0.mgmt/dir\/XXXX\/br0.mgmt/
'
}

# Filter (multiline) vconn debug messages from ovs-vswitchd.log.
# Use with vconn_sub() and ofctl_strip()
print_vconn_debug () { awk -F\| < ovs-vswitchd.log '
BEGIN { prt=0 }
/\|vconn\|DBG\|/ { sub(/[ \t]*$/, ""); print $3 "|" $4 "|" $5; prt=1; next }
$4 != "" { prt=0; next }
prt==1 { sub(/[ \t]*$/, ""); print $0 }
'
}

vconn_sub() {
    sed '
s/tcp:127.0.0.1:[0-9][0-9]*:/unix:/
'
}


# PARSE_LISTENING_PORT LOGFILE VARIABLE
#
# Parses the TCP or SSL port on which a server is listening from
# LOGFILE, given that the server was told to listen on a kernel-chosen
# port, and assigns the port number to shell VARIABLE.  You should
# specify the listening remote as ptcp:0:127.0.0.1 or
# pssl:0:127.0.0.1, or the equivalent with [::1] instead of 127.0.0.1.
#
# Here's an example of how to use this with ovsdb-server:
#
#    ovsdb-server --log-file --remote=ptcp:0:127.0.0.1 ...
#    PARSE_LISTENING_PORT([ovsdb-server.log], [TCP_PORT])
#    # Now $TCP_PORT holds the listening port.


start_daemon () {
    "$@" -vconsole:off --detach --no-chdir --pidfile --log-file
    pid=`cat "$OVS_RUNDIR"/$1.pid`
    on_exit "kill $pid"
}

# sim_add SANDBOX
#
# Starts a new simulated Open vSwitch instance named SANDBOX.  Files related to
# the instance, such as logs, databases, sockets, and pidfiles, are created in
# a subdirectory of the main test directory also named SANDBOX.  Afterward, the
# "as" command (see below) can be used to run Open vSwitch utilities in the
# context of the new sandbox.
#
# The new sandbox starts out without any bridges.  Use ovs-vsctl in the context
# of the new sandbox to create a bridge, e.g.:
#
#     sim_add hv0           # Create sandbox hv0.
#     as hv0                # Set hv0 as default sandbox.
#     ovs-vsctl add-br br0  # Add bridge br0 inside hv0.
#
# or:
#
#     sim_add hv0
#     as hv0 ovs-vsctl add-br br0
sims=
sim_add () {
   echo "adding simulator '$1'"

   sims="$sims $1"

   # Create sandbox.
   local d="$ovs_base"/$1
   mkdir "$d" || return 1
   ovs_setenv $1

   # Create database and start ovsdb-server.
   : > "$d"/.conf.db.~lock~
   as $1 ovsdb-tool create "$d"/conf.db "$abs_top_srcdir"/vswitchd/vswitch.ovsschema || return 1
   as $1 start_daemon ovsdb-server --remote=punix:"$d"/db.sock || return 1

   # Initialize database.
   as $1 ovs-vsctl --no-wait -- init || return 1

   # Start ovs-vswitchd
   as $1 start_daemon ovs-vswitchd --enable-dummy=system -vvconn -vofproto_dpif -vunixctl
}

# "as $1" sets the OVS_*DIR environment variables to point to $ovs_base/$1.
#
# "as $1 COMMAND..." sets those variables in a subshell and invokes COMMAND
# there.
as() {
    if test "X$2" != X; then
        (ovs_setenv $1; shift; "$@")
    else
        ovs_setenv $1
    fi
}

# OVN_CLEANUP_VSWITCH(sim)
#
# Gracefully terminate vswitch daemons in the
# specified sandbox.


# OVN_CLEANUP_SBOX(sbox)
#
# Gracefully terminate OVN daemons in the specified
# sandbox instance. The sandbox name "vtep" is treated
# as a special case, and is assumed to have ovn-controller-vtep
# and ovs-vtep daemons running instead of ovn-controller.


# OVN_CLEANUP(sim [, sim ...])
#
# Gracefully terminate all OVN daemons, including those in the
# specified sandbox instances.


# ovn_init_db DATABASE
#
# Creates and initializes the given DATABASE (one of "ovn-sb" or "ovn-nb"),
# starts its ovsdb-server instance, and sets the appropriate environment
# variable (OVN_SB_DB or OVN_NB_DB) so that ovn-sbctl or ovn-nbctl uses the
# database by default.
#
# Usually invoked from ovn_start.
ovn_init_db () {
    echo "creating $1 database"
    local d=$ovs_base/$1
    mkdir "$d" || return 1
    : > "$d"/.$1.db.~lock~
    as $1 ovsdb-tool create "$d"/$1.db "$abs_top_srcdir"/ovn/$1.ovsschema
    as $1 start_daemon ovsdb-server --remote=punix:"$d"/$1.sock "$d"/$1.db
    local var=`echo $1_db | tr a-z- A-Z_`
    eval "$var=unix:\$ovs_base/\$1/\$1.sock"; export $var
}

# ovn_start
#
# Creates and initializes ovn-sb and ovn-nb databases and starts their
# ovsdb-server instance, sets appropriate environment variables so that
# ovn-sbctl and ovn-nbctl use them by default, and starts ovn-northd running
# against them.
ovn_start () {
    ovn_init_db ovn-sb; ovn-sbctl init
    ovn_init_db ovn-nb; ovn-nbctl init

    echo "starting ovn-northd"
    mkdir "$ovs_base"/northd
    as northd start_daemon ovn-northd \
               --ovnnb-db=unix:"$ovs_base"/ovn-nb/ovn-nb.sock \
               --ovnsb-db=unix:"$ovs_base"/ovn-sb/ovn-sb.sock

    echo "starting backup ovn-northd"
    mkdir "$ovs_base"/northd-backup
    as northd-backup start_daemon ovn-northd \
               --ovnnb-db=unix:"$ovs_base"/ovn-nb/ovn-nb.sock \
               --ovnsb-db=unix:"$ovs_base"/ovn-sb/ovn-sb.sock
}

# Interconnection networks.
#
# When multiple sandboxed Open vSwitch instances exist, one will inevitably
# want to connect them together.  These commands allow for that.  Conceptually,
# an interconnection network is a switch for which these functions make it easy
# to plug into other switches in other sandboxed Open vSwitch instances.
# Interconnection networks are implemented as bridges in a switch named "main",
# so to use interconnection networks please avoid working with that switch
# directly.

# net_add NETWORK
#
# Creates a new interconnection network named NETWORK.
net_add () {
    test -d "$ovs_base"/main || sim_add main || return 1
    as main ovs-vsctl add-br "$1"
}

# net_attach NETWORK BRIDGE
#
# Adds a new port to BRIDGE in the default sandbox (as set with as()) and plugs
# it into the NETWORK interconnection network.  NETWORK must already have been
# created by a previous invocation of net_add.  The default sandbox must not be
# "main".
net_attach () {
    local net=$1 bridge=$2

    local port=${sandbox}_$bridge
    as main ovs-vsctl \
        -- add-port $net $port \
        -- set Interface $port options:pstream="punix:$ovs_base/main/$port.sock" options:rxq_pcap="$ovs_base/main/$port-rx.pcap" options:tx_pcap="$ovs_base/main/$port-tx.pcap" \
        || return 1

    ovs-vsctl \
        -- set Interface $bridge options:tx_pcap="$ovs_base/$sandbox/$bridge-tx.pcap" options:rxq_pcap="$ovs_base/$sandbox/$bridge-rx.pcap" \
        -- add-port $bridge ${bridge}_$net \
        -- set Interface ${bridge}_$net options:stream="unix:$ovs_base/main/$port.sock" options:rxq_pcap="$ovs_base/$sandbox/${bridge}_$net-rx.pcap" options:tx_pcap="$ovs_base/$sandbox/${bridge}_$net-tx.pcap" \
        || return 1
}

# ovn_attach NETWORK BRIDGE IP [MASKLEN]
#
# First, this command attaches BRIDGE to interconnection network NETWORK, just
# like "net_attach NETWORK BRIDGE".  Second, it configures (simulated) IP
# address IP (with network mask length MASKLEN, which defaults to 24) on
# BRIDGE.  Finally, it configures the Open vSwitch database to work with OVN
# and starts ovn-controller.
ovn_attach() {
    local net=$1 bridge=$2 ip=$3 masklen=${4-24}
    net_attach $net $bridge || return 1

    mac=`ovs-vsctl get Interface $bridge mac_in_use | sed s/\"//g`
    arp_table="$arp_table $sandbox,$bridge,$ip,$mac"
    ovs-appctl netdev-dummy/ip4addr $bridge $ip/$masklen >/dev/null || return 1
    ovs-appctl ovs/route/add $ip/$masklen $bridge >/dev/null || return 1
    ovs-vsctl \
        -- set Open_vSwitch . external-ids:system-id=$sandbox \
        -- set Open_vSwitch . external-ids:ovn-remote=unix:$ovs_base/ovn-sb/ovn-sb.sock \
        -- set Open_vSwitch . external-ids:ovn-encap-type=geneve,vxlan \
        -- set Open_vSwitch . external-ids:ovn-encap-ip=$ip \
        -- add-br br-int \
        -- set bridge br-int fail-mode=secure other-config:disable-in-band=true \
        || return 1
    start_daemon ovn-controller || return 1
}

# ovn_populate_arp
#
# This pre-populates the ARP tables of all of the OVN instances that have been
# started with ovn_attach().  That means that packets sent from one hypervisor
# to another never get dropped or delayed by ARP resolution, which makes
# testing easier.
ovn_populate_arp() {
    for e1 in $arp_table; do
        set `echo $e1 | sed 's/,/ /g'`; sb1=$1 br1=$2 ip=$3 mac=$4
        for e2 in $arp_table; do
            set `echo $e2 | sed 's/,/ /g'`; sb2=$1 br2=$2
            if test $sb1,$br1 != $sb2,$br2; then
                as $sb2 ovs-appctl tnl/neigh/set $br2 $ip $mac
            fi
        done
    done
}

# Strips 'xid=0x1234' from ovs-ofctl output.
strip_xids () {
    sed 's/ (xid=0x[0-9a-fA-F]*)//'
}

# Changes all 'used:...' to say 'used:0.0', to make output easier to compare.
strip_used () {
    sed 's/used:[0-9]\.[0-9]*/used:0.0/'
}

# Strips 'ufid:...' from output, to make it easier to compare.
# (ufids are random.)
strip_ufid () {
    sed 's/ufid:[-0-9a-f]* //'
}

check_logs () {
    local logs
    for log in *.log; do
        case ${log} in # (
            '*.log'|testsuite.log) ;; # (
            *) logs="${logs} ${log}" ;;
        esac
    done

    sed -n "$1
/timeval.*Unreasonably long [0-9]*ms poll interval/d
/timeval.*faults: [0-9]* minor, [0-9]* major/d
/timeval.*disk: [0-9]* reads, [0-9]* writes/d
/timeval.*context switches: [0-9]* voluntary, [0-9]* involuntary/d
/ovs_rcu.*blocked [0-9]* ms waiting for .* to quiesce/d
/|WARN|/p
/|ERR|/p
/|EMER|/p" ${logs}
}

# add_of_br BRNUM [ARG...]
add_of_br () {
    local brnum=$1; shift
    local br=br$brnum
    local dpid=fedcba987654321$brnum
    local mac=aa:55:aa:55:00:0$brnum
    ovs-vsctl --timeout=20 \
        -- add-br $br \
	-- set bridge $br datapath-type=dummy \
			  fail-mode=secure \
			  other-config:datapath-id=$dpid \
			  other-config:hwaddr=$mac \
			  protocols="[OpenFlow10,OpenFlow11,OpenFlow12,\
                                       OpenFlow13,OpenFlow14,OpenFlow15,\
                                       OpenFlow16]" \
        -- "$@"
}

# add_of_ports__ PORT_TYPE [--pcap] BRIDGE PNUM...
#
# Creates PORT_TYPE interfaces in BRIDGE named pPNUM, OpenFlow port number
# PNUM, and datapath port number PNUM (the latter is a consequence of
# the dummy implementation, which tries to assign datapath port
# numbers based on port names).
#
# If --pcap is supplied then packets received from the interface will
# be written to $port-rx.pcap and those sent to it to $port-tx.pcap.
add_of_ports__ () {
    local args
    local pcap=false
    local ptype=$1
    shift
    if test "$1" = --pcap; then
        pcap=:
    shift
    fi
    local br=$1; shift
    for pnum; do
        as_fn_append args " -- add-port $br p$pnum -- set Interface p$pnum type=$ptype ofport_request=$pnum"
    if $pcap; then
        as_fn_append args " -- set Interface p$pnum options:rxq_pcap=p$pnum-rx.pcap options:tx_pcap=p$pnum-tx.pcap"
    fi
    done
    echo ovs-vsctl $args
    ovs-vsctl $args
}

# add_of_ports [--pcap] BRIDGE PNUM...
#
add_of_ports () {
    add_of_ports__ dummy $@
}

# add_pmd_of_ports [--pcap] BRIDGE PNUM...
#
add_pmd_of_ports () {
    add_of_ports__ dummy-pmd $@
}


# Create the master directory if it doesn't already exist.
as_dir="$at_suite_dir"; as_fn_mkdir_p ||
  as_fn_error $? "cannot create \`$at_suite_dir'" "$LINENO" 5

# Can we diff with `/dev/null'?  DU 5.0 refuses.
if diff /dev/null /dev/null >/dev/null 2>&1; then
  at_devnull=/dev/null
else
  at_devnull=$at_suite_dir/devnull
  >"$at_devnull"
fi

# Use `diff -u' when possible.
if at_diff=`diff -u "$at_devnull" "$at_devnull" 2>&1` && test -z "$at_diff"
then
  at_diff='diff -u'
else
  at_diff=diff
fi

# Get the last needed group.
for at_group in : $at_groups; do :; done

# Extract the start and end lines of each test group at the tail
# of this file
awk '
BEGIN { FS="" }
/^#AT_START_/ {
  start = NR
}
/^#AT_STOP_/ {
  test = substr ($ 0, 10)
  print "at_sed" test "=\"1," start "d;" (NR-1) "q\""
  if (test == "'"$at_group"'") exit
}' "$at_myself" > "$at_suite_dir/at-source-lines" &&
. "$at_suite_dir/at-source-lines" ||
  as_fn_error $? "cannot create test line number cache" "$LINENO" 5
rm -f "$at_suite_dir/at-source-lines"

# Set number of jobs for `-j'; avoid more jobs than test groups.
set X $at_groups; shift; at_max_jobs=$#
if test $at_max_jobs -eq 0; then
  at_jobs=1
fi
if test $at_jobs -ne 1 &&
   { test $at_jobs -eq 0 || test $at_jobs -gt $at_max_jobs; }; then
  at_jobs=$at_max_jobs
fi

# If parallel mode, don't output banners, don't split summary lines.
if test $at_jobs -ne 1; then
  at_print_banners=false
  at_quiet=:
fi

# Set up helper dirs.
rm -rf "$at_helper_dir" &&
mkdir "$at_helper_dir" &&
cd "$at_helper_dir" &&
{ test -z "$at_groups" || mkdir $at_groups; } ||
as_fn_error $? "testsuite directory setup failed" "$LINENO" 5

# Functions for running a test group.  We leave the actual
# test group execution outside of a shell function in order
# to avoid hitting zsh 4.x exit status bugs.

# at_fn_group_prepare
# -------------------
# Prepare for running a test group.
at_fn_group_prepare ()
{
  # The directory for additional per-group helper files.
  at_job_dir=$at_helper_dir/$at_group
  # The file containing the location of the last AT_CHECK.
  at_check_line_file=$at_job_dir/check-line
  # The file containing the exit status of the last command.
  at_status_file=$at_job_dir/status
  # The files containing the output of the tested commands.
  at_stdout=$at_job_dir/stdout
  at_stder1=$at_job_dir/stder1
  at_stderr=$at_job_dir/stderr
  # The file containing the code for a test group.
  at_test_source=$at_job_dir/test-source
  # The file containing dates.
  at_times_file=$at_job_dir/times

  # Be sure to come back to the top test directory.
  cd "$at_suite_dir"

  # Clearly separate the test groups when verbose.
  $at_first || $at_verbose echo

  at_group_normalized=$at_group

  eval 'while :; do
    case $at_group_normalized in #(
    '"$at_format"'*) break;;
    esac
    at_group_normalized=0$at_group_normalized
  done'


  # Create a fresh directory for the next test group, and enter.
  # If one already exists, the user may have invoked ./run from
  # within that directory; we remove the contents, but not the
  # directory itself, so that we aren't pulling the rug out from
  # under the shell's notion of the current directory.
  at_group_dir=$at_suite_dir/$at_group_normalized
  at_group_log=$at_group_dir/$as_me.log
  if test -d "$at_group_dir"; then
  find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx {} \;
  rm -fr "$at_group_dir"/* "$at_group_dir"/.[!.] "$at_group_dir"/.??*
fi ||
    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: test directory for $at_group_normalized could not be cleaned" >&5
$as_echo "$as_me: WARNING: test directory for $at_group_normalized could not be cleaned" >&2;}
  # Be tolerant if the above `rm' was not able to remove the directory.
  as_dir="$at_group_dir"; as_fn_mkdir_p

  echo 0 > "$at_status_file"

  # In verbose mode, append to the log file *and* show on
  # the standard output; in quiet mode only write to the log.
  if test -z "$at_verbose"; then
    at_tee_pipe='tee -a "$at_group_log"'
  else
    at_tee_pipe='cat >> "$at_group_log"'
  fi
}

# at_fn_group_banner ORDINAL LINE DESC PAD [BANNER]
# -------------------------------------------------
# Declare the test group ORDINAL, located at LINE with group description DESC,
# and residing under BANNER. Use PAD to align the status column.
at_fn_group_banner ()
{
  at_setup_line="$2"
  test -n "$5" && at_fn_banner $5
  at_desc="$3"
  case $1 in
    [0-9])      at_desc_line="  $1: ";;
    [0-9][0-9]) at_desc_line=" $1: " ;;
    *)          at_desc_line="$1: "  ;;
  esac
  as_fn_append at_desc_line "$3$4"
  $at_quiet $as_echo_n "$at_desc_line"
  echo "#                             -*- compilation -*-" >> "$at_group_log"
}

# at_fn_group_postprocess
# -----------------------
# Perform cleanup after running a test group.
at_fn_group_postprocess ()
{
  # Be sure to come back to the suite directory, in particular
  # since below we might `rm' the group directory we are in currently.
  cd "$at_suite_dir"

  if test ! -f "$at_check_line_file"; then
    sed "s/^ */$as_me: WARNING: /" <<_ATEOF
      A failure happened in a test group before any test could be
      run. This means that test suite is improperly designed.  Please
      report this failure to <bugs@openvswitch.org>.
_ATEOF
    $as_echo "$at_setup_line" >"$at_check_line_file"
    at_status=99
  fi
  $at_verbose $as_echo_n "$at_group. $at_setup_line: "
  $as_echo_n "$at_group. $at_setup_line: " >> "$at_group_log"
  case $at_xfail:$at_status in
    yes:0)
	at_msg="UNEXPECTED PASS"
	at_res=xpass
	at_errexit=$at_errexit_p
	at_color=$at_red
	;;
    no:0)
	at_msg="ok"
	at_res=pass
	at_errexit=false
	at_color=$at_grn
	;;
    *:77)
	at_msg='skipped ('`cat "$at_check_line_file"`')'
	at_res=skip
	at_errexit=false
	at_color=$at_blu
	;;
    no:* | *:99)
	at_msg='FAILED ('`cat "$at_check_line_file"`')'
	at_res=fail
	at_errexit=$at_errexit_p
	at_color=$at_red
	;;
    yes:*)
	at_msg='expected failure ('`cat "$at_check_line_file"`')'
	at_res=xfail
	at_errexit=false
	at_color=$at_lgn
	;;
  esac
  echo "$at_res" > "$at_job_dir/$at_res"
  # In parallel mode, output the summary line only afterwards.
  if test $at_jobs -ne 1 && test -n "$at_verbose"; then
    $as_echo "$at_desc_line $at_color$at_msg$at_std"
  else
    # Make sure there is a separator even with long titles.
    $as_echo " $at_color$at_msg$at_std"
  fi
  at_log_msg="$at_group. $at_desc ($at_setup_line): $at_msg"
  case $at_status in
    0|77)
      # $at_times_file is only available if the group succeeded.
      # We're not including the group log, so the success message
      # is written in the global log separately.  But we also
      # write to the group log in case they're using -d.
      if test -f "$at_times_file"; then
	at_log_msg="$at_log_msg     ("`sed 1d "$at_times_file"`')'
	rm -f "$at_times_file"
      fi
      $as_echo "$at_log_msg" >> "$at_group_log"
      $as_echo "$at_log_msg" >&5

      # Cleanup the group directory, unless the user wants the files
      # or the success was unexpected.
      if $at_debug_p || test $at_res = xpass; then
	at_fn_create_debugging_script
	if test $at_res = xpass && $at_errexit; then
	  echo stop > "$at_stop_file"
	fi
      else
	if test -d "$at_group_dir"; then
	  find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \;
	  rm -fr "$at_group_dir"
	fi
	rm -f "$at_test_source"
      fi
      ;;
    *)
      # Upon failure, include the log into the testsuite's global
      # log.  The failure message is written in the group log.  It
      # is later included in the global log.
      $as_echo "$at_log_msg" >> "$at_group_log"

      # Upon failure, keep the group directory for autopsy, and create
      # the debugging script.  With -e, do not start any further tests.
      at_fn_create_debugging_script
      if $at_errexit; then
	echo stop > "$at_stop_file"
      fi
      ;;
  esac
}


## ------------ ##
## Driver loop. ##
## ------------ ##


if (set -m && set +m && set +b) >/dev/null 2>&1; then
  set +b
  at_job_control_on='set -m' at_job_control_off='set +m' at_job_group=-
else
  at_job_control_on=: at_job_control_off=: at_job_group=
fi

for at_signal in 1 2 15; do
  trap 'set +x; set +e
	$at_job_control_off
	at_signal='"$at_signal"'
	echo stop > "$at_stop_file"
	trap "" $at_signal
	at_pgids=
	for at_pgid in `jobs -p 2>/dev/null`; do
	  at_pgids="$at_pgids $at_job_group$at_pgid"
	done
	test -z "$at_pgids" || kill -$at_signal $at_pgids 2>/dev/null
	wait
	if test "$at_jobs" -eq 1 || test -z "$at_verbose"; then
	  echo >&2
	fi
	at_signame=`kill -l $at_signal 2>&1 || echo $at_signal`
	set x $at_signame
	test 0 -gt 2 && at_signame=$at_signal
	{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: caught signal $at_signame, bailing out" >&5
$as_echo "$as_me: WARNING: caught signal $at_signame, bailing out" >&2;}
	as_fn_arith 128 + $at_signal && exit_status=$as_val
	as_fn_exit $exit_status' $at_signal
done

rm -f "$at_stop_file"
at_first=:

if test $at_jobs -ne 1 &&
     rm -f "$at_job_fifo" &&
     test -n "$at_job_group" &&
     ( mkfifo "$at_job_fifo" && trap 'exit 1' PIPE STOP TSTP ) 2>/dev/null
then
  # FIFO job dispatcher.

  trap 'at_pids=
	for at_pid in `jobs -p`; do
	  at_pids="$at_pids $at_job_group$at_pid"
	done
	if test -n "$at_pids"; then
	  at_sig=TSTP
	  test "${TMOUT+set}" = set && at_sig=STOP
	  kill -$at_sig $at_pids 2>/dev/null
	fi
	kill -STOP $$
	test -z "$at_pids" || kill -CONT $at_pids 2>/dev/null' TSTP

  echo
  # Turn jobs into a list of numbers, starting from 1.
  at_joblist=`$as_echo "$at_groups" | sed -n 1,${at_jobs}p`

  set X $at_joblist
  shift
  for at_group in $at_groups; do
    $at_job_control_on 2>/dev/null
    (
      # Start one test group.
      $at_job_control_off
      if $at_first; then
	exec 7>"$at_job_fifo"
      else
	exec 6<&-
      fi
      trap 'set +x; set +e
	    trap "" PIPE
	    echo stop > "$at_stop_file"
	    echo >&7
	    as_fn_exit 141' PIPE
      at_fn_group_prepare
      if cd "$at_group_dir" &&
	 at_fn_test $at_group &&
	 . "$at_test_source"
      then :; else
	{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to parse test group: $at_group" >&5
$as_echo "$as_me: WARNING: unable to parse test group: $at_group" >&2;}
	at_failed=:
      fi
      at_fn_group_postprocess
      echo >&7
    ) &
    $at_job_control_off
    if $at_first; then
      at_first=false
      exec 6<"$at_job_fifo" 7>"$at_job_fifo"
    fi
    shift # Consume one token.
    if test $# -gt 0; then :; else
      read at_token <&6 || break
      set x $*
    fi
    test -f "$at_stop_file" && break
  done
  exec 7>&-
  # Read back the remaining ($at_jobs - 1) tokens.
  set X $at_joblist
  shift
  if test $# -gt 0; then
    shift
    for at_job
    do
      read at_token
    done <&6
  fi
  exec 6<&-
  wait
else
  # Run serially, avoid forks and other potential surprises.
  for at_group in $at_groups; do
    at_fn_group_prepare
    if cd "$at_group_dir" &&
       at_fn_test $at_group &&
       . "$at_test_source"; then :; else
      { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to parse test group: $at_group" >&5
$as_echo "$as_me: WARNING: unable to parse test group: $at_group" >&2;}
      at_failed=:
    fi
    at_fn_group_postprocess
    test -f "$at_stop_file" && break
    at_first=false
  done
fi

# Wrap up the test suite with summary statistics.
cd "$at_helper_dir"

# Use ?..???? when the list must remain sorted, the faster * otherwise.
at_pass_list=`for f in */pass; do echo $f; done | sed '/\*/d; s,/pass,,'`
at_skip_list=`for f in */skip; do echo $f; done | sed '/\*/d; s,/skip,,'`
at_xfail_list=`for f in */xfail; do echo $f; done | sed '/\*/d; s,/xfail,,'`
at_xpass_list=`for f in ?/xpass ??/xpass ???/xpass ????/xpass; do
		 echo $f; done | sed '/?/d; s,/xpass,,'`
at_fail_list=`for f in ?/fail ??/fail ???/fail ????/fail; do
		echo $f; done | sed '/?/d; s,/fail,,'`

set X $at_pass_list $at_xpass_list $at_xfail_list $at_fail_list $at_skip_list
shift; at_group_count=$#
set X $at_xpass_list; shift; at_xpass_count=$#; at_xpass_list=$*
set X $at_xfail_list; shift; at_xfail_count=$#
set X $at_fail_list; shift; at_fail_count=$#; at_fail_list=$*
set X $at_skip_list; shift; at_skip_count=$#

as_fn_arith $at_group_count - $at_skip_count && at_run_count=$as_val
as_fn_arith $at_xpass_count + $at_fail_count && at_unexpected_count=$as_val
as_fn_arith $at_xfail_count + $at_fail_count && at_total_fail_count=$as_val

# Back to the top directory.
cd "$at_dir"
rm -rf "$at_helper_dir"

# Compute the duration of the suite.
at_stop_date=`date`
at_stop_time=`date +%s 2>/dev/null`
$as_echo "$as_me: ending at: $at_stop_date" >&5
case $at_start_time,$at_stop_time in
  [0-9]*,[0-9]*)
    as_fn_arith $at_stop_time - $at_start_time && at_duration_s=$as_val
    as_fn_arith $at_duration_s / 60 && at_duration_m=$as_val
    as_fn_arith $at_duration_m / 60 && at_duration_h=$as_val
    as_fn_arith $at_duration_s % 60 && at_duration_s=$as_val
    as_fn_arith $at_duration_m % 60 && at_duration_m=$as_val
    at_duration="${at_duration_h}h ${at_duration_m}m ${at_duration_s}s"
    $as_echo "$as_me: test suite duration: $at_duration" >&5
    ;;
esac

echo
$as_echo "## ------------- ##
## Test results. ##
## ------------- ##"
echo
{
  echo
  $as_echo "## ------------- ##
## Test results. ##
## ------------- ##"
  echo
} >&5

if test $at_run_count = 1; then
  at_result="1 test"
  at_were=was
else
  at_result="$at_run_count tests"
  at_were=were
fi
if $at_errexit_p && test $at_unexpected_count != 0; then
  if test $at_xpass_count = 1; then
    at_result="$at_result $at_were run, one passed"
  else
    at_result="$at_result $at_were run, one failed"
  fi
  at_result="$at_result unexpectedly and inhibited subsequent tests."
  at_color=$at_red
else
  # Don't you just love exponential explosion of the number of cases?
  at_color=$at_red
  case $at_xpass_count:$at_fail_count:$at_xfail_count in
    # So far, so good.
    0:0:0) at_result="$at_result $at_were successful." at_color=$at_grn ;;
    0:0:*) at_result="$at_result behaved as expected." at_color=$at_lgn ;;

    # Some unexpected failures
    0:*:0) at_result="$at_result $at_were run,
$at_fail_count failed unexpectedly." ;;

    # Some failures, both expected and unexpected
    0:*:1) at_result="$at_result $at_were run,
$at_total_fail_count failed ($at_xfail_count expected failure)." ;;
    0:*:*) at_result="$at_result $at_were run,
$at_total_fail_count failed ($at_xfail_count expected failures)." ;;

    # No unexpected failures, but some xpasses
    *:0:*) at_result="$at_result $at_were run,
$at_xpass_count passed unexpectedly." ;;

    # No expected failures, but failures and xpasses
    *:1:0) at_result="$at_result $at_were run,
$at_unexpected_count did not behave as expected ($at_fail_count unexpected failure)." ;;
    *:*:0) at_result="$at_result $at_were run,
$at_unexpected_count did not behave as expected ($at_fail_count unexpected failures)." ;;

    # All of them.
    *:*:1) at_result="$at_result $at_were run,
$at_xpass_count passed unexpectedly,
$at_total_fail_count failed ($at_xfail_count expected failure)." ;;
    *:*:*) at_result="$at_result $at_were run,
$at_xpass_count passed unexpectedly,
$at_total_fail_count failed ($at_xfail_count expected failures)." ;;
  esac

  if test $at_skip_count = 0 && test $at_run_count -gt 1; then
    at_result="All $at_result"
  fi
fi

# Now put skips in the mix.
case $at_skip_count in
  0) ;;
  1) at_result="$at_result
1 test was skipped." ;;
  *) at_result="$at_result
$at_skip_count tests were skipped." ;;
esac

if test $at_unexpected_count = 0; then
  echo "$at_color$at_result$at_std"
  echo "$at_result" >&5
else
  echo "${at_color}ERROR: $at_result$at_std" >&2
  echo "ERROR: $at_result" >&5
  {
    echo
    $as_echo "## ------------------------ ##
## Summary of the failures. ##
## ------------------------ ##"

    # Summary of failed and skipped tests.
    if test $at_fail_count != 0; then
      echo "Failed tests:"
      $SHELL "$at_myself" $at_fail_list --list
      echo
    fi
    if test $at_skip_count != 0; then
      echo "Skipped tests:"
      $SHELL "$at_myself" $at_skip_list --list
      echo
    fi
    if test $at_xpass_count != 0; then
      echo "Unexpected passes:"
      $SHELL "$at_myself" $at_xpass_list --list
      echo
    fi
    if test $at_fail_count != 0; then
      $as_echo "## ---------------------- ##
## Detailed failed tests. ##
## ---------------------- ##"
      echo
      for at_group in $at_fail_list
      do
	at_group_normalized=$at_group

  eval 'while :; do
    case $at_group_normalized in #(
    '"$at_format"'*) break;;
    esac
    at_group_normalized=0$at_group_normalized
  done'

	cat "$at_suite_dir/$at_group_normalized/$as_me.log"
	echo
      done
      echo
    fi
    if test -n "$at_top_srcdir"; then
      sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
## ${at_top_build_prefix}config.log ##
_ASBOX
      sed 's/^/| /' ${at_top_build_prefix}config.log
      echo
    fi
  } >&5

  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
## $as_me.log was created. ##
_ASBOX

  echo
  if $at_debug_p; then
    at_msg='per-test log files'
  else
    at_msg="\`${at_testdir+${at_testdir}/}$as_me.log'"
  fi
  $as_echo "Please send $at_msg and all information you think might help:

   To: <bugs@openvswitch.org>
   Subject: [openvswitch 2.8.0] $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
be found below \`${at_testdir+${at_testdir}/}$as_me.dir'.
"
  exit 1
fi

exit 0

## ------------- ##
## Actual tests. ##
## ------------- ##
#AT_START_1
at_fn_group_banner 1 'system-traffic.at:3' \
  "datapath - ping between two ports" "              " 1
at_xfail=no
(
  $as_echo "1. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:4" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:4"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:4: 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-traffic.at:4"
( $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-traffic.at:4"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:4: 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-traffic.at:4"
( $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-traffic.at:4"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:4: 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-traffic.at:4"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:4"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:4: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:4"
( $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-traffic.at:4"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:4: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:4"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:4"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:4: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:4"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:4" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:4"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:4: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:4"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:4"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:6: ovs-ofctl add-flow br0 \"actions=normal\""
at_fn_check_prepare_trace "system-traffic.at:6"
( $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-traffic.at:6"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:8: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:8"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:8"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:8: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:8"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:8"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:10: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:10"
( $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-traffic.at:10"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:10: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:10"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:10"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:10: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:10"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:10"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:10: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:10"
( $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-traffic.at:10"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:10: 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-traffic.at:10"
( $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>&-
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:10"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:10: ip netns exec at_ns0 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-traffic.at:10"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:10"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:10: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:10"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:10"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:10: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:10"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:10"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:10: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:10"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:10"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:11: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:11"
( $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-traffic.at:11"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:11: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:11"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:11"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:11: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:11"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:11"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:11: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:11"
( $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-traffic.at:11"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:11: 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-traffic.at:11"
( $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>&-
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:11"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:11: ip netns exec at_ns1 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-traffic.at:11"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:11"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:11: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:11"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:11"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:11: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:11"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:11"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:11: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:11"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:11"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



 { set +x
$as_echo "$at_srcdir/system-traffic.at:13: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.1.1.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:13"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.1.1.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:13"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:16: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 1600 -q -c 3 -i 0.3 -w 2 10.1.1.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:16"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 1600 -q -c 3 -i 0.3 -w 2 10.1.1.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:16"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:19: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 3200 -q -c 3 -i 0.3 -w 2 10.1.1.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:19"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 3200 -q -c 3 -i 0.3 -w 2 10.1.1.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:19"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:23: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:23"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:23"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:23: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:23"
( $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-traffic.at:23"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:23: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:23"
( $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-traffic.at:23"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:23" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:23"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:23: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:23"
( $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-traffic.at:23"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:23: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:23"
( $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-traffic.at:23"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:23" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:23"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:23: :; "
at_fn_check_prepare_trace "system-traffic.at:23"
( $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-traffic.at:23"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1
#AT_START_2
at_fn_group_banner 2 'system-traffic.at:26' \
  "datapath - http between two ports" "              " 1
at_xfail=no
(
  $as_echo "2. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:27" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:27"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:27: 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-traffic.at:27"
( $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-traffic.at:27"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:27: 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-traffic.at:27"
( $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-traffic.at:27"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:27: 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-traffic.at:27"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:27"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:27: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:27"
( $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-traffic.at:27"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:27: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:27"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:27"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:27: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:27"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:27"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:27" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:27"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:27: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:27"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:27"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:29: ovs-ofctl add-flow br0 \"actions=normal\""
at_fn_check_prepare_trace "system-traffic.at:29"
( $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-traffic.at:29"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:31: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:31"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:31"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:31: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:31"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:31"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:33: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:33"
( $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-traffic.at:33"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:33: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:33"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:33"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:33: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:33"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:33"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:33: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:33"
( $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-traffic.at:33"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:33: 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-traffic.at:33"
( $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>&-
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:33"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:33: ip netns exec at_ns0 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-traffic.at:33"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:33"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:33: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:33"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:33"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:33: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:33"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:33"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:33: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:33"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:33"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:34: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:34"
( $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-traffic.at:34"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:34: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:34"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:34"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:34: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:34"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:34"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:34: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:34"
( $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-traffic.at:34"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:34: 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-traffic.at:34"
( $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>&-
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:34"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:34: ip netns exec at_ns1 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-traffic.at:34"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:34"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:34: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:34"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:34"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:34: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:34"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:34"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:34: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:34"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:34"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



 { set +x
$as_echo "$at_srcdir/system-traffic.at:36: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.1.1.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:36"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.1.1.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:36"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec at_ns1 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:40" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:40"
fi



 { set +x
$as_echo "$at_srcdir/system-traffic.at:41: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:41"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
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:41"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:43: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:43"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:43"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:43: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:43"
( $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-traffic.at:43"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:43: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:43"
( $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-traffic.at:43"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:43" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:43"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:43: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:43"
( $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-traffic.at:43"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:43: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:43"
( $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-traffic.at:43"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:43" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:43"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:43: :; "
at_fn_check_prepare_trace "system-traffic.at:43"
( $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-traffic.at:43"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_2
#AT_START_3
at_fn_group_banner 3 'system-traffic.at:46' \
  "datapath - ping between two ports on vlan" "      " 1
at_xfail=no
(
  $as_echo "3. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:47" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:47"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:47: 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-traffic.at:47"
( $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-traffic.at:47"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:47: 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-traffic.at:47"
( $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-traffic.at:47"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:47: 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-traffic.at:47"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:47"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:47: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:47"
( $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-traffic.at:47"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:47: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:47"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:47"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:47: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:47"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:47"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:47" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:47"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:47: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:47"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:47"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:49: ovs-ofctl add-flow br0 \"actions=normal\""
at_fn_check_prepare_trace "system-traffic.at:49"
( $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-traffic.at:49"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:51: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:51"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:51"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:51: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:51"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:51"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:53: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:53"
( $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-traffic.at:53"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:53: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:53"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:53"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:53: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:53"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:53"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:53: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:53"
( $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-traffic.at:53"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:53: 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-traffic.at:53"
( $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>&-
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:53"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:53: ip netns exec at_ns0 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-traffic.at:53"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:53"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:53: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:53"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:53"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:53: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:53"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:53"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:53: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:53"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:53"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:54: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:54"
( $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-traffic.at:54"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:54: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:54"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:54"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:54: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:54"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:54"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:54: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:54"
( $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-traffic.at:54"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:54: 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-traffic.at:54"
( $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>&-
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:54"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:54: ip netns exec at_ns1 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-traffic.at:54"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:54"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:54: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:54"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:54"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:54: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:54"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:54"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:54: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:54"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:54"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



  { set +x
$as_echo "$at_srcdir/system-traffic.at:56: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add link p0 name p0.100 type vlan proto 802.1q id 100
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:56"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add link p0 name p0.100 type vlan proto 802.1q id 100
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:56"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:56: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0.100 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:56"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0.100 up
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:56"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:56: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev p0.100 \"10.2.2.1/24\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:56"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev p0.100 "10.2.2.1/24"
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:56"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




  { set +x
$as_echo "$at_srcdir/system-traffic.at:57: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link add link p1 name p1.100 type vlan proto 802.1q id 100
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:57"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link add link p1 name p1.100 type vlan proto 802.1q id 100
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:57"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:57: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1.100 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:57"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1.100 up
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:57"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:57: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add dev p1.100 \"10.2.2.2/24\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:57"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add dev p1.100 "10.2.2.2/24"
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:57"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }





 { set +x
$as_echo "$at_srcdir/system-traffic.at:59: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.2.2.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:59"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.2.2.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:59"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:62: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 1600 -q -c 3 -i 0.3 -w 2 10.2.2.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:62"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 1600 -q -c 3 -i 0.3 -w 2 10.2.2.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:62"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:65: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 3200 -q -c 3 -i 0.3 -w 2 10.2.2.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:65"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 3200 -q -c 3 -i 0.3 -w 2 10.2.2.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:65"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:69: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:69"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:69"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:69: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:69"
( $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-traffic.at:69"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:69: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:69"
( $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-traffic.at:69"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:69" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:69"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:69: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:69"
( $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-traffic.at:69"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:69: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:69"
( $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-traffic.at:69"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:69" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:69"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:69: :; "
at_fn_check_prepare_trace "system-traffic.at:69"
( $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-traffic.at:69"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_3
#AT_START_4
at_fn_group_banner 4 'system-traffic.at:72' \
  "datapath - ping between two ports on cvlan" "     " 1
at_xfail=no
(
  $as_echo "4. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:73" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:73"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:73: 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-traffic.at:73"
( $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-traffic.at:73"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:73: 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-traffic.at:73"
( $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-traffic.at:73"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:73: 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-traffic.at:73"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:73"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:73: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:73"
( $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-traffic.at:73"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:73: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:73"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:73"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:73: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:73"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:73"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:73" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:73"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:73: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:73"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:73"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:75: ovs-ofctl add-flow br0 \"actions=normal\""
at_fn_check_prepare_trace "system-traffic.at:75"
( $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-traffic.at:75"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:77: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:77"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:77"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:77: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:77"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:77"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:79: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:79"
( $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-traffic.at:79"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:79: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:79"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:79"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:79: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:79"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:79"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:79: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:79"
( $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-traffic.at:79"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:79: 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-traffic.at:79"
( $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>&-
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:79"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:79: ip netns exec at_ns0 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-traffic.at:79"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:79"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:79: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:79"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:79"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:79: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:79"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:79"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:79: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:79"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:79"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:80: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:80"
( $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-traffic.at:80"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:80: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:80"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:80"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:80: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:80"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:80"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:80: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:80"
( $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-traffic.at:80"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:80: 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-traffic.at:80"
( $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>&-
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:80"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:80: ip netns exec at_ns1 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-traffic.at:80"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:80"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:80: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:80"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:80"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:80: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:80"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:80"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:80: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:80"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:80"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



  { set +x
$as_echo "$at_srcdir/system-traffic.at:82: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add link p0 name p0.4094 type vlan proto 802.1ad id 4094
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:82"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add link p0 name p0.4094 type vlan proto 802.1ad id 4094
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:82"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:82: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0.4094 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:82"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0.4094 up
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:82"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:82: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev p0.4094 \"10.255.2.1/24\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:82"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev p0.4094 "10.255.2.1/24"
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:82"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:82: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set p0.4094 mtu 1496
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:82"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set p0.4094 mtu 1496
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:82"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




  { set +x
$as_echo "$at_srcdir/system-traffic.at:83: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link add link p1 name p1.4094 type vlan proto 802.1ad id 4094
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:83"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link add link p1 name p1.4094 type vlan proto 802.1ad id 4094
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:83"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:83: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1.4094 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:83"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1.4094 up
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:83"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:83: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add dev p1.4094 \"10.255.2.2/24\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:83"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add dev p1.4094 "10.255.2.2/24"
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:83"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:83: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set p1.4094 mtu 1496
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:83"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set p1.4094 mtu 1496
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:83"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }





   { set +x
$as_echo "$at_srcdir/system-traffic.at:85: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add link p0.4094 name p0.4094.100 type vlan proto 802.1q id 100
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:85"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add link p0.4094 name p0.4094.100 type vlan proto 802.1q id 100
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:85"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:85: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0.4094.100 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:85"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0.4094.100 up
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:85"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:85: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev p0.4094.100 \"10.2.2.1/24\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:85"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev p0.4094.100 "10.2.2.1/24"
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:85"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




       { set +x
$as_echo "$at_srcdir/system-traffic.at:85: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set p0.4094.100 mtu 1492
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:85"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set p0.4094.100 mtu 1492
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:85"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




   { set +x
$as_echo "$at_srcdir/system-traffic.at:86: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link add link p1.4094 name p1.4094.100 type vlan proto 802.1q id 100
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:86"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link add link p1.4094 name p1.4094.100 type vlan proto 802.1q id 100
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:86"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:86: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1.4094.100 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:86"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1.4094.100 up
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:86"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:86: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add dev p1.4094.100 \"10.2.2.2/24\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:86"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add dev p1.4094.100 "10.2.2.2/24"
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:86"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




       { set +x
$as_echo "$at_srcdir/system-traffic.at:86: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set p1.4094.100 mtu 1492
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:86"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set p1.4094.100 mtu 1492
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:86"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }





ovs_wait_cond () {
    ip netns exec at_ns0 ping -c 1 10.2.2.2
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:88" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:88"
fi


 { set +x
$as_echo "$at_srcdir/system-traffic.at:90: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.2.2.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:90"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.2.2.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:90"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:93: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 1600 -q -c 3 -i 0.3 -w 2 10.2.2.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:93"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 1600 -q -c 3 -i 0.3 -w 2 10.2.2.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:93"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:96: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 3200 -q -c 3 -i 0.3 -w 2 10.2.2.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:96"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 3200 -q -c 3 -i 0.3 -w 2 10.2.2.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:96"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:100: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:100"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:100"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:100: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:100"
( $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-traffic.at:100"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:100: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:100"
( $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-traffic.at:100"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:100" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:100"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:100: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:100"
( $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-traffic.at:100"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:100: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:100"
( $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-traffic.at:100"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:100" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:100"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:100: :; "
at_fn_check_prepare_trace "system-traffic.at:100"
( $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-traffic.at:100"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_4
#AT_START_5
at_fn_group_banner 5 'system-traffic.at:103' \
  "datapath - ping6 between two ports" "             " 1
at_xfail=no
(
  $as_echo "5. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:104" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:104"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:104: 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-traffic.at:104"
( $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-traffic.at:104"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:104: 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-traffic.at:104"
( $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-traffic.at:104"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:104: 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-traffic.at:104"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:104"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:104: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:104"
( $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-traffic.at:104"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:104: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:104"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:104"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:104: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:104"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:104"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:104" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:104"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:104: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:104"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:104"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:106: ovs-ofctl add-flow br0 \"actions=normal\""
at_fn_check_prepare_trace "system-traffic.at:106"
( $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-traffic.at:106"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:108: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:108"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:108"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:108: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:108"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:108"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:110: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:110"
( $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-traffic.at:110"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:110: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:110"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:110"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:110: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:110"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:110"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:110: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:110"
( $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-traffic.at:110"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:110: 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-traffic.at:110"
( $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>&-
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:110"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:110: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add \"fc00::1/96\" dev p0
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:110"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "fc00::1/96" dev p0
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:110"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:110: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:110"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:110"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:110: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:110"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:110"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:110: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:110"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:110"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:111: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:111"
( $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-traffic.at:111"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:111: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:111"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:111"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:111: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:111"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:111"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:111: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:111"
( $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-traffic.at:111"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:111: 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-traffic.at:111"
( $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>&-
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:111"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:111: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add \"fc00::2/96\" dev p1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:111"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "fc00::2/96" dev p1
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:111"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:111: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:111"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:111"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:111: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:111"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:111"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:111: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:111"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:111"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



ovs_wait_cond () {
    ip netns exec at_ns0 ping6 -c 1 fc00::2
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:116" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:116"
fi


 { set +x
$as_echo "$at_srcdir/system-traffic.at:118: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -q -c 3 -i 0.3 -w 2 fc00::2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:118"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -q -c 3 -i 0.3 -w 2 fc00::2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:118"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:121: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -s 1600 -q -c 3 -i 0.3 -w 2 fc00::2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:121"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -s 1600 -q -c 3 -i 0.3 -w 2 fc00::2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:121"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:124: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -s 3200 -q -c 3 -i 0.3 -w 2 fc00::2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:124"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -s 3200 -q -c 3 -i 0.3 -w 2 fc00::2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:124"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:128: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:128"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:128"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:128: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:128"
( $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-traffic.at:128"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:128: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:128"
( $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-traffic.at:128"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:128" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:128"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:128: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:128"
( $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-traffic.at:128"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:128: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:128"
( $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-traffic.at:128"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:128" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:128"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:128: :; "
at_fn_check_prepare_trace "system-traffic.at:128"
( $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-traffic.at:128"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_5
#AT_START_6
at_fn_group_banner 6 'system-traffic.at:131' \
  "datapath - ping6 between two ports on vlan" "     " 1
at_xfail=no
(
  $as_echo "6. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:132" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:132"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:132: 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-traffic.at:132"
( $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-traffic.at:132"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:132: 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-traffic.at:132"
( $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-traffic.at:132"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:132: 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-traffic.at:132"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:132"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:132: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:132"
( $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-traffic.at:132"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:132: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:132"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:132"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:132: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:132"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:132"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:132" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:132"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:132: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:132"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:132"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:134: ovs-ofctl add-flow br0 \"actions=normal\""
at_fn_check_prepare_trace "system-traffic.at:134"
( $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-traffic.at:134"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:136: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:136"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:136"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:136: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:136"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:136"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:138: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:138"
( $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-traffic.at:138"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:138: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:138"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:138"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:138: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:138"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:138"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:138: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:138"
( $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-traffic.at:138"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:138: 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-traffic.at:138"
( $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>&-
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:138"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:138: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add \"fc00::1/96\" dev p0
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:138"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "fc00::1/96" dev p0
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:138"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:138: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:138"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:138"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:138: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:138"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:138"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:138: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:138"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:138"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:139: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:139"
( $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-traffic.at:139"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:139: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:139"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:139"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:139: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:139"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:139"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:139: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:139"
( $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-traffic.at:139"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:139: 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-traffic.at:139"
( $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>&-
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:139"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:139: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add \"fc00::2/96\" dev p1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:139"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "fc00::2/96" dev p1
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:139"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:139: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:139"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:139"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:139: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:139"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:139"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:139: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:139"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:139"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



  { set +x
$as_echo "$at_srcdir/system-traffic.at:141: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add link p0 name p0.100 type vlan proto 802.1q id 100
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:141"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add link p0 name p0.100 type vlan proto 802.1q id 100
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:141"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:141: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0.100 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:141"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0.100 up
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:141"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:141: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev p0.100 \"fc00:1::1/96\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:141"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev p0.100 "fc00:1::1/96"
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:141"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




  { set +x
$as_echo "$at_srcdir/system-traffic.at:142: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link add link p1 name p1.100 type vlan proto 802.1q id 100
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:142"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link add link p1 name p1.100 type vlan proto 802.1q id 100
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:142"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:142: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1.100 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:142"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1.100 up
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:142"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:142: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add dev p1.100 \"fc00:1::2/96\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:142"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add dev p1.100 "fc00:1::2/96"
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:142"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }





ovs_wait_cond () {
    ip netns exec at_ns0 ping6 -c 1 fc00:1::2
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:147" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:147"
fi


 { set +x
$as_echo "$at_srcdir/system-traffic.at:149: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -q -c 3 -i 0.3 -w 2 fc00:1::2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:149"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -q -c 3 -i 0.3 -w 2 fc00:1::2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:149"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:152: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -s 1600 -q -c 3 -i 0.3 -w 2 fc00:1::2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:152"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -s 1600 -q -c 3 -i 0.3 -w 2 fc00:1::2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:152"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:155: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -s 3200 -q -c 3 -i 0.3 -w 2 fc00:1::2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:155"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -s 3200 -q -c 3 -i 0.3 -w 2 fc00:1::2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:155"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:159: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:159"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:159"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:159: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:159"
( $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-traffic.at:159"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:159: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:159"
( $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-traffic.at:159"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:159" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:159"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:159: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:159"
( $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-traffic.at:159"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:159: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:159"
( $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-traffic.at:159"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:159" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:159"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:159: :; "
at_fn_check_prepare_trace "system-traffic.at:159"
( $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-traffic.at:159"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_6
#AT_START_7
at_fn_group_banner 7 'system-traffic.at:162' \
  "datapath - ping6 between two ports on cvlan" "    " 1
at_xfail=no
(
  $as_echo "7. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:163" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:163"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.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-traffic.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-traffic.at:163"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.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-traffic.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-traffic.at:163"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.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-traffic.at:163"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:163"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:163: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.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-traffic.at:163"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:163: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:163"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:163"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:163: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:163"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:163"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:163" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:163"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:163: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:163"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:163"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:165: ovs-ofctl add-flow br0 \"actions=normal\""
at_fn_check_prepare_trace "system-traffic.at:165"
( $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-traffic.at:165"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:167: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:167"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:167"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:167: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:167"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:167"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:169: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:169"
( $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-traffic.at:169"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:169: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:169"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:169"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:169: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:169"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:169"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:169: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:169"
( $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-traffic.at:169"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:169: 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-traffic.at:169"
( $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>&-
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:169"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:169: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add \"fc00::1/96\" dev p0
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:169"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "fc00::1/96" dev p0
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:169"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:169: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:169"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:169"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:169: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:169"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:169"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:169: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:169"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:169"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:170: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:170"
( $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-traffic.at:170"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:170: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:170"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:170"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:170: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:170"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:170"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:170: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:170"
( $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-traffic.at:170"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:170: 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-traffic.at:170"
( $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>&-
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:170"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:170: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add \"fc00::2/96\" dev p1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:170"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "fc00::2/96" dev p1
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:170"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:170: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:170"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:170"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:170: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:170"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:170"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:170: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:170"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:170"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



  { set +x
$as_echo "$at_srcdir/system-traffic.at:172: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add link p0 name p0.4094 type vlan proto 802.1ad id 4094
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:172"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add link p0 name p0.4094 type vlan proto 802.1ad id 4094
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:172"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:172: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0.4094 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:172"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0.4094 up
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:172"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:172: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev p0.4094 \"fc00:ffff::1/96\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:172"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev p0.4094 "fc00:ffff::1/96"
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:172"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:172: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set p0.4094 mtu 1496
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:172"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set p0.4094 mtu 1496
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:172"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




  { set +x
$as_echo "$at_srcdir/system-traffic.at:173: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link add link p1 name p1.4094 type vlan proto 802.1ad id 4094
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:173"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link add link p1 name p1.4094 type vlan proto 802.1ad id 4094
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:173"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:173: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1.4094 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:173"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1.4094 up
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:173"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:173: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add dev p1.4094 \"fc00:ffff::2/96\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:173"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add dev p1.4094 "fc00:ffff::2/96"
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:173"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:173: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set p1.4094 mtu 1496
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:173"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set p1.4094 mtu 1496
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:173"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }





   { set +x
$as_echo "$at_srcdir/system-traffic.at:175: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add link p0.4094 name p0.4094.100 type vlan proto 802.1q id 100
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:175"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add link p0.4094 name p0.4094.100 type vlan proto 802.1q id 100
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:175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:175: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0.4094.100 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:175"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0.4094.100 up
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:175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:175: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev p0.4094.100 \"fc00:1::1/96\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:175"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev p0.4094.100 "fc00:1::1/96"
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:175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




       { set +x
$as_echo "$at_srcdir/system-traffic.at:175: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set p0.4094.100 mtu 1492
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:175"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set p0.4094.100 mtu 1492
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:175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




   { set +x
$as_echo "$at_srcdir/system-traffic.at:176: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link add link p1.4094 name p1.4094.100 type vlan proto 802.1q id 100
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:176"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link add link p1.4094 name p1.4094.100 type vlan proto 802.1q id 100
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:176"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:176: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1.4094.100 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:176"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1.4094.100 up
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:176"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:176: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add dev p1.4094.100 \"fc00:1::2/96\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:176"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add dev p1.4094.100 "fc00:1::2/96"
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:176"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




       { set +x
$as_echo "$at_srcdir/system-traffic.at:176: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set p1.4094.100 mtu 1492
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:176"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set p1.4094.100 mtu 1492
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:176"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }





ovs_wait_cond () {
    ip netns exec at_ns0 ping6 -c 1 fc00:1::2
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:178" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:178"
fi


 { set +x
$as_echo "$at_srcdir/system-traffic.at:180: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -q -c 3 -i 0.3 -w 2 fc00:1::2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:180"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -q -c 3 -i 0.3 -w 2 fc00:1::2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:180"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:183: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -s 1600 -q -c 3 -i 0.3 -w 2 fc00:1::2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:183"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -s 1600 -q -c 3 -i 0.3 -w 2 fc00:1::2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:183"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:186: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -s 3200 -q -c 3 -i 0.3 -w 2 fc00:1::2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:186"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -s 3200 -q -c 3 -i 0.3 -w 2 fc00:1::2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:186"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:190: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:190"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:190"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:190: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:190"
( $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-traffic.at:190"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:190: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:190"
( $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-traffic.at:190"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:190" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:190"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:190: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:190"
( $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-traffic.at:190"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:190: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:190"
( $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-traffic.at:190"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:190" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:190"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:190: :; "
at_fn_check_prepare_trace "system-traffic.at:190"
( $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-traffic.at:190"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_7
#AT_START_8
at_fn_group_banner 8 'system-traffic.at:193' \
  "datapath - ping over bond" "                      " 1
at_xfail=no
(
  $as_echo "8. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:194" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:194"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:194: 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-traffic.at:194"
( $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-traffic.at:194"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:194: 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-traffic.at:194"
( $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-traffic.at:194"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:194: 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-traffic.at:194"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:194"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:194: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:194"
( $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-traffic.at:194"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:194: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:194"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:194"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:194: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:194"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:194"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:194" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:194"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:194: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:194"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:194"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:196: ovs-ofctl add-flow br0 \"actions=normal\""
at_fn_check_prepare_trace "system-traffic.at:196"
( $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-traffic.at:196"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:198: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:198"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:198"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:198: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:198"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:198"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:200: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:200"
( $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-traffic.at:200"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:200: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:200"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:200"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:200: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:200"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:200"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:200: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:200"
( $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-traffic.at:200"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:200: 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-traffic.at:200"
( $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>&-
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:200"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:200: ip netns exec at_ns0 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-traffic.at:200"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:200"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:200: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:200"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:200"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:200: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:200"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:200"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:200: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:200"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:200"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'



      BONDPORTS=""
      for port in p1 p2; do
          { set +x
$as_echo "$at_srcdir/system-traffic.at:201: ip link add \$port type veth peer name ovs-\$port"
at_fn_check_prepare_dynamic "ip link add $port type veth peer name ovs-$port" "system-traffic.at:201"
( $at_check_trace; ip link add $port type veth peer name ovs-$port
) >>"$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:201"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

          { set +x
$as_echo "$at_srcdir/system-traffic.at:201: ethtool -K \$port tx off"
at_fn_check_prepare_dynamic "ethtool -K $port tx off" "system-traffic.at:201"
( $at_check_trace; ethtool -K $port tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:201"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


          { set +x
$as_echo "$at_srcdir/system-traffic.at:201: ip link set \$port netns at_ns1"
at_fn_check_prepare_dynamic "ip link set $port netns at_ns1" "system-traffic.at:201"
( $at_check_trace; ip link set $port netns at_ns1
) >>"$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:201"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

          { set +x
$as_echo "$at_srcdir/system-traffic.at:201: ip link set dev ovs-\$port up"
at_fn_check_prepare_dynamic "ip link set dev ovs-$port up" "system-traffic.at:201"
( $at_check_trace; ip link set dev ovs-$port 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-traffic.at:201"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

          BONDPORTS="$BONDPORTS ovs-$port"
          on_exit 'ip link del ovs-$port'
      done
       { set +x
$as_echo "$at_srcdir/system-traffic.at:201: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link add name bond0 type bond
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:201"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link add name bond0 type bond
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:201"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      case "$(echo lacp=active bond_mode=balance-tcp | sed 's/.*lacp=//' | sed 's/ .*//')" in
      active|passive)
           { set +x
$as_echo "$at_srcdir/system-traffic.at:201: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
sh -c \"echo 802.3ad > /sys/class/net/bond0/bonding/mode\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:201"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
sh -c "echo 802.3ad > /sys/class/net/bond0/bonding/mode"
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:201"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


           { set +x
$as_echo "$at_srcdir/system-traffic.at:201: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
sh -c \"echo 100     > /sys/class/net/bond0/bonding/miimon\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:201"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
sh -c "echo 100     > /sys/class/net/bond0/bonding/miimon"
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:201"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ;;
      esac
      for port in p1 p2; do
           { set +x
$as_echo "$at_srcdir/system-traffic.at:201: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev \$port master bond0
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:201"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev $port master bond0
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:201"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      done
       { set +x
$as_echo "$at_srcdir/system-traffic.at:201: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add \"10.1.1.2/24\" dev bond0
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:201"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev bond0
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:201"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:201: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev bond0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:201"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev bond0 up
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:201"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:201: ovs-vsctl add-bond br0 ovs-bond0 \$BONDPORTS lacp=active bond_mode=balance-tcp"
at_fn_check_prepare_dynamic "ovs-vsctl add-bond br0 ovs-bond0 $BONDPORTS lacp=active bond_mode=balance-tcp" "system-traffic.at:201"
( $at_check_trace; ovs-vsctl add-bond br0 ovs-bond0 $BONDPORTS lacp=active bond_mode=balance-tcp
) >>"$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:201"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      on_exit 'ip link del ovs-bond0'



ovs_wait_cond () {
    ip netns exec at_ns0 ping -c 1 10.1.1.2
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:203" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:203"
fi


 { set +x
$as_echo "$at_srcdir/system-traffic.at:205: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.1.1.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:205"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.1.1.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:205"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:208: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 1600 -q -c 3 -i 0.3 -w 2 10.1.1.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:208"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 1600 -q -c 3 -i 0.3 -w 2 10.1.1.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:208"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:211: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 3200 -q -c 3 -i 0.3 -w 2 10.1.1.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:211"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 3200 -q -c 3 -i 0.3 -w 2 10.1.1.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:211"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:215: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:215"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:215"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:215: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:215"
( $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-traffic.at:215"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:215: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:215"
( $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-traffic.at:215"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:215" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:215"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:215: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:215"
( $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-traffic.at:215"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:215: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:215"
( $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-traffic.at:215"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:215" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:215"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:215: :; "
at_fn_check_prepare_trace "system-traffic.at:215"
( $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-traffic.at:215"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_8
#AT_START_9
at_fn_group_banner 9 'system-traffic.at:218' \
  "datapath - ping over vxlan tunnel" "              " 1
at_xfail=no
(
  $as_echo "9. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:219" >"$at_check_line_file"
(! ip link add foo type vxlan help 2>&1 | grep dstport >/dev/null) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:219"
     $as_echo "system-traffic.at:219" >"$at_check_line_file"
(systemctl status firewalld 2>&1 | grep running > /dev/null) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:219"


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:221" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:221"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:221: 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-traffic.at:221"
( $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-traffic.at:221"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:221: 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-traffic.at:221"
( $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-traffic.at:221"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:221: 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-traffic.at:221"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:221"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:221: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:221"
( $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-traffic.at:221"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:221: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:221"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:221"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:221: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:221"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:221"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:221" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:221"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:221: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:221"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:221"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl add-br br-underlay -- set Bridge br-underlay datapath_type="netdev" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --

{ set +x
$as_echo "$at_srcdir/system-traffic.at:224: ovs-ofctl add-flow br0 \"actions=normal\""
at_fn_check_prepare_trace "system-traffic.at:224"
( $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-traffic.at:224"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:225: ovs-ofctl add-flow br-underlay \"actions=normal\""
at_fn_check_prepare_trace "system-traffic.at:225"
( $at_check_trace; ovs-ofctl add-flow br-underlay "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-traffic.at:225"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:227: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:227"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:227"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:230: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:230"
( $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-traffic.at:230"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:230: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:230"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:230"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:230: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:230"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:230"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:230: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:230"
( $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-traffic.at:230"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:230: ovs-vsctl add-port br-underlay ovs-p0 -- \\
                set interface ovs-p0 external-ids:iface-id=\"p0\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:230"
( $at_check_trace; ovs-vsctl add-port br-underlay ovs-p0 -- \
                set interface ovs-p0 external-ids:iface-id="p0"
) >>"$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:230"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:230: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add \"172.31.1.1/24\" dev p0
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:230"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "172.31.1.1/24" dev p0
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:230"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:230: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:230"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:230"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:230: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:230"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:230"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:230: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:230"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:230"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


{ set +x
$as_echo "$at_srcdir/system-traffic.at:231: ip addr add dev br-underlay \"172.31.1.100/24\""
at_fn_check_prepare_trace "system-traffic.at:231"
( $at_check_trace; ip addr add dev br-underlay "172.31.1.100/24"
) >>"$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:231"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:232: ip link set dev br-underlay up"
at_fn_check_prepare_trace "system-traffic.at:232"
( $at_check_trace; ip link set dev br-underlay 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-traffic.at:232"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:236: ovs-vsctl add-port br0 at_vxlan0 -- \\
              set int at_vxlan0 type=vxlan options:remote_ip=172.31.1.1 "
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:236"
( $at_check_trace; ovs-vsctl add-port br0 at_vxlan0 -- \
              set int at_vxlan0 type=vxlan options:remote_ip=172.31.1.1
) >>"$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:236"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    { set +x
$as_echo "$at_srcdir/system-traffic.at:236: ip addr add dev br0 10.1.1.100/24"
at_fn_check_prepare_trace "system-traffic.at:236"
( $at_check_trace; ip addr add dev br0 10.1.1.100/24
) >>"$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:236"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    { set +x
$as_echo "$at_srcdir/system-traffic.at:236: ip link set dev br0 up"
at_fn_check_prepare_trace "system-traffic.at:236"
( $at_check_trace; ip link set dev br0 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-traffic.at:236"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    { set +x
$as_echo "$at_srcdir/system-traffic.at:236: ip link set dev br0 mtu 1450"
at_fn_check_prepare_trace "system-traffic.at:236"
( $at_check_trace; ip link set dev br0 mtu 1450
) >>"$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:236"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    on_exit 'ip addr del dev br0 10.1.1.100/24'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:237: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add dev at_vxlan1 type vxlan remote 172.31.1.100 id 0 dstport 4789
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:237"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add dev at_vxlan1 type vxlan remote 172.31.1.100 id 0 dstport 4789
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:237"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


     { set +x
$as_echo "$at_srcdir/system-traffic.at:237: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev at_vxlan1 10.1.1.1/24
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:237"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev at_vxlan1 10.1.1.1/24
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:237"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


     { set +x
$as_echo "$at_srcdir/system-traffic.at:237: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev at_vxlan1 mtu 1450  up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:237"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev at_vxlan1 mtu 1450  up
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:237"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }





 { set +x
$as_echo "$at_srcdir/system-traffic.at:241: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 172.31.1.100 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:241"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 172.31.1.100 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



 { set +x
$as_echo "$at_srcdir/system-traffic.at:246: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.1.1.100 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:246"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.1.1.100 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:246"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:249: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 1600 -q -c 3 -i 0.3 -w 2 10.1.1.100 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:249"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 1600 -q -c 3 -i 0.3 -w 2 10.1.1.100 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:249"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:252: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 3200 -q -c 3 -i 0.3 -w 2 10.1.1.100 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:252"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 3200 -q -c 3 -i 0.3 -w 2 10.1.1.100 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:252"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:256: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:256"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:256"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:256: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:256"
( $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-traffic.at:256"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:256: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:256"
( $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-traffic.at:256"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:256" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:256"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:256: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:256"
( $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-traffic.at:256"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:256: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:256"
( $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-traffic.at:256"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:256" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:256"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:256: :; "
at_fn_check_prepare_trace "system-traffic.at:256"
( $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-traffic.at:256"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_9
#AT_START_10
at_fn_group_banner 10 'system-traffic.at:259' \
  "datapath - ping over vxlan6 tunnel" "             " 1
at_xfail=no
(
  $as_echo "10. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:260" >"$at_check_line_file"
(! ip link add foo type vxlan help 2>&1 | grep udp6zerocsum >/dev/null) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:260"
     $as_echo "system-traffic.at:260" >"$at_check_line_file"
(systemctl status firewalld 2>&1 | grep running > /dev/null) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:260"


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:262" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:262"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:262: 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-traffic.at:262"
( $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-traffic.at:262"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:262: 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-traffic.at:262"
( $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-traffic.at:262"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:262: 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-traffic.at:262"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:262"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:262: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:262"
( $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-traffic.at:262"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:262: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:262"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:262"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:262: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:262"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:262"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:262" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:262"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:262: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:262"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:262"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl add-br br-underlay -- set Bridge br-underlay datapath_type="netdev" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --

{ set +x
$as_echo "$at_srcdir/system-traffic.at:265: ovs-ofctl add-flow br0 \"actions=normal\""
at_fn_check_prepare_trace "system-traffic.at:265"
( $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-traffic.at:265"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:266: ovs-ofctl add-flow br-underlay \"actions=normal\""
at_fn_check_prepare_trace "system-traffic.at:266"
( $at_check_trace; ovs-ofctl add-flow br-underlay "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-traffic.at:266"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:268: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:268"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:268"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:271: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:271"
( $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-traffic.at:271"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:271: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:271"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:271"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:271: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:271"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:271"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:271: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:271"
( $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-traffic.at:271"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:271: ovs-vsctl add-port br-underlay ovs-p0 -- \\
                set interface ovs-p0 external-ids:iface-id=\"p0\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:271"
( $at_check_trace; ovs-vsctl add-port br-underlay ovs-p0 -- \
                set interface ovs-p0 external-ids:iface-id="p0"
) >>"$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:271"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:271: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add \"fc00::1/64\" dev p0 \"nodad\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:271"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "fc00::1/64" dev p0 "nodad"
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:271"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:271: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:271"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:271"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:271: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:271"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:271"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:271: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:271"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:271"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


{ set +x
$as_echo "$at_srcdir/system-traffic.at:272: ip addr add dev br-underlay \"fc00::100/64\" nodad"
at_fn_check_prepare_trace "system-traffic.at:272"
( $at_check_trace; ip addr add dev br-underlay "fc00::100/64" nodad
) >>"$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:272"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:273: ip link set dev br-underlay up"
at_fn_check_prepare_trace "system-traffic.at:273"
( $at_check_trace; ip link set dev br-underlay 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-traffic.at:273"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:277: ovs-vsctl add-port br0 at_vxlan0 -- \\
              set int at_vxlan0 type=vxlan options:remote_ip=fc00::1 "
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:277"
( $at_check_trace; ovs-vsctl add-port br0 at_vxlan0 -- \
              set int at_vxlan0 type=vxlan options:remote_ip=fc00::1
) >>"$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:277"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    { set +x
$as_echo "$at_srcdir/system-traffic.at:277: ip addr add dev br0 10.1.1.100/24"
at_fn_check_prepare_trace "system-traffic.at:277"
( $at_check_trace; ip addr add dev br0 10.1.1.100/24
) >>"$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:277"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    { set +x
$as_echo "$at_srcdir/system-traffic.at:277: ip link set dev br0 up"
at_fn_check_prepare_trace "system-traffic.at:277"
( $at_check_trace; ip link set dev br0 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-traffic.at:277"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    { set +x
$as_echo "$at_srcdir/system-traffic.at:277: ip link set dev br0 mtu 1450"
at_fn_check_prepare_trace "system-traffic.at:277"
( $at_check_trace; ip link set dev br0 mtu 1450
) >>"$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:277"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    on_exit 'ip addr del dev br0 10.1.1.100/24'


    { set +x
$as_echo "$at_srcdir/system-traffic.at:277: ip link set dev br0 mtu 1430"
at_fn_check_prepare_trace "system-traffic.at:277"
( $at_check_trace; ip link set dev br0 mtu 1430
) >>"$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:277"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



 { set +x
$as_echo "$at_srcdir/system-traffic.at:278: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add dev at_vxlan1 type vxlan remote fc00::100 id 0 dstport 4789 udp6zerocsumtx udp6zerocsumrx
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:278"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add dev at_vxlan1 type vxlan remote fc00::100 id 0 dstport 4789 udp6zerocsumtx udp6zerocsumrx
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:278"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


     { set +x
$as_echo "$at_srcdir/system-traffic.at:278: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev at_vxlan1 10.1.1.1/24
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:278"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev at_vxlan1 10.1.1.1/24
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:278"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


     { set +x
$as_echo "$at_srcdir/system-traffic.at:278: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev at_vxlan1 mtu 1450  up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:278"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev at_vxlan1 mtu 1450  up
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:278"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




     { set +x
$as_echo "$at_srcdir/system-traffic.at:278: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev at_vxlan1 mtu 1430
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:278"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev at_vxlan1 mtu 1430
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:278"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }





ovs_wait_cond () {
    ip netns exec at_ns0 ping6 -c 1 fc00::100
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:281" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:281"
fi


 { set +x
$as_echo "$at_srcdir/system-traffic.at:284: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -q -c 3 -i 0.3 -w 2 fc00::100 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:284"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -q -c 3 -i 0.3 -w 2 fc00::100 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:284"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



 { set +x
$as_echo "$at_srcdir/system-traffic.at:289: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.1.1.100 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:289"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.1.1.100 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:289"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:292: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 1600 -q -c 3 -i 0.3 -w 2 10.1.1.100 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:292"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 1600 -q -c 3 -i 0.3 -w 2 10.1.1.100 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:292"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:295: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 3200 -q -c 3 -i 0.3 -w 2 10.1.1.100 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:295"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 3200 -q -c 3 -i 0.3 -w 2 10.1.1.100 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:295"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:299: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:299"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:299"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:299: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:299"
( $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-traffic.at:299"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:299: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:299"
( $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-traffic.at:299"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:299" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:299"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:299: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:299"
( $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-traffic.at:299"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:299: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:299"
( $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-traffic.at:299"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:299" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:299"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:299: :; "
at_fn_check_prepare_trace "system-traffic.at:299"
( $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-traffic.at:299"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_10
#AT_START_11
at_fn_group_banner 11 'system-traffic.at:302' \
  "datapath - ping over gre tunnel" "                " 1
at_xfail=no
(
  $as_echo "11. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:303" >"$at_check_line_file"
(! ip link add foo type gretap help 2>&1 | grep gretap >/dev/null) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:303"
     $as_echo "system-traffic.at:303" >"$at_check_line_file"
(systemctl status firewalld 2>&1 | grep running > /dev/null) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:303"


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:305" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:305"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:305: 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-traffic.at:305"
( $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-traffic.at:305"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:305: 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-traffic.at:305"
( $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-traffic.at:305"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:305: 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-traffic.at:305"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:305"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:305: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:305"
( $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-traffic.at:305"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:305: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:305"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:305"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:305: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:305"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:305"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:305" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:305"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:305: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:305"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:305"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl add-br br-underlay -- set Bridge br-underlay datapath_type="netdev" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --

{ set +x
$as_echo "$at_srcdir/system-traffic.at:308: ovs-ofctl add-flow br0 \"actions=normal\""
at_fn_check_prepare_trace "system-traffic.at:308"
( $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-traffic.at:308"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:309: ovs-ofctl add-flow br-underlay \"actions=normal\""
at_fn_check_prepare_trace "system-traffic.at:309"
( $at_check_trace; ovs-ofctl add-flow br-underlay "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-traffic.at:309"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:311: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:311"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:311"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:314: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:314"
( $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-traffic.at:314"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:314: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:314"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:314"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:314: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:314"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:314"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:314: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:314"
( $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-traffic.at:314"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:314: ovs-vsctl add-port br-underlay ovs-p0 -- \\
                set interface ovs-p0 external-ids:iface-id=\"p0\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:314"
( $at_check_trace; ovs-vsctl add-port br-underlay ovs-p0 -- \
                set interface ovs-p0 external-ids:iface-id="p0"
) >>"$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:314"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:314: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add \"172.31.1.1/24\" dev p0
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:314"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "172.31.1.1/24" dev p0
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:314"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:314: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:314"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:314"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:314: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:314"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:314"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:314: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:314"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:314"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


{ set +x
$as_echo "$at_srcdir/system-traffic.at:315: ip addr add dev br-underlay \"172.31.1.100/24\""
at_fn_check_prepare_trace "system-traffic.at:315"
( $at_check_trace; ip addr add dev br-underlay "172.31.1.100/24"
) >>"$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:315"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:316: ip link set dev br-underlay up"
at_fn_check_prepare_trace "system-traffic.at:316"
( $at_check_trace; ip link set dev br-underlay 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-traffic.at:316"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:320: ovs-vsctl add-port br0 at_gre0 -- \\
              set int at_gre0 type=gre options:remote_ip=172.31.1.1 "
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:320"
( $at_check_trace; ovs-vsctl add-port br0 at_gre0 -- \
              set int at_gre0 type=gre options:remote_ip=172.31.1.1
) >>"$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:320"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    { set +x
$as_echo "$at_srcdir/system-traffic.at:320: ip addr add dev br0 10.1.1.100/24"
at_fn_check_prepare_trace "system-traffic.at:320"
( $at_check_trace; ip addr add dev br0 10.1.1.100/24
) >>"$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:320"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    { set +x
$as_echo "$at_srcdir/system-traffic.at:320: ip link set dev br0 up"
at_fn_check_prepare_trace "system-traffic.at:320"
( $at_check_trace; ip link set dev br0 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-traffic.at:320"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    { set +x
$as_echo "$at_srcdir/system-traffic.at:320: ip link set dev br0 mtu 1450"
at_fn_check_prepare_trace "system-traffic.at:320"
( $at_check_trace; ip link set dev br0 mtu 1450
) >>"$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:320"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    on_exit 'ip addr del dev br0 10.1.1.100/24'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:321: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add dev ns_gre0 type gretap remote 172.31.1.100
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:321"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add dev ns_gre0 type gretap remote 172.31.1.100
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:321"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


     { set +x
$as_echo "$at_srcdir/system-traffic.at:321: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev ns_gre0 10.1.1.1/24
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:321"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev ns_gre0 10.1.1.1/24
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:321"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


     { set +x
$as_echo "$at_srcdir/system-traffic.at:321: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev ns_gre0 mtu 1450  up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:321"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev ns_gre0 mtu 1450  up
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:321"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }





 { set +x
$as_echo "$at_srcdir/system-traffic.at:324: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 172.31.1.100 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:324"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 172.31.1.100 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:324"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



 { set +x
$as_echo "$at_srcdir/system-traffic.at:329: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.1.1.100 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:329"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.1.1.100 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:329"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:332: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 1600 -q -c 3 -i 0.3 -w 2 10.1.1.100 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:332"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 1600 -q -c 3 -i 0.3 -w 2 10.1.1.100 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:332"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:335: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 3200 -q -c 3 -i 0.3 -w 2 10.1.1.100 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:335"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 3200 -q -c 3 -i 0.3 -w 2 10.1.1.100 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:335"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:339: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:339"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:339"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:339: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:339"
( $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-traffic.at:339"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:339: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:339"
( $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-traffic.at:339"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:339" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:339"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:339: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:339"
( $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-traffic.at:339"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:339: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:339"
( $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-traffic.at:339"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:339" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:339"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:339: :; "
at_fn_check_prepare_trace "system-traffic.at:339"
( $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-traffic.at:339"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_11
#AT_START_12
at_fn_group_banner 12 'system-traffic.at:342' \
  "datapath - ping over geneve tunnel" "             " 1
at_xfail=no
(
  $as_echo "12. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:343" >"$at_check_line_file"
(! ip link add foo type geneve help 2>&1 | grep geneve >/dev/null) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:343"
     $as_echo "system-traffic.at:343" >"$at_check_line_file"
(systemctl status firewalld 2>&1 | grep running > /dev/null) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:343"


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:345" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:345"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:345: 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-traffic.at:345"
( $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-traffic.at:345"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:345: 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-traffic.at:345"
( $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-traffic.at:345"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:345: 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-traffic.at:345"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:345"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:345: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:345"
( $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-traffic.at:345"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:345: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:345"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:345"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:345: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:345"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:345"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:345" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:345"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:345: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:345"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:345"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl add-br br-underlay -- set Bridge br-underlay datapath_type="netdev" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --

{ set +x
$as_echo "$at_srcdir/system-traffic.at:348: ovs-ofctl add-flow br0 \"actions=normal\""
at_fn_check_prepare_trace "system-traffic.at:348"
( $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-traffic.at:348"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:349: ovs-ofctl add-flow br-underlay \"actions=normal\""
at_fn_check_prepare_trace "system-traffic.at:349"
( $at_check_trace; ovs-ofctl add-flow br-underlay "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-traffic.at:349"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:351: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:351"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:351"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:354: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:354"
( $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-traffic.at:354"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:354: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:354"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:354"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:354: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:354"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:354"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:354: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:354"
( $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-traffic.at:354"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:354: ovs-vsctl add-port br-underlay ovs-p0 -- \\
                set interface ovs-p0 external-ids:iface-id=\"p0\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:354"
( $at_check_trace; ovs-vsctl add-port br-underlay ovs-p0 -- \
                set interface ovs-p0 external-ids:iface-id="p0"
) >>"$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:354"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:354: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add \"172.31.1.1/24\" dev p0
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:354"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "172.31.1.1/24" dev p0
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:354"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:354: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:354"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:354"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:354: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:354"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:354"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:354: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:354"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:354"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


{ set +x
$as_echo "$at_srcdir/system-traffic.at:355: ip addr add dev br-underlay \"172.31.1.100/24\""
at_fn_check_prepare_trace "system-traffic.at:355"
( $at_check_trace; ip addr add dev br-underlay "172.31.1.100/24"
) >>"$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:355"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:356: ip link set dev br-underlay up"
at_fn_check_prepare_trace "system-traffic.at:356"
( $at_check_trace; ip link set dev br-underlay 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-traffic.at:356"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:360: ovs-vsctl add-port br0 at_gnv0 -- \\
              set int at_gnv0 type=geneve options:remote_ip=172.31.1.1 "
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:360"
( $at_check_trace; ovs-vsctl add-port br0 at_gnv0 -- \
              set int at_gnv0 type=geneve options:remote_ip=172.31.1.1
) >>"$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:360"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    { set +x
$as_echo "$at_srcdir/system-traffic.at:360: ip addr add dev br0 10.1.1.100/24"
at_fn_check_prepare_trace "system-traffic.at:360"
( $at_check_trace; ip addr add dev br0 10.1.1.100/24
) >>"$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:360"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    { set +x
$as_echo "$at_srcdir/system-traffic.at:360: ip link set dev br0 up"
at_fn_check_prepare_trace "system-traffic.at:360"
( $at_check_trace; ip link set dev br0 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-traffic.at:360"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    { set +x
$as_echo "$at_srcdir/system-traffic.at:360: ip link set dev br0 mtu 1450"
at_fn_check_prepare_trace "system-traffic.at:360"
( $at_check_trace; ip link set dev br0 mtu 1450
) >>"$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:360"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    on_exit 'ip addr del dev br0 10.1.1.100/24'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:361: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add dev ns_gnv0 type geneve remote 172.31.1.100 vni 0
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:361"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add dev ns_gnv0 type geneve remote 172.31.1.100 vni 0
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:361"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


     { set +x
$as_echo "$at_srcdir/system-traffic.at:361: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev ns_gnv0 10.1.1.1/24
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:361"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev ns_gnv0 10.1.1.1/24
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:361"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


     { set +x
$as_echo "$at_srcdir/system-traffic.at:361: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev ns_gnv0 mtu 1450  up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:361"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev ns_gnv0 mtu 1450  up
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:361"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }





 { set +x
$as_echo "$at_srcdir/system-traffic.at:365: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 172.31.1.100 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:365"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 172.31.1.100 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:365"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



 { set +x
$as_echo "$at_srcdir/system-traffic.at:370: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.1.1.100 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:370"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.1.1.100 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:370"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:373: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 1600 -q -c 3 -i 0.3 -w 2 10.1.1.100 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:373"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 1600 -q -c 3 -i 0.3 -w 2 10.1.1.100 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:373"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:376: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 3200 -q -c 3 -i 0.3 -w 2 10.1.1.100 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:376"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 3200 -q -c 3 -i 0.3 -w 2 10.1.1.100 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:376"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:380: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:380"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:380"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:380: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:380"
( $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-traffic.at:380"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:380: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:380"
( $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-traffic.at:380"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:380" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:380"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:380: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:380"
( $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-traffic.at:380"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:380: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:380"
( $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-traffic.at:380"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:380" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:380"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:380: :; "
at_fn_check_prepare_trace "system-traffic.at:380"
( $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-traffic.at:380"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_12
#AT_START_13
at_fn_group_banner 13 'system-traffic.at:383' \
  "datapath - ping over geneve6 tunnel" "            " 1
at_xfail=no
(
  $as_echo "13. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:384" >"$at_check_line_file"
(! ip link add foo type geneve help 2>&1 | grep udp6zerocsum >/dev/null) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:384"
     $as_echo "system-traffic.at:384" >"$at_check_line_file"
(systemctl status firewalld 2>&1 | grep running > /dev/null) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:384"


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:386" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:386"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:386: 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-traffic.at:386"
( $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-traffic.at:386"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:386: 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-traffic.at:386"
( $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-traffic.at:386"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:386: 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-traffic.at:386"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:386"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:386: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:386"
( $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-traffic.at:386"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:386: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:386"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:386"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:386: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:386"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:386"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:386" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:386"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:386: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:386"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:386"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl add-br br-underlay -- set Bridge br-underlay datapath_type="netdev" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --

{ set +x
$as_echo "$at_srcdir/system-traffic.at:389: ovs-ofctl add-flow br0 \"actions=normal\""
at_fn_check_prepare_trace "system-traffic.at:389"
( $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-traffic.at:389"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:390: ovs-ofctl add-flow br-underlay \"actions=normal\""
at_fn_check_prepare_trace "system-traffic.at:390"
( $at_check_trace; ovs-ofctl add-flow br-underlay "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-traffic.at:390"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:392: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:392"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:392"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:395: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:395"
( $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-traffic.at:395"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:395: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:395"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:395"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:395: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:395"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:395"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:395: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:395"
( $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-traffic.at:395"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:395: ovs-vsctl add-port br-underlay ovs-p0 -- \\
                set interface ovs-p0 external-ids:iface-id=\"p0\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:395"
( $at_check_trace; ovs-vsctl add-port br-underlay ovs-p0 -- \
                set interface ovs-p0 external-ids:iface-id="p0"
) >>"$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:395"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:395: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add \"fc00::1/64\" dev p0 \"nodad\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:395"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "fc00::1/64" dev p0 "nodad"
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:395"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:395: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:395"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:395"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:395: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:395"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:395"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:395: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:395"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:395"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


{ set +x
$as_echo "$at_srcdir/system-traffic.at:396: ip addr add dev br-underlay \"fc00::100/64\" nodad"
at_fn_check_prepare_trace "system-traffic.at:396"
( $at_check_trace; ip addr add dev br-underlay "fc00::100/64" nodad
) >>"$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:396"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:397: ip link set dev br-underlay up"
at_fn_check_prepare_trace "system-traffic.at:397"
( $at_check_trace; ip link set dev br-underlay 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-traffic.at:397"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:401: ovs-vsctl add-port br0 at_gnv0 -- \\
              set int at_gnv0 type=geneve options:remote_ip=fc00::1 "
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:401"
( $at_check_trace; ovs-vsctl add-port br0 at_gnv0 -- \
              set int at_gnv0 type=geneve options:remote_ip=fc00::1
) >>"$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:401"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    { set +x
$as_echo "$at_srcdir/system-traffic.at:401: ip addr add dev br0 10.1.1.100/24"
at_fn_check_prepare_trace "system-traffic.at:401"
( $at_check_trace; ip addr add dev br0 10.1.1.100/24
) >>"$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:401"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    { set +x
$as_echo "$at_srcdir/system-traffic.at:401: ip link set dev br0 up"
at_fn_check_prepare_trace "system-traffic.at:401"
( $at_check_trace; ip link set dev br0 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-traffic.at:401"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    { set +x
$as_echo "$at_srcdir/system-traffic.at:401: ip link set dev br0 mtu 1450"
at_fn_check_prepare_trace "system-traffic.at:401"
( $at_check_trace; ip link set dev br0 mtu 1450
) >>"$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:401"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    on_exit 'ip addr del dev br0 10.1.1.100/24'


    { set +x
$as_echo "$at_srcdir/system-traffic.at:401: ip link set dev br0 mtu 1430"
at_fn_check_prepare_trace "system-traffic.at:401"
( $at_check_trace; ip link set dev br0 mtu 1430
) >>"$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:401"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



 { set +x
$as_echo "$at_srcdir/system-traffic.at:402: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add dev ns_gnv0 type geneve remote fc00::100 vni 0 udp6zerocsumtx udp6zerocsumrx
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:402"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add dev ns_gnv0 type geneve remote fc00::100 vni 0 udp6zerocsumtx udp6zerocsumrx
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:402"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


     { set +x
$as_echo "$at_srcdir/system-traffic.at:402: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev ns_gnv0 10.1.1.1/24
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:402"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev ns_gnv0 10.1.1.1/24
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:402"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


     { set +x
$as_echo "$at_srcdir/system-traffic.at:402: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev ns_gnv0 mtu 1450  up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:402"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev ns_gnv0 mtu 1450  up
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:402"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




     { set +x
$as_echo "$at_srcdir/system-traffic.at:402: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev ns_gnv0 mtu 1430
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:402"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev ns_gnv0 mtu 1430
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:402"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }





ovs_wait_cond () {
    ip netns exec at_ns0 ping6 -c 1 fc00::100
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:405" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:405"
fi


 { set +x
$as_echo "$at_srcdir/system-traffic.at:408: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -q -c 3 -i 0.3 -w 2 fc00::100 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:408"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -q -c 3 -i 0.3 -w 2 fc00::100 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:408"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



 { set +x
$as_echo "$at_srcdir/system-traffic.at:413: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.1.1.100 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:413"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.1.1.100 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:413"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:416: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 1600 -q -c 3 -i 0.3 -w 2 10.1.1.100 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:416"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 1600 -q -c 3 -i 0.3 -w 2 10.1.1.100 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:416"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:419: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 3200 -q -c 3 -i 0.3 -w 2 10.1.1.100 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:419"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 3200 -q -c 3 -i 0.3 -w 2 10.1.1.100 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:419"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:423: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:423"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:423"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:423: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:423"
( $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-traffic.at:423"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:423: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:423"
( $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-traffic.at:423"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:423" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:423"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:423: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:423"
( $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-traffic.at:423"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:423: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:423"
( $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-traffic.at:423"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:423" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:423"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:423: :; "
at_fn_check_prepare_trace "system-traffic.at:423"
( $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-traffic.at:423"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_13
#AT_START_14
at_fn_group_banner 14 'system-traffic.at:426' \
  "datapath - clone action" "                        " 1
at_xfail=no
(
  $as_echo "14. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:427" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:427"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:427: 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-traffic.at:427"
( $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-traffic.at:427"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:427: 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-traffic.at:427"
( $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-traffic.at:427"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:427: 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-traffic.at:427"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:427"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:427: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:427"
( $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-traffic.at:427"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:427: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:427"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:427"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:427: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:427"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:427"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:427" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:427"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:427: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:427"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:427"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:429: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:429"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:429"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:429: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:429"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:429"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns2



                { set +x
$as_echo "$at_srcdir/system-traffic.at:429: ip netns add at_ns2 || return 77"
at_fn_check_prepare_trace "system-traffic.at:429"
( $at_check_trace; ip netns add at_ns2 || 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-traffic.at:429"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns2


'
                ip netns exec at_ns2 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:431: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:431"
( $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-traffic.at:431"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:431: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:431"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:431"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:431: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:431"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:431"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:431: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:431"
( $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-traffic.at:431"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:431: 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-traffic.at:431"
( $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>&-
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:431"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:431: ip netns exec at_ns0 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-traffic.at:431"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:431"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:431: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:431"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:431"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:431: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:431"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:431"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:431: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:431"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:431"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:432: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:432"
( $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-traffic.at:432"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:432: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:432"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:432"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:432: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:432"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:432"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:432: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:432"
( $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-traffic.at:432"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:432: 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-traffic.at:432"
( $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>&-
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:432"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:432: ip netns exec at_ns1 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-traffic.at:432"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:432"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:432: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:432"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:432"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:432: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:432"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:432"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:432: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:432"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:432"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



{ set +x
$as_echo "$at_srcdir/system-traffic.at:434: ovs-vsctl -- set interface ovs-p0 ofport_request=1 \\
                    -- set interface ovs-p1 ofport_request=2"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:434"
( $at_check_trace; ovs-vsctl -- set interface ovs-p0 ofport_request=1 \
                    -- set interface ovs-p1 ofport_request=2
) >>"$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:434"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


cat >flows.txt <<'_ATEOF'
priority=1 actions=NORMAL
priority=10 in_port=1,ip,actions=clone(mod_dl_dst(50:54:00:00:00:0a),set_field:192.168.3.3->ip_dst), output:2
priority=10 in_port=2,ip,actions=clone(mod_dl_src(ae:c6:7e:54:8d:4d),mod_dl_dst(50:54:00:00:00:0b),set_field:192.168.4.4->ip_dst, controller), output:1
_ATEOF

{ set +x
$as_echo "$at_srcdir/system-traffic.at:442: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:442"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$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:442"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:444: ovs-ofctl monitor br0 65534 invalid_ttl --detach --no-chdir --pidfile 2> ofctl_monitor.log"
at_fn_check_prepare_trace "system-traffic.at:444"
( $at_check_trace; ovs-ofctl monitor br0 65534 invalid_ttl --detach --no-chdir --pidfile 2> ofctl_monitor.log
) >>"$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:444"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

 { set +x
$as_echo "$at_srcdir/system-traffic.at:445: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.1.1.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:445"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.1.1.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:445"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:449: cat ofctl_monitor.log | grep \"csum:\" | sed 's/csum:.*/csum: <skip>/'"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:449"
( $at_check_trace; cat ofctl_monitor.log | grep "csum:" | sed 's/csum:.*/csum: <skip>/'
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "icmp,vlan_tci=0x0000,dl_src=ae:c6:7e:54:8d:4d,dl_dst=50:54:00:00:00:0b,nw_src=10.1.1.2,nw_dst=192.168.4.4,nw_tos=0,nw_ecn=0,nw_ttl=64,icmp_type=0,icmp_code=0 icmp_csum: <skip>
icmp,vlan_tci=0x0000,dl_src=ae:c6:7e:54:8d:4d,dl_dst=50:54:00:00:00:0b,nw_src=10.1.1.2,nw_dst=192.168.4.4,nw_tos=0,nw_ecn=0,nw_ttl=64,icmp_type=0,icmp_code=0 icmp_csum: <skip>
icmp,vlan_tci=0x0000,dl_src=ae:c6:7e:54:8d:4d,dl_dst=50:54:00:00:00:0b,nw_src=10.1.1.2,nw_dst=192.168.4.4,nw_tos=0,nw_ecn=0,nw_ttl=64,icmp_type=0,icmp_code=0 icmp_csum: <skip>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:449"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:455: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:455"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:455"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:455: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:455"
( $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-traffic.at:455"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:455: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:455"
( $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-traffic.at:455"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:455" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:455"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:455: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:455"
( $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-traffic.at:455"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:455: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:455"
( $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-traffic.at:455"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:455" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:455"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:455: :; "
at_fn_check_prepare_trace "system-traffic.at:455"
( $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-traffic.at:455"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_14
#AT_START_15
at_fn_group_banner 15 'system-traffic.at:458' \
  "datapath - mpls actions" "                        " 1
at_xfail=no
(
  $as_echo "15. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:459" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:459"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:459: 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-traffic.at:459"
( $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-traffic.at:459"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:459: 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-traffic.at:459"
( $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-traffic.at:459"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:459: 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-traffic.at:459"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:459"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:459: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:459"
( $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-traffic.at:459"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:459: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:459"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:459"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:459: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:459"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:459"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:459" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:459"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:459: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  -- add-br br1 -- set Bridge br1 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  "
at_fn_check_prepare_trace "system-traffic.at:459"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  -- add-br br1 -- set Bridge br1 datapath_type="netdev" 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-traffic.at:459"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:461: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:461"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:461"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:461: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:461"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:461"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:463: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:463"
( $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-traffic.at:463"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:463: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:463"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:463"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:463: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:463"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:463"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:463: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:463"
( $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-traffic.at:463"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:463: 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-traffic.at:463"
( $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>&-
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:463"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:463: ip netns exec at_ns0 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-traffic.at:463"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:463"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:463: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:463"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:463"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:463: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:463"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:463"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:463: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:463"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:463"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:464: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:464"
( $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-traffic.at:464"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:464: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:464"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:464"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:464: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:464"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:464"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:464: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:464"
( $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-traffic.at:464"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:464: ovs-vsctl add-port br1 ovs-p1 -- \\
                set interface ovs-p1 external-ids:iface-id=\"p1\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:464"
( $at_check_trace; ovs-vsctl add-port br1 ovs-p1 -- \
                set interface ovs-p1 external-ids:iface-id="p1"
) >>"$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:464"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:464: ip netns exec at_ns1 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-traffic.at:464"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:464"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:464: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:464"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:464"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:464: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:464"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:464"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:464: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:464"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:464"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



{ set +x
$as_echo "$at_srcdir/system-traffic.at:466: ip link add patch0 type veth peer name patch1"
at_fn_check_prepare_trace "system-traffic.at:466"
( $at_check_trace; ip link add patch0 type veth peer name patch1
) >>"$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:466"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

on_exit 'ip link del patch0'

{ set +x
$as_echo "$at_srcdir/system-traffic.at:469: ip link set dev patch0 up"
at_fn_check_prepare_trace "system-traffic.at:469"
( $at_check_trace; ip link set dev patch0 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-traffic.at:469"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:470: ip link set dev patch1 up"
at_fn_check_prepare_trace "system-traffic.at:470"
( $at_check_trace; ip link set dev patch1 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-traffic.at:470"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:471: ovs-vsctl add-port br0 patch0"
at_fn_check_prepare_trace "system-traffic.at:471"
( $at_check_trace; ovs-vsctl add-port br0 patch0
) >>"$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:471"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:472: ovs-vsctl add-port br1 patch1"
at_fn_check_prepare_trace "system-traffic.at:472"
( $at_check_trace; ovs-vsctl add-port br1 patch1
) >>"$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:472"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


cat >flows.txt <<'_ATEOF'
table=0,priority=100,dl_type=0x0800 actions=push_mpls:0x8847,set_mpls_label:3,resubmit(,1)
table=0,priority=100,dl_type=0x8847,mpls_label=3 actions=pop_mpls:0x0800,resubmit(,1)
table=0,priority=10 actions=resubmit(,1)
table=1,priority=10 actions=normal
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:481: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:481"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$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:481"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:482: ovs-ofctl add-flows br1 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:482"
( $at_check_trace; ovs-ofctl add-flows br1 flows.txt
) >>"$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:482"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:484: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.1.1.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:484"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.1.1.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:484"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



 { set +x
$as_echo "$at_srcdir/system-traffic.at:488: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.1.1.1 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:488"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.1.1.1 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:488"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:492: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:492"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:492"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:492: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:492"
( $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-traffic.at:492"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:492: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:492"
( $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-traffic.at:492"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:492" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:492"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:492: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:492"
( $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-traffic.at:492"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:492: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:492"
( $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-traffic.at:492"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:492" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:492"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:492: :; "
at_fn_check_prepare_trace "system-traffic.at:492"
( $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-traffic.at:492"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_15
#AT_START_16
at_fn_group_banner 16 'system-traffic.at:494' \
  "datapath - basic truncate action" "               " 1
at_xfail=no
(
  $as_echo "16. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:495" >"$at_check_line_file"
(test $HAVE_NC = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:495"

   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:496" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:496"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:496: 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-traffic.at:496"
( $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-traffic.at:496"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:496: 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-traffic.at:496"
( $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-traffic.at:496"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:496: 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-traffic.at:496"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:496"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:496: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:496"
( $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-traffic.at:496"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:496: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:496"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:496"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:496: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:496"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:496"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:496" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:496"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:496: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:496"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:496"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:497: ovs-ofctl del-flows br0"
at_fn_check_prepare_trace "system-traffic.at:497"
( $at_check_trace; ovs-ofctl del-flows br0
) >>"$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:497"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:500: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:500"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:500"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0



 { set +x
$as_echo "$at_srcdir/system-traffic.at:501: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:501"
( $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-traffic.at:501"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:501: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:501"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:501"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:501: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:501"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:501"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:501: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:501"
( $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-traffic.at:501"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:501: 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-traffic.at:501"
( $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>&-
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:501"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:501: ip netns exec at_ns0 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-traffic.at:501"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:501"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:501: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:501"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:501"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:501: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:501"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:501"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:501: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:501"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:501"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:502: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address e6:66:c1:11:11:11
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:502"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address e6:66:c1:11:11:11
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:502"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:503: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
arp -s 10.1.1.2 e6:66:c1:22:22:22
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:503"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
arp -s 10.1.1.2 e6:66:c1:22:22:22
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:503"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:506: ip link add p1 type veth peer name ovs-p1"
at_fn_check_prepare_trace "system-traffic.at:506"
( $at_check_trace; ip link add p1 type veth peer name ovs-p1
) >>"$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:506"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

on_exit 'ip link del ovs-p1'
{ set +x
$as_echo "$at_srcdir/system-traffic.at:508: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:508"
( $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-traffic.at:508"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:509: ip link set dev p1 up"
at_fn_check_prepare_trace "system-traffic.at:509"
( $at_check_trace; ip link set dev 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-traffic.at:509"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:510: ovs-vsctl add-port br0 ovs-p1 -- set interface ovs-p1 ofport_request=2"
at_fn_check_prepare_trace "system-traffic.at:510"
( $at_check_trace; ovs-vsctl add-port br0 ovs-p1 -- set interface ovs-p1 ofport_request=2
) >>"$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:510"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:512: ovs-vsctl add-port br0 p1 -- set interface p1 ofport_request=3"
at_fn_check_prepare_trace "system-traffic.at:512"
( $at_check_trace; ovs-vsctl add-port br0 p1 -- set interface p1 ofport_request=3
) >>"$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:512"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:515: ip link add p2 type veth peer name ovs-p2"
at_fn_check_prepare_trace "system-traffic.at:515"
( $at_check_trace; ip link add p2 type veth peer name ovs-p2
) >>"$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:515"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

on_exit 'ip link del ovs-p2'
{ set +x
$as_echo "$at_srcdir/system-traffic.at:517: ip link set dev ovs-p2 up"
at_fn_check_prepare_trace "system-traffic.at:517"
( $at_check_trace; ip link set dev ovs-p2 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-traffic.at:517"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:518: ip link set dev p2 up"
at_fn_check_prepare_trace "system-traffic.at:518"
( $at_check_trace; ip link set dev p2 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-traffic.at:518"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:519: ovs-vsctl add-port br0 ovs-p2 -- set interface ovs-p2 ofport_request=4"
at_fn_check_prepare_trace "system-traffic.at:519"
( $at_check_trace; ovs-vsctl add-port br0 ovs-p2 -- set interface ovs-p2 ofport_request=4
) >>"$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:519"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:521: ovs-vsctl add-port br0 p2 -- set interface p2 ofport_request=5"
at_fn_check_prepare_trace "system-traffic.at:521"
( $at_check_trace; ovs-vsctl add-port br0 p2 -- set interface p2 ofport_request=5
) >>"$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:521"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:524: ovs-ofctl del-flows br0"
at_fn_check_prepare_trace "system-traffic.at:524"
( $at_check_trace; ovs-ofctl del-flows br0
) >>"$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:524"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

cat >flows.txt <<'_ATEOF'
in_port=3 dl_dst=e6:66:c1:22:22:22 actions=drop
in_port=5 dl_dst=e6:66:c1:22:22:22 actions=drop
in_port=1 dl_dst=e6:66:c1:22:22:22 actions=output(port=2,max_len=100),output:4
_ATEOF

{ set +x
$as_echo "$at_srcdir/system-traffic.at:530: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:530"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$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:530"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:533: dd if=/dev/urandom of=payload200.bin bs=200 count=1 2> /dev/null"
at_fn_check_prepare_trace "system-traffic.at:533"
( $at_check_trace; dd if=/dev/urandom of=payload200.bin bs=200 count=1 2> /dev/null
) >>"$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:533"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

on_exit 'rm -f payload200.bin'
 { set +x
$as_echo "$at_srcdir/system-traffic.at:535: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
nc \$NC_EOF_OPT -u 10.1.1.2 1234 < payload200.bin
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:535"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
nc $NC_EOF_OPT -u 10.1.1.2 1234 < payload200.bin
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:535"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:538: ovs-appctl revalidator/purge"
at_fn_check_prepare_trace "system-traffic.at:538"
( $at_check_trace; ovs-appctl revalidator/purge
) >>"$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:538"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:539: ovs-ofctl dump-flows br0 table=0 | grep \"in_port=3\" |  sed -n 's/.*\\(n\\_bytes=[0-9]*\\).*/\\1/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:539"
( $at_check_trace; ovs-ofctl dump-flows br0 table=0 | grep "in_port=3" |  sed -n 's/.*\(n\_bytes=[0-9]*\).*/\1/p'
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "n_bytes=100
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:539"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:543: ovs-appctl revalidator/purge"
at_fn_check_prepare_trace "system-traffic.at:543"
( $at_check_trace; ovs-appctl revalidator/purge
) >>"$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:543"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:544: ovs-ofctl dump-flows br0 table=0 | grep \"in_port=5\" | sed -n 's/.*\\(n\\_bytes=[0-9]*\\).*/\\1/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:544"
( $at_check_trace; ovs-ofctl dump-flows br0 table=0 | grep "in_port=5" | sed -n 's/.*\(n\_bytes=[0-9]*\).*/\1/p'
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "n_bytes=242
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:544"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:549: ovs-ofctl del-flows br0"
at_fn_check_prepare_trace "system-traffic.at:549"
( $at_check_trace; ovs-ofctl del-flows br0
) >>"$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:549"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

cat >flows.txt <<'_ATEOF'
in_port=3 dl_dst=e6:66:c1:22:22:22 actions=drop
in_port=5 dl_dst=e6:66:c1:22:22:22 actions=drop
in_port=1 dl_dst=e6:66:c1:22:22:22 actions=output(port=2,max_len=100),output:4,output(port=2,max_len=100),output(port=4,max_len=100),output:2,output(port=4,max_len=200),output(port=2,max_len=65535)
_ATEOF

{ set +x
$as_echo "$at_srcdir/system-traffic.at:555: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:555"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$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:555"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:557: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
nc \$NC_EOF_OPT -u 10.1.1.2 1234 < payload200.bin
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:557"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
nc $NC_EOF_OPT -u 10.1.1.2 1234 < payload200.bin
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:557"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:560: ovs-appctl revalidator/purge"
at_fn_check_prepare_trace "system-traffic.at:560"
( $at_check_trace; ovs-appctl revalidator/purge
) >>"$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:560"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:561: ovs-ofctl dump-flows br0 table=0 | grep \"in_port=3\" | sed -n 's/.*\\(n\\_bytes=[0-9]*\\).*/\\1/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:561"
( $at_check_trace; ovs-ofctl dump-flows br0 table=0 | grep "in_port=3" | sed -n 's/.*\(n\_bytes=[0-9]*\).*/\1/p'
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "n_bytes=684
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:561"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:565: ovs-ofctl dump-flows br0 table=0 | grep \"in_port=5\" | sed -n 's/.*\\(n\\_bytes=[0-9]*\\).*/\\1/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:565"
( $at_check_trace; ovs-ofctl dump-flows br0 table=0 | grep "in_port=5" | sed -n 's/.*\(n\_bytes=[0-9]*\).*/\1/p'
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "n_bytes=542
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:565"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:571: ovs-appctl dpif/set-dp-features br0 trunc false"
at_fn_check_prepare_trace "system-traffic.at:571"
( $at_check_trace; ovs-appctl dpif/set-dp-features br0 trunc false
) >>"$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:571"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:574: ovs-ofctl del-flows br0"
at_fn_check_prepare_trace "system-traffic.at:574"
( $at_check_trace; ovs-ofctl del-flows br0
) >>"$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:574"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:575: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:575"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$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:575"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:577: ovs-appctl ofproto/trace br0 \"in_port=1,dl_type=0x800,dl_src=e6:66:c1:11:11:11,dl_dst=e6:66:c1:22:22:22,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_proto=6,tp_src=8,tp_dst=9\""
at_fn_check_prepare_trace "system-traffic.at:577"
( $at_check_trace; ovs-appctl ofproto/trace br0 "in_port=1,dl_type=0x800,dl_src=e6:66:c1:11:11:11,dl_dst=e6:66:c1:22:22:22,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_proto=6,tp_src=8,tp_dst=9"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:577"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:578: tail -3 stdout"
at_fn_check_prepare_trace "system-traffic.at:578"
( $at_check_trace; tail -3 stdout
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: trunc(100),3,5,trunc(100),3,trunc(100),5,3,trunc(200),5,trunc(65535),3
This flow is handled by the userspace slow path because it:
	- Uses action(s) not supported by datapath.
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:578"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:585: ovs-ofctl del-flows br0"
at_fn_check_prepare_trace "system-traffic.at:585"
( $at_check_trace; ovs-ofctl del-flows br0
) >>"$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:585"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:586: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:586"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$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:586"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

 { set +x
$as_echo "$at_srcdir/system-traffic.at:587: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
nc \$NC_EOF_OPT -u 10.1.1.2 1234 < payload200.bin
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:587"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
nc $NC_EOF_OPT -u 10.1.1.2 1234 < payload200.bin
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:587"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:590: ovs-appctl revalidator/purge"
at_fn_check_prepare_trace "system-traffic.at:590"
( $at_check_trace; ovs-appctl revalidator/purge
) >>"$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:590"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:591: ovs-ofctl dump-flows br0 table=0 | grep \"in_port=3\" | sed -n 's/.*\\(n\\_bytes=[0-9]*\\).*/\\1/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:591"
( $at_check_trace; ovs-ofctl dump-flows br0 table=0 | grep "in_port=3" | sed -n 's/.*\(n\_bytes=[0-9]*\).*/\1/p'
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "n_bytes=684
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:591"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:596: ovs-ofctl dump-flows br0 table=0 | grep \"in_port=5\" | sed -n 's/.*\\(n\\_bytes=[0-9]*\\).*/\\1/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:596"
( $at_check_trace; ovs-ofctl dump-flows br0 table=0 | grep "in_port=5" | sed -n 's/.*\(n\_bytes=[0-9]*\).*/\1/p'
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "n_bytes=542
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:596"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:600: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:600"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:600"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:600: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:600"
( $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-traffic.at:600"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:600: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:600"
( $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-traffic.at:600"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:600" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:600"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:600: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:600"
( $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-traffic.at:600"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:600: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:600"
( $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-traffic.at:600"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:600" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:600"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:600: :; "
at_fn_check_prepare_trace "system-traffic.at:600"
( $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-traffic.at:600"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_16
#AT_START_17
at_fn_group_banner 17 'system-traffic.at:609' \
  "datapath - truncate and output to gre tunnel" "   " 1
at_xfail=no
(
  $as_echo "17. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:610" >"$at_check_line_file"
(test $HAVE_NC = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:610"
$as_echo "system-traffic.at:611" >"$at_check_line_file"
(! ip link add foo type gretap help 2>&1 | grep gretap >/dev/null) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:611"
     $as_echo "system-traffic.at:611" >"$at_check_line_file"
(systemctl status firewalld 2>&1 | grep running > /dev/null) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:611"

   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:612" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:612"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:612: 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-traffic.at:612"
( $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-traffic.at:612"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:612: 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-traffic.at:612"
( $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-traffic.at:612"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:612: 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-traffic.at:612"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:612"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:612: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:612"
( $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-traffic.at:612"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:612: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:612"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:612"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:612: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:612"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:612"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:612" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:612"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:612: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:612"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:612"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ovs-vsctl add-br br-underlay -- set Bridge br-underlay datapath_type="netdev" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --
ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:615: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:615"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:615"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0



ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:616: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:616"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:616"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0



{ set +x
$as_echo "$at_srcdir/system-traffic.at:617: ovs-ofctl add-flow br0 \"actions=normal\""
at_fn_check_prepare_trace "system-traffic.at:617"
( $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-traffic.at:617"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:618: ovs-ofctl add-flow br-underlay \"actions=normal\""
at_fn_check_prepare_trace "system-traffic.at:618"
( $at_check_trace; ovs-ofctl add-flow br-underlay "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-traffic.at:618"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:621: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:621"
( $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-traffic.at:621"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:621: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:621"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:621"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:621: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:621"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:621"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:621: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:621"
( $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-traffic.at:621"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:621: ovs-vsctl add-port br-underlay ovs-p0 -- \\
                set interface ovs-p0 external-ids:iface-id=\"p0\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:621"
( $at_check_trace; ovs-vsctl add-port br-underlay ovs-p0 -- \
                set interface ovs-p0 external-ids:iface-id="p0"
) >>"$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:621"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:621: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add \"172.31.1.1/24\" dev p0
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:621"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "172.31.1.1/24" dev p0
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:621"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:621: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:621"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:621"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:621: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:621"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:621"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:621: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:621"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:621"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


{ set +x
$as_echo "$at_srcdir/system-traffic.at:622: ip addr add dev br-underlay \"172.31.1.100/24\""
at_fn_check_prepare_trace "system-traffic.at:622"
( $at_check_trace; ip addr add dev br-underlay "172.31.1.100/24"
) >>"$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:622"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:623: ip link set dev br-underlay up"
at_fn_check_prepare_trace "system-traffic.at:623"
( $at_check_trace; ip link set dev br-underlay 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-traffic.at:623"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:627: ovs-vsctl add-port br0 at_gre0 -- \\
              set int at_gre0 type=gre options:remote_ip=172.31.1.1 "
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:627"
( $at_check_trace; ovs-vsctl add-port br0 at_gre0 -- \
              set int at_gre0 type=gre options:remote_ip=172.31.1.1
) >>"$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:627"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    { set +x
$as_echo "$at_srcdir/system-traffic.at:627: ip addr add dev br0 10.1.1.100/24"
at_fn_check_prepare_trace "system-traffic.at:627"
( $at_check_trace; ip addr add dev br0 10.1.1.100/24
) >>"$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:627"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    { set +x
$as_echo "$at_srcdir/system-traffic.at:627: ip link set dev br0 up"
at_fn_check_prepare_trace "system-traffic.at:627"
( $at_check_trace; ip link set dev br0 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-traffic.at:627"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    { set +x
$as_echo "$at_srcdir/system-traffic.at:627: ip link set dev br0 mtu 1450"
at_fn_check_prepare_trace "system-traffic.at:627"
( $at_check_trace; ip link set dev br0 mtu 1450
) >>"$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:627"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    on_exit 'ip addr del dev br0 10.1.1.100/24'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:628: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add dev ns_gre0 type gretap remote 172.31.1.100
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:628"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add dev ns_gre0 type gretap remote 172.31.1.100
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:628"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


     { set +x
$as_echo "$at_srcdir/system-traffic.at:628: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev ns_gre0 10.1.1.1/24
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:628"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev ns_gre0 10.1.1.1/24
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:628"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


     { set +x
$as_echo "$at_srcdir/system-traffic.at:628: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev ns_gre0 mtu 1450 address e6:66:c1:11:11:11 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:628"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev ns_gre0 mtu 1450 address e6:66:c1:11:11:11 up
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:628"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




{ set +x
$as_echo "$at_srcdir/system-traffic.at:630: ovs-vsctl -- set interface at_gre0 ofport_request=1"
at_fn_check_prepare_trace "system-traffic.at:630"
( $at_check_trace; ovs-vsctl -- set interface at_gre0 ofport_request=1
) >>"$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:630"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

 { set +x
$as_echo "$at_srcdir/system-traffic.at:631: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
arp -s 10.1.1.2 e6:66:c1:22:22:22
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:631"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
arp -s 10.1.1.2 e6:66:c1:22:22:22
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:631"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



 { set +x
$as_echo "$at_srcdir/system-traffic.at:634: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:634"
( $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-traffic.at:634"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:634: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:634"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:634"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:634: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:634"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:634"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:634: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:634"
( $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-traffic.at:634"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:634: 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-traffic.at:634"
( $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>&-
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:634"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:634: ip netns exec at_ns1 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-traffic.at:634"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add '10.1.1.2/24' dev p1
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:634"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:634: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:634"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:634"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:634: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:634"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:634"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:634: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:634"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:634"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'


{ set +x
$as_echo "$at_srcdir/system-traffic.at:635: ovs-vsctl -- set interface ovs-p1 ofport_request=2"
at_fn_check_prepare_trace "system-traffic.at:635"
( $at_check_trace; ovs-vsctl -- set interface ovs-p1 ofport_request=2
) >>"$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:635"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

 { set +x
$as_echo "$at_srcdir/system-traffic.at:636: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address e6:66:c1:22:22:22
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:636"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address e6:66:c1:22:22:22
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:636"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:637: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
arp -s 10.1.1.1 e6:66:c1:11:11:11
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:637"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
arp -s 10.1.1.1 e6:66:c1:11:11:11
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:637"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:640: ip link add p2 type veth peer name ovs-p2"
at_fn_check_prepare_trace "system-traffic.at:640"
( $at_check_trace; ip link add p2 type veth peer name ovs-p2
) >>"$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:640"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

on_exit 'ip link del ovs-p2'
{ set +x
$as_echo "$at_srcdir/system-traffic.at:642: ip link set dev ovs-p2 up"
at_fn_check_prepare_trace "system-traffic.at:642"
( $at_check_trace; ip link set dev ovs-p2 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-traffic.at:642"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:643: ip link set dev p2 up"
at_fn_check_prepare_trace "system-traffic.at:643"
( $at_check_trace; ip link set dev p2 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-traffic.at:643"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:644: ovs-vsctl add-port br0 ovs-p2 -- set interface ovs-p2 ofport_request=3"
at_fn_check_prepare_trace "system-traffic.at:644"
( $at_check_trace; ovs-vsctl add-port br0 ovs-p2 -- set interface ovs-p2 ofport_request=3
) >>"$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:644"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:645: ovs-vsctl add-port br0 p2 -- set interface p2 ofport_request=4"
at_fn_check_prepare_trace "system-traffic.at:645"
( $at_check_trace; ovs-vsctl add-port br0 p2 -- set interface p2 ofport_request=4
) >>"$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:645"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:648: dd if=/dev/urandom of=payload200.bin bs=200 count=1 2> /dev/null"
at_fn_check_prepare_trace "system-traffic.at:648"
( $at_check_trace; dd if=/dev/urandom of=payload200.bin bs=200 count=1 2> /dev/null
) >>"$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:648"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

on_exit 'rm -f payload200.bin'

{ set +x
$as_echo "$at_srcdir/system-traffic.at:651: ovs-ofctl del-flows br0"
at_fn_check_prepare_trace "system-traffic.at:651"
( $at_check_trace; ovs-ofctl del-flows br0
) >>"$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:651"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

cat >flows.txt <<'_ATEOF'
priority=99,in_port=1,actions=output(port=2,max_len=100),output(port=3,max_len=100)
priority=99,in_port=2,udp,actions=output(port=1,max_len=100)
priority=1,in_port=4,ip,actions=drop
priority=1,actions=drop
_ATEOF

{ set +x
$as_echo "$at_srcdir/system-traffic.at:658: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:658"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$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:658"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:660: ovs-ofctl del-flows br-underlay"
at_fn_check_prepare_trace "system-traffic.at:660"
( $at_check_trace; ovs-ofctl del-flows br-underlay
) >>"$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:660"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

cat >flows-underlay.txt <<'_ATEOF'
priority=99,dl_type=0x0800,nw_proto=47,in_port=1,actions=LOCAL
priority=99,dl_type=0x0800,nw_proto=47,in_port=LOCAL,ip_dst=172.31.1.1/24,actions=1
priority=1,actions=drop
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:667: ovs-ofctl add-flows br-underlay flows-underlay.txt"
at_fn_check_prepare_trace "system-traffic.at:667"
( $at_check_trace; ovs-ofctl add-flows br-underlay flows-underlay.txt
) >>"$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:667"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:670: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
nc \$NC_EOF_OPT -u 10.1.1.1 1234 < payload200.bin
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:670"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
nc $NC_EOF_OPT -u 10.1.1.1 1234 < payload200.bin
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:670"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:671: ovs-appctl revalidator/purge"
at_fn_check_prepare_trace "system-traffic.at:671"
( $at_check_trace; ovs-appctl revalidator/purge
) >>"$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:671"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:674: ovs-ofctl dump-flows br0 | grep \"in_port=2\" | sed -n 's/.*\\(n\\_bytes=[0-9]*\\).*/\\1/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:674"
( $at_check_trace; ovs-ofctl dump-flows br0 | grep "in_port=2" | sed -n 's/.*\(n\_bytes=[0-9]*\).*/\1/p'
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "n_bytes=242
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:674"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:678: ovs-ofctl dump-flows br-underlay | grep \"in_port=LOCAL\" | sed -n 's/.*\\(n\\_bytes=[0-9]*\\).*/\\1/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:678"
( $at_check_trace; ovs-ofctl dump-flows br-underlay | grep "in_port=LOCAL" | sed -n 's/.*\(n\_bytes=[0-9]*\).*/\1/p'
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "n_bytes=138
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:678"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:683: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
nc \$NC_EOF_OPT -u 10.1.1.2 5678 < payload200.bin
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:683"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
nc $NC_EOF_OPT -u 10.1.1.2 5678 < payload200.bin
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:683"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:685: ovs-appctl revalidator/purge"
at_fn_check_prepare_trace "system-traffic.at:685"
( $at_check_trace; ovs-appctl revalidator/purge
) >>"$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:685"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:686: ovs-ofctl dump-flows br0 | grep \"in_port=4\" | ofctl_strip"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:686"
( $at_check_trace; ovs-ofctl dump-flows br0 | grep "in_port=4" | ofctl_strip
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " n_packets=1, n_bytes=100, priority=1,ip,in_port=4 actions=drop
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:686"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:692: ovs-appctl dpif/set-dp-features br0 trunc false"
at_fn_check_prepare_trace "system-traffic.at:692"
( $at_check_trace; ovs-appctl dpif/set-dp-features br0 trunc false
) >>"$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:692"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:695: ovs-ofctl del-flows br0"
at_fn_check_prepare_trace "system-traffic.at:695"
( $at_check_trace; ovs-ofctl del-flows br0
) >>"$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:695"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:696: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:696"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$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:696"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:699: ovs-ofctl del-flows br0"
at_fn_check_prepare_trace "system-traffic.at:699"
( $at_check_trace; ovs-ofctl del-flows br0
) >>"$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:699"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:700: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:700"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$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:700"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:701: ovs-ofctl del-flows br-underlay"
at_fn_check_prepare_trace "system-traffic.at:701"
( $at_check_trace; ovs-ofctl del-flows br-underlay
) >>"$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:701"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:702: ovs-ofctl add-flows br-underlay flows-underlay.txt"
at_fn_check_prepare_trace "system-traffic.at:702"
( $at_check_trace; ovs-ofctl add-flows br-underlay flows-underlay.txt
) >>"$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:702"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:705: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
nc \$NC_EOF_OPT -u 10.1.1.1 1234 < payload200.bin
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:705"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
nc $NC_EOF_OPT -u 10.1.1.1 1234 < payload200.bin
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:705"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:706: ovs-appctl revalidator/purge"
at_fn_check_prepare_trace "system-traffic.at:706"
( $at_check_trace; ovs-appctl revalidator/purge
) >>"$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:706"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:709: ovs-ofctl dump-flows br0 | grep \"in_port=2\" | sed -n 's/.*\\(n\\_bytes=[0-9]*\\).*/\\1/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:709"
( $at_check_trace; ovs-ofctl dump-flows br0 | grep "in_port=2" | sed -n 's/.*\(n\_bytes=[0-9]*\).*/\1/p'
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "n_bytes=242
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:709"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:713: ovs-ofctl dump-flows br-underlay | grep \"in_port=LOCAL\" | sed -n 's/.*\\(n\\_bytes=[0-9]*\\).*/\\1/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:713"
( $at_check_trace; ovs-ofctl dump-flows br-underlay | grep "in_port=LOCAL" | sed -n 's/.*\(n\_bytes=[0-9]*\).*/\1/p'
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "n_bytes=138
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:713"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:718: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
nc \$NC_EOF_OPT -u 10.1.1.2 5678 < payload200.bin
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:718"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
nc $NC_EOF_OPT -u 10.1.1.2 5678 < payload200.bin
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:718"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:720: ovs-appctl revalidator/purge"
at_fn_check_prepare_trace "system-traffic.at:720"
( $at_check_trace; ovs-appctl revalidator/purge
) >>"$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:720"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:721: ovs-ofctl dump-flows br0 | grep \"in_port=4\" | ofctl_strip"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:721"
( $at_check_trace; ovs-ofctl dump-flows br0 | grep "in_port=4" | ofctl_strip
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " n_packets=1, n_bytes=100, priority=1,ip,in_port=4 actions=drop
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:721"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:725: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:725"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:725"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:725: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:725"
( $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-traffic.at:725"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:725: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:725"
( $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-traffic.at:725"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:725" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:725"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:725: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:725"
( $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-traffic.at:725"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:725: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:725"
( $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-traffic.at:725"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:725" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:725"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:725: :; "
at_fn_check_prepare_trace "system-traffic.at:725"
( $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-traffic.at:725"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_17
#AT_START_18
at_fn_group_banner 18 'system-traffic.at:730' \
  "conntrack - controller" "                         " 2
at_xfail=no
(
  $as_echo "18. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:731" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:731"


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:732" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:732"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:732: 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-traffic.at:732"
( $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-traffic.at:732"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:732: 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-traffic.at:732"
( $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-traffic.at:732"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:732: 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-traffic.at:732"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:732"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:732: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:732"
( $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-traffic.at:732"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:732: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:732"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:732"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:732: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:732"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:732"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:732" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:732"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:732: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:732"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:732"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:733: ovs-appctl vlog/set dpif:dbg dpif_netdev:dbg ofproto_dpif_upcall:dbg"
at_fn_check_prepare_trace "system-traffic.at:733"
( $at_check_trace; ovs-appctl vlog/set dpif:dbg dpif_netdev:dbg ofproto_dpif_upcall:dbg
) >>"$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:733"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:735: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:735"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:735"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:735: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:735"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:735"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:737: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:737"
( $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-traffic.at:737"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:737: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:737"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:737"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:737: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:737"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:737"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:737: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:737"
( $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-traffic.at:737"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:737: 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-traffic.at:737"
( $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>&-
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:737"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:737: ip netns exec at_ns0 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-traffic.at:737"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:737"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:737: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:737"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:737"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:737: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:737"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:737"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:737: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:737"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:737"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:738: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:738"
( $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-traffic.at:738"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:738: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:738"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:738"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:738: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:738"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:738"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:738: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:738"
( $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-traffic.at:738"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:738: 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-traffic.at:738"
( $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>&-
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:738"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:738: ip netns exec at_ns1 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-traffic.at:738"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:738"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:738: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:738"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:738"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:738: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:738"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:738"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:738: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:738"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:738"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



cat >flows.txt <<'_ATEOF'
priority=1,action=drop
priority=10,arp,action=normal
priority=100,in_port=1,udp,action=ct(commit),controller
priority=100,in_port=2,ct_state=-trk,udp,action=ct(table=0)
priority=100,in_port=2,ct_state=+trk+est,udp,action=controller
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:749: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:749"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:749"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:752: ovs-ofctl monitor br0 65534 invalid_ttl --detach --no-chdir --pidfile 2> ofctl_monitor.log"
at_fn_check_prepare_trace "system-traffic.at:752"
( $at_check_trace; ovs-ofctl monitor br0 65534 invalid_ttl --detach --no-chdir --pidfile 2> ofctl_monitor.log
) >>"$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:752"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:755: ovs-ofctl -O OpenFlow13 packet-out br0 2 ct\\(table=0\\) '50540000000a50540000000908004500001c000000000011a4cd0a0101020a0101010002000100080000'"
at_fn_check_prepare_trace "system-traffic.at:755"
( $at_check_trace; ovs-ofctl -O OpenFlow13 packet-out br0 2 ct\(table=0\) '50540000000a50540000000908004500001c000000000011a4cd0a0101020a0101010002000100080000'
) >>"$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:755"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:758: ovs-ofctl -O OpenFlow13 packet-out br0 1 ct\\(commit\\),controller '50540000000a50540000000908004500001c000000000011a4cd0a0101010a0101020001000200080000'"
at_fn_check_prepare_trace "system-traffic.at:758"
( $at_check_trace; ovs-ofctl -O OpenFlow13 packet-out br0 1 ct\(commit\),controller '50540000000a50540000000908004500001c000000000011a4cd0a0101010a0101020001000200080000'
) >>"$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:758"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:761: ovs-ofctl -O OpenFlow13 packet-out br0 2 ct\\(table=0\\) '50540000000a50540000000908004500001c000000000011a4cd0a0101020a0101010002000100080000'"
at_fn_check_prepare_trace "system-traffic.at:761"
( $at_check_trace; ovs-ofctl -O OpenFlow13 packet-out br0 2 ct\(table=0\) '50540000000a50540000000908004500001c000000000011a4cd0a0101020a0101010002000100080000'
) >>"$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:761"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:764: cat ofctl_monitor.log"
at_fn_check_prepare_trace "system-traffic.at:764"
( $at_check_trace; cat ofctl_monitor.log
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXT_PACKET_IN2 (xid=0x0): total_len=42 in_port=1 (via action) data_len=42 (unbuffered)
udp,vlan_tci=0x0000,dl_src=50:54:00:00:00:09,dl_dst=50:54:00:00:00:0a,nw_src=10.1.1.1,nw_dst=10.1.1.2,nw_tos=0,nw_ecn=0,nw_ttl=0,tp_src=1,tp_dst=2 udp_csum:0
NXT_PACKET_IN2 (xid=0x0): cookie=0x0 total_len=42 ct_state=est|rpl|trk,ct_nw_src=10.1.1.1,ct_nw_dst=10.1.1.2,ct_nw_proto=17,ct_tp_src=1,ct_tp_dst=2,in_port=2 (via action) data_len=42 (unbuffered)
udp,vlan_tci=0x0000,dl_src=50:54:00:00:00:09,dl_dst=50:54:00:00:00:0a,nw_src=10.1.1.2,nw_dst=10.1.1.1,nw_tos=0,nw_ecn=0,nw_ttl=0,tp_src=2,tp_dst=1 udp_csum:0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:764"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:771: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:771"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:771"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:771: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:771"
( $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-traffic.at:771"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:771: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:771"
( $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-traffic.at:771"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:771" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:771"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:771: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:771"
( $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-traffic.at:771"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:771: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:771"
( $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-traffic.at:771"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:771" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:771"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:771: :; "
at_fn_check_prepare_trace "system-traffic.at:771"
( $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-traffic.at:771"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_18
#AT_START_19
at_fn_group_banner 19 'system-traffic.at:774' \
  "conntrack - force commit" "                       " 2
at_xfail=no
(
  $as_echo "19. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:775" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:775"


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:776" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:776"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:776: 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-traffic.at:776"
( $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-traffic.at:776"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:776: 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-traffic.at:776"
( $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-traffic.at:776"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:776: 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-traffic.at:776"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:776"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:776: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:776"
( $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-traffic.at:776"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:776: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:776"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:776"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:776: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:776"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:776"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:776" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:776"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:776: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:776"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:776"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:777: ovs-appctl vlog/set dpif:dbg dpif_netdev:dbg ofproto_dpif_upcall:dbg"
at_fn_check_prepare_trace "system-traffic.at:777"
( $at_check_trace; ovs-appctl vlog/set dpif:dbg dpif_netdev:dbg ofproto_dpif_upcall:dbg
) >>"$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:777"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:779: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:779"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:779"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:779: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:779"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:779"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:781: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:781"
( $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-traffic.at:781"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:781: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:781"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:781"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:781: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:781"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:781"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:781: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:781"
( $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-traffic.at:781"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:781: 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-traffic.at:781"
( $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>&-
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:781"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:781: ip netns exec at_ns0 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-traffic.at:781"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:781"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:781: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:781"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:781"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:781: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:781"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:781"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:781: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:781"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:781"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:782: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:782"
( $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-traffic.at:782"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:782: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:782"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:782"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:782: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:782"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:782"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:782: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:782"
( $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-traffic.at:782"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:782: 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-traffic.at:782"
( $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>&-
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:782"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:782: ip netns exec at_ns1 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-traffic.at:782"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:782"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:782: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:782"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:782"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:782: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:782"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:782"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:782: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:782"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:782"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



cat >flows.txt <<'_ATEOF'
priority=1,action=drop
priority=10,arp,action=normal
priority=100,in_port=1,udp,action=ct(force,commit),controller
priority=100,in_port=2,ct_state=-trk,udp,action=ct(table=0)
priority=100,in_port=2,ct_state=+trk+est,udp,action=ct(force,commit,table=1)
table=1,in_port=2,ct_state=+trk,udp,action=controller
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:793: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:793"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:793"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:796: ovs-ofctl monitor br0 65534 invalid_ttl --detach --no-chdir --pidfile 2> ofctl_monitor.log"
at_fn_check_prepare_trace "system-traffic.at:796"
( $at_check_trace; ovs-ofctl monitor br0 65534 invalid_ttl --detach --no-chdir --pidfile 2> ofctl_monitor.log
) >>"$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:796"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:799: ovs-ofctl -O OpenFlow13 packet-out br0 \"in_port=2 packet=50540000000a50540000000908004500001c000000000011a4cd0a0101020a0101010002000100080000 actions=resubmit(,0)\""
at_fn_check_prepare_trace "system-traffic.at:799"
( $at_check_trace; ovs-ofctl -O OpenFlow13 packet-out br0 "in_port=2 packet=50540000000a50540000000908004500001c000000000011a4cd0a0101020a0101010002000100080000 actions=resubmit(,0)"
) >>"$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:799"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:802: ovs-ofctl -O OpenFlow13 packet-out br0 \"in_port=1 packet=50540000000a50540000000908004500001c000000000011a4cd0a0101010a0101020001000200080000 actions=resubmit(,0)\""
at_fn_check_prepare_trace "system-traffic.at:802"
( $at_check_trace; ovs-ofctl -O OpenFlow13 packet-out br0 "in_port=1 packet=50540000000a50540000000908004500001c000000000011a4cd0a0101010a0101020001000200080000 actions=resubmit(,0)"
) >>"$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:802"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:805: ovs-ofctl -O OpenFlow13 packet-out br0 \"in_port=2 packet=50540000000a50540000000908004500001c000000000011a4cd0a0101020a0101010002000100080000 actions=resubmit(,0)\""
at_fn_check_prepare_trace "system-traffic.at:805"
( $at_check_trace; ovs-ofctl -O OpenFlow13 packet-out br0 "in_port=2 packet=50540000000a50540000000908004500001c000000000011a4cd0a0101020a0101010002000100080000 actions=resubmit(,0)"
) >>"$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:805"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:807: ovs-appctl revalidator/purge"
at_fn_check_prepare_trace "system-traffic.at:807"
( $at_check_trace; ovs-appctl revalidator/purge
) >>"$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:807"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:810: cat ofctl_monitor.log"
at_fn_check_prepare_trace "system-traffic.at:810"
( $at_check_trace; cat ofctl_monitor.log
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXT_PACKET_IN2 (xid=0x0): cookie=0x0 total_len=42 in_port=1 (via action) data_len=42 (unbuffered)
udp,vlan_tci=0x0000,dl_src=50:54:00:00:00:09,dl_dst=50:54:00:00:00:0a,nw_src=10.1.1.1,nw_dst=10.1.1.2,nw_tos=0,nw_ecn=0,nw_ttl=0,tp_src=1,tp_dst=2 udp_csum:0
NXT_PACKET_IN2 (xid=0x0): table_id=1 cookie=0x0 total_len=42 ct_state=new|trk,ct_nw_src=10.1.1.2,ct_nw_dst=10.1.1.1,ct_nw_proto=17,ct_tp_src=2,ct_tp_dst=1,in_port=2 (via action) data_len=42 (unbuffered)
udp,vlan_tci=0x0000,dl_src=50:54:00:00:00:09,dl_dst=50:54:00:00:00:0a,nw_src=10.1.1.2,nw_dst=10.1.1.1,nw_tos=0,nw_ecn=0,nw_ttl=0,tp_src=2,tp_dst=1 udp_csum:0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:810"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:820: ovs-appctl dpctl/dump-conntrack | grep \"orig=.src=10\\.1\\.1\\.2,\""
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:820"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "orig=.src=10\.1\.1\.2,"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "udp,orig=(src=10.1.1.2,dst=10.1.1.1,sport=2,dport=1),reply=(src=10.1.1.1,dst=10.1.1.2,sport=1,dport=2)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:820"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:825: ovs-ofctl -O OpenFlow13 packet-out br0 \"in_port=1 packet=50540000000a50540000000908004500001c000000000011a4cd0a0101010a0101020001000200080000 actions=resubmit(,0)\""
at_fn_check_prepare_trace "system-traffic.at:825"
( $at_check_trace; ovs-ofctl -O OpenFlow13 packet-out br0 "in_port=1 packet=50540000000a50540000000908004500001c000000000011a4cd0a0101010a0101020001000200080000 actions=resubmit(,0)"
) >>"$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:825"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:826: ovs-appctl revalidator/purge"
at_fn_check_prepare_trace "system-traffic.at:826"
( $at_check_trace; ovs-appctl revalidator/purge
) >>"$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:826"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:828: ovs-appctl dpctl/dump-conntrack | grep \"orig=.src=10\\.1\\.1\\.1,\""
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:828"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "orig=.src=10\.1\.1\.1,"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "udp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=1,dport=2),reply=(src=10.1.1.2,dst=10.1.1.1,sport=2,dport=1)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:828"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:832: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:832"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:832"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:832: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:832"
( $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-traffic.at:832"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:832: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:832"
( $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-traffic.at:832"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:832" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:832"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:832: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:832"
( $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-traffic.at:832"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:832: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:832"
( $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-traffic.at:832"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:832" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:832"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:832: :; "
at_fn_check_prepare_trace "system-traffic.at:832"
( $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-traffic.at:832"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_19
#AT_START_20
at_fn_group_banner 20 'system-traffic.at:835' \
  "conntrack - IPv4 ping" "                          " 2
at_xfail=no
(
  $as_echo "20. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:836" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:836"


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:837" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:837"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:837: 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-traffic.at:837"
( $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-traffic.at:837"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:837: 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-traffic.at:837"
( $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-traffic.at:837"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:837: 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-traffic.at:837"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:837"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:837: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:837"
( $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-traffic.at:837"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:837: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:837"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:837"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:837: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:837"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:837"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:837" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:837"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:837: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:837"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:837"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:839: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:839"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:839"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:839: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:839"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:839"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:841: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:841"
( $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-traffic.at:841"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:841: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:841"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:841"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:841: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:841"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:841"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:841: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:841"
( $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-traffic.at:841"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:841: 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-traffic.at:841"
( $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>&-
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:841"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:841: ip netns exec at_ns0 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-traffic.at:841"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:841"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:841: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:841"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:841"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:841: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:841"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:841"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:841: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:841"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:841"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:842: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:842"
( $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-traffic.at:842"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:842: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:842"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:842"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:842: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:842"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:842"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:842: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:842"
( $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-traffic.at:842"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:842: 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-traffic.at:842"
( $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>&-
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:842"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:842: ip netns exec at_ns1 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-traffic.at:842"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:842"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:842: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:842"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:842"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:842: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:842"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:842"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:842: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:842"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:842"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



cat >flows.txt <<'_ATEOF'
priority=1,action=drop
priority=10,arp,action=normal
priority=100,in_port=1,icmp,action=ct(commit),2
priority=100,in_port=2,icmp,ct_state=-trk,action=ct(table=0)
priority=100,in_port=2,icmp,ct_state=+trk+est,action=1
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:853: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:853"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:853"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:856: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.1.1.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:856"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.1.1.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:856"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:860: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:860"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "icmp,orig=(src=10.1.1.1,dst=10.1.1.2,id=<cleared>,type=8,code=0),reply=(src=10.1.1.2,dst=10.1.1.1,id=<cleared>,type=0,code=0)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:860"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:864: ovs-appctl dpctl/flush-conntrack"
at_fn_check_prepare_trace "system-traffic.at:864"
( $at_check_trace; ovs-appctl dpctl/flush-conntrack
) >>"$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:864"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:867: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.1.1.1 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:867"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.1.1.1 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
echo >>"$at_stdout"; $as_echo "7 packets transmitted, 0 received, 100% packet loss, time 0ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:867"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:871: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:871"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:871"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:871: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:871"
( $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-traffic.at:871"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:871: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:871"
( $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-traffic.at:871"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:871" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:871"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:871: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:871"
( $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-traffic.at:871"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:871: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:871"
( $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-traffic.at:871"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:871" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:871"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:871: :; "
at_fn_check_prepare_trace "system-traffic.at:871"
( $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-traffic.at:871"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_20
#AT_START_21
at_fn_group_banner 21 'system-traffic.at:874' \
  "conntrack - IPv6 ping" "                          " 2
at_xfail=no
(
  $as_echo "21. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:875" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:875"


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:876" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:876"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:876: 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-traffic.at:876"
( $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-traffic.at:876"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:876: 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-traffic.at:876"
( $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-traffic.at:876"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:876: 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-traffic.at:876"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:876"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:876: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:876"
( $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-traffic.at:876"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:876: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:876"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:876"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:876: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:876"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:876"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:876" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:876"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:876: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:876"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:876"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:878: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:878"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:878"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:878: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:878"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:878"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:880: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:880"
( $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-traffic.at:880"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:880: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:880"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:880"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:880: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:880"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:880"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:880: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:880"
( $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-traffic.at:880"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:880: 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-traffic.at:880"
( $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>&-
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:880"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:880: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add \"fc00::1/96\" dev p0
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:880"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "fc00::1/96" dev p0
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:880"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:880: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:880"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:880"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:880: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:880"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:880"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:880: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:880"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:880"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:881: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:881"
( $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-traffic.at:881"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:881: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:881"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:881"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:881: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:881"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:881"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:881: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:881"
( $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-traffic.at:881"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:881: 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-traffic.at:881"
( $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>&-
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:881"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:881: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add \"fc00::2/96\" dev p1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:881"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "fc00::2/96" dev p1
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:881"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:881: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:881"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:881"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:881: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:881"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:881"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:881: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:881"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:881"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



cat >flows.txt <<'_ATEOF'

table=0,priority=10,icmp6,icmp_type=128,action=goto_table:1
table=0,priority=10,icmp6,icmp_type=129,action=goto_table:1
table=0,priority=1,action=normal

table=1,priority=100,in_port=1,icmp6,action=ct(commit),2
table=1,priority=100,in_port=2,icmp6,ct_state=-trk,action=ct(table=0)
table=1,priority=100,in_port=2,icmp6,ct_state=+trk+est,action=1
table=1,priority=1,action=drop
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:898: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:898"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:898"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs_wait_cond () {
    ip netns exec at_ns0 ping6 -c 1 fc00::2
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:900" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:900"
fi


{ set +x
$as_echo "$at_srcdir/system-traffic.at:904: ovs-appctl dpctl/flush-conntrack"
at_fn_check_prepare_trace "system-traffic.at:904"
( $at_check_trace; ovs-appctl dpctl/flush-conntrack
) >>"$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:904"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:907: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ping6 -q -c 3 -i 0.3 -w 2 fc00::1 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:907"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ping6 -q -c 3 -i 0.3 -w 2 fc00::1 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
echo >>"$at_stdout"; $as_echo "7 packets transmitted, 0 received, 100% packet loss, time 0ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:907"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



 { set +x
$as_echo "$at_srcdir/system-traffic.at:912: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -q -c 3 -i 0.3 -w 2 fc00::2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:912"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -q -c 3 -i 0.3 -w 2 fc00::2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:912"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:916: ovs-appctl dpctl/dump-conntrack | grep \"dst=fc00::2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:916"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=fc00::2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "icmpv6,orig=(src=fc00::1,dst=fc00::2,id=<cleared>,type=128,code=0),reply=(src=fc00::2,dst=fc00::1,id=<cleared>,type=129,code=0)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:916"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:920: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:920"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:920"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:920: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:920"
( $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-traffic.at:920"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:920: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:920"
( $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-traffic.at:920"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:920" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:920"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:920: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:920"
( $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-traffic.at:920"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:920: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:920"
( $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-traffic.at:920"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:920" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:920"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:920: :; "
at_fn_check_prepare_trace "system-traffic.at:920"
( $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-traffic.at:920"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_21
#AT_START_22
at_fn_group_banner 22 'system-traffic.at:923' \
  "conntrack - preserve registers" "                 " 2
at_xfail=no
(
  $as_echo "22. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:924" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:924"


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:925" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:925"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:925: 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-traffic.at:925"
( $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-traffic.at:925"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:925: 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-traffic.at:925"
( $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-traffic.at:925"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:925: 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-traffic.at:925"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:925"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:925: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:925"
( $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-traffic.at:925"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:925: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:925"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:925"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:925: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:925"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:925"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:925" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:925"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:925: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:925"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:925"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:927: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:927"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:927"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:927: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:927"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:927"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns2



                { set +x
$as_echo "$at_srcdir/system-traffic.at:927: ip netns add at_ns2 || return 77"
at_fn_check_prepare_trace "system-traffic.at:927"
( $at_check_trace; ip netns add at_ns2 || 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-traffic.at:927"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns2


'
                ip netns exec at_ns2 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns3



                { set +x
$as_echo "$at_srcdir/system-traffic.at:927: ip netns add at_ns3 || return 77"
at_fn_check_prepare_trace "system-traffic.at:927"
( $at_check_trace; ip netns add at_ns3 || 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-traffic.at:927"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns3


'
                ip netns exec at_ns3 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:929: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:929"
( $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-traffic.at:929"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:929: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:929"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:929"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:929: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:929"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:929"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:929: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:929"
( $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-traffic.at:929"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:929: 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-traffic.at:929"
( $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>&-
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:929"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:929: ip netns exec at_ns0 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-traffic.at:929"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:929"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:929: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:929"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:929"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:929: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:929"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:929"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:929: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:929"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:929"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:930: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:930"
( $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-traffic.at:930"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:930: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:930"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:930"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:930: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:930"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:930"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:930: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:930"
( $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-traffic.at:930"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:930: 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-traffic.at:930"
( $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>&-
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:930"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:930: ip netns exec at_ns1 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-traffic.at:930"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:930"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:930: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:930"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:930"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:930: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:930"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:930"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:930: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:930"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:930"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:931: ip link add p2 type veth peer name ovs-p2 || return 77"
at_fn_check_prepare_trace "system-traffic.at:931"
( $at_check_trace; ip link add p2 type veth peer name ovs-p2 || 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-traffic.at:931"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:931: ethtool -K p2 tx off"
at_fn_check_prepare_trace "system-traffic.at:931"
( $at_check_trace; ethtool -K p2 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:931"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:931: ip link set p2 netns at_ns2"
at_fn_check_prepare_trace "system-traffic.at:931"
( $at_check_trace; ip link set p2 netns at_ns2
) >>"$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:931"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:931: ip link set dev ovs-p2 up"
at_fn_check_prepare_trace "system-traffic.at:931"
( $at_check_trace; ip link set dev ovs-p2 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-traffic.at:931"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:931: ovs-vsctl add-port br0 ovs-p2 -- \\
                set interface ovs-p2 external-ids:iface-id=\"p2\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:931"
( $at_check_trace; ovs-vsctl add-port br0 ovs-p2 -- \
                set interface ovs-p2 external-ids:iface-id="p2"
) >>"$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:931"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:931: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip addr add \"10.1.1.3/24\" dev p2
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:931"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.3/24" dev p2
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:931"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:931: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip link set dev p2 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:931"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip link set dev p2 up
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:931"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:931: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip link set dev p2 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:931"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip link set dev p2 address
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:931"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:931: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:931"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip route add default via
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:931"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p2'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:932: ip link add p3 type veth peer name ovs-p3 || return 77"
at_fn_check_prepare_trace "system-traffic.at:932"
( $at_check_trace; ip link add p3 type veth peer name ovs-p3 || 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-traffic.at:932"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:932: ethtool -K p3 tx off"
at_fn_check_prepare_trace "system-traffic.at:932"
( $at_check_trace; ethtool -K p3 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:932"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:932: ip link set p3 netns at_ns3"
at_fn_check_prepare_trace "system-traffic.at:932"
( $at_check_trace; ip link set p3 netns at_ns3
) >>"$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:932"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:932: ip link set dev ovs-p3 up"
at_fn_check_prepare_trace "system-traffic.at:932"
( $at_check_trace; ip link set dev ovs-p3 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-traffic.at:932"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:932: ovs-vsctl add-port br0 ovs-p3 -- \\
                set interface ovs-p3 external-ids:iface-id=\"p3\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:932"
( $at_check_trace; ovs-vsctl add-port br0 ovs-p3 -- \
                set interface ovs-p3 external-ids:iface-id="p3"
) >>"$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:932"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:932: ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip addr add \"10.1.1.4/24\" dev p3
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:932"
( $at_check_trace; ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.4/24" dev p3
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:932"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:932: ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip link set dev p3 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:932"
( $at_check_trace; ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip link set dev p3 up
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:932"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:932: ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip link set dev p3 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:932"
( $at_check_trace; ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip link set dev p3 address
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:932"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:932: ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:932"
( $at_check_trace; ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip route add default via
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:932"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p3'



cat >flows.txt <<'_ATEOF'
priority=1,action=drop
priority=10,arp,action=normal
priority=10,icmp,action=normal
priority=100,in_port=1,tcp,ct_state=-trk,action=ct(commit,table=0)
priority=100,in_port=1,tcp,ct_state=+trk,action=2
priority=100,in_port=2,tcp,ct_state=-trk,action=ct(table=0)
priority=100,in_port=2,tcp,ct_state=+trk,action=1
priority=100,in_port=3,tcp,ct_state=-trk,action=load:0->NXM_NX_REG0[],ct(table=0)
priority=100,in_port=3,tcp,ct_state=+trk,reg0=0,action=load:1->NXM_NX_REG0[],ct(commit,table=0)
priority=100,in_port=3,tcp,ct_state=+trk,reg0=1,action=4
priority=100,in_port=4,tcp,ct_state=-trk,action=ct(commit,table=0)
priority=100,in_port=4,tcp,ct_state=+trk,action=3
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:950: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:950"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:950"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec at_ns1 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:952" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:952"
fi



PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec at_ns3 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:953" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:953"
fi




 { set +x
$as_echo "$at_srcdir/system-traffic.at:956: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:956"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
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:956"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



 { set +x
$as_echo "$at_srcdir/system-traffic.at:959: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
wget 10.1.1.4 -t 3 -T 1 --retry-connrefused -v -o wget1.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:959"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
wget 10.1.1.4 -t 3 -T 1 --retry-connrefused -v -o wget1.log
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:959"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:961: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:961"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:961"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:961: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:961"
( $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-traffic.at:961"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:961: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:961"
( $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-traffic.at:961"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:961" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:961"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:961: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:961"
( $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-traffic.at:961"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:961: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:961"
( $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-traffic.at:961"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:961" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:961"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:961: :; "
at_fn_check_prepare_trace "system-traffic.at:961"
( $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-traffic.at:961"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_22
#AT_START_23
at_fn_group_banner 23 'system-traffic.at:964' \
  "conntrack - invalid" "                            " 2
at_xfail=no
(
  $as_echo "23. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:965" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:965"


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:966" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:966"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:966: 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-traffic.at:966"
( $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-traffic.at:966"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:966: 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-traffic.at:966"
( $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-traffic.at:966"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:966: 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-traffic.at:966"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:966"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:966: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:966"
( $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-traffic.at:966"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:966: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:966"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:966"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:966: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:966"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:966"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:966" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:966"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:966: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:966"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:966"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:968: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:968"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:968"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:968: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:968"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:968"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns2



                { set +x
$as_echo "$at_srcdir/system-traffic.at:968: ip netns add at_ns2 || return 77"
at_fn_check_prepare_trace "system-traffic.at:968"
( $at_check_trace; ip netns add at_ns2 || 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-traffic.at:968"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns2


'
                ip netns exec at_ns2 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns3



                { set +x
$as_echo "$at_srcdir/system-traffic.at:968: ip netns add at_ns3 || return 77"
at_fn_check_prepare_trace "system-traffic.at:968"
( $at_check_trace; ip netns add at_ns3 || 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-traffic.at:968"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns3


'
                ip netns exec at_ns3 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:970: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:970"
( $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-traffic.at:970"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:970: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:970"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:970"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:970: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:970"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:970"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:970: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:970"
( $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-traffic.at:970"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:970: 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-traffic.at:970"
( $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>&-
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:970"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:970: ip netns exec at_ns0 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-traffic.at:970"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:970"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:970: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:970"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:970"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:970: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:970"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:970"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:970: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:970"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:970"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:971: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:971"
( $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-traffic.at:971"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:971: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:971"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:971"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:971: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:971"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:971"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:971: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:971"
( $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-traffic.at:971"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:971: 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-traffic.at:971"
( $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>&-
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:971"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:971: ip netns exec at_ns1 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-traffic.at:971"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:971"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:971: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:971"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:971"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:971: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:971"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:971"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:971: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:971"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:971"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:972: ip link add p2 type veth peer name ovs-p2 || return 77"
at_fn_check_prepare_trace "system-traffic.at:972"
( $at_check_trace; ip link add p2 type veth peer name ovs-p2 || 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-traffic.at:972"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:972: ethtool -K p2 tx off"
at_fn_check_prepare_trace "system-traffic.at:972"
( $at_check_trace; ethtool -K p2 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:972"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:972: ip link set p2 netns at_ns2"
at_fn_check_prepare_trace "system-traffic.at:972"
( $at_check_trace; ip link set p2 netns at_ns2
) >>"$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:972"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:972: ip link set dev ovs-p2 up"
at_fn_check_prepare_trace "system-traffic.at:972"
( $at_check_trace; ip link set dev ovs-p2 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-traffic.at:972"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:972: ovs-vsctl add-port br0 ovs-p2 -- \\
                set interface ovs-p2 external-ids:iface-id=\"p2\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:972"
( $at_check_trace; ovs-vsctl add-port br0 ovs-p2 -- \
                set interface ovs-p2 external-ids:iface-id="p2"
) >>"$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:972"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:972: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip addr add \"10.1.1.3/24\" dev p2
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:972"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.3/24" dev p2
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:972"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:972: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip link set dev p2 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:972"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip link set dev p2 up
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:972"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:972: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip link set dev p2 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:972"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip link set dev p2 address
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:972"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:972: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:972"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip route add default via
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:972"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p2'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:973: ip link add p3 type veth peer name ovs-p3 || return 77"
at_fn_check_prepare_trace "system-traffic.at:973"
( $at_check_trace; ip link add p3 type veth peer name ovs-p3 || 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-traffic.at:973"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:973: ethtool -K p3 tx off"
at_fn_check_prepare_trace "system-traffic.at:973"
( $at_check_trace; ethtool -K p3 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:973"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:973: ip link set p3 netns at_ns3"
at_fn_check_prepare_trace "system-traffic.at:973"
( $at_check_trace; ip link set p3 netns at_ns3
) >>"$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:973"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:973: ip link set dev ovs-p3 up"
at_fn_check_prepare_trace "system-traffic.at:973"
( $at_check_trace; ip link set dev ovs-p3 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-traffic.at:973"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:973: ovs-vsctl add-port br0 ovs-p3 -- \\
                set interface ovs-p3 external-ids:iface-id=\"p3\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:973"
( $at_check_trace; ovs-vsctl add-port br0 ovs-p3 -- \
                set interface ovs-p3 external-ids:iface-id="p3"
) >>"$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:973"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:973: ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip addr add \"10.1.1.4/24\" dev p3
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:973"
( $at_check_trace; ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.4/24" dev p3
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:973"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:973: ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip link set dev p3 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:973"
( $at_check_trace; ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip link set dev p3 up
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:973"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:973: ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip link set dev p3 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:973"
( $at_check_trace; ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip link set dev p3 address
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:973"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:973: ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:973"
( $at_check_trace; ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip route add default via
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:973"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p3'



cat >flows.txt <<'_ATEOF'
priority=1,action=drop
priority=10,arp,action=normal
priority=10,icmp,action=normal
priority=100,in_port=1,tcp,action=ct(),2
priority=100,in_port=2,ct_state=-trk,tcp,action=ct(table=0)
priority=100,in_port=2,ct_state=+trk+new,tcp,action=1
priority=100,in_port=3,tcp,action=ct(),4
priority=100,in_port=4,ct_state=-trk,tcp,action=ct(table=0)
priority=100,in_port=4,ct_state=+trk+inv,tcp,action=3
priority=100,in_port=4,ct_state=+trk+new,tcp,action=3
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:992: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:992"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:992"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec at_ns1 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:997" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:997"
fi



PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec at_ns3 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:998" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:998"
fi



 { set +x
$as_echo "$at_srcdir/system-traffic.at:999: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:999"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
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 4 $at_status "$at_srcdir/system-traffic.at:999"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



 { set +x
$as_echo "$at_srcdir/system-traffic.at:1002: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
wget 10.1.1.4 -t 3 -T 1 --retry-connrefused -v -o wget1.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1002"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
wget 10.1.1.4 -t 3 -T 1 --retry-connrefused -v -o wget1.log
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:1002"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:1004: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1004"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:1004"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1004: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:1004"
( $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-traffic.at:1004"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1004: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:1004"
( $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-traffic.at:1004"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1004" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1004"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1004: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:1004"
( $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-traffic.at:1004"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1004: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:1004"
( $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-traffic.at:1004"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1004" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1004"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1004: :; "
at_fn_check_prepare_trace "system-traffic.at:1004"
( $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-traffic.at:1004"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_23
#AT_START_24
at_fn_group_banner 24 'system-traffic.at:1007' \
  "conntrack - zones" "                              " 2
at_xfail=no
(
  $as_echo "24. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:1008" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1008"


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1009" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1009"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1009: 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-traffic.at:1009"
( $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-traffic.at:1009"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1009: 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-traffic.at:1009"
( $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-traffic.at:1009"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1009: 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-traffic.at:1009"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:1009"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:1009: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:1009"
( $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-traffic.at:1009"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1009: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:1009"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:1009"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1009: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1009"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:1009"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1009" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1009"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1009: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:1009"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:1009"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1011: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1011"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:1011"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1011: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1011"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:1011"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns2



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1011: ip netns add at_ns2 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1011"
( $at_check_trace; ip netns add at_ns2 || 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-traffic.at:1011"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns2


'
                ip netns exec at_ns2 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns3



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1011: ip netns add at_ns3 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1011"
( $at_check_trace; ip netns add at_ns3 || 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-traffic.at:1011"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns3


'
                ip netns exec at_ns3 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:1013: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1013"
( $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-traffic.at:1013"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1013: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:1013"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1013"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1013: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:1013"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:1013"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1013: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:1013"
( $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-traffic.at:1013"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1013: 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-traffic.at:1013"
( $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>&-
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:1013"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1013: ip netns exec at_ns0 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-traffic.at:1013"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:1013"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1013: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1013"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:1013"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1013: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1013"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:1013"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1013: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1013"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:1013"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1014: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1014"
( $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-traffic.at:1014"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1014: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:1014"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1014"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1014: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:1014"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:1014"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1014: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:1014"
( $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-traffic.at:1014"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1014: 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-traffic.at:1014"
( $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>&-
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:1014"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1014: ip netns exec at_ns1 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-traffic.at:1014"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:1014"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1014: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1014"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:1014"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1014: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1014"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:1014"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1014: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1014"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:1014"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1015: ip link add p2 type veth peer name ovs-p2 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1015"
( $at_check_trace; ip link add p2 type veth peer name ovs-p2 || 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-traffic.at:1015"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1015: ethtool -K p2 tx off"
at_fn_check_prepare_trace "system-traffic.at:1015"
( $at_check_trace; ethtool -K p2 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1015"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1015: ip link set p2 netns at_ns2"
at_fn_check_prepare_trace "system-traffic.at:1015"
( $at_check_trace; ip link set p2 netns at_ns2
) >>"$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:1015"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1015: ip link set dev ovs-p2 up"
at_fn_check_prepare_trace "system-traffic.at:1015"
( $at_check_trace; ip link set dev ovs-p2 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-traffic.at:1015"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1015: ovs-vsctl add-port br0 ovs-p2 -- \\
                set interface ovs-p2 external-ids:iface-id=\"p2\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1015"
( $at_check_trace; ovs-vsctl add-port br0 ovs-p2 -- \
                set interface ovs-p2 external-ids:iface-id="p2"
) >>"$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:1015"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1015: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip addr add \"10.1.1.3/24\" dev p2
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1015"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.3/24" dev p2
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:1015"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1015: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip link set dev p2 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1015"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip link set dev p2 up
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:1015"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1015: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip link set dev p2 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1015"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip link set dev p2 address
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:1015"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1015: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1015"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip route add default via
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:1015"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p2'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1016: ip link add p3 type veth peer name ovs-p3 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1016"
( $at_check_trace; ip link add p3 type veth peer name ovs-p3 || 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-traffic.at:1016"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1016: ethtool -K p3 tx off"
at_fn_check_prepare_trace "system-traffic.at:1016"
( $at_check_trace; ethtool -K p3 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1016"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1016: ip link set p3 netns at_ns3"
at_fn_check_prepare_trace "system-traffic.at:1016"
( $at_check_trace; ip link set p3 netns at_ns3
) >>"$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:1016"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1016: ip link set dev ovs-p3 up"
at_fn_check_prepare_trace "system-traffic.at:1016"
( $at_check_trace; ip link set dev ovs-p3 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-traffic.at:1016"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1016: ovs-vsctl add-port br0 ovs-p3 -- \\
                set interface ovs-p3 external-ids:iface-id=\"p3\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1016"
( $at_check_trace; ovs-vsctl add-port br0 ovs-p3 -- \
                set interface ovs-p3 external-ids:iface-id="p3"
) >>"$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:1016"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1016: ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip addr add \"10.1.1.4/24\" dev p3
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1016"
( $at_check_trace; ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.4/24" dev p3
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:1016"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1016: ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip link set dev p3 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1016"
( $at_check_trace; ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip link set dev p3 up
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:1016"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1016: ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip link set dev p3 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1016"
( $at_check_trace; ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip link set dev p3 address
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:1016"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1016: ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1016"
( $at_check_trace; ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip route add default via
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:1016"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p3'



cat >flows.txt <<'_ATEOF'
priority=1,action=drop
priority=10,arp,action=normal
priority=10,icmp,action=normal
priority=100,in_port=1,tcp,action=ct(commit,zone=1),2
priority=100,in_port=2,ct_state=-trk,tcp,action=ct(table=0,zone=1)
priority=100,in_port=2,ct_state=+trk,ct_zone=1,tcp,action=1
priority=100,in_port=3,tcp,action=ct(commit,zone=2),4
priority=100,in_port=4,ct_state=-trk,tcp,action=ct(table=0,zone=2)
priority=100,in_port=4,ct_state=+trk,ct_zone=1,tcp,action=3
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1032: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:1032"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:1032"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec at_ns1 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1034" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1034"
fi



PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec at_ns3 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1035" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1035"
fi




 { set +x
$as_echo "$at_srcdir/system-traffic.at:1038: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1038"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
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:1038"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:1040: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:1040"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.1,sport=<cleared>,dport=<cleared>),zone=1,protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1040"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1046: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
wget 10.1.1.4 -t 3 -T 1 -v -o wget1.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1046"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
wget 10.1.1.4 -t 3 -T 1 -v -o wget1.log
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 4 $at_status "$at_srcdir/system-traffic.at:1046"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:1048: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.4\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:1048"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.4" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=10.1.1.3,dst=10.1.1.4,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.4,dst=10.1.1.3,sport=<cleared>,dport=<cleared>),zone=2,protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1048"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1052: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1052"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:1052"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1052: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:1052"
( $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-traffic.at:1052"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1052: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:1052"
( $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-traffic.at:1052"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1052" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1052"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1052: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:1052"
( $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-traffic.at:1052"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1052: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:1052"
( $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-traffic.at:1052"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1052" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1052"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1052: :; "
at_fn_check_prepare_trace "system-traffic.at:1052"
( $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-traffic.at:1052"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_24
#AT_START_25
at_fn_group_banner 25 'system-traffic.at:1055' \
  "conntrack - zones from field" "                   " 2
at_xfail=no
(
  $as_echo "25. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:1056" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1056"


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1057" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1057"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1057: 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-traffic.at:1057"
( $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-traffic.at:1057"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1057: 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-traffic.at:1057"
( $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-traffic.at:1057"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1057: 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-traffic.at:1057"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:1057"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:1057: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:1057"
( $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-traffic.at:1057"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1057: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:1057"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:1057"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1057: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1057"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:1057"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1057" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1057"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1057: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:1057"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:1057"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1059: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1059"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:1059"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1059: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1059"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:1059"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns2



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1059: ip netns add at_ns2 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1059"
( $at_check_trace; ip netns add at_ns2 || 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-traffic.at:1059"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns2


'
                ip netns exec at_ns2 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns3



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1059: ip netns add at_ns3 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1059"
( $at_check_trace; ip netns add at_ns3 || 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-traffic.at:1059"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns3


'
                ip netns exec at_ns3 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:1061: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1061"
( $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-traffic.at:1061"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1061: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:1061"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1061"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1061: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:1061"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:1061"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1061: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:1061"
( $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-traffic.at:1061"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1061: 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-traffic.at:1061"
( $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>&-
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:1061"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1061: ip netns exec at_ns0 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-traffic.at:1061"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:1061"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1061: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1061"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:1061"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1061: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1061"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:1061"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1061: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1061"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:1061"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1062: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1062"
( $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-traffic.at:1062"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1062: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:1062"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1062"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1062: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:1062"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:1062"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1062: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:1062"
( $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-traffic.at:1062"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1062: 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-traffic.at:1062"
( $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>&-
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:1062"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1062: ip netns exec at_ns1 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-traffic.at:1062"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:1062"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1062: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1062"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:1062"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1062: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1062"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:1062"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1062: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1062"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:1062"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1063: ip link add p2 type veth peer name ovs-p2 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1063"
( $at_check_trace; ip link add p2 type veth peer name ovs-p2 || 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-traffic.at:1063"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1063: ethtool -K p2 tx off"
at_fn_check_prepare_trace "system-traffic.at:1063"
( $at_check_trace; ethtool -K p2 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1063"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1063: ip link set p2 netns at_ns2"
at_fn_check_prepare_trace "system-traffic.at:1063"
( $at_check_trace; ip link set p2 netns at_ns2
) >>"$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:1063"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1063: ip link set dev ovs-p2 up"
at_fn_check_prepare_trace "system-traffic.at:1063"
( $at_check_trace; ip link set dev ovs-p2 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-traffic.at:1063"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1063: ovs-vsctl add-port br0 ovs-p2 -- \\
                set interface ovs-p2 external-ids:iface-id=\"p2\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1063"
( $at_check_trace; ovs-vsctl add-port br0 ovs-p2 -- \
                set interface ovs-p2 external-ids:iface-id="p2"
) >>"$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:1063"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1063: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip addr add \"10.1.1.3/24\" dev p2
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1063"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.3/24" dev p2
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:1063"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1063: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip link set dev p2 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1063"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip link set dev p2 up
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:1063"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1063: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip link set dev p2 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1063"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip link set dev p2 address
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:1063"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1063: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1063"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip route add default via
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:1063"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p2'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1064: ip link add p3 type veth peer name ovs-p3 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1064"
( $at_check_trace; ip link add p3 type veth peer name ovs-p3 || 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-traffic.at:1064"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1064: ethtool -K p3 tx off"
at_fn_check_prepare_trace "system-traffic.at:1064"
( $at_check_trace; ethtool -K p3 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1064"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1064: ip link set p3 netns at_ns3"
at_fn_check_prepare_trace "system-traffic.at:1064"
( $at_check_trace; ip link set p3 netns at_ns3
) >>"$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:1064"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1064: ip link set dev ovs-p3 up"
at_fn_check_prepare_trace "system-traffic.at:1064"
( $at_check_trace; ip link set dev ovs-p3 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-traffic.at:1064"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1064: ovs-vsctl add-port br0 ovs-p3 -- \\
                set interface ovs-p3 external-ids:iface-id=\"p3\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1064"
( $at_check_trace; ovs-vsctl add-port br0 ovs-p3 -- \
                set interface ovs-p3 external-ids:iface-id="p3"
) >>"$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:1064"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1064: ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip addr add \"10.1.1.4/24\" dev p3
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1064"
( $at_check_trace; ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.4/24" dev p3
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:1064"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1064: ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip link set dev p3 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1064"
( $at_check_trace; ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip link set dev p3 up
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:1064"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1064: ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip link set dev p3 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1064"
( $at_check_trace; ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip link set dev p3 address
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:1064"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1064: ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1064"
( $at_check_trace; ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip route add default via
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:1064"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p3'



cat >flows.txt <<'_ATEOF'
priority=1,action=drop
priority=10,arp,action=normal
priority=10,icmp,action=normal
priority=100,in_port=1,tcp,action=load:0x1001->NXM_NX_REG0[0..15],ct(commit,zone=NXM_NX_REG0[0..15]),2
priority=100,in_port=2,ct_state=-trk,tcp,action=load:0x1001->NXM_NX_REG0[0..15],ct(table=0,zone=NXM_NX_REG0[0..15])
priority=100,in_port=2,ct_state=+trk,ct_zone=0x1001,tcp,action=1
priority=100,in_port=3,tcp,action=load:0x1002->NXM_NX_REG0[0..15],ct(commit,zone=NXM_NX_REG0[0..15]),4
priority=100,in_port=4,ct_state=-trk,tcp,action=load:0x1002->NXM_NX_REG0[0..15],ct(table=0,zone=NXM_NX_REG0[0..15])
priority=100,in_port=4,ct_state=+trk,ct_zone=0x1001,tcp,action=3
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1079: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:1079"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:1079"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec at_ns1 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1081" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1081"
fi



PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec at_ns3 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1082" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1082"
fi




 { set +x
$as_echo "$at_srcdir/system-traffic.at:1085: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1085"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
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:1085"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:1087: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:1087"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.1,sport=<cleared>,dport=<cleared>),zone=4097,protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1087"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1093: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
wget 10.1.1.4 -t 3 -T 1 -v -o wget1.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1093"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
wget 10.1.1.4 -t 3 -T 1 -v -o wget1.log
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 4 $at_status "$at_srcdir/system-traffic.at:1093"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:1095: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.4\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:1095"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.4" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=10.1.1.3,dst=10.1.1.4,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.4,dst=10.1.1.3,sport=<cleared>,dport=<cleared>),zone=4098,protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1095"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1099: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1099"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:1099"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1099: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:1099"
( $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-traffic.at:1099"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1099: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:1099"
( $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-traffic.at:1099"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1099" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1099"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1099: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:1099"
( $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-traffic.at:1099"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1099: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:1099"
( $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-traffic.at:1099"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1099" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1099"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1099: :; "
at_fn_check_prepare_trace "system-traffic.at:1099"
( $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-traffic.at:1099"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_25
#AT_START_26
at_fn_group_banner 26 'system-traffic.at:1102' \
  "conntrack - multiple bridges" "                   " 2
at_xfail=no
(
  $as_echo "26. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:1103" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1103"


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1104" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1104"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1104: 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-traffic.at:1104"
( $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-traffic.at:1104"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1104: 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-traffic.at:1104"
( $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-traffic.at:1104"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1104: 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-traffic.at:1104"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:1104"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:1104: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:1104"
( $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-traffic.at:1104"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1104: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:1104"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:1104"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1104: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1104"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:1104"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1104" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1104"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1104: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  -- add-br br1 -- set Bridge br1 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --\\
    add-port br0 patch+ -- set int patch+ type=patch options:peer=patch- --\\
    add-port br1 patch- -- set int patch- type=patch options:peer=patch+ -- "
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1104"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  -- add-br br1 -- set Bridge br1 datapath_type="netdev" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --\
    add-port br0 patch+ -- set int patch+ type=patch options:peer=patch- --\
    add-port br1 patch- -- set int patch- type=patch options:peer=patch+ --
) >>"$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:1104"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1109: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1109"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:1109"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1109: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1109"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:1109"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:1111: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1111"
( $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-traffic.at:1111"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1111: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:1111"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1111"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1111: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:1111"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:1111"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1111: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:1111"
( $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-traffic.at:1111"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1111: 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-traffic.at:1111"
( $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>&-
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:1111"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1111: ip netns exec at_ns0 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-traffic.at:1111"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:1111"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1111: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1111"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:1111"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1111: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1111"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:1111"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1111: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1111"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:1111"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1112: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1112"
( $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-traffic.at:1112"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1112: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:1112"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1112"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1112: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:1112"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:1112"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1112: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:1112"
( $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-traffic.at:1112"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1112: ovs-vsctl add-port br1 ovs-p1 -- \\
                set interface ovs-p1 external-ids:iface-id=\"p1\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1112"
( $at_check_trace; ovs-vsctl add-port br1 ovs-p1 -- \
                set interface ovs-p1 external-ids:iface-id="p1"
) >>"$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:1112"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1112: ip netns exec at_ns1 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-traffic.at:1112"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:1112"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1112: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1112"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:1112"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1112: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1112"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:1112"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1112: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1112"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:1112"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



cat >flows-br0.txt <<'_ATEOF'
priority=1,action=drop
priority=10,arp,action=normal
priority=10,icmp,action=normal
priority=100,in_port=2,tcp,ct_state=-trk,action=ct(commit,zone=1),1
priority=100,in_port=1,tcp,ct_state=-trk,action=ct(table=0,zone=1)
priority=100,in_port=1,tcp,ct_state=+trk+est,ct_zone=1,action=2
_ATEOF


cat >flows-br1.txt <<'_ATEOF'
priority=1,action=drop
priority=10,arp,action=normal
priority=10,icmp,action=normal
priority=100,in_port=1,tcp,ct_state=-trk,action=ct(table=0,zone=2)
priority=100,in_port=1,tcp,ct_state=+trk+new,ct_zone=2,action=ct(commit,zone=2),2
priority=100,in_port=1,tcp,ct_state=+trk+est,ct_zone=2,action=2
priority=100,in_port=2,tcp,ct_state=-trk,action=ct(table=0,zone=2)
priority=100,in_port=2,tcp,ct_state=+trk+est,ct_zone=2,action=ct(commit,zone=2),1
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1136: ovs-ofctl --bundle add-flows br0 flows-br0.txt"
at_fn_check_prepare_trace "system-traffic.at:1136"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows-br0.txt
) >>"$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:1136"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:1137: ovs-ofctl --bundle add-flows br1 flows-br1.txt"
at_fn_check_prepare_trace "system-traffic.at:1137"
( $at_check_trace; ovs-ofctl --bundle add-flows br1 flows-br1.txt
) >>"$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:1137"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec at_ns1 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1140" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1140"
fi



 { set +x
$as_echo "$at_srcdir/system-traffic.at:1141: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1141"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
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:1141"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:1143: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1143"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:1143"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1143: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:1143"
( $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-traffic.at:1143"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1143: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:1143"
( $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-traffic.at:1143"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1143" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1143"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1143: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:1143"
( $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-traffic.at:1143"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1143: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:1143"
( $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-traffic.at:1143"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1143" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1143"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1143: :; "
at_fn_check_prepare_trace "system-traffic.at:1143"
( $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-traffic.at:1143"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_26
#AT_START_27
at_fn_group_banner 27 'system-traffic.at:1146' \
  "conntrack - multiple zones" "                     " 2
at_xfail=no
(
  $as_echo "27. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:1147" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1147"


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1148" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1148"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1148: 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-traffic.at:1148"
( $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-traffic.at:1148"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1148: 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-traffic.at:1148"
( $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-traffic.at:1148"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1148: 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-traffic.at:1148"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:1148"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:1148: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:1148"
( $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-traffic.at:1148"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1148: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:1148"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:1148"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1148: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1148"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:1148"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1148" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1148"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1148: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:1148"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:1148"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1150: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1150"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:1150"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1150: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1150"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:1150"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:1152: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1152"
( $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-traffic.at:1152"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1152: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:1152"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1152"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1152: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:1152"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:1152"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1152: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:1152"
( $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-traffic.at:1152"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1152: 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-traffic.at:1152"
( $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>&-
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:1152"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1152: ip netns exec at_ns0 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-traffic.at:1152"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:1152"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1152: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1152"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:1152"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1152: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1152"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:1152"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1152: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1152"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:1152"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1153: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1153"
( $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-traffic.at:1153"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1153: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:1153"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1153"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1153: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:1153"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:1153"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1153: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:1153"
( $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-traffic.at:1153"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1153: 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-traffic.at:1153"
( $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>&-
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:1153"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1153: ip netns exec at_ns1 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-traffic.at:1153"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:1153"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1153: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1153"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:1153"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1153: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1153"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:1153"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1153: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1153"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:1153"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



cat >flows.txt <<'_ATEOF'
priority=1,action=drop
priority=10,arp,action=normal
priority=10,icmp,action=normal
priority=100,in_port=1,tcp,action=ct(commit,zone=1),ct(commit,zone=2),2
priority=100,in_port=2,ct_state=-trk,tcp,action=ct(table=0,zone=2)
priority=100,in_port=2,ct_state=+trk,ct_zone=2,tcp,action=1
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1165: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:1165"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:1165"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec at_ns1 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1167" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1167"
fi




 { set +x
$as_echo "$at_srcdir/system-traffic.at:1170: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1170"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
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:1170"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



 { set +x
$as_echo "$at_srcdir/system-traffic.at:1173: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1173"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
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:1173"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:1175: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:1175"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.1,sport=<cleared>,dport=<cleared>),zone=1,protoinfo=(state=<cleared>)
tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.1,sport=<cleared>,dport=<cleared>),zone=2,protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1180: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1180"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:1180"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1180: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:1180"
( $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-traffic.at:1180"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1180: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:1180"
( $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-traffic.at:1180"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1180" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1180"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1180: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:1180"
( $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-traffic.at:1180"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1180: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:1180"
( $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-traffic.at:1180"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1180" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1180"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1180: :; "
at_fn_check_prepare_trace "system-traffic.at:1180"
( $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-traffic.at:1180"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_27
#AT_START_28
at_fn_group_banner 28 'system-traffic.at:1183' \
  "conntrack - multiple namespaces, internal ports" "" 2
at_xfail=no
(
  $as_echo "28. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:1184" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1184"


    $as_echo "system-traffic.at:1185" >"$at_check_line_file"
at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1185"


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1186" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1186"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1186: 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-traffic.at:1186"
( $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-traffic.at:1186"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1186: 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-traffic.at:1186"
( $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-traffic.at:1186"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1186: 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-traffic.at:1186"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:1186"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:1186: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:1186"
( $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-traffic.at:1186"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1186: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:1186"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:1186"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1186: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1186"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:1186"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1186" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1186"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1186: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  -- set-fail-mode br0 secure --  "
at_fn_check_prepare_trace "system-traffic.at:1186"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  -- set-fail-mode br0 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-traffic.at:1186"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1189: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1189"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:1189"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1189: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1189"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:1189"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:1191: ovs-vsctl add-port br0 p0 -- set int p0 type=internal"
at_fn_check_prepare_trace "system-traffic.at:1191"
( $at_check_trace; ovs-vsctl add-port br0 p0 -- set int p0 type=internal
) >>"$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:1191"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1191: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:1191"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:1191"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1191: ip netns exec at_ns0 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-traffic.at:1191"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:1191"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1191: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1191"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:1191"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




 { set +x
$as_echo "$at_srcdir/system-traffic.at:1192: ovs-vsctl add-port br0 p1 -- set int p1 type=internal"
at_fn_check_prepare_trace "system-traffic.at:1192"
( $at_check_trace; ovs-vsctl add-port br0 p1 -- set int p1 type=internal
) >>"$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:1192"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1192: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:1192"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:1192"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1192: ip netns exec at_ns1 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-traffic.at:1192"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:1192"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1192: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1192"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:1192"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }





cat >flows.txt <<'_ATEOF'
priority=1,action=drop
priority=10,arp,action=normal
priority=10,icmp,action=normal
priority=100,in_port=1,tcp,ct_state=-trk,action=ct(commit,zone=1),2
priority=100,in_port=2,ct_state=-trk,tcp,action=ct(table=0,zone=1)
priority=100,in_port=2,ct_state=+trk,ct_zone=1,tcp,action=1
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1206: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:1206"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$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:1206"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec at_ns1 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1208" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1208"
fi




 { set +x
$as_echo "$at_srcdir/system-traffic.at:1211: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1211"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
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:1211"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



 { set +x
$as_echo "$at_srcdir/system-traffic.at:1214: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1214"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
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:1214"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:1216: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:1216"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.1,sport=<cleared>,dport=<cleared>),zone=1,protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1216"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1220: check_logs \"/ioctl(SIOCGIFINDEX) on .* device failed: No such device/d
/removing policing failed: No such device/d\"\";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1220"
( $at_check_trace; check_logs "/ioctl(SIOCGIFINDEX) on .* device failed: No such device/d
/removing policing failed: No such device/d"";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:1220"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1220: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:1220"
( $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-traffic.at:1220"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1220: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:1220"
( $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-traffic.at:1220"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1220" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1220"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1220: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:1220"
( $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-traffic.at:1220"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1220: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:1220"
( $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-traffic.at:1220"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1220" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1220"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1220: :; "
at_fn_check_prepare_trace "system-traffic.at:1220"
( $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-traffic.at:1220"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_28
#AT_START_29
at_fn_group_banner 29 'system-traffic.at:1225' \
  "conntrack - ct_mark" "                            " 2
at_xfail=no
(
  $as_echo "29. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:1226" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1226"


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1227" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1227"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1227: 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-traffic.at:1227"
( $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-traffic.at:1227"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1227: 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-traffic.at:1227"
( $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-traffic.at:1227"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1227: 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-traffic.at:1227"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:1227"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:1227: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:1227"
( $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-traffic.at:1227"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1227: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:1227"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:1227"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1227: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1227"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:1227"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1227" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1227"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1227: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:1227"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:1227"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1229: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1229"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:1229"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1229: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1229"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:1229"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns2



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1229: ip netns add at_ns2 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1229"
( $at_check_trace; ip netns add at_ns2 || 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-traffic.at:1229"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns2


'
                ip netns exec at_ns2 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns3



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1229: ip netns add at_ns3 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1229"
( $at_check_trace; ip netns add at_ns3 || 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-traffic.at:1229"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns3


'
                ip netns exec at_ns3 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:1231: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1231"
( $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-traffic.at:1231"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1231: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:1231"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1231"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1231: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:1231"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:1231"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1231: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:1231"
( $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-traffic.at:1231"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1231: 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-traffic.at:1231"
( $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>&-
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:1231"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1231: ip netns exec at_ns0 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-traffic.at:1231"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:1231"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1231: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1231"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:1231"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1231: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1231"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:1231"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1231: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1231"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:1231"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1232: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1232"
( $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-traffic.at:1232"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1232: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:1232"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1232"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1232: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:1232"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:1232"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1232: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:1232"
( $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-traffic.at:1232"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1232: 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-traffic.at:1232"
( $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>&-
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:1232"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1232: ip netns exec at_ns1 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-traffic.at:1232"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:1232"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1232: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1232"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:1232"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1232: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1232"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:1232"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1232: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1232"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:1232"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1233: ip link add p2 type veth peer name ovs-p2 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1233"
( $at_check_trace; ip link add p2 type veth peer name ovs-p2 || 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-traffic.at:1233"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1233: ethtool -K p2 tx off"
at_fn_check_prepare_trace "system-traffic.at:1233"
( $at_check_trace; ethtool -K p2 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1233"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1233: ip link set p2 netns at_ns2"
at_fn_check_prepare_trace "system-traffic.at:1233"
( $at_check_trace; ip link set p2 netns at_ns2
) >>"$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:1233"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1233: ip link set dev ovs-p2 up"
at_fn_check_prepare_trace "system-traffic.at:1233"
( $at_check_trace; ip link set dev ovs-p2 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-traffic.at:1233"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1233: ovs-vsctl add-port br0 ovs-p2 -- \\
                set interface ovs-p2 external-ids:iface-id=\"p2\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1233"
( $at_check_trace; ovs-vsctl add-port br0 ovs-p2 -- \
                set interface ovs-p2 external-ids:iface-id="p2"
) >>"$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:1233"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1233: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip addr add \"10.1.1.3/24\" dev p2
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1233"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.3/24" dev p2
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:1233"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1233: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip link set dev p2 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1233"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip link set dev p2 up
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:1233"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1233: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip link set dev p2 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1233"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip link set dev p2 address
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:1233"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1233: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1233"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip route add default via
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:1233"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p2'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1234: ip link add p3 type veth peer name ovs-p3 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1234"
( $at_check_trace; ip link add p3 type veth peer name ovs-p3 || 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-traffic.at:1234"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1234: ethtool -K p3 tx off"
at_fn_check_prepare_trace "system-traffic.at:1234"
( $at_check_trace; ethtool -K p3 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1234"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1234: ip link set p3 netns at_ns3"
at_fn_check_prepare_trace "system-traffic.at:1234"
( $at_check_trace; ip link set p3 netns at_ns3
) >>"$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:1234"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1234: ip link set dev ovs-p3 up"
at_fn_check_prepare_trace "system-traffic.at:1234"
( $at_check_trace; ip link set dev ovs-p3 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-traffic.at:1234"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1234: ovs-vsctl add-port br0 ovs-p3 -- \\
                set interface ovs-p3 external-ids:iface-id=\"p3\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1234"
( $at_check_trace; ovs-vsctl add-port br0 ovs-p3 -- \
                set interface ovs-p3 external-ids:iface-id="p3"
) >>"$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:1234"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1234: ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip addr add \"10.1.1.4/24\" dev p3
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1234"
( $at_check_trace; ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.4/24" dev p3
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:1234"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1234: ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip link set dev p3 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1234"
( $at_check_trace; ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip link set dev p3 up
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:1234"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1234: ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip link set dev p3 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1234"
( $at_check_trace; ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip link set dev p3 address
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:1234"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1234: ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1234"
( $at_check_trace; ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip route add default via
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:1234"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p3'



cat >flows.txt <<'_ATEOF'
priority=1,action=drop
priority=10,arp,action=normal
priority=10,icmp,action=normal
priority=100,in_port=1,tcp,action=ct(commit,exec(set_field:1->ct_mark)),2
priority=100,in_port=2,ct_state=-trk,tcp,action=ct(table=0)
priority=100,in_port=2,ct_state=+trk,ct_mark=1,tcp,action=1
priority=100,in_port=3,tcp,action=ct(commit,exec(set_field:2->ct_mark)),4
priority=100,in_port=4,ct_state=-trk,tcp,action=ct(table=0)
priority=100,in_port=4,ct_state=+trk,ct_mark=1,tcp,action=3
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1250: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:1250"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:1250"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec at_ns1 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1252" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1252"
fi



PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec at_ns3 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1253" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1253"
fi




 { set +x
$as_echo "$at_srcdir/system-traffic.at:1256: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1256"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
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:1256"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1257: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:1257"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.1,sport=<cleared>,dport=<cleared>),mark=1,protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1257"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1263: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
wget 10.1.1.4 -t 3 -T 1 -v -o wget1.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1263"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
wget 10.1.1.4 -t 3 -T 1 -v -o wget1.log
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 4 $at_status "$at_srcdir/system-traffic.at:1263"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1264: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.4\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:1264"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.4" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=10.1.1.3,dst=10.1.1.4,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.4,dst=10.1.1.3,sport=<cleared>,dport=<cleared>),mark=2,protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1264"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1268: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1268"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:1268"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1268: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:1268"
( $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-traffic.at:1268"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1268: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:1268"
( $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-traffic.at:1268"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1268" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1268"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1268: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:1268"
( $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-traffic.at:1268"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1268: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:1268"
( $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-traffic.at:1268"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1268" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1268"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1268: :; "
at_fn_check_prepare_trace "system-traffic.at:1268"
( $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-traffic.at:1268"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_29
#AT_START_30
at_fn_group_banner 30 'system-traffic.at:1271' \
  "conntrack - ct_mark bit-fiddling" "               " 2
at_xfail=no
(
  $as_echo "30. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:1272" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1272"


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1273" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1273"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1273: 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-traffic.at:1273"
( $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-traffic.at:1273"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1273: 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-traffic.at:1273"
( $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-traffic.at:1273"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1273: 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-traffic.at:1273"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:1273"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:1273: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:1273"
( $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-traffic.at:1273"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1273: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:1273"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:1273"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1273: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1273"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:1273"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1273" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1273"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1273: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:1273"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:1273"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1275: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1275"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:1275"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1275: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1275"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:1275"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns2



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1275: ip netns add at_ns2 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1275"
( $at_check_trace; ip netns add at_ns2 || 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-traffic.at:1275"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns2


'
                ip netns exec at_ns2 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns3



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1275: ip netns add at_ns3 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1275"
( $at_check_trace; ip netns add at_ns3 || 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-traffic.at:1275"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns3


'
                ip netns exec at_ns3 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:1277: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1277"
( $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-traffic.at:1277"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1277: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:1277"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1277"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1277: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:1277"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:1277"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1277: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:1277"
( $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-traffic.at:1277"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1277: 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-traffic.at:1277"
( $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>&-
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:1277"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1277: ip netns exec at_ns0 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-traffic.at:1277"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:1277"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1277: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1277"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:1277"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1277: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1277"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:1277"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1277: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1277"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:1277"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1278: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1278"
( $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-traffic.at:1278"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1278: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:1278"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1278"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1278: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:1278"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:1278"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1278: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:1278"
( $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-traffic.at:1278"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1278: 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-traffic.at:1278"
( $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>&-
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:1278"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1278: ip netns exec at_ns1 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-traffic.at:1278"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:1278"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1278: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1278"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:1278"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1278: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1278"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:1278"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1278: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1278"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:1278"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



cat >flows.txt <<'_ATEOF'
table=0,priority=1,action=drop
table=0,priority=10,arp,action=normal
table=0,priority=10,icmp,action=normal
table=0,priority=100,in_port=1,tcp,action=ct(table=1)
table=0,priority=100,in_port=2,ct_state=-trk,tcp,action=ct(table=1,commit,exec(set_field:0x2/0x6->ct_mark))
table=1,in_port=1,ct_state=+new,tcp,action=ct(commit,exec(set_field:0x5/0x5->ct_mark)),2
table=1,in_port=1,ct_state=-new,tcp,action=2
table=1,in_port=2,ct_state=+trk,ct_mark=3,tcp,action=1
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1293: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:1293"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:1293"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec at_ns1 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1295" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1295"
fi




 { set +x
$as_echo "$at_srcdir/system-traffic.at:1298: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1298"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
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:1298"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:1300: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:1300"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.1,sport=<cleared>,dport=<cleared>),mark=3,protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1300"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1304: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1304"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:1304"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1304: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:1304"
( $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-traffic.at:1304"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1304: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:1304"
( $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-traffic.at:1304"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1304" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1304"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1304: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:1304"
( $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-traffic.at:1304"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1304: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:1304"
( $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-traffic.at:1304"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1304" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1304"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1304: :; "
at_fn_check_prepare_trace "system-traffic.at:1304"
( $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-traffic.at:1304"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_30
#AT_START_31
at_fn_group_banner 31 'system-traffic.at:1307' \
  "conntrack - ct_mark from register" "              " 2
at_xfail=no
(
  $as_echo "31. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:1308" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1308"


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1309" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1309"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1309: 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-traffic.at:1309"
( $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-traffic.at:1309"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1309: 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-traffic.at:1309"
( $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-traffic.at:1309"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1309: 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-traffic.at:1309"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:1309"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:1309: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:1309"
( $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-traffic.at:1309"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1309: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:1309"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:1309"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1309: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1309"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:1309"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1309" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1309"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1309: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:1309"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:1309"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1311: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1311"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:1311"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1311: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1311"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:1311"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns2



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1311: ip netns add at_ns2 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1311"
( $at_check_trace; ip netns add at_ns2 || 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-traffic.at:1311"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns2


'
                ip netns exec at_ns2 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns3



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1311: ip netns add at_ns3 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1311"
( $at_check_trace; ip netns add at_ns3 || 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-traffic.at:1311"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns3


'
                ip netns exec at_ns3 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:1313: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1313"
( $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-traffic.at:1313"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1313: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:1313"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1313"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1313: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:1313"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:1313"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1313: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:1313"
( $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-traffic.at:1313"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1313: 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-traffic.at:1313"
( $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>&-
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:1313"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1313: ip netns exec at_ns0 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-traffic.at:1313"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:1313"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1313: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1313"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:1313"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1313: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1313"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:1313"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1313: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1313"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:1313"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1314: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1314"
( $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-traffic.at:1314"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1314: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:1314"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1314"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1314: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:1314"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:1314"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1314: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:1314"
( $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-traffic.at:1314"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1314: 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-traffic.at:1314"
( $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>&-
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:1314"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1314: ip netns exec at_ns1 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-traffic.at:1314"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:1314"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1314: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1314"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:1314"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1314: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1314"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:1314"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1314: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1314"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:1314"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1315: ip link add p2 type veth peer name ovs-p2 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1315"
( $at_check_trace; ip link add p2 type veth peer name ovs-p2 || 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-traffic.at:1315"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1315: ethtool -K p2 tx off"
at_fn_check_prepare_trace "system-traffic.at:1315"
( $at_check_trace; ethtool -K p2 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1315"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1315: ip link set p2 netns at_ns2"
at_fn_check_prepare_trace "system-traffic.at:1315"
( $at_check_trace; ip link set p2 netns at_ns2
) >>"$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:1315"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1315: ip link set dev ovs-p2 up"
at_fn_check_prepare_trace "system-traffic.at:1315"
( $at_check_trace; ip link set dev ovs-p2 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-traffic.at:1315"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1315: ovs-vsctl add-port br0 ovs-p2 -- \\
                set interface ovs-p2 external-ids:iface-id=\"p2\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1315"
( $at_check_trace; ovs-vsctl add-port br0 ovs-p2 -- \
                set interface ovs-p2 external-ids:iface-id="p2"
) >>"$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:1315"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1315: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip addr add \"10.1.1.3/24\" dev p2
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1315"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.3/24" dev p2
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:1315"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1315: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip link set dev p2 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1315"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip link set dev p2 up
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:1315"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1315: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip link set dev p2 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1315"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip link set dev p2 address
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:1315"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1315: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1315"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip route add default via
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:1315"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p2'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1316: ip link add p3 type veth peer name ovs-p3 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1316"
( $at_check_trace; ip link add p3 type veth peer name ovs-p3 || 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-traffic.at:1316"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1316: ethtool -K p3 tx off"
at_fn_check_prepare_trace "system-traffic.at:1316"
( $at_check_trace; ethtool -K p3 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1316"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1316: ip link set p3 netns at_ns3"
at_fn_check_prepare_trace "system-traffic.at:1316"
( $at_check_trace; ip link set p3 netns at_ns3
) >>"$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:1316"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1316: ip link set dev ovs-p3 up"
at_fn_check_prepare_trace "system-traffic.at:1316"
( $at_check_trace; ip link set dev ovs-p3 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-traffic.at:1316"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1316: ovs-vsctl add-port br0 ovs-p3 -- \\
                set interface ovs-p3 external-ids:iface-id=\"p3\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1316"
( $at_check_trace; ovs-vsctl add-port br0 ovs-p3 -- \
                set interface ovs-p3 external-ids:iface-id="p3"
) >>"$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:1316"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1316: ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip addr add \"10.1.1.4/24\" dev p3
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1316"
( $at_check_trace; ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.4/24" dev p3
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:1316"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1316: ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip link set dev p3 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1316"
( $at_check_trace; ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip link set dev p3 up
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:1316"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1316: ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip link set dev p3 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1316"
( $at_check_trace; ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip link set dev p3 address
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:1316"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1316: ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1316"
( $at_check_trace; ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip route add default via
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:1316"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p3'



cat >flows.txt <<'_ATEOF'
priority=1,action=drop
priority=10,arp,action=normal
priority=10,icmp,action=normal
priority=100,in_port=1,tcp,action=load:1->NXM_NX_REG0[0..31],ct(commit,exec(move:NXM_NX_REG0[0..31]->NXM_NX_CT_MARK[])),2
priority=100,in_port=2,ct_state=-trk,tcp,action=ct(table=0)
priority=100,in_port=2,ct_state=+trk,ct_mark=1,tcp,action=1
priority=100,in_port=3,tcp,action=load:2->NXM_NX_REG0[0..31],ct(commit,exec(move:NXM_NX_REG0[0..31]->NXM_NX_CT_MARK[])),4
priority=100,in_port=4,ct_state=-trk,tcp,action=ct(table=0)
priority=100,in_port=4,ct_state=+trk,ct_mark=1,tcp,action=3
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1331: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:1331"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:1331"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec at_ns1 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1333" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1333"
fi



PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec at_ns3 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1334" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1334"
fi




 { set +x
$as_echo "$at_srcdir/system-traffic.at:1337: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1337"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
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:1337"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1338: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:1338"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.1,sport=<cleared>,dport=<cleared>),mark=1,protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1338"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1344: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
wget 10.1.1.4 -t 3 -T 1 -v -o wget1.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1344"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
wget 10.1.1.4 -t 3 -T 1 -v -o wget1.log
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 4 $at_status "$at_srcdir/system-traffic.at:1344"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1345: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.4\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:1345"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.4" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=10.1.1.3,dst=10.1.1.4,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.4,dst=10.1.1.3,sport=<cleared>,dport=<cleared>),mark=2,protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1345"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1349: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1349"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:1349"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1349: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:1349"
( $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-traffic.at:1349"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1349: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:1349"
( $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-traffic.at:1349"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1349" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1349"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1349: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:1349"
( $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-traffic.at:1349"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1349: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:1349"
( $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-traffic.at:1349"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1349" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1349"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1349: :; "
at_fn_check_prepare_trace "system-traffic.at:1349"
( $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-traffic.at:1349"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_31
#AT_START_32
at_fn_group_banner 32 'system-traffic.at:1352' \
  "conntrack - ct_label" "                           " 2
at_xfail=no
(
  $as_echo "32. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:1353" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1353"


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1354" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1354"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1354: 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-traffic.at:1354"
( $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-traffic.at:1354"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1354: 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-traffic.at:1354"
( $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-traffic.at:1354"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1354: 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-traffic.at:1354"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:1354"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:1354: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:1354"
( $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-traffic.at:1354"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1354: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:1354"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:1354"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1354: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1354"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:1354"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1354" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1354"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1354: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:1354"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:1354"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1356: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1356"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:1356"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1356: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1356"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:1356"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns2



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1356: ip netns add at_ns2 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1356"
( $at_check_trace; ip netns add at_ns2 || 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-traffic.at:1356"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns2


'
                ip netns exec at_ns2 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns3



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1356: ip netns add at_ns3 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1356"
( $at_check_trace; ip netns add at_ns3 || 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-traffic.at:1356"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns3


'
                ip netns exec at_ns3 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:1358: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1358"
( $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-traffic.at:1358"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1358: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:1358"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1358"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1358: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:1358"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:1358"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1358: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:1358"
( $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-traffic.at:1358"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1358: 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-traffic.at:1358"
( $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>&-
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:1358"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1358: ip netns exec at_ns0 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-traffic.at:1358"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:1358"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1358: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1358"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:1358"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1358: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1358"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:1358"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1358: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1358"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:1358"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1359: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1359"
( $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-traffic.at:1359"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1359: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:1359"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1359"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1359: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:1359"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:1359"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1359: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:1359"
( $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-traffic.at:1359"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1359: 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-traffic.at:1359"
( $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>&-
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:1359"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1359: ip netns exec at_ns1 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-traffic.at:1359"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:1359"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1359: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1359"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:1359"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1359: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1359"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:1359"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1359: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1359"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:1359"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1360: ip link add p2 type veth peer name ovs-p2 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1360"
( $at_check_trace; ip link add p2 type veth peer name ovs-p2 || 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-traffic.at:1360"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1360: ethtool -K p2 tx off"
at_fn_check_prepare_trace "system-traffic.at:1360"
( $at_check_trace; ethtool -K p2 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1360"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1360: ip link set p2 netns at_ns2"
at_fn_check_prepare_trace "system-traffic.at:1360"
( $at_check_trace; ip link set p2 netns at_ns2
) >>"$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:1360"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1360: ip link set dev ovs-p2 up"
at_fn_check_prepare_trace "system-traffic.at:1360"
( $at_check_trace; ip link set dev ovs-p2 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-traffic.at:1360"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1360: ovs-vsctl add-port br0 ovs-p2 -- \\
                set interface ovs-p2 external-ids:iface-id=\"p2\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1360"
( $at_check_trace; ovs-vsctl add-port br0 ovs-p2 -- \
                set interface ovs-p2 external-ids:iface-id="p2"
) >>"$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:1360"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1360: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip addr add \"10.1.1.3/24\" dev p2
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1360"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.3/24" dev p2
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:1360"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1360: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip link set dev p2 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1360"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip link set dev p2 up
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:1360"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1360: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip link set dev p2 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1360"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip link set dev p2 address
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:1360"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1360: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1360"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip route add default via
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:1360"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p2'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1361: ip link add p3 type veth peer name ovs-p3 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1361"
( $at_check_trace; ip link add p3 type veth peer name ovs-p3 || 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-traffic.at:1361"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1361: ethtool -K p3 tx off"
at_fn_check_prepare_trace "system-traffic.at:1361"
( $at_check_trace; ethtool -K p3 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1361"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1361: ip link set p3 netns at_ns3"
at_fn_check_prepare_trace "system-traffic.at:1361"
( $at_check_trace; ip link set p3 netns at_ns3
) >>"$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:1361"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1361: ip link set dev ovs-p3 up"
at_fn_check_prepare_trace "system-traffic.at:1361"
( $at_check_trace; ip link set dev ovs-p3 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-traffic.at:1361"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1361: ovs-vsctl add-port br0 ovs-p3 -- \\
                set interface ovs-p3 external-ids:iface-id=\"p3\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1361"
( $at_check_trace; ovs-vsctl add-port br0 ovs-p3 -- \
                set interface ovs-p3 external-ids:iface-id="p3"
) >>"$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:1361"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1361: ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip addr add \"10.1.1.4/24\" dev p3
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1361"
( $at_check_trace; ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.4/24" dev p3
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:1361"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1361: ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip link set dev p3 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1361"
( $at_check_trace; ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip link set dev p3 up
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:1361"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1361: ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip link set dev p3 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1361"
( $at_check_trace; ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip link set dev p3 address
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:1361"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1361: ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1361"
( $at_check_trace; ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip route add default via
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:1361"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p3'



cat >flows.txt <<'_ATEOF'
priority=1,action=drop
priority=10,arp,action=normal
priority=10,icmp,action=normal
priority=100,in_port=1,tcp,action=ct(commit,exec(set_field:0x0a000d000005000001->ct_label)),2
priority=100,in_port=2,ct_state=-trk,tcp,action=ct(table=0)
priority=100,in_port=2,ct_state=+trk,ct_label=0x0a000d000005000001,tcp,action=1
priority=100,in_port=3,tcp,action=ct(commit,exec(set_field:0x2->ct_label)),4
priority=100,in_port=4,ct_state=-trk,tcp,action=ct(table=0)
priority=100,in_port=4,ct_state=+trk,ct_label=0x0a000d000005000001,tcp,action=3
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1377: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:1377"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:1377"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec at_ns1 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1379" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1379"
fi



PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec at_ns3 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1380" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1380"
fi




 { set +x
$as_echo "$at_srcdir/system-traffic.at:1383: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1383"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
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:1383"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



 { set +x
$as_echo "$at_srcdir/system-traffic.at:1387: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
wget 10.1.1.4 -t 3 -T 1 -v -o wget1.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1387"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
wget 10.1.1.4 -t 3 -T 1 -v -o wget1.log
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 4 $at_status "$at_srcdir/system-traffic.at:1387"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:1389: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1389"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:1389"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1389: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:1389"
( $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-traffic.at:1389"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1389: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:1389"
( $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-traffic.at:1389"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1389" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1389"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1389: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:1389"
( $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-traffic.at:1389"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1389: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:1389"
( $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-traffic.at:1389"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1389" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1389"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1389: :; "
at_fn_check_prepare_trace "system-traffic.at:1389"
( $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-traffic.at:1389"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_32
#AT_START_33
at_fn_group_banner 33 'system-traffic.at:1392' \
  "conntrack - ct_label bit-fiddling" "              " 2
at_xfail=no
(
  $as_echo "33. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:1393" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1393"


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1394" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1394"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1394: 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-traffic.at:1394"
( $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-traffic.at:1394"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1394: 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-traffic.at:1394"
( $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-traffic.at:1394"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1394: 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-traffic.at:1394"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:1394"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:1394: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:1394"
( $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-traffic.at:1394"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1394: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:1394"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:1394"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1394: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1394"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:1394"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1394" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1394"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1394: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:1394"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:1394"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1396: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1396"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:1396"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1396: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1396"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:1396"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns2



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1396: ip netns add at_ns2 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1396"
( $at_check_trace; ip netns add at_ns2 || 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-traffic.at:1396"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns2


'
                ip netns exec at_ns2 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns3



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1396: ip netns add at_ns3 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1396"
( $at_check_trace; ip netns add at_ns3 || 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-traffic.at:1396"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns3


'
                ip netns exec at_ns3 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:1398: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1398"
( $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-traffic.at:1398"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1398: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:1398"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1398"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1398: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:1398"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:1398"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1398: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:1398"
( $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-traffic.at:1398"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1398: 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-traffic.at:1398"
( $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>&-
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:1398"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1398: ip netns exec at_ns0 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-traffic.at:1398"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:1398"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1398: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1398"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:1398"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1398: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1398"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:1398"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1398: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1398"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:1398"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1399: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1399"
( $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-traffic.at:1399"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1399: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:1399"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1399"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1399: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:1399"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:1399"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1399: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:1399"
( $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-traffic.at:1399"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1399: 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-traffic.at:1399"
( $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>&-
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:1399"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1399: ip netns exec at_ns1 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-traffic.at:1399"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:1399"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1399: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1399"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:1399"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1399: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1399"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:1399"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1399: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1399"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:1399"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



cat >flows.txt <<'_ATEOF'
table=0,priority=1,action=drop
table=0,priority=10,arp,action=normal
table=0,priority=10,icmp,action=normal
table=0,priority=100,in_port=1,tcp,action=ct(table=1)
table=0,priority=100,in_port=2,ct_state=-trk,tcp,action=ct(table=1,commit,exec(set_field:0x200000000/0x200000004->ct_label))
table=1,in_port=1,tcp,ct_state=+new,action=ct(commit,exec(set_field:0x5/0x5->ct_label)),2
table=1,in_port=1,tcp,ct_state=-new,action=2
table=1,in_port=2,ct_state=+trk,ct_label=0x200000001,tcp,action=1
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1414: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:1414"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:1414"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec at_ns1 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1416" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1416"
fi




 { set +x
$as_echo "$at_srcdir/system-traffic.at:1419: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1419"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
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:1419"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:1421: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:1421"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.1,sport=<cleared>,dport=<cleared>),labels=0x200000001,protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1421"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1425: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1425"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:1425"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1425: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:1425"
( $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-traffic.at:1425"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1425: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:1425"
( $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-traffic.at:1425"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1425" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1425"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1425: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:1425"
( $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-traffic.at:1425"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1425: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:1425"
( $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-traffic.at:1425"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1425" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1425"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1425: :; "
at_fn_check_prepare_trace "system-traffic.at:1425"
( $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-traffic.at:1425"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_33
#AT_START_34
at_fn_group_banner 34 'system-traffic.at:1428' \
  "conntrack - ct metadata, multiple zones" "        " 2
at_xfail=no
(
  $as_echo "34. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:1429" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1429"


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1430" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1430"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1430: 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-traffic.at:1430"
( $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-traffic.at:1430"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1430: 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-traffic.at:1430"
( $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-traffic.at:1430"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1430: 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-traffic.at:1430"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:1430"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:1430: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:1430"
( $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-traffic.at:1430"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1430: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:1430"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:1430"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1430: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1430"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:1430"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1430" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1430"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1430: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:1430"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:1430"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1432: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1432"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:1432"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1432: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1432"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:1432"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns2



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1432: ip netns add at_ns2 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1432"
( $at_check_trace; ip netns add at_ns2 || 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-traffic.at:1432"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns2


'
                ip netns exec at_ns2 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns3



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1432: ip netns add at_ns3 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1432"
( $at_check_trace; ip netns add at_ns3 || 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-traffic.at:1432"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns3


'
                ip netns exec at_ns3 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:1434: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1434"
( $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-traffic.at:1434"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1434: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:1434"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1434"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1434: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:1434"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:1434"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1434: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:1434"
( $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-traffic.at:1434"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1434: 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-traffic.at:1434"
( $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>&-
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:1434"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1434: ip netns exec at_ns0 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-traffic.at:1434"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:1434"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1434: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1434"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:1434"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1434: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1434"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:1434"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1434: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1434"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:1434"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1435: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1435"
( $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-traffic.at:1435"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1435: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:1435"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1435"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1435: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:1435"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:1435"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1435: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:1435"
( $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-traffic.at:1435"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1435: 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-traffic.at:1435"
( $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>&-
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:1435"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1435: ip netns exec at_ns1 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-traffic.at:1435"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:1435"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1435: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1435"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:1435"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1435: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1435"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:1435"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1435: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1435"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:1435"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



cat >flows.txt <<'_ATEOF'
table=0,priority=1,action=drop
table=0,priority=10,arp,action=normal
table=0,priority=10,icmp,action=normal
table=0,priority=100,in_port=1,tcp,action=ct(zone=1,table=1)
table=0,priority=100,in_port=2,ct_state=-trk,tcp,action=ct(zone=1,table=1,commit,exec(set_field:0x200000000/0x200000004->ct_label,set_field:0x2/0x6->ct_mark))
table=1,in_port=1,tcp,ct_state=+new,action=ct(zone=1,commit,exec(set_field:0x5/0x5->ct_label,set_field:0x5/0x5->ct_mark)),ct(commit,zone=2),2
table=1,in_port=1,tcp,ct_state=-new,action=ct(zone=2),2
table=1,in_port=2,tcp,action=ct(zone=2),1
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1452: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:1452"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:1452"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec at_ns1 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1454" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1454"
fi




 { set +x
$as_echo "$at_srcdir/system-traffic.at:1457: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1457"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
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:1457"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:1459: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:1459"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.1,sport=<cleared>,dport=<cleared>),zone=1,mark=3,labels=0x200000001,protoinfo=(state=<cleared>)
tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.1,sport=<cleared>,dport=<cleared>),zone=2,protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1459"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1464: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1464"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:1464"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1464: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:1464"
( $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-traffic.at:1464"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1464: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:1464"
( $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-traffic.at:1464"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1464" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1464"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1464: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:1464"
( $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-traffic.at:1464"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1464: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:1464"
( $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-traffic.at:1464"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1464" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1464"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1464: :; "
at_fn_check_prepare_trace "system-traffic.at:1464"
( $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-traffic.at:1464"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_34
#AT_START_35
at_fn_group_banner 35 'system-traffic.at:1467' \
  "conntrack - ICMP related" "                       " 2
at_xfail=no
(
  $as_echo "35. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:1468" >"$at_check_line_file"
(test $HAVE_NC = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1468"
$as_echo "system-traffic.at:1469" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1469"


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1470" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1470"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1470: 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-traffic.at:1470"
( $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-traffic.at:1470"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1470: 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-traffic.at:1470"
( $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-traffic.at:1470"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1470: 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-traffic.at:1470"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:1470"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:1470: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:1470"
( $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-traffic.at:1470"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1470: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:1470"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:1470"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1470: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1470"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:1470"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1470" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1470"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1470: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:1470"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:1470"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1472: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1472"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:1472"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1472: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1472"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:1472"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:1474: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1474"
( $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-traffic.at:1474"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1474: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:1474"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1474"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1474: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:1474"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:1474"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1474: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:1474"
( $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-traffic.at:1474"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1474: 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-traffic.at:1474"
( $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>&-
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:1474"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1474: ip netns exec at_ns0 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-traffic.at:1474"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:1474"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1474: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1474"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:1474"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1474: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1474"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:1474"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1474: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1474"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:1474"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1475: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1475"
( $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-traffic.at:1475"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1475: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:1475"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1475"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1475: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:1475"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:1475"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1475: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:1475"
( $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-traffic.at:1475"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1475: 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-traffic.at:1475"
( $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>&-
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:1475"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1475: ip netns exec at_ns1 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-traffic.at:1475"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:1475"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1475: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1475"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:1475"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1475: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1475"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:1475"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1475: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1475"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:1475"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



cat >flows.txt <<'_ATEOF'
priority=1,action=drop
priority=10,arp,action=normal
priority=100,in_port=1,udp,action=ct(commit,exec(set_field:1->ct_mark)),2
priority=100,in_port=2,icmp,ct_state=-trk,action=ct(table=0)
priority=100,in_port=2,icmp,ct_state=+trk+rel,ct_mark=1,action=1
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1486: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:1486"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:1486"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1489: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
bash -c \"echo a | nc \$NC_EOF_OPT -u 10.1.1.2 10000\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1489"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
bash -c "echo a | nc $NC_EOF_OPT -u 10.1.1.2 10000"
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:1489"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:1491: ovs-appctl revalidator/purge"
at_fn_check_prepare_trace "system-traffic.at:1491"
( $at_check_trace; ovs-appctl revalidator/purge
) >>"$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:1491"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:1492: ovs-ofctl dump-flows br0 | ofctl_strip | sort | grep -v drop"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:1492"
( $at_check_trace; ovs-ofctl dump-flows br0 | ofctl_strip | sort | grep -v drop
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " n_packets=1, n_bytes=44, priority=100,udp,in_port=1 actions=ct(commit,exec(load:0x1->NXM_NX_CT_MARK[])),output:2
 n_packets=1, n_bytes=72, priority=100,ct_state=+rel+trk,ct_mark=0x1,icmp,in_port=2 actions=output:1
 n_packets=1, n_bytes=72, priority=100,ct_state=-trk,icmp,in_port=2 actions=ct(table=0)
 n_packets=2, n_bytes=84, priority=10,arp actions=NORMAL
NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1492"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1500: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1500"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:1500"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1500: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:1500"
( $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-traffic.at:1500"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1500: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:1500"
( $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-traffic.at:1500"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1500" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1500"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1500: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:1500"
( $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-traffic.at:1500"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1500: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:1500"
( $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-traffic.at:1500"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1500" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1500"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1500: :; "
at_fn_check_prepare_trace "system-traffic.at:1500"
( $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-traffic.at:1500"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_35
#AT_START_36
at_fn_group_banner 36 'system-traffic.at:1503' \
  "conntrack - ICMP related to original direction" " " 2
at_xfail=no
(
  $as_echo "36. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:1504" >"$at_check_line_file"
(test $HAVE_NC = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1504"
$as_echo "system-traffic.at:1505" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1505"


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1506" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1506"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1506: 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-traffic.at:1506"
( $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-traffic.at:1506"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1506: 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-traffic.at:1506"
( $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-traffic.at:1506"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1506: 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-traffic.at:1506"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:1506"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:1506: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:1506"
( $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-traffic.at:1506"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1506: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:1506"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:1506"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1506: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1506"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:1506"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1506" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1506"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1506: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:1506"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:1506"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1508: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1508"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:1508"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1508: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1508"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:1508"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:1510: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1510"
( $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-traffic.at:1510"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1510: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:1510"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1510"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1510: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:1510"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:1510"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1510: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:1510"
( $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-traffic.at:1510"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1510: 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-traffic.at:1510"
( $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>&-
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:1510"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1510: ip netns exec at_ns0 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-traffic.at:1510"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:1510"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1510: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1510"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:1510"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1510: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1510"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:1510"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1510: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1510"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:1510"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1511: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1511"
( $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-traffic.at:1511"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1511: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:1511"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1511"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1511: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:1511"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:1511"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1511: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:1511"
( $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-traffic.at:1511"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1511: 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-traffic.at:1511"
( $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>&-
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:1511"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1511: ip netns exec at_ns1 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-traffic.at:1511"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:1511"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1511: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1511"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:1511"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1511: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1511"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:1511"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1511: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1511"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:1511"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



cat >flows.txt <<'_ATEOF'
priority=1000,arp,action=normal
priority=100,ip,action=ct(table=1)
priority=1,action=drop
table=1,ip,action=ct(zone=34673,table=2)
table=2,in_port=2,udp,action=ct(commit,zone=34673),1
table=2,in_port=1,udp,action=ct(commit,zone=34673),2
table=2,in_port=2,ct_state=+rel,icmp,action=1
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1524: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:1524"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:1524"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1527: ovs-ofctl -O OpenFlow13 packet-out br0 2 resubmit\\(,0\\) '00010200020400232211223308004500001c000100004011f6fac0640108c06402050035003500087b9e'"
at_fn_check_prepare_trace "system-traffic.at:1527"
( $at_check_trace; ovs-ofctl -O OpenFlow13 packet-out br0 2 resubmit\(,0\) '00010200020400232211223308004500001c000100004011f6fac0640108c06402050035003500087b9e'
) >>"$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:1527"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1530: ovs-ofctl -O OpenFlow13 packet-out br0 1 resubmit\\(,0\\) '00232211223300010200020408004500001c000100004011f6fac0640205c06401080035003500087b9e'"
at_fn_check_prepare_trace "system-traffic.at:1530"
( $at_check_trace; ovs-ofctl -O OpenFlow13 packet-out br0 1 resubmit\(,0\) '00232211223300010200020408004500001c000100004011f6fac0640205c06401080035003500087b9e'
) >>"$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:1530"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1535: ovs-ofctl -O OpenFlow13 packet-out br0 2 resubmit\\(,0\\) '000102000204002322112233080045000038000100003f01f7eec0640108c0640205030a80e5ffffffff4500001c000100003f11f7fac0640205c06401080035003500087b9e'"
at_fn_check_prepare_trace "system-traffic.at:1535"
( $at_check_trace; ovs-ofctl -O OpenFlow13 packet-out br0 2 resubmit\(,0\) '000102000204002322112233080045000038000100003f01f7eec0640108c0640205030a80e5ffffffff4500001c000100003f11f7fac0640205c06401080035003500087b9e'
) >>"$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:1535"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1537: ovs-appctl revalidator/purge"
at_fn_check_prepare_trace "system-traffic.at:1537"
( $at_check_trace; ovs-appctl revalidator/purge
) >>"$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:1537"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1540: ovs-ofctl -O OpenFlow13 packet-out br0 2 resubmit\\(,0\\) '000102000204002322112233080045000038000100003f01f7eec0640108c0640205030a80e5ffffffff4500001c000100003f11f7fac0640205c06401080035003500087b9e'"
at_fn_check_prepare_trace "system-traffic.at:1540"
( $at_check_trace; ovs-ofctl -O OpenFlow13 packet-out br0 2 resubmit\(,0\) '000102000204002322112233080045000038000100003f01f7eec0640108c0640205030a80e5ffffffff4500001c000100003f11f7fac0640205c06401080035003500087b9e'
) >>"$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:1540"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1542: ovs-appctl revalidator/purge"
at_fn_check_prepare_trace "system-traffic.at:1542"
( $at_check_trace; ovs-appctl revalidator/purge
) >>"$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:1542"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1544: ovs-ofctl dump-flows br0 | ofctl_strip | sort | grep -v drop"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:1544"
( $at_check_trace; ovs-ofctl dump-flows br0 | ofctl_strip | sort | grep -v drop
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " n_packets=4, n_bytes=224, priority=100,ip actions=ct(table=1)
 priority=1000,arp actions=NORMAL
 table=1, n_packets=4, n_bytes=224, ip actions=ct(table=2,zone=34673)
 table=2, n_packets=1, n_bytes=42, udp,in_port=1 actions=ct(commit,zone=34673),output:2
 table=2, n_packets=1, n_bytes=42, udp,in_port=2 actions=ct(commit,zone=34673),output:1
 table=2, n_packets=2, n_bytes=140, ct_state=+rel,icmp,in_port=2 actions=output:1
NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1544"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1554: ovs-appctl dpctl/dump-conntrack | grep \"dst=192.100.1.8\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:1554"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=192.100.1.8" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "udp,orig=(src=192.100.1.8,dst=192.100.2.5,sport=<cleared>,dport=<cleared>),reply=(src=192.100.2.5,dst=192.100.1.8,sport=<cleared>,dport=<cleared>),zone=34673
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1554"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1558: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1558"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:1558"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1558: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:1558"
( $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-traffic.at:1558"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1558: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:1558"
( $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-traffic.at:1558"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1558" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1558"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1558: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:1558"
( $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-traffic.at:1558"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1558: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:1558"
( $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-traffic.at:1558"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1558" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1558"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1558: :; "
at_fn_check_prepare_trace "system-traffic.at:1558"
( $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-traffic.at:1558"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_36
#AT_START_37
at_fn_group_banner 37 'system-traffic.at:1561' \
  "conntrack - ICMP related 2" "                     " 2
at_xfail=no
(
  $as_echo "37. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:1562" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1562"


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1563" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1563"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1563: 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-traffic.at:1563"
( $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-traffic.at:1563"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1563: 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-traffic.at:1563"
( $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-traffic.at:1563"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1563: 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-traffic.at:1563"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:1563"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:1563: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:1563"
( $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-traffic.at:1563"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1563: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:1563"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:1563"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1563: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1563"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:1563"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1563" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1563"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1563: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:1563"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:1563"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1565: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1565"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:1565"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1565: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1565"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:1565"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:1567: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1567"
( $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-traffic.at:1567"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1567: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:1567"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1567"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1567: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:1567"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:1567"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1567: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:1567"
( $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-traffic.at:1567"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1567: 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-traffic.at:1567"
( $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>&-
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:1567"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1567: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add \"172.16.0.1/24\" dev p0
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1567"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "172.16.0.1/24" dev p0
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:1567"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1567: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1567"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:1567"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1567: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1567"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:1567"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1567: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1567"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:1567"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1568: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1568"
( $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-traffic.at:1568"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1568: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:1568"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1568"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1568: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:1568"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:1568"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1568: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:1568"
( $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-traffic.at:1568"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1568: 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-traffic.at:1568"
( $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>&-
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:1568"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1568: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add \"172.16.0.2/24\" dev p1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1568"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "172.16.0.2/24" dev p1
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:1568"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1568: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1568"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:1568"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1568: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1568"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:1568"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1568: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1568"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:1568"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



cat >flows.txt <<'_ATEOF'
table=0,ip,action=ct(commit,table=1)
table=1,ip,action=controller
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1576: ovs-ofctl --bundle replace-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:1576"
( $at_check_trace; ovs-ofctl --bundle replace-flows br0 flows.txt
) >>"$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:1576"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:1579: ovs-ofctl monitor br0 65534 invalid_ttl --detach --no-chdir --pidfile 2> ofctl_monitor.log"
at_fn_check_prepare_trace "system-traffic.at:1579"
( $at_check_trace; ovs-ofctl monitor br0 65534 invalid_ttl --detach --no-chdir --pidfile 2> ofctl_monitor.log
) >>"$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:1579"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1582: ovs-ofctl -O OpenFlow13 packet-out br0 2 resubmit\\(,0\\) 'f64c473528c9c6f54ecb72db080045c0003d2e8700004001f351ac100004ac1000030303da490000000045000021317040004011b138ac100003ac10000411112222000d20966369616f0a'"
at_fn_check_prepare_trace "system-traffic.at:1582"
( $at_check_trace; ovs-ofctl -O OpenFlow13 packet-out br0 2 resubmit\(,0\) 'f64c473528c9c6f54ecb72db080045c0003d2e8700004001f351ac100004ac1000030303da490000000045000021317040004011b138ac100003ac10000411112222000d20966369616f0a'
) >>"$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:1582"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1585: ovs-ofctl -O OpenFlow13 packet-out br0 1 resubmit\\(,0\\) 'c6f94ecb72dbe64c473528c9080045000021317040004011b138ac100001ac100002a28e15b3000d20966369616f0a'"
at_fn_check_prepare_trace "system-traffic.at:1585"
( $at_check_trace; ovs-ofctl -O OpenFlow13 packet-out br0 1 resubmit\(,0\) 'c6f94ecb72dbe64c473528c9080045000021317040004011b138ac100001ac100002a28e15b3000d20966369616f0a'
) >>"$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:1585"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1588: ovs-ofctl -O OpenFlow13 packet-out br0 2 resubmit\\(,0\\) 'e64c473528c9c6f94ecb72db080045c0003d2e8700004001f355ac100002ac1000010303553f0000000045000021317040004011b138ac100001ac100002a28e15b3000d20966369616f0a'"
at_fn_check_prepare_trace "system-traffic.at:1588"
( $at_check_trace; ovs-ofctl -O OpenFlow13 packet-out br0 2 resubmit\(,0\) 'e64c473528c9c6f94ecb72db080045c0003d2e8700004001f355ac100002ac1000010303553f0000000045000021317040004011b138ac100001ac100002a28e15b3000d20966369616f0a'
) >>"$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:1588"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1591: cat ofctl_monitor.log"
at_fn_check_prepare_trace "system-traffic.at:1591"
( $at_check_trace; cat ofctl_monitor.log
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXT_PACKET_IN2 (xid=0x0): table_id=1 cookie=0x0 total_len=75 ct_state=inv|trk,in_port=2 (via action) data_len=75 (unbuffered)
icmp,vlan_tci=0x0000,dl_src=c6:f5:4e:cb:72:db,dl_dst=f6:4c:47:35:28:c9,nw_src=172.16.0.4,nw_dst=172.16.0.3,nw_tos=192,nw_ecn=0,nw_ttl=64,icmp_type=3,icmp_code=3 icmp_csum:da49
NXT_PACKET_IN2 (xid=0x0): table_id=1 cookie=0x0 total_len=47 ct_state=new|trk,ct_nw_src=172.16.0.1,ct_nw_dst=172.16.0.2,ct_nw_proto=17,ct_tp_src=41614,ct_tp_dst=5555,in_port=1 (via action) data_len=47 (unbuffered)
udp,vlan_tci=0x0000,dl_src=e6:4c:47:35:28:c9,dl_dst=c6:f9:4e:cb:72:db,nw_src=172.16.0.1,nw_dst=172.16.0.2,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=41614,tp_dst=5555 udp_csum:2096
NXT_PACKET_IN2 (xid=0x0): table_id=1 cookie=0x0 total_len=75 ct_state=rel|rpl|trk,ct_nw_src=172.16.0.1,ct_nw_dst=172.16.0.2,ct_nw_proto=17,ct_tp_src=41614,ct_tp_dst=5555,in_port=2 (via action) data_len=75 (unbuffered)
icmp,vlan_tci=0x0000,dl_src=c6:f9:4e:cb:72:db,dl_dst=e6:4c:47:35:28:c9,nw_src=172.16.0.2,nw_dst=172.16.0.1,nw_tos=192,nw_ecn=0,nw_ttl=64,icmp_type=3,icmp_code=3 icmp_csum:553f
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1591"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1600: ovs-appctl dpctl/dump-conntrack | grep \"dst=172.16.0.1\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:1600"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=172.16.0.1" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "udp,orig=(src=172.16.0.1,dst=172.16.0.2,sport=<cleared>,dport=<cleared>),reply=(src=172.16.0.2,dst=172.16.0.1,sport=<cleared>,dport=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1600"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1604: ovs-appctl dpctl/dump-conntrack | grep \"dst=172.16.0.3\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:1604"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=172.16.0.3" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$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:1604"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1607: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1607"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:1607"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1607: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:1607"
( $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-traffic.at:1607"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1607: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:1607"
( $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-traffic.at:1607"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1607" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1607"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1607: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:1607"
( $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-traffic.at:1607"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1607: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:1607"
( $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-traffic.at:1607"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1607" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1607"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1607: :; "
at_fn_check_prepare_trace "system-traffic.at:1607"
( $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-traffic.at:1607"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_37
#AT_START_38
at_fn_group_banner 38 'system-traffic.at:1610' \
  "conntrack - IPv4 fragmentation" "                 " 2
at_xfail=no
(
  $as_echo "38. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:1611" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1611"


    $as_echo "system-traffic.at:1612" >"$at_check_line_file"
at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1612"


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1613" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1613"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1613: 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-traffic.at:1613"
( $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-traffic.at:1613"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1613: 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-traffic.at:1613"
( $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-traffic.at:1613"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1613: 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-traffic.at:1613"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:1613"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:1613: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:1613"
( $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-traffic.at:1613"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1613: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:1613"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:1613"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1613: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1613"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:1613"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1613" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1613"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1613: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:1613"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:1613"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1615: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1615"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:1615"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1615: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1615"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:1615"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:1617: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1617"
( $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-traffic.at:1617"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1617: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:1617"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1617"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1617: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:1617"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:1617"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1617: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:1617"
( $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-traffic.at:1617"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1617: 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-traffic.at:1617"
( $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>&-
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:1617"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1617: ip netns exec at_ns0 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-traffic.at:1617"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:1617"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1617: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1617"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:1617"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1617: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1617"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:1617"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1617: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1617"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:1617"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1618: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1618"
( $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-traffic.at:1618"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1618: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:1618"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1618"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1618: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:1618"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:1618"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1618: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:1618"
( $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-traffic.at:1618"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1618: 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-traffic.at:1618"
( $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>&-
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:1618"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1618: ip netns exec at_ns1 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-traffic.at:1618"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:1618"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1618: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1618"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:1618"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1618: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1618"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:1618"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1618: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1618"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:1618"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



cat >flows.txt <<'_ATEOF'
priority=1,action=drop
priority=10,arp,action=normal
priority=100,in_port=1,icmp,action=ct(commit,zone=9),2
priority=100,in_port=2,ct_state=-trk,icmp,action=ct(table=0,zone=9)
priority=100,in_port=2,ct_state=+trk+est-new,icmp,action=1
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1629: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:1629"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:1629"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1632: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 1600 -q -c 3 -i 0.3 -w 2 10.1.1.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1632"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 1600 -q -c 3 -i 0.3 -w 2 10.1.1.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:1632"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



 { set +x
$as_echo "$at_srcdir/system-traffic.at:1637: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 3200 -q -c 3 -i 0.3 -w 2 10.1.1.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1637"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 3200 -q -c 3 -i 0.3 -w 2 10.1.1.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:1637"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:1641: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1641"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:1641"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1641: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:1641"
( $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-traffic.at:1641"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1641: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:1641"
( $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-traffic.at:1641"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1641" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1641"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1641: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:1641"
( $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-traffic.at:1641"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1641: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:1641"
( $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-traffic.at:1641"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1641" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1641"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1641: :; "
at_fn_check_prepare_trace "system-traffic.at:1641"
( $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-traffic.at:1641"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_38
#AT_START_39
at_fn_group_banner 39 'system-traffic.at:1644' \
  "conntrack - IPv4 fragmentation expiry" "          " 2
at_xfail=no
(
  $as_echo "39. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:1645" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1645"


    $as_echo "system-traffic.at:1646" >"$at_check_line_file"
at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1646"


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1647" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1647"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1647: 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-traffic.at:1647"
( $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-traffic.at:1647"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1647: 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-traffic.at:1647"
( $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-traffic.at:1647"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1647: 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-traffic.at:1647"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:1647"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:1647: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:1647"
( $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-traffic.at:1647"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1647: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:1647"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:1647"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1647: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1647"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:1647"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1647" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1647"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1647: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:1647"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:1647"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1649: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1649"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:1649"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1649: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1649"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:1649"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:1651: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1651"
( $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-traffic.at:1651"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1651: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:1651"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1651"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1651: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:1651"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:1651"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1651: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:1651"
( $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-traffic.at:1651"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1651: 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-traffic.at:1651"
( $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>&-
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:1651"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1651: ip netns exec at_ns0 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-traffic.at:1651"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:1651"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1651: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1651"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:1651"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1651: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1651"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:1651"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1651: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1651"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:1651"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1652: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1652"
( $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-traffic.at:1652"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1652: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:1652"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1652"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1652: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:1652"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:1652"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1652: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:1652"
( $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-traffic.at:1652"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1652: 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-traffic.at:1652"
( $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>&-
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:1652"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1652: ip netns exec at_ns1 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-traffic.at:1652"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:1652"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1652: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1652"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:1652"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1652: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1652"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:1652"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1652: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1652"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:1652"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



cat >flows.txt <<'_ATEOF'
priority=1,action=drop
priority=10,arp,action=normal

priority=100,in_port=1,icmp,ip_frag=no,action=ct(commit,zone=9),2
priority=100,in_port=1,icmp,ip_frag=firstaction=ct(commit,zone=9),2
priority=100,in_port=2,ct_state=-trk,icmp,action=ct(table=0,zone=9)
priority=100,in_port=2,ct_state=+trk+est-new,icmp,action=1
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1665: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:1665"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:1665"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1668: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 1600 -q -c 1 -i 0.3 -w 2 10.1.1.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1668"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 1600 -q -c 1 -i 0.3 -w 2 10.1.1.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
echo >>"$at_stdout"; $as_echo "7 packets transmitted, 0 received, 100% packet loss, time 0ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1668"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:1672: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1672"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:1672"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1672: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:1672"
( $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-traffic.at:1672"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1672: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:1672"
( $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-traffic.at:1672"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1672" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1672"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1672: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:1672"
( $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-traffic.at:1672"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1672: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:1672"
( $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-traffic.at:1672"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1672" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1672"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1672: :; "
at_fn_check_prepare_trace "system-traffic.at:1672"
( $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-traffic.at:1672"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_39
#AT_START_40
at_fn_group_banner 40 'system-traffic.at:1675' \
  "conntrack - IPv4 fragmentation + vlan" "          " 2
at_xfail=no
(
  $as_echo "40. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:1676" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1676"


    $as_echo "system-traffic.at:1677" >"$at_check_line_file"
at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1677"


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1678" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1678"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1678: 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-traffic.at:1678"
( $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-traffic.at:1678"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1678: 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-traffic.at:1678"
( $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-traffic.at:1678"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1678: 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-traffic.at:1678"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:1678"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:1678: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:1678"
( $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-traffic.at:1678"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1678: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:1678"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:1678"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1678: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1678"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:1678"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1678" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1678"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1678: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:1678"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:1678"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1680: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1680"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:1680"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1680: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1680"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:1680"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:1682: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1682"
( $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-traffic.at:1682"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1682: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:1682"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1682"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1682: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:1682"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:1682"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1682: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:1682"
( $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-traffic.at:1682"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1682: 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-traffic.at:1682"
( $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>&-
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:1682"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1682: ip netns exec at_ns0 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-traffic.at:1682"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:1682"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1682: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1682"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:1682"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1682: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1682"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:1682"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1682: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1682"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:1682"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1683: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1683"
( $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-traffic.at:1683"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1683: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:1683"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1683"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1683: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:1683"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:1683"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1683: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:1683"
( $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-traffic.at:1683"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1683: 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-traffic.at:1683"
( $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>&-
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:1683"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1683: ip netns exec at_ns1 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-traffic.at:1683"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:1683"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1683: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1683"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:1683"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1683: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1683"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:1683"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1683: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1683"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:1683"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'


  { set +x
$as_echo "$at_srcdir/system-traffic.at:1684: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add link p0 name p0.100 type vlan proto 802.1q id 100
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1684"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add link p0 name p0.100 type vlan proto 802.1q id 100
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:1684"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1684: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0.100 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1684"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0.100 up
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:1684"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1684: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev p0.100 \"10.2.2.1/24\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1684"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev p0.100 "10.2.2.1/24"
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:1684"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




  { set +x
$as_echo "$at_srcdir/system-traffic.at:1685: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link add link p1 name p1.100 type vlan proto 802.1q id 100
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1685"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link add link p1 name p1.100 type vlan proto 802.1q id 100
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:1685"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1685: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1.100 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1685"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1.100 up
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:1685"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1685: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add dev p1.100 \"10.2.2.2/24\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1685"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add dev p1.100 "10.2.2.2/24"
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:1685"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }





cat >flows.txt <<'_ATEOF'
priority=1,action=drop
priority=10,arp,action=normal
priority=100,in_port=1,icmp,action=ct(commit,zone=9),2
priority=100,in_port=2,ct_state=-trk,icmp,action=ct(table=0,zone=9)
priority=100,in_port=2,ct_state=+trk+est-new,icmp,action=1
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1696: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:1696"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:1696"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1699: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 1600 -q -c 3 -i 0.3 -w 2 10.2.2.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1699"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 1600 -q -c 3 -i 0.3 -w 2 10.2.2.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:1699"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



 { set +x
$as_echo "$at_srcdir/system-traffic.at:1704: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 3200 -q -c 3 -i 0.3 -w 2 10.2.2.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1704"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 3200 -q -c 3 -i 0.3 -w 2 10.2.2.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:1704"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:1708: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1708"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:1708"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1708: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:1708"
( $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-traffic.at:1708"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1708: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:1708"
( $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-traffic.at:1708"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1708" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1708"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1708: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:1708"
( $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-traffic.at:1708"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1708: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:1708"
( $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-traffic.at:1708"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1708" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1708"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1708: :; "
at_fn_check_prepare_trace "system-traffic.at:1708"
( $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-traffic.at:1708"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_40
#AT_START_41
at_fn_group_banner 41 'system-traffic.at:1711' \
  "conntrack - IPv4 fragmentation + cvlan" "         " 2
at_xfail=no
(
  $as_echo "41. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:1712" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1712"


    $as_echo "system-traffic.at:1713" >"$at_check_line_file"
at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1713"


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1714" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1714"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1714: 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-traffic.at:1714"
( $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-traffic.at:1714"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1714: 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-traffic.at:1714"
( $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-traffic.at:1714"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1714: 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-traffic.at:1714"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:1714"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:1714: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:1714"
( $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-traffic.at:1714"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1714: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:1714"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:1714"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1714: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1714"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:1714"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1714" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1714"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1714: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  -- set Open_vSwitch . other_config:vlan-limit=0 "
at_fn_check_prepare_trace "system-traffic.at:1714"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  -- set Open_vSwitch . other_config:vlan-limit=0
) >>"$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:1714"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


$as_echo "system-traffic.at:1715" >"$at_check_line_file"
(! grep -q "VLAN header stack length probed as" ovs-vswitchd.log) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1715"
     $as_echo "system-traffic.at:1715" >"$at_check_line_file"
(test `sed -n 's/.*VLAN header stack length probed as \([0-9]\+\).*/\1/p' ovs-vswitchd.log` -lt 2) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1715"

ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1717: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1717"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:1717"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1717: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1717"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:1717"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:1719: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1719"
( $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-traffic.at:1719"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1719: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:1719"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1719"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1719: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:1719"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:1719"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1719: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:1719"
( $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-traffic.at:1719"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1719: 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-traffic.at:1719"
( $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>&-
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:1719"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1719: ip netns exec at_ns0 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-traffic.at:1719"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:1719"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1719: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1719"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:1719"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1719: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1719"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:1719"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1719: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1719"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:1719"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1720: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1720"
( $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-traffic.at:1720"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1720: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:1720"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1720"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1720: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:1720"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:1720"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1720: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:1720"
( $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-traffic.at:1720"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1720: 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-traffic.at:1720"
( $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>&-
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:1720"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1720: ip netns exec at_ns1 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-traffic.at:1720"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:1720"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1720: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1720"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:1720"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1720: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1720"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:1720"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1720: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1720"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:1720"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



  { set +x
$as_echo "$at_srcdir/system-traffic.at:1722: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add link p0 name p0.4094 type vlan proto 802.1ad id 4094
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1722"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add link p0 name p0.4094 type vlan proto 802.1ad id 4094
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:1722"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1722: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0.4094 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1722"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0.4094 up
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:1722"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1722: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev p0.4094 \"10.255.2.1/24\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1722"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev p0.4094 "10.255.2.1/24"
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:1722"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1722: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set p0.4094 mtu 1496
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1722"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set p0.4094 mtu 1496
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:1722"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




  { set +x
$as_echo "$at_srcdir/system-traffic.at:1723: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link add link p1 name p1.4094 type vlan proto 802.1ad id 4094
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1723"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link add link p1 name p1.4094 type vlan proto 802.1ad id 4094
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:1723"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1723: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1.4094 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1723"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1.4094 up
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:1723"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1723: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add dev p1.4094 \"10.255.2.2/24\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1723"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add dev p1.4094 "10.255.2.2/24"
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:1723"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1723: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set p1.4094 mtu 1496
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1723"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set p1.4094 mtu 1496
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:1723"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }





   { set +x
$as_echo "$at_srcdir/system-traffic.at:1725: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add link p0.4094 name p0.4094.100 type vlan proto 802.1q id 100
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1725"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add link p0.4094 name p0.4094.100 type vlan proto 802.1q id 100
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:1725"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1725: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0.4094.100 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1725"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0.4094.100 up
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:1725"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1725: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev p0.4094.100 \"10.2.2.1/24\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1725"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev p0.4094.100 "10.2.2.1/24"
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:1725"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




       { set +x
$as_echo "$at_srcdir/system-traffic.at:1725: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set p0.4094.100 mtu 1492
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1725"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set p0.4094.100 mtu 1492
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:1725"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




   { set +x
$as_echo "$at_srcdir/system-traffic.at:1726: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link add link p1.4094 name p1.4094.100 type vlan proto 802.1q id 100
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1726"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link add link p1.4094 name p1.4094.100 type vlan proto 802.1q id 100
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:1726"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1726: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1.4094.100 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1726"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1.4094.100 up
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:1726"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1726: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add dev p1.4094.100 \"10.2.2.2/24\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1726"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add dev p1.4094.100 "10.2.2.2/24"
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:1726"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




       { set +x
$as_echo "$at_srcdir/system-traffic.at:1726: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set p1.4094.100 mtu 1492
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1726"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set p1.4094.100 mtu 1492
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:1726"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }





cat >flows.txt <<'_ATEOF'
priority=1,action=drop
priority=10,arp,action=normal
priority=100,in_port=1,icmp,action=ct(commit,zone=9),2
priority=100,in_port=2,ct_state=-trk,icmp,action=ct(table=0,zone=9)
priority=100,in_port=2,ct_state=+trk+est-new,icmp,action=1
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1737: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:1737"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:1737"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs_wait_cond () {
    ip netns exec at_ns0 ping -c 1 10.2.2.2
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1739" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1739"
fi


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1742: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 1600 -q -c 3 -i 0.3 -w 2 10.2.2.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1742"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 1600 -q -c 3 -i 0.3 -w 2 10.2.2.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:1742"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



 { set +x
$as_echo "$at_srcdir/system-traffic.at:1747: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 1600 -q -c 3 -i 0.3 -w 2 10.255.2.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1747"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 1600 -q -c 3 -i 0.3 -w 2 10.255.2.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:1747"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



 { set +x
$as_echo "$at_srcdir/system-traffic.at:1752: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 3200 -q -c 3 -i 0.3 -w 2 10.2.2.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1752"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 3200 -q -c 3 -i 0.3 -w 2 10.2.2.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:1752"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



 { set +x
$as_echo "$at_srcdir/system-traffic.at:1757: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 3200 -q -c 3 -i 0.3 -w 2 10.255.2.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1757"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 3200 -q -c 3 -i 0.3 -w 2 10.255.2.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:1757"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:1761: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1761"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:1761"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1761: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:1761"
( $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-traffic.at:1761"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1761: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:1761"
( $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-traffic.at:1761"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1761" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1761"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1761: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:1761"
( $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-traffic.at:1761"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1761: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:1761"
( $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-traffic.at:1761"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1761" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1761"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1761: :; "
at_fn_check_prepare_trace "system-traffic.at:1761"
( $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-traffic.at:1761"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_41
#AT_START_42
at_fn_group_banner 42 'system-traffic.at:1764' \
  "conntrack - IPv6 fragmentation" "                 " 2
at_xfail=no
(
  $as_echo "42. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:1765" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1765"


    $as_echo "system-traffic.at:1766" >"$at_check_line_file"
at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1766"


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1767" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1767"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1767: 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-traffic.at:1767"
( $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-traffic.at:1767"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1767: 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-traffic.at:1767"
( $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-traffic.at:1767"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1767: 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-traffic.at:1767"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:1767"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:1767: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:1767"
( $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-traffic.at:1767"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1767: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:1767"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:1767"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1767: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1767"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:1767"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1767" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1767"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1767: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:1767"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:1767"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1769: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1769"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:1769"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1769: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1769"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:1769"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:1771: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1771"
( $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-traffic.at:1771"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1771: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:1771"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1771"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1771: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:1771"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:1771"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1771: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:1771"
( $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-traffic.at:1771"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1771: 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-traffic.at:1771"
( $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>&-
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:1771"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1771: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add \"fc00::1/96\" dev p0
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1771"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "fc00::1/96" dev p0
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:1771"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1771: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1771"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:1771"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1771: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1771"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:1771"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1771: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1771"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:1771"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1772: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1772"
( $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-traffic.at:1772"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1772: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:1772"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1772"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1772: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:1772"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:1772"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1772: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:1772"
( $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-traffic.at:1772"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1772: 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-traffic.at:1772"
( $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>&-
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:1772"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1772: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add \"fc00::2/96\" dev p1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1772"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "fc00::2/96" dev p1
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:1772"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1772: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1772"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:1772"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1772: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1772"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:1772"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1772: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1772"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:1772"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



cat >flows.txt <<'_ATEOF'
priority=1,action=drop
priority=10,in_port=1,ipv6,action=ct(commit,zone=9),2
priority=10,in_port=2,ct_state=-trk,ipv6,action=ct(table=0,zone=9)
priority=10,in_port=2,ct_state=+trk+est-new,ipv6,action=1
priority=100,icmp6,icmp_type=135,action=normal
priority=100,icmp6,icmp_type=136,action=normal
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1784: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:1784"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:1784"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs_wait_cond () {
    ip netns exec at_ns0 ping6 -c 1 fc00::2
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1789" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1789"
fi


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1792: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -s 1600 -q -c 3 -i 0.3 -w 2 fc00::2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1792"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -s 1600 -q -c 3 -i 0.3 -w 2 fc00::2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:1792"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



 { set +x
$as_echo "$at_srcdir/system-traffic.at:1797: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -s 3200 -q -c 3 -i 0.3 -w 2 fc00::2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1797"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -s 3200 -q -c 3 -i 0.3 -w 2 fc00::2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:1797"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:1801: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1801"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:1801"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1801: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:1801"
( $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-traffic.at:1801"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1801: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:1801"
( $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-traffic.at:1801"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1801" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1801"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1801: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:1801"
( $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-traffic.at:1801"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1801: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:1801"
( $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-traffic.at:1801"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1801" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1801"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1801: :; "
at_fn_check_prepare_trace "system-traffic.at:1801"
( $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-traffic.at:1801"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_42
#AT_START_43
at_fn_group_banner 43 'system-traffic.at:1804' \
  "conntrack - IPv6 fragmentation expiry" "          " 2
at_xfail=no
(
  $as_echo "43. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:1805" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1805"


    $as_echo "system-traffic.at:1806" >"$at_check_line_file"
at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1806"


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1807" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1807"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1807: 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-traffic.at:1807"
( $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-traffic.at:1807"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1807: 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-traffic.at:1807"
( $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-traffic.at:1807"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1807: 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-traffic.at:1807"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:1807"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:1807: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:1807"
( $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-traffic.at:1807"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1807: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:1807"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:1807"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1807: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1807"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:1807"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1807" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1807"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1807: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:1807"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:1807"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1809: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1809"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:1809"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1809: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1809"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:1809"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:1811: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1811"
( $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-traffic.at:1811"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1811: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:1811"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1811"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1811: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:1811"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:1811"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1811: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:1811"
( $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-traffic.at:1811"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1811: 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-traffic.at:1811"
( $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>&-
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:1811"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1811: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add \"fc00::1/96\" dev p0
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1811"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "fc00::1/96" dev p0
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:1811"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1811: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1811"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:1811"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1811: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1811"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:1811"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1811: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1811"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:1811"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1812: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1812"
( $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-traffic.at:1812"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1812: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:1812"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1812"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1812: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:1812"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:1812"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1812: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:1812"
( $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-traffic.at:1812"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1812: 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-traffic.at:1812"
( $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>&-
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:1812"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1812: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add \"fc00::2/96\" dev p1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1812"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "fc00::2/96" dev p1
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:1812"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1812: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1812"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:1812"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1812: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1812"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:1812"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1812: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1812"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:1812"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



cat >flows.txt <<'_ATEOF'
priority=1,action=drop

priority=10,in_port=1,ipv6,ip_frag=first,action=ct(commit,zone=9),2
priority=10,in_port=1,ipv6,ip_frag=no,action=ct(commit,zone=9),2
priority=10,in_port=2,ct_state=-trk,ipv6,action=ct(table=0,zone=9)
priority=10,in_port=2,ct_state=+trk+est-new,ipv6,action=1

priority=100,icmp6,icmp_type=135,action=normal
priority=100,icmp6,icmp_type=136,action=normal
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1828: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:1828"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:1828"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs_wait_cond () {
    ip netns exec at_ns0 ping6 -c 1 fc00::2
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1833" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1833"
fi


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1836: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -s 1600 -q -c 1 -i 0.3 -w 2 fc00::2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1836"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -s 1600 -q -c 1 -i 0.3 -w 2 fc00::2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
echo >>"$at_stdout"; $as_echo "7 packets transmitted, 0 received, 100% packet loss, time 0ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1836"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




{ set +x
$as_echo "$at_srcdir/system-traffic.at:1842: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1842"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:1842"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1842: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:1842"
( $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-traffic.at:1842"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1842: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:1842"
( $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-traffic.at:1842"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1842" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1842"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1842: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:1842"
( $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-traffic.at:1842"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1842: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:1842"
( $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-traffic.at:1842"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1842" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1842"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1842: :; "
at_fn_check_prepare_trace "system-traffic.at:1842"
( $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-traffic.at:1842"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_43
#AT_START_44
at_fn_group_banner 44 'system-traffic.at:1845' \
  "conntrack - IPv6 fragmentation + vlan" "          " 2
at_xfail=no
(
  $as_echo "44. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:1846" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1846"


    $as_echo "system-traffic.at:1847" >"$at_check_line_file"
at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1847"


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1848" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1848"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1848: 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-traffic.at:1848"
( $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-traffic.at:1848"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1848: 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-traffic.at:1848"
( $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-traffic.at:1848"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1848: 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-traffic.at:1848"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:1848"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:1848: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:1848"
( $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-traffic.at:1848"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1848: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:1848"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:1848"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1848: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1848"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:1848"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1848" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1848"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1848: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:1848"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:1848"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1850: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1850"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:1850"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1850: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1850"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:1850"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:1852: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1852"
( $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-traffic.at:1852"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1852: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:1852"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1852"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1852: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:1852"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:1852"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1852: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:1852"
( $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-traffic.at:1852"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1852: 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-traffic.at:1852"
( $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>&-
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:1852"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1852: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add \"fc00::1/96\" dev p0
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1852"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "fc00::1/96" dev p0
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:1852"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1852: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1852"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:1852"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1852: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1852"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:1852"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1852: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1852"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:1852"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1853: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1853"
( $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-traffic.at:1853"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1853: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:1853"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1853"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1853: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:1853"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:1853"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1853: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:1853"
( $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-traffic.at:1853"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1853: 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-traffic.at:1853"
( $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>&-
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:1853"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1853: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add \"fc00::2/96\" dev p1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1853"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "fc00::2/96" dev p1
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:1853"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1853: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1853"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:1853"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1853: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1853"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:1853"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1853: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1853"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:1853"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



  { set +x
$as_echo "$at_srcdir/system-traffic.at:1855: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add link p0 name p0.100 type vlan proto 802.1q id 100
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1855"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add link p0 name p0.100 type vlan proto 802.1q id 100
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:1855"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1855: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0.100 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1855"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0.100 up
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:1855"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1855: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev p0.100 \"fc00:1::3/96\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1855"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev p0.100 "fc00:1::3/96"
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:1855"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




  { set +x
$as_echo "$at_srcdir/system-traffic.at:1856: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link add link p1 name p1.100 type vlan proto 802.1q id 100
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1856"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link add link p1 name p1.100 type vlan proto 802.1q id 100
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:1856"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1856: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1.100 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1856"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1.100 up
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:1856"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1856: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add dev p1.100 \"fc00:1::4/96\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1856"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add dev p1.100 "fc00:1::4/96"
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:1856"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }





cat >flows.txt <<'_ATEOF'
priority=1,action=drop
priority=10,in_port=1,ipv6,action=ct(commit,zone=9),2
priority=10,in_port=2,ct_state=-trk,ipv6,action=ct(table=0,zone=9)
priority=10,in_port=2,ct_state=+trk+est-new,ipv6,action=1
priority=100,icmp6,icmp_type=135,action=normal
priority=100,icmp6,icmp_type=136,action=normal
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1868: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:1868"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:1868"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs_wait_cond () {
    ip netns exec at_ns0 ping6 -c 1 fc00::2
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1873" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1873"
fi


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1876: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -s 1600 -q -c 3 -i 0.3 -w 2 fc00:1::4 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1876"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -s 1600 -q -c 3 -i 0.3 -w 2 fc00:1::4 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:1876"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



 { set +x
$as_echo "$at_srcdir/system-traffic.at:1881: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -s 3200 -q -c 3 -i 0.3 -w 2 fc00:1::4 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1881"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -s 3200 -q -c 3 -i 0.3 -w 2 fc00:1::4 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:1881"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:1885: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1885"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:1885"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1885: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:1885"
( $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-traffic.at:1885"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1885: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:1885"
( $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-traffic.at:1885"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1885" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1885"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1885: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:1885"
( $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-traffic.at:1885"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1885: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:1885"
( $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-traffic.at:1885"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1885" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1885"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1885: :; "
at_fn_check_prepare_trace "system-traffic.at:1885"
( $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-traffic.at:1885"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_44
#AT_START_45
at_fn_group_banner 45 'system-traffic.at:1888' \
  "conntrack - IPv6 fragmentation + cvlan" "         " 2
at_xfail=no
(
  $as_echo "45. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:1889" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1889"


    $as_echo "system-traffic.at:1890" >"$at_check_line_file"
at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1890"


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1891" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1891"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1891: 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-traffic.at:1891"
( $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-traffic.at:1891"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1891: 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-traffic.at:1891"
( $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-traffic.at:1891"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1891: 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-traffic.at:1891"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:1891"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:1891: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:1891"
( $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-traffic.at:1891"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1891: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:1891"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:1891"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1891: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1891"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:1891"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1891" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1891"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1891: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  -- set Open_vSwitch . other_config:vlan-limit=0 "
at_fn_check_prepare_trace "system-traffic.at:1891"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  -- set Open_vSwitch . other_config:vlan-limit=0
) >>"$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:1891"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


$as_echo "system-traffic.at:1892" >"$at_check_line_file"
(! grep -q "VLAN header stack length probed as" ovs-vswitchd.log) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1892"
     $as_echo "system-traffic.at:1892" >"$at_check_line_file"
(test `sed -n 's/.*VLAN header stack length probed as \([0-9]\+\).*/\1/p' ovs-vswitchd.log` -lt 2) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1892"

ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1894: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1894"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:1894"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1894: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1894"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:1894"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:1896: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1896"
( $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-traffic.at:1896"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1896: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:1896"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1896"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1896: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:1896"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:1896"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1896: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:1896"
( $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-traffic.at:1896"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1896: 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-traffic.at:1896"
( $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>&-
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:1896"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1896: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add \"fc00::1/96\" dev p0
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1896"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "fc00::1/96" dev p0
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:1896"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1896: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1896"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:1896"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1896: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1896"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:1896"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1896: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1896"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:1896"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1897: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1897"
( $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-traffic.at:1897"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1897: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:1897"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
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; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1897: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:1897"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1897: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:1897"
( $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-traffic.at:1897"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1897: 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-traffic.at:1897"
( $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>&-
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; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1897: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add \"fc00::2/96\" dev p1
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
ip addr add "fc00::2/96" dev p1
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; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1897: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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
ip link set dev p1 up
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; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1897: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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
ip link set dev p1 address
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; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1897: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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
ip route add default via
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; }


      fi
      on_exit 'ip link del ovs-p1'



  { set +x
$as_echo "$at_srcdir/system-traffic.at:1899: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add link p0 name p0.4094 type vlan proto 802.1ad id 4094
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1899"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add link p0 name p0.4094 type vlan proto 802.1ad id 4094
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:1899"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1899: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0.4094 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1899"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0.4094 up
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:1899"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1899: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev p0.4094 \"fc00:ffff::3/96\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1899"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev p0.4094 "fc00:ffff::3/96"
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:1899"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1899: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set p0.4094 mtu 1496
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1899"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set p0.4094 mtu 1496
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:1899"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




  { set +x
$as_echo "$at_srcdir/system-traffic.at:1900: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link add link p1 name p1.4094 type vlan proto 802.1ad id 4094
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1900"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link add link p1 name p1.4094 type vlan proto 802.1ad id 4094
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:1900"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1900: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1.4094 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1900"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1.4094 up
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:1900"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1900: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add dev p1.4094 \"fc00:ffff::4/96\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1900"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add dev p1.4094 "fc00:ffff::4/96"
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:1900"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1900: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set p1.4094 mtu 1496
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1900"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set p1.4094 mtu 1496
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:1900"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }





   { set +x
$as_echo "$at_srcdir/system-traffic.at:1902: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add link p0.4094 name p0.4094.100 type vlan proto 802.1q id 100
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1902"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add link p0.4094 name p0.4094.100 type vlan proto 802.1q id 100
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:1902"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1902: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0.4094.100 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1902"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0.4094.100 up
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:1902"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1902: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev p0.4094.100 \"fc00:1::3/96\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1902"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev p0.4094.100 "fc00:1::3/96"
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:1902"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




       { set +x
$as_echo "$at_srcdir/system-traffic.at:1902: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set p0.4094.100 mtu 1492
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1902"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set p0.4094.100 mtu 1492
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:1902"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




   { set +x
$as_echo "$at_srcdir/system-traffic.at:1903: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link add link p1.4094 name p1.4094.100 type vlan proto 802.1q id 100
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1903"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link add link p1.4094 name p1.4094.100 type vlan proto 802.1q id 100
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:1903"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1903: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1.4094.100 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1903"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1.4094.100 up
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:1903"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1903: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add dev p1.4094.100 \"fc00:1::4/96\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1903"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add dev p1.4094.100 "fc00:1::4/96"
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:1903"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




       { set +x
$as_echo "$at_srcdir/system-traffic.at:1903: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set p1.4094.100 mtu 1492
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1903"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set p1.4094.100 mtu 1492
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:1903"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }





cat >flows.txt <<'_ATEOF'
priority=1,action=drop
priority=10,in_port=1,ipv6,action=ct(commit,zone=9),2
priority=10,in_port=2,ct_state=-trk,ipv6,action=ct(table=0,zone=9)
priority=10,in_port=2,ct_state=+trk+est-new,ipv6,action=1
priority=100,icmp6,icmp_type=135,action=normal
priority=100,icmp6,icmp_type=136,action=normal
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1915: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:1915"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:1915"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs_wait_cond () {
    ip netns exec at_ns0 ping6 -c 1 fc00:1::4
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1917" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1917"
fi


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1920: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -s 1600 -q -c 3 -i 0.3 -w 2 fc00:1::4 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1920"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -s 1600 -q -c 3 -i 0.3 -w 2 fc00:1::4 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:1920"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



 { set +x
$as_echo "$at_srcdir/system-traffic.at:1925: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -s 1600 -q -c 3 -i 0.3 -w 2 fc00:ffff::4 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1925"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -s 1600 -q -c 3 -i 0.3 -w 2 fc00:ffff::4 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:1925"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



 { set +x
$as_echo "$at_srcdir/system-traffic.at:1930: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -s 3200 -q -c 3 -i 0.3 -w 2 fc00:1::4 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1930"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -s 3200 -q -c 3 -i 0.3 -w 2 fc00:1::4 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:1930"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



 { set +x
$as_echo "$at_srcdir/system-traffic.at:1935: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -s 3200 -q -c 3 -i 0.3 -w 2 fc00:ffff::4 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1935"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -s 3200 -q -c 3 -i 0.3 -w 2 fc00:ffff::4 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:1935"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:1939: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1939"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:1939"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1939: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:1939"
( $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-traffic.at:1939"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1939: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:1939"
( $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-traffic.at:1939"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1939" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1939"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1939: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:1939"
( $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-traffic.at:1939"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1939: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:1939"
( $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-traffic.at:1939"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1939" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1939"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1939: :; "
at_fn_check_prepare_trace "system-traffic.at:1939"
( $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-traffic.at:1939"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_45
#AT_START_46
at_fn_group_banner 46 'system-traffic.at:1942' \
  "conntrack - Fragmentation over vxlan" "           " 2
at_xfail=no
(
  $as_echo "46. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:1943" >"$at_check_line_file"
(! ip link add foo type vxlan help 2>&1 | grep dstport >/dev/null) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1943"
     $as_echo "system-traffic.at:1943" >"$at_check_line_file"
(systemctl status firewalld 2>&1 | grep running > /dev/null) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1943"
$as_echo "system-traffic.at:1944" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1944"


    $as_echo "system-traffic.at:1945" >"$at_check_line_file"
at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1945"



   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1947" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1947"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1947: 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-traffic.at:1947"
( $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-traffic.at:1947"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1947: 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-traffic.at:1947"
( $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-traffic.at:1947"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1947: 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-traffic.at:1947"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:1947"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:1947: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:1947"
( $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-traffic.at:1947"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1947: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:1947"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:1947"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1947: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1947"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:1947"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1947" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1947"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1947: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:1947"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:1947"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl add-br br-underlay -- set Bridge br-underlay datapath_type="netdev" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --
{ set +x
$as_echo "$at_srcdir/system-traffic.at:1949: ovs-ofctl add-flow br-underlay \"actions=normal\""
at_fn_check_prepare_trace "system-traffic.at:1949"
( $at_check_trace; ovs-ofctl add-flow br-underlay "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-traffic.at:1949"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:1951: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1951"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:1951"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0




cat >flows.txt <<'_ATEOF'
priority=1,action=drop
priority=10,arp,action=normal
priority=100,in_port=1,icmp,action=ct(commit,zone=9),LOCAL
priority=100,in_port=LOCAL,icmp,action=ct(table=1,zone=9)
table=1,in_port=LOCAL,ct_state=+trk+est,icmp,action=1
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1962: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:1962"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1965: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:1965"
( $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-traffic.at:1965"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1965: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:1965"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:1965"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1965: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:1965"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:1965"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1965: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:1965"
( $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-traffic.at:1965"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:1965: ovs-vsctl add-port br-underlay ovs-p0 -- \\
                set interface ovs-p0 external-ids:iface-id=\"p0\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1965"
( $at_check_trace; ovs-vsctl add-port br-underlay ovs-p0 -- \
                set interface ovs-p0 external-ids:iface-id="p0"
) >>"$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:1965"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:1965: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add \"172.31.1.1/24\" dev p0
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1965"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "172.31.1.1/24" dev p0
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:1965"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:1965: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1965"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:1965"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1965: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1965"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:1965"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:1965: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1965"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:1965"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1966: ip addr add dev br-underlay \"172.31.1.100/24\""
at_fn_check_prepare_trace "system-traffic.at:1966"
( $at_check_trace; ip addr add dev br-underlay "172.31.1.100/24"
) >>"$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:1966"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:1967: ip link set dev br-underlay up"
at_fn_check_prepare_trace "system-traffic.at:1967"
( $at_check_trace; ip link set dev br-underlay 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-traffic.at:1967"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:1971: ovs-vsctl add-port br0 at_vxlan0 -- \\
              set int at_vxlan0 type=vxlan options:remote_ip=172.31.1.1 "
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1971"
( $at_check_trace; ovs-vsctl add-port br0 at_vxlan0 -- \
              set int at_vxlan0 type=vxlan options:remote_ip=172.31.1.1
) >>"$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:1971"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    { set +x
$as_echo "$at_srcdir/system-traffic.at:1971: ip addr add dev br0 10.1.1.100/24"
at_fn_check_prepare_trace "system-traffic.at:1971"
( $at_check_trace; ip addr add dev br0 10.1.1.100/24
) >>"$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:1971"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    { set +x
$as_echo "$at_srcdir/system-traffic.at:1971: ip link set dev br0 up"
at_fn_check_prepare_trace "system-traffic.at:1971"
( $at_check_trace; ip link set dev br0 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-traffic.at:1971"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    { set +x
$as_echo "$at_srcdir/system-traffic.at:1971: ip link set dev br0 mtu 1450"
at_fn_check_prepare_trace "system-traffic.at:1971"
( $at_check_trace; ip link set dev br0 mtu 1450
) >>"$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:1971"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    on_exit 'ip addr del dev br0 10.1.1.100/24'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1972: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add dev at_vxlan1 type vxlan remote 172.31.1.100 id 0 dstport 4789
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1972"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add dev at_vxlan1 type vxlan remote 172.31.1.100 id 0 dstport 4789
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:1972"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


     { set +x
$as_echo "$at_srcdir/system-traffic.at:1972: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev at_vxlan1 10.1.1.1/24
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1972"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev at_vxlan1 10.1.1.1/24
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:1972"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


     { set +x
$as_echo "$at_srcdir/system-traffic.at:1972: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev at_vxlan1 mtu 1450  up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1972"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev at_vxlan1 mtu 1450  up
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:1972"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }





 { set +x
$as_echo "$at_srcdir/system-traffic.at:1976: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 172.31.1.100 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1976"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 172.31.1.100 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:1976"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



 { set +x
$as_echo "$at_srcdir/system-traffic.at:1981: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.1.1.100 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1981"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.1.1.100 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:1981"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1984: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 1600 -q -c 3 -i 0.3 -w 2 10.1.1.100 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1984"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 1600 -q -c 3 -i 0.3 -w 2 10.1.1.100 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:1984"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:1987: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 3200 -q -c 3 -i 0.3 -w 2 10.1.1.100 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1987"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 3200 -q -c 3 -i 0.3 -w 2 10.1.1.100 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:1987"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:1991: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1991"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:1991"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1991: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:1991"
( $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-traffic.at:1991"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1991: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:1991"
( $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-traffic.at:1991"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1991" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1991"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1991: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:1991"
( $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-traffic.at:1991"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1991: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:1991"
( $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-traffic.at:1991"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1991" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1991"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1991: :; "
at_fn_check_prepare_trace "system-traffic.at:1991"
( $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-traffic.at:1991"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_46
#AT_START_47
at_fn_group_banner 47 'system-traffic.at:1994' \
  "conntrack - IPv6 Fragmentation over vxlan" "      " 2
at_xfail=no
(
  $as_echo "47. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:1995" >"$at_check_line_file"
(! ip link add foo type vxlan help 2>&1 | grep dstport >/dev/null) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1995"
     $as_echo "system-traffic.at:1995" >"$at_check_line_file"
(systemctl status firewalld 2>&1 | grep running > /dev/null) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1995"
$as_echo "system-traffic.at:1996" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1996"


    $as_echo "system-traffic.at:1997" >"$at_check_line_file"
at_fn_check_skip 77 "$at_srcdir/system-traffic.at:1997"



   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1999" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1999"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1999: 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-traffic.at:1999"
( $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-traffic.at:1999"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1999: 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-traffic.at:1999"
( $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-traffic.at:1999"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1999: 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-traffic.at:1999"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:1999"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:1999: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:1999"
( $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-traffic.at:1999"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:1999: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:1999"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:1999"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:1999: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:1999"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:1999"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:1999" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:1999"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:1999: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:1999"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:1999"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl add-br br-underlay -- set Bridge br-underlay datapath_type="netdev" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --
{ set +x
$as_echo "$at_srcdir/system-traffic.at:2001: ovs-ofctl add-flow br-underlay \"actions=normal\""
at_fn_check_prepare_trace "system-traffic.at:2001"
( $at_check_trace; ovs-ofctl add-flow br-underlay "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-traffic.at:2001"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:2003: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2003"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:2003"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0




cat >flows.txt <<'_ATEOF'
priority=1,action=drop
priority=100,in_port=1,ipv6,action=ct(commit,zone=9),LOCAL
priority=100,in_port=LOCAL,ipv6,action=ct(table=1,zone=9)
table=1,in_port=LOCAL,ct_state=+trk+est,ipv6,action=1

priority=1000,icmp6,icmp_type=135,action=normal
priority=1000,icmp6,icmp_type=136,action=normal
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2017: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:2017"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:2017"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2020: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2020"
( $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-traffic.at:2020"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2020: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:2020"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2020"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2020: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:2020"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:2020"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2020: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:2020"
( $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-traffic.at:2020"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2020: ovs-vsctl add-port br-underlay ovs-p0 -- \\
                set interface ovs-p0 external-ids:iface-id=\"p0\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2020"
( $at_check_trace; ovs-vsctl add-port br-underlay ovs-p0 -- \
                set interface ovs-p0 external-ids:iface-id="p0"
) >>"$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:2020"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:2020: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add \"172.31.1.1/24\" dev p0
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2020"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "172.31.1.1/24" dev p0
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:2020"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:2020: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2020"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:2020"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2020: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2020"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:2020"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2020: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2020"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:2020"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2021: ip addr add dev br-underlay \"172.31.1.100/24\""
at_fn_check_prepare_trace "system-traffic.at:2021"
( $at_check_trace; ip addr add dev br-underlay "172.31.1.100/24"
) >>"$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:2021"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:2022: ip link set dev br-underlay up"
at_fn_check_prepare_trace "system-traffic.at:2022"
( $at_check_trace; ip link set dev br-underlay 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-traffic.at:2022"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2026: ovs-vsctl add-port br0 at_vxlan0 -- \\
              set int at_vxlan0 type=vxlan options:remote_ip=172.31.1.1 "
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2026"
( $at_check_trace; ovs-vsctl add-port br0 at_vxlan0 -- \
              set int at_vxlan0 type=vxlan options:remote_ip=172.31.1.1
) >>"$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:2026"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    { set +x
$as_echo "$at_srcdir/system-traffic.at:2026: ip addr add dev br0 \"fc00::2/96\""
at_fn_check_prepare_trace "system-traffic.at:2026"
( $at_check_trace; ip addr add dev br0 "fc00::2/96"
) >>"$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:2026"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    { set +x
$as_echo "$at_srcdir/system-traffic.at:2026: ip link set dev br0 up"
at_fn_check_prepare_trace "system-traffic.at:2026"
( $at_check_trace; ip link set dev br0 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-traffic.at:2026"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    { set +x
$as_echo "$at_srcdir/system-traffic.at:2026: ip link set dev br0 mtu 1450"
at_fn_check_prepare_trace "system-traffic.at:2026"
( $at_check_trace; ip link set dev br0 mtu 1450
) >>"$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:2026"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    on_exit 'ip addr del dev br0 "fc00::2/96"'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2027: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add dev at_vxlan1 type vxlan remote 172.31.1.100 id 0 dstport 4789
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2027"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add dev at_vxlan1 type vxlan remote 172.31.1.100 id 0 dstport 4789
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:2027"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


     { set +x
$as_echo "$at_srcdir/system-traffic.at:2027: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev at_vxlan1 \"fc00::1/96\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2027"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev at_vxlan1 "fc00::1/96"
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:2027"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


     { set +x
$as_echo "$at_srcdir/system-traffic.at:2027: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev at_vxlan1 mtu 1450  up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2027"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev at_vxlan1 mtu 1450  up
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:2027"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }





ovs_wait_cond () {
    ip netns exec at_ns0 ping6 -c 1 fc00::2
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2033" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2033"
fi


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2036: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 172.31.1.100 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2036"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 172.31.1.100 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:2036"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



 { set +x
$as_echo "$at_srcdir/system-traffic.at:2041: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -q -c 3 -i 0.3 -w 2 fc00::2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2041"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -q -c 3 -i 0.3 -w 2 fc00::2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:2041"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2044: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -s 1600 -q -c 3 -i 0.3 -w 2 fc00::2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2044"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -s 1600 -q -c 3 -i 0.3 -w 2 fc00::2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:2044"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2047: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -s 3200 -q -c 3 -i 0.3 -w 2 fc00::2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2047"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -s 3200 -q -c 3 -i 0.3 -w 2 fc00::2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:2047"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:2051: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2051"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:2051"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2051: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:2051"
( $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-traffic.at:2051"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2051: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:2051"
( $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-traffic.at:2051"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2051" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2051"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2051: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:2051"
( $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-traffic.at:2051"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2051: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:2051"
( $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-traffic.at:2051"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2051" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2051"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2051: :; "
at_fn_check_prepare_trace "system-traffic.at:2051"
( $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-traffic.at:2051"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_47
#AT_START_48
at_fn_group_banner 48 'system-traffic.at:2054' \
  "conntrack - resubmit to ct multiple times" "      " 2
at_xfail=no
(
  $as_echo "48. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:2055" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:2055"



   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2057" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2057"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2057: 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-traffic.at:2057"
( $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-traffic.at:2057"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2057: 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-traffic.at:2057"
( $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-traffic.at:2057"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2057: 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-traffic.at:2057"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:2057"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:2057: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:2057"
( $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-traffic.at:2057"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2057: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:2057"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:2057"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2057: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2057"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:2057"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2057" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2057"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2057: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  -- set-fail-mode br0 secure --  "
at_fn_check_prepare_trace "system-traffic.at:2057"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  -- set-fail-mode br0 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-traffic.at:2057"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:2060: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2060"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:2060"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:2060: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2060"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:2060"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:2062: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2062"
( $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-traffic.at:2062"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2062: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:2062"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2062"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2062: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:2062"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:2062"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2062: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:2062"
( $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-traffic.at:2062"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2062: 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-traffic.at:2062"
( $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>&-
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:2062"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:2062: ip netns exec at_ns0 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-traffic.at:2062"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:2062"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:2062: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2062"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:2062"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2062: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2062"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:2062"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2062: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2062"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:2062"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2063: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2063"
( $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-traffic.at:2063"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2063: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:2063"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2063"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2063: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:2063"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:2063"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2063: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:2063"
( $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-traffic.at:2063"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2063: 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-traffic.at:2063"
( $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>&-
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:2063"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:2063: ip netns exec at_ns1 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-traffic.at:2063"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:2063"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:2063: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2063"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:2063"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2063: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2063"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:2063"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2063: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2063"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:2063"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



cat >flows.txt <<'_ATEOF'
table=0,priority=150,arp,action=normal
table=0,priority=100,ip,in_port=1,action=resubmit(,1),resubmit(,2)

table=1,ip,action=ct(table=3)
table=2,ip,action=ct(table=3)

table=3,ip,action=drop
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2075: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:2075"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$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:2075"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2077: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 1 10.1.1.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2077"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 1 10.1.1.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
echo >>"$at_stdout"; $as_echo "1 packets transmitted, 0 received, 100% packet loss, time 0ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2077"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:2081: ovs-ofctl dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:2081"
( $at_check_trace; ovs-ofctl dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " n_packets=1, n_bytes=98, priority=100,ip,in_port=1 actions=resubmit(,1),resubmit(,2)
 n_packets=2, n_bytes=84, priority=150,arp actions=NORMAL
 table=1, n_packets=1, n_bytes=98, ip actions=ct(table=3)
 table=2, n_packets=1, n_bytes=98, ip actions=ct(table=3)
 table=3, n_packets=2, n_bytes=196, ip actions=drop
NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2081"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2090: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2090"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:2090"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2090: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:2090"
( $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-traffic.at:2090"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2090: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:2090"
( $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-traffic.at:2090"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2090" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2090"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2090: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:2090"
( $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-traffic.at:2090"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2090: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:2090"
( $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-traffic.at:2090"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2090" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2090"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2090: :; "
at_fn_check_prepare_trace "system-traffic.at:2090"
( $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-traffic.at:2090"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_48
#AT_START_49
at_fn_group_banner 49 'system-traffic.at:2095' \
  "conntrack - IPv4 HTTP" "                          " 3
at_xfail=no
(
  $as_echo "49. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:2096" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:2096"


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2097" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2097"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2097: 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-traffic.at:2097"
( $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-traffic.at:2097"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2097: 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-traffic.at:2097"
( $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-traffic.at:2097"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2097: 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-traffic.at:2097"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:2097"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:2097: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:2097"
( $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-traffic.at:2097"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2097: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:2097"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:2097"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2097: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2097"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:2097"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2097" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2097"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2097: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:2097"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:2097"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:2099: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2099"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:2099"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:2099: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2099"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:2099"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:2101: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2101"
( $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-traffic.at:2101"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2101: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:2101"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2101"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2101: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:2101"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:2101"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2101: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:2101"
( $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-traffic.at:2101"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2101: 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-traffic.at:2101"
( $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>&-
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:2101"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:2101: ip netns exec at_ns0 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-traffic.at:2101"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:2101"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:2101: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2101"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:2101"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2101: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2101"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:2101"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2101: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2101"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:2101"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2102: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2102"
( $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-traffic.at:2102"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2102: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:2102"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2102"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2102: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:2102"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:2102"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2102: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:2102"
( $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-traffic.at:2102"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2102: 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-traffic.at:2102"
( $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>&-
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:2102"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:2102: ip netns exec at_ns1 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-traffic.at:2102"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:2102"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:2102: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2102"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:2102"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2102: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2102"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:2102"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2102: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2102"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:2102"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



cat >flows.txt <<'_ATEOF'
priority=1,action=drop
priority=10,arp,action=normal
priority=10,icmp,action=normal
priority=100,in_port=1,tcp,action=ct(commit),2
priority=100,in_port=2,ct_state=-trk,tcp,action=ct(table=0)
priority=100,in_port=2,ct_state=+trk+est,tcp,action=1
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2114: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:2114"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:2114"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec at_ns0 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2116" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2116"
fi



PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec at_ns1 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2117" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2117"
fi




 { set +x
$as_echo "$at_srcdir/system-traffic.at:2120: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2120"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
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:2120"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2121: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:2121"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.1,sport=<cleared>,dport=<cleared>),protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2121"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2127: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
wget 10.1.1.1 -t 3 -T 1 --retry-connrefused -v -o wget1.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2127"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
wget 10.1.1.1 -t 3 -T 1 --retry-connrefused -v -o wget1.log
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 4 $at_status "$at_srcdir/system-traffic.at:2127"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:2129: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2129"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:2129"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2129: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:2129"
( $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-traffic.at:2129"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2129: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:2129"
( $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-traffic.at:2129"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2129" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2129"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2129: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:2129"
( $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-traffic.at:2129"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2129: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:2129"
( $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-traffic.at:2129"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2129" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2129"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2129: :; "
at_fn_check_prepare_trace "system-traffic.at:2129"
( $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-traffic.at:2129"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_49
#AT_START_50
at_fn_group_banner 50 'system-traffic.at:2132' \
  "conntrack - IPv6 HTTP" "                          " 3
at_xfail=no
(
  $as_echo "50. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:2133" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:2133"


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2134" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2134"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2134: 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-traffic.at:2134"
( $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-traffic.at:2134"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2134: 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-traffic.at:2134"
( $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-traffic.at:2134"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2134: 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-traffic.at:2134"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:2134"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:2134: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:2134"
( $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-traffic.at:2134"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2134: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:2134"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:2134"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2134: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2134"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:2134"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2134" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2134"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2134: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:2134"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:2134"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:2136: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2136"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:2136"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:2136: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2136"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:2136"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:2138: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2138"
( $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-traffic.at:2138"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2138: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:2138"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2138"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2138: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:2138"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:2138"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2138: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:2138"
( $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-traffic.at:2138"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2138: 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-traffic.at:2138"
( $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>&-
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:2138"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:2138: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add \"fc00::1/96\" dev p0
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2138"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "fc00::1/96" dev p0
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:2138"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:2138: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2138"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:2138"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2138: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2138"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:2138"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2138: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2138"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:2138"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2139: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2139"
( $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-traffic.at:2139"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2139: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:2139"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2139"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2139: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:2139"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:2139"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2139: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:2139"
( $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-traffic.at:2139"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2139: 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-traffic.at:2139"
( $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>&-
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:2139"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:2139: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add \"fc00::2/96\" dev p1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2139"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "fc00::2/96" dev p1
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:2139"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:2139: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2139"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:2139"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2139: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2139"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:2139"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2139: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2139"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:2139"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



cat >flows.txt <<'_ATEOF'
priority=1,action=drop
priority=10,icmp6,action=normal
priority=100,in_port=1,tcp6,action=ct(commit),2
priority=100,in_port=2,ct_state=-trk,tcp6,action=ct(table=0)
priority=100,in_port=2,ct_state=+trk+est,tcp6,action=1
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2150: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:2150"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:2150"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs_wait_cond () {
    ip netns exec at_ns0 ping6 -c 1 fc00::2
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2155" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2155"
fi


PIDFILE=$(mktemp http6XXX.pid)
    ip netns exec at_ns0 $PYTHON $srcdir/test-l7.py http6 & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http6 | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2157" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2157"
fi



PIDFILE=$(mktemp http6XXX.pid)
    ip netns exec at_ns1 $PYTHON $srcdir/test-l7.py http6 & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http6 | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2158" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2158"
fi




 { set +x
$as_echo "$at_srcdir/system-traffic.at:2161: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget http://[fc00::2] -t 3 -T 1 --retry-connrefused -v -o wget0.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2161"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget http://[fc00::2] -t 3 -T 1 --retry-connrefused -v -o wget0.log
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:2161"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2162: ovs-appctl dpctl/dump-conntrack | grep \"dst=fc00::2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:2162"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=fc00::2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=fc00::1,dst=fc00::2,sport=<cleared>,dport=<cleared>),reply=(src=fc00::2,dst=fc00::1,sport=<cleared>,dport=<cleared>),protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2162"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2168: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
wget http://[fc00::1] -t 3 -T 1 --retry-connrefused -v -o wget1.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2168"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
wget http://[fc00::1] -t 3 -T 1 --retry-connrefused -v -o wget1.log
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 4 $at_status "$at_srcdir/system-traffic.at:2168"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:2170: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2170"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:2170"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2170: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:2170"
( $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-traffic.at:2170"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2170: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:2170"
( $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-traffic.at:2170"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2170" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2170"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2170: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:2170"
( $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-traffic.at:2170"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2170: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:2170"
( $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-traffic.at:2170"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2170" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2170"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2170: :; "
at_fn_check_prepare_trace "system-traffic.at:2170"
( $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-traffic.at:2170"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_50
#AT_START_51
at_fn_group_banner 51 'system-traffic.at:2173' \
  "conntrack - commit, recirc" "                     " 3
at_xfail=no
(
  $as_echo "51. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:2174" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:2174"


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2175" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2175"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2175: 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-traffic.at:2175"
( $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-traffic.at:2175"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2175: 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-traffic.at:2175"
( $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-traffic.at:2175"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2175: 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-traffic.at:2175"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:2175"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:2175: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:2175"
( $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-traffic.at:2175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2175: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:2175"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:2175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2175: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2175"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:2175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2175" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2175"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2175: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:2175"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:2175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:2177: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2177"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:2177"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:2177: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2177"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:2177"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns2



                { set +x
$as_echo "$at_srcdir/system-traffic.at:2177: ip netns add at_ns2 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2177"
( $at_check_trace; ip netns add at_ns2 || 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-traffic.at:2177"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns2


'
                ip netns exec at_ns2 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns3



                { set +x
$as_echo "$at_srcdir/system-traffic.at:2177: ip netns add at_ns3 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2177"
( $at_check_trace; ip netns add at_ns3 || 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-traffic.at:2177"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns3


'
                ip netns exec at_ns3 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:2179: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2179"
( $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-traffic.at:2179"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2179: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:2179"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2179"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2179: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:2179"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:2179"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2179: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:2179"
( $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-traffic.at:2179"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2179: 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-traffic.at:2179"
( $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>&-
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:2179"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:2179: ip netns exec at_ns0 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-traffic.at:2179"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:2179"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:2179: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2179"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:2179"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2179: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2179"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:2179"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2179: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2179"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:2179"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2180: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2180"
( $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-traffic.at:2180"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2180: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:2180"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2180"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2180: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:2180"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:2180"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2180: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:2180"
( $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-traffic.at:2180"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2180: 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-traffic.at:2180"
( $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>&-
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:2180"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:2180: ip netns exec at_ns1 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-traffic.at:2180"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:2180"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:2180: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2180"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:2180"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2180: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2180"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:2180"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2180: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2180"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:2180"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2181: ip link add p2 type veth peer name ovs-p2 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2181"
( $at_check_trace; ip link add p2 type veth peer name ovs-p2 || 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-traffic.at:2181"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2181: ethtool -K p2 tx off"
at_fn_check_prepare_trace "system-traffic.at:2181"
( $at_check_trace; ethtool -K p2 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2181"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2181: ip link set p2 netns at_ns2"
at_fn_check_prepare_trace "system-traffic.at:2181"
( $at_check_trace; ip link set p2 netns at_ns2
) >>"$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:2181"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2181: ip link set dev ovs-p2 up"
at_fn_check_prepare_trace "system-traffic.at:2181"
( $at_check_trace; ip link set dev ovs-p2 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-traffic.at:2181"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2181: ovs-vsctl add-port br0 ovs-p2 -- \\
                set interface ovs-p2 external-ids:iface-id=\"p2\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2181"
( $at_check_trace; ovs-vsctl add-port br0 ovs-p2 -- \
                set interface ovs-p2 external-ids:iface-id="p2"
) >>"$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:2181"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:2181: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip addr add \"10.1.1.3/24\" dev p2
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2181"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.3/24" dev p2
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:2181"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:2181: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip link set dev p2 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2181"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip link set dev p2 up
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:2181"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2181: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip link set dev p2 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2181"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip link set dev p2 address
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:2181"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2181: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2181"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip route add default via
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:2181"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p2'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2182: ip link add p3 type veth peer name ovs-p3 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2182"
( $at_check_trace; ip link add p3 type veth peer name ovs-p3 || 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-traffic.at:2182"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2182: ethtool -K p3 tx off"
at_fn_check_prepare_trace "system-traffic.at:2182"
( $at_check_trace; ethtool -K p3 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2182"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2182: ip link set p3 netns at_ns3"
at_fn_check_prepare_trace "system-traffic.at:2182"
( $at_check_trace; ip link set p3 netns at_ns3
) >>"$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:2182"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2182: ip link set dev ovs-p3 up"
at_fn_check_prepare_trace "system-traffic.at:2182"
( $at_check_trace; ip link set dev ovs-p3 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-traffic.at:2182"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2182: ovs-vsctl add-port br0 ovs-p3 -- \\
                set interface ovs-p3 external-ids:iface-id=\"p3\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2182"
( $at_check_trace; ovs-vsctl add-port br0 ovs-p3 -- \
                set interface ovs-p3 external-ids:iface-id="p3"
) >>"$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:2182"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:2182: ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip addr add \"10.1.1.4/24\" dev p3
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2182"
( $at_check_trace; ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.4/24" dev p3
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:2182"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:2182: ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip link set dev p3 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2182"
( $at_check_trace; ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip link set dev p3 up
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:2182"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2182: ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip link set dev p3 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2182"
( $at_check_trace; ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip link set dev p3 address
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:2182"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2182: ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2182"
( $at_check_trace; ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip route add default via
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:2182"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p3'



cat >flows.txt <<'_ATEOF'
priority=1,action=drop
priority=10,arp,action=normal
priority=10,icmp,action=normal
priority=100,in_port=1,tcp,ct_state=-trk,action=ct(commit,table=0)
priority=100,in_port=1,tcp,ct_state=+trk,action=2
priority=100,in_port=2,tcp,ct_state=-trk,action=ct(table=0)
priority=100,in_port=2,tcp,ct_state=+trk,action=1
priority=100,in_port=3,tcp,ct_state=-trk,action=set_field:0->metadata,ct(table=0)
priority=100,in_port=3,tcp,ct_state=+trk,metadata=0,action=set_field:1->metadata,ct(commit,table=0)
priority=100,in_port=3,tcp,ct_state=+trk,metadata=1,action=4
priority=100,in_port=4,tcp,ct_state=-trk,action=ct(commit,table=0)
priority=100,in_port=4,tcp,ct_state=+trk,action=3
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2200: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:2200"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:2200"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec at_ns1 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2202" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2202"
fi



PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec at_ns3 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2203" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2203"
fi




 { set +x
$as_echo "$at_srcdir/system-traffic.at:2206: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2206"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
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:2206"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



 { set +x
$as_echo "$at_srcdir/system-traffic.at:2209: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
wget 10.1.1.4 -t 3 -T 1 --retry-connrefused -v -o wget1.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2209"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
wget 10.1.1.4 -t 3 -T 1 --retry-connrefused -v -o wget1.log
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:2209"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:2211: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2211"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:2211"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2211: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:2211"
( $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-traffic.at:2211"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2211: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:2211"
( $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-traffic.at:2211"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2211" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2211"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2211: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:2211"
( $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-traffic.at:2211"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2211: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:2211"
( $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-traffic.at:2211"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2211" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2211"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2211: :; "
at_fn_check_prepare_trace "system-traffic.at:2211"
( $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-traffic.at:2211"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_51
#AT_START_52
at_fn_group_banner 52 'system-traffic.at:2214' \
  "conntrack - multiple zones, local" "              " 3
at_xfail=no
(
  $as_echo "52. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:2215" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:2215"


    $as_echo "system-traffic.at:2216" >"$at_check_line_file"
at_fn_check_skip 77 "$at_srcdir/system-traffic.at:2216"


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2217" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2217"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2217: 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-traffic.at:2217"
( $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-traffic.at:2217"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2217: 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-traffic.at:2217"
( $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-traffic.at:2217"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2217: 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-traffic.at:2217"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:2217"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:2217: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:2217"
( $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-traffic.at:2217"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2217: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:2217"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:2217"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2217: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2217"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:2217"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2217" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2217"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2217: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:2217"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:2217"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:2219: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2219"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:2219"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0




{ set +x
$as_echo "$at_srcdir/system-traffic.at:2221: ip addr add dev br0 \"10.1.1.1/24\""
at_fn_check_prepare_trace "system-traffic.at:2221"
( $at_check_trace; ip addr add dev br0 "10.1.1.1/24"
) >>"$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:2221"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:2222: ip link set dev br0 up"
at_fn_check_prepare_trace "system-traffic.at:2222"
( $at_check_trace; ip link set dev br0 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-traffic.at:2222"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

on_exit 'ip addr del dev br0 "10.1.1.1/24"'
 { set +x
$as_echo "$at_srcdir/system-traffic.at:2224: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2224"
( $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-traffic.at:2224"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2224: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:2224"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2224"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2224: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:2224"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:2224"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2224: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:2224"
( $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-traffic.at:2224"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2224: 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-traffic.at:2224"
( $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>&-
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:2224"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:2224: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add \"10.1.1.2/24\" dev p0
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2224"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p0
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:2224"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:2224: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2224"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:2224"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2224: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2224"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:2224"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2224: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2224"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:2224"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'



cat >flows.txt <<'_ATEOF'
priority=1,action=drop
priority=10,arp,action=normal
priority=100,in_port=LOCAL,ip,ct_state=-trk,action=drop
priority=100,in_port=LOCAL,ip,ct_state=+trk+new,action=ct(commit,zone=1),ct(commit,zone=2),1
priority=100,in_port=LOCAL,ip,ct_state=+trk+est,action=ct(commit,zone=1),ct(commit,zone=2),1
priority=100,in_port=1,ip,ct_state=-trk,action=ct(table=1,zone=1)
table=1,in_port=1,ip,ct_state=+trk+est,ct_zone=1,action=ct(table=2,zone=2)
table=2,in_port=1,ip,ct_state=+trk+est,ct_zone=2,action=LOCAL
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2239: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:2239"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:2239"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2241: ping -q -c 3 -i 0.3 -w 2 10.1.1.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:2241"
( $at_check_trace; ping -q -c 3 -i 0.3 -w 2 10.1.1.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
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-traffic.at:2241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec at_ns0 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2245" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2245"
fi




{ set +x
$as_echo "$at_srcdir/system-traffic.at:2248: wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log"
at_fn_check_prepare_trace "system-traffic.at:2248"
( $at_check_trace; wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
) >>"$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:2248"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2251: wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log"
at_fn_check_prepare_trace "system-traffic.at:2251"
( $at_check_trace; wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
) >>"$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:2251"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2253: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | grep \"zone\""
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:2253"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | grep "zone"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "icmp,orig=(src=10.1.1.1,dst=10.1.1.2,id=<cleared>,type=8,code=0),reply=(src=10.1.1.2,dst=10.1.1.1,id=<cleared>,type=0,code=0),zone=1
icmp,orig=(src=10.1.1.1,dst=10.1.1.2,id=<cleared>,type=8,code=0),reply=(src=10.1.1.2,dst=10.1.1.1,id=<cleared>,type=0,code=0),zone=2
tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.1,sport=<cleared>,dport=<cleared>),zone=1,protoinfo=(state=<cleared>)
tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.1,sport=<cleared>,dport=<cleared>),zone=2,protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2253"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2260: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2260"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:2260"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2260: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:2260"
( $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-traffic.at:2260"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2260: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:2260"
( $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-traffic.at:2260"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2260" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2260"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2260: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:2260"
( $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-traffic.at:2260"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2260: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:2260"
( $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-traffic.at:2260"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2260" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2260"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2260: :; "
at_fn_check_prepare_trace "system-traffic.at:2260"
( $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-traffic.at:2260"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_52
#AT_START_53
at_fn_group_banner 53 'system-traffic.at:2263' \
  "conntrack - multi-stage pipeline, local" "        " 3
at_xfail=no
(
  $as_echo "53. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:2264" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:2264"


    $as_echo "system-traffic.at:2265" >"$at_check_line_file"
at_fn_check_skip 77 "$at_srcdir/system-traffic.at:2265"


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2266" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2266"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2266: 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-traffic.at:2266"
( $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-traffic.at:2266"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2266: 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-traffic.at:2266"
( $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-traffic.at:2266"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2266: 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-traffic.at:2266"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:2266"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:2266: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:2266"
( $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-traffic.at:2266"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2266: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:2266"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:2266"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2266: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2266"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:2266"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2266" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2266"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2266: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:2266"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:2266"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:2268: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2268"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:2268"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0




{ set +x
$as_echo "$at_srcdir/system-traffic.at:2270: ip addr add dev br0 \"10.1.1.1/24\""
at_fn_check_prepare_trace "system-traffic.at:2270"
( $at_check_trace; ip addr add dev br0 "10.1.1.1/24"
) >>"$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:2270"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:2271: ip link set dev br0 up"
at_fn_check_prepare_trace "system-traffic.at:2271"
( $at_check_trace; ip link set dev br0 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-traffic.at:2271"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

on_exit 'ip addr del dev br0 "10.1.1.1/24"'
 { set +x
$as_echo "$at_srcdir/system-traffic.at:2273: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2273"
( $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-traffic.at:2273"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2273: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:2273"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2273"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2273: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:2273"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:2273"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2273: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:2273"
( $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-traffic.at:2273"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2273: 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-traffic.at:2273"
( $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>&-
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:2273"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:2273: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add \"10.1.1.2/24\" dev p0
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2273"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p0
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:2273"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:2273: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2273"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:2273"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2273: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2273"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:2273"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2273: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2273"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:2273"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'



cat >flows.txt <<'_ATEOF'
table=0,priority=1,action=drop
table=0,priority=10,arp,action=normal

table=0,priority=100,ip,in_port=LOCAL,action=load:1->NXM_NX_REG0[0..15],goto_table:1
table=0,priority=100,ip,in_port=1,action=load:65534->NXM_NX_REG0[0..15],goto_table:1

table=1,priority=150,in_port=LOCAL,ip,ct_state=+trk+new,action=ct(commit,zone=OXM_OF_IN_PORT[0..15]),goto_table:2
table=1,priority=100,ip,action=ct(table=2,zone=OXM_OF_IN_PORT[0..15])
table=1,priority=1,action=drop

table=2,priority=150,in_port=LOCAL,ip,ct_state=+trk+new,action=ct(commit,zone=NXM_NX_REG0[0..15]),goto_table:4
table=2,priority=100,ip,ct_state=+trk+est,action=ct(table=3,zone=NXM_NX_REG0[0..15])
table=2,priority=1,action=drop

table=3,priority=100,ip,ct_state=+trk+est,action=goto_table:4
table=3,priority=1,action=drop

table=4,priority=100,ip,action=output:NXM_NX_REG0[]
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2310: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:2310"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:2310"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2312: ping -q -c 3 -i 0.3 -w 2 10.1.1.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:2312"
( $at_check_trace; ping -q -c 3 -i 0.3 -w 2 10.1.1.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
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-traffic.at:2312"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec at_ns0 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2316" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2316"
fi




{ set +x
$as_echo "$at_srcdir/system-traffic.at:2319: wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log"
at_fn_check_prepare_trace "system-traffic.at:2319"
( $at_check_trace; wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
) >>"$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:2319"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2322: wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log"
at_fn_check_prepare_trace "system-traffic.at:2322"
( $at_check_trace; wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
) >>"$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:2322"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2324: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | grep \"zone\""
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:2324"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | grep "zone"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "icmp,orig=(src=10.1.1.1,dst=10.1.1.2,id=<cleared>,type=8,code=0),reply=(src=10.1.1.2,dst=10.1.1.1,id=<cleared>,type=0,code=0),zone=1
icmp,orig=(src=10.1.1.1,dst=10.1.1.2,id=<cleared>,type=8,code=0),reply=(src=10.1.1.2,dst=10.1.1.1,id=<cleared>,type=0,code=0),zone=65534
tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.1,sport=<cleared>,dport=<cleared>),zone=1,protoinfo=(state=<cleared>)
tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.1,sport=<cleared>,dport=<cleared>),zone=65534,protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2324"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2331: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2331"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:2331"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2331: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:2331"
( $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-traffic.at:2331"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2331: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:2331"
( $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-traffic.at:2331"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2331" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2331"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2331: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:2331"
( $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-traffic.at:2331"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2331: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:2331"
( $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-traffic.at:2331"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2331" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2331"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2331: :; "
at_fn_check_prepare_trace "system-traffic.at:2331"
( $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-traffic.at:2331"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_53
#AT_START_54
at_fn_group_banner 54 'system-traffic.at:2334' \
  "FTP - no conntrack" "                             " 3
at_xfail=no
(
  $as_echo "54. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:2335" >"$at_check_line_file"
(test $HAVE_FTP = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:2335"

   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2336" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2336"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2336: 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-traffic.at:2336"
( $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-traffic.at:2336"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2336: 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-traffic.at:2336"
( $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-traffic.at:2336"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2336: 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-traffic.at:2336"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:2336"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:2336: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:2336"
( $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-traffic.at:2336"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2336: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:2336"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:2336"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2336: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2336"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:2336"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2336" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2336"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2336: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:2336"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:2336"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:2338: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2338"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:2338"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:2338: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2338"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:2338"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:2340: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2340"
( $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-traffic.at:2340"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2340: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:2340"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2340"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2340: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:2340"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:2340"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2340: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:2340"
( $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-traffic.at:2340"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2340: 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-traffic.at:2340"
( $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>&-
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:2340"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:2340: ip netns exec at_ns0 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-traffic.at:2340"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:2340"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:2340: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2340"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:2340"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2340: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2340"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:2340"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2340: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2340"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:2340"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2341: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2341"
( $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-traffic.at:2341"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2341: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:2341"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2341"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2341: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:2341"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:2341"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2341: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:2341"
( $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-traffic.at:2341"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2341: 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-traffic.at:2341"
( $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>&-
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:2341"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:2341: ip netns exec at_ns1 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-traffic.at:2341"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:2341"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:2341: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2341"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:2341"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2341: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2341"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:2341"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2341: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2341"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:2341"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



cat >flows.txt <<'_ATEOF'
table=0,action=normal
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2347: ovs-ofctl --bundle replace-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:2347"
( $at_check_trace; ovs-ofctl --bundle replace-flows br0 flows.txt
) >>"$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:2347"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ip netns exec at_ns0 $PYTHON $srcdir/test-l7.py ftp & echo $! > ftp1.pid
     echo "kill \`cat ftp1.pid\`" >> cleanup


ip netns exec at_ns1 $PYTHON $srcdir/test-l7.py ftp & echo $! > ftp0.pid
     echo "kill \`cat ftp0.pid\`" >> cleanup


ovs_wait_cond () {
    ip netns exec at_ns1 netstat -l | grep ftp
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2351" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2351"
fi


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2354: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget ftp://10.1.1.2 --no-passive-ftp -t 3 -T 1 --retry-connrefused -v -o wget0.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2354"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget ftp://10.1.1.2 --no-passive-ftp -t 3 -T 1 --retry-connrefused -v -o wget0.log
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:2354"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:2356: find -name index.html"
at_fn_check_prepare_trace "system-traffic.at:2356"
( $at_check_trace; find -name index.html
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "./index.html
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2356"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2360: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2360"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:2360"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2360: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:2360"
( $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-traffic.at:2360"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2360: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:2360"
( $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-traffic.at:2360"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2360" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2360"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2360: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:2360"
( $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-traffic.at:2360"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2360: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:2360"
( $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-traffic.at:2360"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2360" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2360"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2360: :; "
at_fn_check_prepare_trace "system-traffic.at:2360"
( $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-traffic.at:2360"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_54
#AT_START_55
at_fn_group_banner 55 'system-traffic.at:2363' \
  "conntrack - FTP" "                                " 3
at_xfail=no
(
  $as_echo "55. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:2364" >"$at_check_line_file"
(test $HAVE_FTP = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:2364"
$as_echo "system-traffic.at:2365" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:2365"



   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2367" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2367"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2367: 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-traffic.at:2367"
( $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-traffic.at:2367"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2367: 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-traffic.at:2367"
( $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-traffic.at:2367"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2367: 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-traffic.at:2367"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:2367"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:2367: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:2367"
( $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-traffic.at:2367"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2367: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:2367"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:2367"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2367: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2367"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:2367"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2367" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2367"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2367: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:2367"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:2367"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:2369: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2369"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:2369"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:2369: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2369"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:2369"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:2371: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2371"
( $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-traffic.at:2371"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2371: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:2371"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2371"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2371: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:2371"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:2371"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2371: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:2371"
( $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-traffic.at:2371"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2371: 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-traffic.at:2371"
( $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>&-
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:2371"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:2371: ip netns exec at_ns0 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-traffic.at:2371"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:2371"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:2371: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2371"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:2371"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2371: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2371"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:2371"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2371: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2371"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:2371"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2372: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2372"
( $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-traffic.at:2372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2372: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:2372"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2372: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:2372"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:2372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2372: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:2372"
( $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-traffic.at:2372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2372: 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-traffic.at:2372"
( $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>&-
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:2372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:2372: ip netns exec at_ns1 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-traffic.at:2372"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:2372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:2372: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2372"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:2372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2372: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2372"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:2372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2372: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2372"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:2372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



cat >flows1.txt <<'_ATEOF'
table=0,priority=1,action=drop
table=0,priority=10,arp,action=normal
table=0,priority=10,icmp,action=normal
table=0,priority=100,in_port=1,tcp,action=ct(alg=ftp,commit),2
table=0,priority=100,in_port=2,tcp,action=ct(table=1)
table=1,in_port=2,tcp,ct_state=+trk+est,action=1
table=1,in_port=2,tcp,ct_state=+trk+rel,action=1
_ATEOF


cat >flows2.txt <<'_ATEOF'
table=0,priority=1,action=drop
table=0,priority=10,arp,action=normal
table=0,priority=10,icmp,action=normal

table=0,priority=100,in_port=1,tcp,action=ct(table=1)
table=1,in_port=1,tcp,ct_state=+trk+new,action=ct(commit,alg=ftp),2
table=1,in_port=1,tcp,ct_state=+trk+est,action=2

table=0,priority=100,in_port=2,tcp,action=ct(table=1)
table=1,in_port=2,tcp,ct_state=+trk+new+rel,action=ct(commit),1
table=1,in_port=2,tcp,ct_state=+trk+est,action=1
table=1,in_port=2,tcp,ct_state=+trk-new+rel,action=1
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2403: ovs-ofctl --bundle replace-flows br0 flows1.txt"
at_fn_check_prepare_trace "system-traffic.at:2403"
( $at_check_trace; ovs-ofctl --bundle replace-flows br0 flows1.txt
) >>"$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:2403"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


PIDFILE=$(mktemp ftpXXX.pid)
    ip netns exec at_ns0 $PYTHON $srcdir/test-l7.py ftp & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo ftp | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2405" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2405"
fi



PIDFILE=$(mktemp ftpXXX.pid)
    ip netns exec at_ns1 $PYTHON $srcdir/test-l7.py ftp & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo ftp | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2406" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2406"
fi




 { set +x
$as_echo "$at_srcdir/system-traffic.at:2410: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
wget ftp://10.1.1.1 --no-passive-ftp  -t 3 -T 1 -v -o wget1.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2410"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
wget ftp://10.1.1.1 --no-passive-ftp  -t 3 -T 1 -v -o wget1.log
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 4 $at_status "$at_srcdir/system-traffic.at:2410"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2411: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.1\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:2411"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.1" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$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:2411"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2415: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget ftp://10.1.1.2 --no-passive-ftp -t 3 -T 1 --retry-connrefused -v -o wget0.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2415"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget ftp://10.1.1.2 --no-passive-ftp -t 3 -T 1 --retry-connrefused -v -o wget0.log
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:2415"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2416: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:2416"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.1,sport=<cleared>,dport=<cleared>),protoinfo=(state=<cleared>),helper=ftp
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2416"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2421: ovs-ofctl --bundle replace-flows br0 flows2.txt"
at_fn_check_prepare_trace "system-traffic.at:2421"
( $at_check_trace; ovs-ofctl --bundle replace-flows br0 flows2.txt
) >>"$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:2421"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:2422: ovs-appctl dpctl/flush-conntrack"
at_fn_check_prepare_trace "system-traffic.at:2422"
( $at_check_trace; ovs-appctl dpctl/flush-conntrack
) >>"$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:2422"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2426: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
wget ftp://10.1.1.1 --no-passive-ftp  -t 3 -T 1 -v -o wget1.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2426"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
wget ftp://10.1.1.1 --no-passive-ftp  -t 3 -T 1 -v -o wget1.log
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 4 $at_status "$at_srcdir/system-traffic.at:2426"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2427: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.1\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:2427"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.1" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$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:2427"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2431: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget ftp://10.1.1.2 --no-passive-ftp -t 3 -T 1 --retry-connrefused -v -o wget0-1.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2431"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget ftp://10.1.1.2 --no-passive-ftp -t 3 -T 1 --retry-connrefused -v -o wget0-1.log
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:2431"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2432: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:2432"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.1,sport=<cleared>,dport=<cleared>),protoinfo=(state=<cleared>),helper=ftp
tcp,orig=(src=10.1.1.2,dst=10.1.1.1,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2432"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2437: ovs-appctl dpctl/flush-conntrack"
at_fn_check_prepare_trace "system-traffic.at:2437"
( $at_check_trace; ovs-appctl dpctl/flush-conntrack
) >>"$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:2437"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2440: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget ftp://10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0-2.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2440"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget ftp://10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0-2.log
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:2440"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2441: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:2441"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.1,sport=<cleared>,dport=<cleared>),protoinfo=(state=<cleared>),helper=ftp
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2441"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2445: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2445"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:2445"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2445: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:2445"
( $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-traffic.at:2445"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2445: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:2445"
( $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-traffic.at:2445"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2445" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2445"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2445: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:2445"
( $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-traffic.at:2445"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2445: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:2445"
( $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-traffic.at:2445"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2445" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2445"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2445: :; "
at_fn_check_prepare_trace "system-traffic.at:2445"
( $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-traffic.at:2445"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_55
#AT_START_56
at_fn_group_banner 56 'system-traffic.at:2448' \
  "conntrack - FTP over IPv6" "                      " 3
at_xfail=no
(
  $as_echo "56. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:2449" >"$at_check_line_file"
(test $HAVE_FTP = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:2449"
$as_echo "system-traffic.at:2450" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:2450"



   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2452" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2452"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2452: 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-traffic.at:2452"
( $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-traffic.at:2452"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2452: 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-traffic.at:2452"
( $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-traffic.at:2452"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2452: 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-traffic.at:2452"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:2452"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:2452: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:2452"
( $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-traffic.at:2452"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2452: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:2452"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:2452"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2452: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2452"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:2452"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2452" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2452"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2452: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:2452"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:2452"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:2454: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2454"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:2454"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:2454: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2454"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:2454"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:2456: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2456"
( $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-traffic.at:2456"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2456: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:2456"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2456"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2456: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:2456"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:2456"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2456: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:2456"
( $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-traffic.at:2456"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2456: 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-traffic.at:2456"
( $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>&-
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:2456"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:2456: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add \"fc00::1/96\" dev p0
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2456"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "fc00::1/96" dev p0
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:2456"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:2456: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2456"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:2456"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2456: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2456"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:2456"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2456: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2456"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:2456"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2457: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2457"
( $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-traffic.at:2457"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2457: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:2457"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2457"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2457: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:2457"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:2457"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2457: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:2457"
( $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-traffic.at:2457"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2457: 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-traffic.at:2457"
( $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>&-
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:2457"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:2457: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add \"fc00::2/96\" dev p1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2457"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "fc00::2/96" dev p1
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:2457"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:2457: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2457"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:2457"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2457: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2457"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:2457"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2457: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2457"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:2457"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



cat >flows.txt <<'_ATEOF'
table=0 priority=100 in_port=1 icmp6, action=2
table=0 priority=100 in_port=2 icmp6, action=1
table=0 priority=10 ip6, action=ct(table=1)
table=0 priority=0 action=drop
table=1 in_port=1 ct_state=+new, tcp6, tp_dst=21, action=ct(alg=ftp,commit),2
table=1 in_port=2 ct_state=+new+rel, tcp6, action=ct(commit),1
table=1 in_port=1 ct_state=+est, tcp6, action=2
table=1 in_port=2 ct_state=+est, tcp6, action=1
table=1 priority=0, action=drop
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2482: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:2482"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:2482"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs_wait_cond () {
    ip netns exec at_ns0 ping6 -c 1 fc00::2 >/dev/null
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2487" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2487"
fi


PIDFILE=$(mktemp ftpXXX.pid)
    ip netns exec at_ns1 $PYTHON $srcdir/test-l7.py ftp & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo ftp | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2489" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2489"
fi




 { set +x
$as_echo "$at_srcdir/system-traffic.at:2492: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget ftp://[fc00::2] -6 --no-passive-ftp -t 3 -T 1 --retry-connrefused -v --server-response --no-remove-listing -o wget0.log -d
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2492"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget ftp://[fc00::2] -6 --no-passive-ftp -t 3 -T 1 --retry-connrefused -v --server-response --no-remove-listing -o wget0.log -d
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:2492"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:2495: ovs-appctl dpctl/dump-conntrack | grep \"dst=fc00::2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:2495"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=fc00::2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=fc00::1,dst=fc00::2,sport=<cleared>,dport=<cleared>),reply=(src=fc00::2,dst=fc00::1,sport=<cleared>,dport=<cleared>),protoinfo=(state=<cleared>),helper=ftp
tcp,orig=(src=fc00::2,dst=fc00::1,sport=<cleared>,dport=<cleared>),reply=(src=fc00::1,dst=fc00::2,sport=<cleared>,dport=<cleared>),protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2495"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2500: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2500"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:2500"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2500: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:2500"
( $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-traffic.at:2500"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2500: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:2500"
( $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-traffic.at:2500"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2500" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2500"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2500: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:2500"
( $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-traffic.at:2500"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2500: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:2500"
( $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-traffic.at:2500"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2500" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2500"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2500: :; "
at_fn_check_prepare_trace "system-traffic.at:2500"
( $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-traffic.at:2500"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_56
#AT_START_57
at_fn_group_banner 57 'system-traffic.at:2503' \
  "conntrack - IPv6 FTP Passive" "                   " 3
at_xfail=no
(
  $as_echo "57. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:2504" >"$at_check_line_file"
(test $HAVE_FTP = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:2504"
$as_echo "system-traffic.at:2505" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:2505"



   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2507" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2507"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2507: 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-traffic.at:2507"
( $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-traffic.at:2507"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2507: 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-traffic.at:2507"
( $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-traffic.at:2507"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2507: 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-traffic.at:2507"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:2507"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:2507: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:2507"
( $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-traffic.at:2507"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2507: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:2507"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:2507"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2507: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2507"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:2507"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2507" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2507"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2507: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:2507"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:2507"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:2509: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2509"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:2509"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:2509: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2509"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:2509"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:2511: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2511"
( $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-traffic.at:2511"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2511: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:2511"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2511"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2511: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:2511"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:2511"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2511: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:2511"
( $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-traffic.at:2511"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2511: 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-traffic.at:2511"
( $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>&-
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:2511"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:2511: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add \"fc00::1/96\" dev p0
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2511"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "fc00::1/96" dev p0
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:2511"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:2511: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2511"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:2511"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2511: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2511"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:2511"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2511: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2511"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:2511"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2512: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address 80:88:88:88:88:88
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2512"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address 80:88:88:88:88:88
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:2512"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2513: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2513"
( $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-traffic.at:2513"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2513: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:2513"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2513"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2513: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:2513"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:2513"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2513: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:2513"
( $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-traffic.at:2513"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2513: 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-traffic.at:2513"
( $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>&-
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:2513"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:2513: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add \"fc00::2/96\" dev p1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2513"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "fc00::2/96" dev p1
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:2513"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:2513: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2513"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:2513"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2513: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2513"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:2513"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2513: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2513"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:2513"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2514: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address 80:88:88:88:88:99
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2514"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address 80:88:88:88:88:99
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:2514"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2515: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip -6 neigh add fc00::2 lladdr 80:88:88:88:88:99 dev p0
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2515"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip -6 neigh add fc00::2 lladdr 80:88:88:88:88:99 dev p0
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:2515"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2516: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip -6 neigh add fc00::1 lladdr 80:88:88:88:88:88 dev p1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2516"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip -6 neigh add fc00::1 lladdr 80:88:88:88:88:88 dev p1
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:2516"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



cat >flows.txt <<'_ATEOF'
table=0 priority=100 in_port=1 icmp6, action=2
table=0 priority=100 in_port=2 icmp6, action=1
table=0 priority=10 ip6, action=ct(table=1)
table=0 priority=0 action=drop
table=1 in_port=1 ct_state=+new, tcp6, tp_dst=21, action=ct(alg=ftp,commit),2
table=1 in_port=1 ct_state=+new+rel, tcp6, action=ct(commit),2
table=1 in_port=1 ct_state=+est, tcp6, action=2
table=1 in_port=2 ct_state=+est, tcp6, action=1
table=1 priority=0, action=drop
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2541: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:2541"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:2541"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs_wait_cond () {
    ip netns exec at_ns0 ping6 -c 1 fc00::2 >/dev/null
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2546" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2546"
fi


PIDFILE=$(mktemp ftpXXX.pid)
    ip netns exec at_ns1 $PYTHON $srcdir/test-l7.py ftp & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo ftp | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2548" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2548"
fi




 { set +x
$as_echo "$at_srcdir/system-traffic.at:2551: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget ftp://[fc00::2] -6 -t 3 -T 1 --retry-connrefused -v --server-response --no-remove-listing -o wget0.log -d
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2551"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget ftp://[fc00::2] -6 -t 3 -T 1 --retry-connrefused -v --server-response --no-remove-listing -o wget0.log -d
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:2551"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:2554: ovs-appctl dpctl/dump-conntrack | grep \"dst=fc00::2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:2554"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=fc00::2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=fc00::1,dst=fc00::2,sport=<cleared>,dport=<cleared>),reply=(src=fc00::2,dst=fc00::1,sport=<cleared>,dport=<cleared>),protoinfo=(state=<cleared>)
tcp,orig=(src=fc00::1,dst=fc00::2,sport=<cleared>,dport=<cleared>),reply=(src=fc00::2,dst=fc00::1,sport=<cleared>,dport=<cleared>),protoinfo=(state=<cleared>),helper=ftp
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2554"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2559: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2559"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:2559"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2559: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:2559"
( $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-traffic.at:2559"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2559: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:2559"
( $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-traffic.at:2559"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2559" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2559"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2559: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:2559"
( $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-traffic.at:2559"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2559: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:2559"
( $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-traffic.at:2559"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2559" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2559"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2559: :; "
at_fn_check_prepare_trace "system-traffic.at:2559"
( $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-traffic.at:2559"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_57
#AT_START_58
at_fn_group_banner 58 'system-traffic.at:2562' \
  "conntrack - FTP with multiple expectations" "     " 3
at_xfail=no
(
  $as_echo "58. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:2563" >"$at_check_line_file"
(test $HAVE_FTP = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:2563"
$as_echo "system-traffic.at:2564" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:2564"



   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2566" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2566"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2566: 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-traffic.at:2566"
( $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-traffic.at:2566"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2566: 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-traffic.at:2566"
( $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-traffic.at:2566"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2566: 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-traffic.at:2566"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:2566"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:2566: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:2566"
( $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-traffic.at:2566"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2566: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:2566"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:2566"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2566: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2566"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:2566"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2566" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2566"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2566: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:2566"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:2566"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:2568: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2568"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:2568"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:2568: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2568"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:2568"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:2570: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2570"
( $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-traffic.at:2570"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2570: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:2570"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2570"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2570: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:2570"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:2570"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2570: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:2570"
( $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-traffic.at:2570"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2570: 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-traffic.at:2570"
( $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>&-
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:2570"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:2570: ip netns exec at_ns0 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-traffic.at:2570"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:2570"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:2570: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2570"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:2570"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2570: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2570"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:2570"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2570: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2570"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:2570"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2571: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2571"
( $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-traffic.at:2571"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2571: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:2571"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2571"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2571: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:2571"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:2571"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2571: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:2571"
( $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-traffic.at:2571"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2571: 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-traffic.at:2571"
( $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>&-
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:2571"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:2571: ip netns exec at_ns1 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-traffic.at:2571"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:2571"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:2571: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2571"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:2571"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2571: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2571"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:2571"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2571: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2571"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:2571"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



cat >flows.txt <<'_ATEOF'
table=0,priority=1,action=drop
table=0,priority=10,arp,action=normal
table=0,priority=10,icmp,action=normal

table=0,priority=100,in_port=1,tcp,action=ct(table=1,zone=1)
table=1,in_port=1,tcp,ct_zone=1,ct_state=+trk+new-rel,action=ct(commit,alg=ftp,zone=1),ct(commit,alg=ftp,zone=2),2
table=1,in_port=1,tcp,ct_zone=1,ct_state=+trk+new+rel,action=ct(commit,zone=1),ct(commit,zone=2),2
table=1,in_port=1,tcp,ct_zone=1,ct_state=+trk+est,action=ct(table=2,zone=2)
table=2,in_port=1,tcp,ct_zone=2,ct_state=+trk+est,action=2

table=0,priority=100,in_port=2,tcp,action=ct(table=1,zone=2)
table=1,in_port=2,tcp,ct_zone=2,ct_state=+trk+rel,action=ct(commit,zone=2),ct(commit,zone=1),1
table=1,in_port=2,tcp,ct_zone=2,ct_state=+trk+est,action=ct(table=2,zone=1)
table=2,in_port=2,tcp,ct_zone=1,ct_state=+trk+rel,action=ct(commit,zone=2),ct(commit,zone=1),1
table=2,in_port=2,tcp,ct_zone=1,ct_state=+trk+est,action=1
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2594: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:2594"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:2594"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


PIDFILE=$(mktemp ftpXXX.pid)
    ip netns exec at_ns0 $PYTHON $srcdir/test-l7.py ftp & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo ftp | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2596" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2596"
fi



PIDFILE=$(mktemp ftpXXX.pid)
    ip netns exec at_ns1 $PYTHON $srcdir/test-l7.py ftp & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo ftp | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2597" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2597"
fi




 { set +x
$as_echo "$at_srcdir/system-traffic.at:2601: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
wget ftp://10.1.1.1 --no-passive-ftp  -t 3 -T 1 -v -o wget1.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2601"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
wget ftp://10.1.1.1 --no-passive-ftp  -t 3 -T 1 -v -o wget1.log
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 4 $at_status "$at_srcdir/system-traffic.at:2601"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2602: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.1\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:2602"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.1" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$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:2602"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2606: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget ftp://10.1.1.2 --no-passive-ftp -t 3 -T 1 --retry-connrefused -v -o wget0.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2606"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget ftp://10.1.1.2 --no-passive-ftp -t 3 -T 1 --retry-connrefused -v -o wget0.log
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:2606"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2607: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:2607"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.1,sport=<cleared>,dport=<cleared>),zone=1,protoinfo=(state=<cleared>),helper=ftp
tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.1,sport=<cleared>,dport=<cleared>),zone=2,protoinfo=(state=<cleared>),helper=ftp
tcp,orig=(src=10.1.1.2,dst=10.1.1.1,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),zone=1,protoinfo=(state=<cleared>)
tcp,orig=(src=10.1.1.2,dst=10.1.1.1,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),zone=2,protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2607"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2614: ovs-appctl dpctl/flush-conntrack"
at_fn_check_prepare_trace "system-traffic.at:2614"
( $at_check_trace; ovs-appctl dpctl/flush-conntrack
) >>"$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:2614"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2617: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget ftp://10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2617"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget ftp://10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
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:2617"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2618: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:2618"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.1,sport=<cleared>,dport=<cleared>),zone=1,protoinfo=(state=<cleared>)
tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.1,sport=<cleared>,dport=<cleared>),zone=1,protoinfo=(state=<cleared>),helper=ftp
tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.1,sport=<cleared>,dport=<cleared>),zone=2,protoinfo=(state=<cleared>)
tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.1,sport=<cleared>,dport=<cleared>),zone=2,protoinfo=(state=<cleared>),helper=ftp
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2618"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2625: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2625"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:2625"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2625: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:2625"
( $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-traffic.at:2625"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2625: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:2625"
( $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-traffic.at:2625"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2625" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2625"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2625: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:2625"
( $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-traffic.at:2625"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2625: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:2625"
( $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-traffic.at:2625"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2625" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2625"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2625: :; "
at_fn_check_prepare_trace "system-traffic.at:2625"
( $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-traffic.at:2625"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_58
#AT_START_59
at_fn_group_banner 59 'system-traffic.at:2628' \
  "conntrack - TFTP" "                               " 3
at_xfail=no
(
  $as_echo "59. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:2629" >"$at_check_line_file"
(test $HAVE_TFTP = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:2629"
$as_echo "system-traffic.at:2630" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:2630"



   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2632" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2632"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2632: 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-traffic.at:2632"
( $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-traffic.at:2632"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2632: 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-traffic.at:2632"
( $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-traffic.at:2632"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2632: 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-traffic.at:2632"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:2632"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:2632: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:2632"
( $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-traffic.at:2632"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2632: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:2632"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:2632"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2632: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2632"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:2632"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2632" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2632"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2632: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:2632"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:2632"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:2634: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2634"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:2634"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:2634: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2634"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:2634"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:2636: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2636"
( $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-traffic.at:2636"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2636: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:2636"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2636"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2636: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:2636"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:2636"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2636: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:2636"
( $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-traffic.at:2636"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2636: 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-traffic.at:2636"
( $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>&-
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:2636"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:2636: ip netns exec at_ns0 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-traffic.at:2636"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:2636"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:2636: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2636"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:2636"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2636: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2636"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:2636"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2636: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2636"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:2636"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2637: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2637"
( $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-traffic.at:2637"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2637: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:2637"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2637"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2637: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:2637"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:2637"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2637: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:2637"
( $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-traffic.at:2637"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2637: 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-traffic.at:2637"
( $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>&-
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:2637"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:2637: ip netns exec at_ns1 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-traffic.at:2637"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:2637"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:2637: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2637"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:2637"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2637: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2637"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:2637"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2637: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2637"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:2637"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



cat >flows1.txt <<'_ATEOF'
table=0,priority=1,action=drop
table=0,priority=10,arp,action=normal
table=0,priority=10,icmp,action=normal
table=0,priority=100,in_port=1,udp,action=ct(alg=tftp,commit),2
table=0,priority=100,in_port=2,udp,action=ct(table=1)
table=1,in_port=2,udp,ct_state=+trk+est,action=1
table=1,in_port=2,udp,ct_state=+trk+rel,action=1
_ATEOF


cat >flows2.txt <<'_ATEOF'
table=0,priority=1,action=drop
table=0,priority=10,arp,action=normal
table=0,priority=10,icmp,action=normal

table=0,priority=100,in_port=1,udp,action=ct(table=1)
table=1,in_port=1,udp,ct_state=+trk+new-rel,action=ct(commit,alg=tftp),2
table=1,in_port=1,udp,ct_state=+trk+new+rel,action=ct(commit),2
table=1,in_port=1,udp,ct_state=+trk+est,action=2

table=0,priority=100,in_port=2,udp,action=ct(table=1)
table=1,in_port=2,udp,ct_state=+trk+est,action=1
table=1,in_port=2,udp,ct_state=+trk+new+rel,action=1
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2668: ovs-ofctl --bundle replace-flows br0 flows1.txt"
at_fn_check_prepare_trace "system-traffic.at:2668"
( $at_check_trace; ovs-ofctl --bundle replace-flows br0 flows1.txt
) >>"$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:2668"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


PIDFILE=$(mktemp tftpXXX.pid)
    ip netns exec at_ns0 $PYTHON $srcdir/test-l7.py tftp & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo tftp | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2670" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2670"
fi



PIDFILE=$(mktemp tftpXXX.pid)
    ip netns exec at_ns1 $PYTHON $srcdir/test-l7.py tftp & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo tftp | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2671" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2671"
fi




 { set +x
$as_echo "$at_srcdir/system-traffic.at:2674: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
curl \$CURL_OPT tftp://10.1.1.1/flows1.txt -o foo 2>curl0.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2674"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
curl $CURL_OPT tftp://10.1.1.1/flows1.txt -o foo 2>curl0.log
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 28 $at_status "$at_srcdir/system-traffic.at:2674"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2675: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.1\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:2675"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.1" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$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:2675"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2679: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
curl \$CURL_OPT tftp://10.1.1.2/flows1.txt -o foo 2>curl1.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2679"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
curl $CURL_OPT tftp://10.1.1.2/flows1.txt -o foo 2>curl1.log
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:2679"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2680: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:2680"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "udp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.1,sport=<cleared>,dport=<cleared>),helper=tftp
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2680"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2685: ovs-ofctl --bundle replace-flows br0 flows2.txt"
at_fn_check_prepare_trace "system-traffic.at:2685"
( $at_check_trace; ovs-ofctl --bundle replace-flows br0 flows2.txt
) >>"$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:2685"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:2686: ovs-appctl dpctl/flush-conntrack"
at_fn_check_prepare_trace "system-traffic.at:2686"
( $at_check_trace; ovs-appctl dpctl/flush-conntrack
) >>"$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:2686"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2689: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
curl \$CURL_OPT tftp://10.1.1.1/flows1.txt -o foo 2>curl2.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2689"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
curl $CURL_OPT tftp://10.1.1.1/flows1.txt -o foo 2>curl2.log
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 28 $at_status "$at_srcdir/system-traffic.at:2689"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2690: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.1\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:2690"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.1" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$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:2690"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2694: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
curl \$CURL_OPT tftp://10.1.1.2/flows1.txt -o foo 2>curl3.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2694"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
curl $CURL_OPT tftp://10.1.1.2/flows1.txt -o foo 2>curl3.log
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:2694"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2695: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:2695"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "udp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.1,sport=<cleared>,dport=<cleared>),helper=tftp
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2695"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2699: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2699"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:2699"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2699: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:2699"
( $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-traffic.at:2699"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2699: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:2699"
( $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-traffic.at:2699"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2699" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2699"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2699: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:2699"
( $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-traffic.at:2699"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2699: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:2699"
( $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-traffic.at:2699"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2699" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2699"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2699: :; "
at_fn_check_prepare_trace "system-traffic.at:2699"
( $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-traffic.at:2699"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_59
#AT_START_60
at_fn_group_banner 60 'system-traffic.at:2704' \
  "conntrack - simple SNAT" "                        " 4
at_xfail=no
(
  $as_echo "60. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:2705" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:2705"



   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2707" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2707"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2707: 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-traffic.at:2707"
( $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-traffic.at:2707"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2707: 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-traffic.at:2707"
( $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-traffic.at:2707"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2707: 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-traffic.at:2707"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:2707"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:2707: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:2707"
( $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-traffic.at:2707"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2707: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:2707"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:2707"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2707: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2707"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:2707"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2707" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2707"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2707: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:2707"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:2707"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:2709: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2709"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:2709"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:2709: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2709"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:2709"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:2711: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2711"
( $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-traffic.at:2711"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2711: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:2711"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2711"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2711: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:2711"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:2711"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2711: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:2711"
( $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-traffic.at:2711"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2711: 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-traffic.at:2711"
( $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>&-
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:2711"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:2711: ip netns exec at_ns0 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-traffic.at:2711"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:2711"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:2711: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2711"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:2711"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2711: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2711"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:2711"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2711: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2711"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:2711"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2712: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address 80:88:88:88:88:88
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2712"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address 80:88:88:88:88:88
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:2712"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2713: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2713"
( $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-traffic.at:2713"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2713: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:2713"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2713"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2713: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:2713"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:2713"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2713: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:2713"
( $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-traffic.at:2713"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2713: 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-traffic.at:2713"
( $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>&-
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:2713"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:2713: ip netns exec at_ns1 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-traffic.at:2713"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:2713"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:2713: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2713"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:2713"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2713: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2713"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:2713"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2713: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2713"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:2713"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



cat >flows.txt <<'_ATEOF'
in_port=1,ip,action=ct(commit,zone=1,nat(src=10.1.1.240-10.1.1.255)),2
in_port=2,ct_state=-trk,ip,action=ct(table=0,zone=1,nat)
in_port=2,ct_state=+trk,ct_zone=1,ip,action=1
priority=100 arp arp_op=1 action=move:OXM_OF_ARP_TPA[]->NXM_NX_REG2[],resubmit(,8),goto_table:10
priority=10 arp action=normal
priority=0,action=drop
table=8,reg2=0x0a0101f0/0xfffffff0,action=load:0x808888888888->OXM_OF_PKT_REG0[]
table=8,priority=0,action=load:0->OXM_OF_PKT_REG0[]
table=10 priority=100 arp xreg0=0 action=normal
table=10 priority=10,arp,arp_op=1,action=load:2->OXM_OF_ARP_OP[],move:OXM_OF_ARP_SHA[]->OXM_OF_ARP_THA[],move:OXM_OF_PKT_REG0[0..47]->OXM_OF_ARP_SHA[],move:OXM_OF_ARP_SPA[]->OXM_OF_ARP_TPA[],move:NXM_NX_REG2[]->OXM_OF_ARP_SPA[],move:NXM_OF_ETH_SRC[]->NXM_OF_ETH_DST[],move:OXM_OF_PKT_REG0[0..47]->NXM_OF_ETH_SRC[],move:NXM_OF_IN_PORT[]->NXM_NX_REG3[0..15],load:0->NXM_OF_IN_PORT[],output:NXM_NX_REG3[0..15]
table=10 priority=0 action=drop
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2737: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:2737"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:2737"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec at_ns1 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2740" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2740"
fi



 { set +x
$as_echo "$at_srcdir/system-traffic.at:2741: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 5 -T 1 --retry-connrefused -v -o wget0.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2741"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 5 -T 1 --retry-connrefused -v -o wget0.log
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:2741"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:2743: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | sed -e 's/dst=10.1.1.2[45][0-9]/dst=10.1.1.2XX/' | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:2743"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | sed -e 's/dst=10.1.1.2[45][0-9]/dst=10.1.1.2XX/' | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.2XX,sport=<cleared>,dport=<cleared>),zone=1,protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2743"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2747: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2747"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:2747"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2747: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:2747"
( $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-traffic.at:2747"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2747: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:2747"
( $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-traffic.at:2747"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2747" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2747"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2747: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:2747"
( $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-traffic.at:2747"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2747: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:2747"
( $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-traffic.at:2747"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2747" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2747"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2747: :; "
at_fn_check_prepare_trace "system-traffic.at:2747"
( $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-traffic.at:2747"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_60
#AT_START_61
at_fn_group_banner 61 'system-traffic.at:2750' \
  "conntrack - SNAT with ct_mark change on reply" "  " 4
at_xfail=no
(
  $as_echo "61. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:2751" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:2751"



   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2753" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2753"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2753: 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-traffic.at:2753"
( $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-traffic.at:2753"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2753: 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-traffic.at:2753"
( $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-traffic.at:2753"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2753: 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-traffic.at:2753"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:2753"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:2753: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:2753"
( $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-traffic.at:2753"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2753: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:2753"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:2753"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2753: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2753"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:2753"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2753" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2753"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2753: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:2753"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:2753"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:2755: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2755"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:2755"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:2755: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2755"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:2755"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:2757: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2757"
( $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-traffic.at:2757"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2757: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:2757"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2757"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2757: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:2757"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:2757"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2757: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:2757"
( $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-traffic.at:2757"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2757: 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-traffic.at:2757"
( $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>&-
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:2757"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:2757: ip netns exec at_ns0 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-traffic.at:2757"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:2757"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:2757: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2757"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:2757"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2757: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2757"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:2757"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2757: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2757"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:2757"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2758: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address e6:66:c1:11:11:11
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2758"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address e6:66:c1:11:11:11
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:2758"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2759: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
arp -s 10.1.1.2 e6:66:c1:22:22:22
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2759"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
arp -s 10.1.1.2 e6:66:c1:22:22:22
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:2759"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



 { set +x
$as_echo "$at_srcdir/system-traffic.at:2761: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2761"
( $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-traffic.at:2761"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2761: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:2761"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2761"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2761: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:2761"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:2761"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2761: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:2761"
( $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-traffic.at:2761"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2761: 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-traffic.at:2761"
( $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>&-
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:2761"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:2761: ip netns exec at_ns1 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-traffic.at:2761"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:2761"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:2761: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2761"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:2761"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2761: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2761"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:2761"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2761: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2761"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:2761"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2762: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address e6:66:c1:22:22:22
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2762"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address e6:66:c1:22:22:22
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:2762"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2763: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
arp -s 10.1.1.240 e6:66:c1:11:11:11
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2763"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
arp -s 10.1.1.240 e6:66:c1:11:11:11
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:2763"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



cat >flows.txt <<'_ATEOF'
in_port=1,ip,action=ct(commit,zone=1,nat(src=10.1.1.240)),2
in_port=2,ct_state=-trk,ip,action=ct(table=0,zone=1,nat)
in_port=2,ct_state=+trk,ct_zone=1,ip,action=ct(table=1,commit,zone=1,exec(set_field:1->ct_mark)),1
table=1,in_port=2,ct_mark=1,ct_state=+rpl,ct_zone=1,ip,action=1
priority=0,action=drop
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2779: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:2779"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:2779"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2782: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -c 1 10.1.1.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2782"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -c 1 10.1.1.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
echo >>"$at_stdout"; $as_echo "1 packets transmitted, 1 received, 0% packet loss, time 0ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2782"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:2786: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | sed -e 's/dst=10.1.1.2[45][0-9]/dst=10.1.1.2XX/'"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:2786"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | sed -e 's/dst=10.1.1.2[45][0-9]/dst=10.1.1.2XX/'
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "icmp,orig=(src=10.1.1.1,dst=10.1.1.2,id=<cleared>,type=8,code=0),reply=(src=10.1.1.2,dst=10.1.1.2XX,id=<cleared>,type=0,code=0),zone=1,mark=1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2786"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2790: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2790"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:2790"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2790: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:2790"
( $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-traffic.at:2790"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2790: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:2790"
( $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-traffic.at:2790"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2790" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2790"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2790: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:2790"
( $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-traffic.at:2790"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2790: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:2790"
( $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-traffic.at:2790"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2790" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2790"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2790: :; "
at_fn_check_prepare_trace "system-traffic.at:2790"
( $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-traffic.at:2790"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_61
#AT_START_62
at_fn_group_banner 62 'system-traffic.at:2793' \
  "conntrack - SNAT with port range" "               " 4
at_xfail=no
(
  $as_echo "62. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:2794" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:2794"



   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2796" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2796"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2796: 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-traffic.at:2796"
( $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-traffic.at:2796"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2796: 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-traffic.at:2796"
( $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-traffic.at:2796"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2796: 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-traffic.at:2796"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:2796"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:2796: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:2796"
( $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-traffic.at:2796"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2796: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:2796"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:2796"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2796: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2796"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:2796"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2796" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2796"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2796: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:2796"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:2796"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:2798: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2798"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:2798"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:2798: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2798"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:2798"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:2800: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2800"
( $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-traffic.at:2800"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2800: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:2800"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2800"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2800: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:2800"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:2800"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2800: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:2800"
( $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-traffic.at:2800"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2800: 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-traffic.at:2800"
( $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>&-
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:2800"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:2800: ip netns exec at_ns0 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-traffic.at:2800"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:2800"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:2800: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2800"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:2800"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2800: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2800"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:2800"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2800: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2800"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:2800"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2801: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address 80:88:88:88:88:88
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2801"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address 80:88:88:88:88:88
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:2801"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2802: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2802"
( $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-traffic.at:2802"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2802: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:2802"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2802"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2802: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:2802"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:2802"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2802: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:2802"
( $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-traffic.at:2802"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2802: 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-traffic.at:2802"
( $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>&-
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:2802"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:2802: ip netns exec at_ns1 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-traffic.at:2802"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:2802"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:2802: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2802"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:2802"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2802: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2802"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:2802"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2802: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2802"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:2802"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



cat >flows.txt <<'_ATEOF'
in_port=1,tcp,action=ct(commit,zone=1,nat(src=10.1.1.240-10.1.1.255:34567-34568,random)),2
in_port=2,ct_state=-trk,tcp,tp_dst=34567,action=ct(table=0,zone=1,nat)
in_port=2,ct_state=-trk,tcp,tp_dst=34568,action=ct(table=0,zone=1,nat)
in_port=2,ct_state=+trk,ct_zone=1,tcp,action=1
priority=100 arp arp_op=1 action=move:OXM_OF_ARP_TPA[]->NXM_NX_REG2[],resubmit(,8),goto_table:10
priority=10 arp action=normal
priority=0,action=drop
table=8,reg2=0x0a0101f0/0xfffffff0,action=load:0x808888888888->OXM_OF_PKT_REG0[]
table=8,priority=0,action=load:0->OXM_OF_PKT_REG0[]
table=10 priority=100 arp xreg0=0 action=normal
table=10 priority=10,arp,arp_op=1,action=load:2->OXM_OF_ARP_OP[],move:OXM_OF_ARP_SHA[]->OXM_OF_ARP_THA[],move:OXM_OF_PKT_REG0[0..47]->OXM_OF_ARP_SHA[],move:OXM_OF_ARP_SPA[]->OXM_OF_ARP_TPA[],move:NXM_NX_REG2[]->OXM_OF_ARP_SPA[],move:NXM_OF_ETH_SRC[]->NXM_OF_ETH_DST[],move:OXM_OF_PKT_REG0[0..47]->NXM_OF_ETH_SRC[],move:NXM_OF_IN_PORT[]->NXM_NX_REG3[0..15],load:0->NXM_OF_IN_PORT[],output:NXM_NX_REG3[0..15]
table=10 priority=0 action=drop
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2827: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:2827"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:2827"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec at_ns1 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2830" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2830"
fi



 { set +x
$as_echo "$at_srcdir/system-traffic.at:2831: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 5 -T 1 --retry-connrefused -v -o wget0.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2831"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 5 -T 1 --retry-connrefused -v -o wget0.log
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:2831"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:2833: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | sed -e 's/dst=10.1.1.2[45][0-9]/dst=10.1.1.2XX/' | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:2833"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | sed -e 's/dst=10.1.1.2[45][0-9]/dst=10.1.1.2XX/' | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.2XX,sport=<cleared>,dport=<cleared>),zone=1,protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2833"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2837: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2837"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:2837"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2837: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:2837"
( $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-traffic.at:2837"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2837: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:2837"
( $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-traffic.at:2837"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2837" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2837"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2837: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:2837"
( $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-traffic.at:2837"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2837: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:2837"
( $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-traffic.at:2837"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2837" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2837"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2837: :; "
at_fn_check_prepare_trace "system-traffic.at:2837"
( $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-traffic.at:2837"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_62
#AT_START_63
at_fn_group_banner 63 'system-traffic.at:2841' \
  "conntrack - more complex SNAT" "                  " 4
at_xfail=no
(
  $as_echo "63. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:2842" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:2842"



   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2844" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2844"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2844: 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-traffic.at:2844"
( $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-traffic.at:2844"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2844: 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-traffic.at:2844"
( $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-traffic.at:2844"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2844: 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-traffic.at:2844"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:2844"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:2844: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:2844"
( $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-traffic.at:2844"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2844: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:2844"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:2844"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2844: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2844"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:2844"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2844" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2844"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2844: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:2844"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:2844"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:2846: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2846"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:2846"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:2846: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2846"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:2846"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:2848: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2848"
( $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-traffic.at:2848"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2848: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:2848"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2848"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2848: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:2848"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:2848"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2848: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:2848"
( $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-traffic.at:2848"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2848: 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-traffic.at:2848"
( $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>&-
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:2848"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:2848: ip netns exec at_ns0 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-traffic.at:2848"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:2848"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:2848: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2848"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:2848"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2848: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2848"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:2848"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2848: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2848"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:2848"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2849: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address 80:88:88:88:88:88
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2849"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address 80:88:88:88:88:88
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:2849"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2850: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2850"
( $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-traffic.at:2850"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2850: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:2850"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2850"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2850: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:2850"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:2850"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2850: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:2850"
( $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-traffic.at:2850"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2850: 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-traffic.at:2850"
( $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>&-
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:2850"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:2850: ip netns exec at_ns1 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-traffic.at:2850"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:2850"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:2850: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2850"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:2850"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2850: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2850"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:2850"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2850: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2850"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:2850"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



cat >flows.txt <<'_ATEOF'
priority=100 ip action=ct(table=1,zone=1,nat)
priority=100 arp arp_op=1 action=move:OXM_OF_ARP_TPA[]->NXM_NX_REG2[],resubmit(,8),goto_table:10
priority=10 arp action=normal
priority=0 action=drop
table=1 priority=100 in_port=1 ip ct_state=+trk+new-est action=ct(commit,zone=1,nat(src=10.1.1.240-10.1.1.255)),2
table=1 priority=100 in_port=1 ip ct_state=+trk-new+est action=2
table=1 priority=100 in_port=2 ip ct_state=+trk-new+est action=1
table=1 priority=0 action=drop
table=8 priority=100 reg2=0x0a0101f0/0xfffffff0 action=load:0x808888888888->OXM_OF_PKT_REG0[]
table=8 priority=0 action=load:0->OXM_OF_PKT_REG0[]
table=10 priority=100 arp xreg0=0 action=normal
table=10 priority=10 arp arp_op=1 action=load:2->OXM_OF_ARP_OP[],move:OXM_OF_ARP_SHA[]->OXM_OF_ARP_THA[],move:OXM_OF_PKT_REG0[0..47]->OXM_OF_ARP_SHA[],move:OXM_OF_ARP_SPA[]->OXM_OF_ARP_TPA[],move:NXM_NX_REG2[]->OXM_OF_ARP_SPA[],move:NXM_OF_ETH_SRC[]->NXM_OF_ETH_DST[],move:OXM_OF_PKT_REG0[0..47]->NXM_OF_ETH_SRC[],move:NXM_OF_IN_PORT[]->NXM_NX_REG3[0..15],load:0->NXM_OF_IN_PORT[],output:NXM_NX_REG3[0..15]
table=10 priority=0 action=drop
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2880: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:2880"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:2880"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec at_ns1 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2883" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2883"
fi



 { set +x
$as_echo "$at_srcdir/system-traffic.at:2884: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 5 -T 1 --retry-connrefused -v -o wget0.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2884"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 5 -T 1 --retry-connrefused -v -o wget0.log
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:2884"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:2886: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | sed -e 's/dst=10.1.1.2[45][0-9]/dst=10.1.1.2XX/' | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:2886"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | sed -e 's/dst=10.1.1.2[45][0-9]/dst=10.1.1.2XX/' | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.2XX,sport=<cleared>,dport=<cleared>),zone=1,protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2886"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2890: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2890"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:2890"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2890: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:2890"
( $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-traffic.at:2890"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2890: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:2890"
( $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-traffic.at:2890"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2890" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2890"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2890: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:2890"
( $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-traffic.at:2890"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2890: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:2890"
( $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-traffic.at:2890"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2890" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2890"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2890: :; "
at_fn_check_prepare_trace "system-traffic.at:2890"
( $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-traffic.at:2890"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_63
#AT_START_64
at_fn_group_banner 64 'system-traffic.at:2893' \
  "conntrack - simple DNAT" "                        " 4
at_xfail=no
(
  $as_echo "64. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:2894" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:2894"



   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2896" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2896"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2896: 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-traffic.at:2896"
( $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-traffic.at:2896"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2896: 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-traffic.at:2896"
( $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-traffic.at:2896"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2896: 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-traffic.at:2896"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:2896"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:2896: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:2896"
( $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-traffic.at:2896"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2896: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:2896"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:2896"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2896: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2896"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:2896"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2896" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2896"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2896: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:2896"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:2896"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:2898: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2898"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:2898"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:2898: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2898"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:2898"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:2900: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2900"
( $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-traffic.at:2900"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2900: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:2900"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2900"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2900: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:2900"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:2900"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2900: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:2900"
( $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-traffic.at:2900"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2900: 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-traffic.at:2900"
( $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>&-
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:2900"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:2900: ip netns exec at_ns0 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-traffic.at:2900"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:2900"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:2900: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2900"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:2900"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2900: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2900"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:2900"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2900: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2900"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:2900"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2901: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2901"
( $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-traffic.at:2901"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2901: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:2901"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2901"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2901: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:2901"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:2901"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2901: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:2901"
( $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-traffic.at:2901"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2901: 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-traffic.at:2901"
( $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>&-
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:2901"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:2901: ip netns exec at_ns1 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-traffic.at:2901"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:2901"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:2901: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2901"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:2901"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2901: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2901"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:2901"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2901: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2901"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:2901"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2902: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address 80:88:88:88:88:88
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2902"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address 80:88:88:88:88:88
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:2902"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



cat >flows.txt <<'_ATEOF'
priority=100 in_port=1,ip,nw_dst=10.1.1.64,action=ct(zone=1,nat(dst=10.1.1.2),commit),2
priority=10 in_port=1,ip,action=ct(commit,zone=1),2
priority=100 in_port=2,ct_state=-trk,ip,action=ct(table=0,nat,zone=1)
priority=100 in_port=2,ct_state=+trk+est,ct_zone=1,ip,action=1
priority=100 arp arp_op=1 action=move:OXM_OF_ARP_TPA[]->NXM_NX_REG2[],resubmit(,8),goto_table:10
priority=10 arp action=normal
priority=0,action=drop
table=8,reg2=0x0a010140,action=load:0x808888888888->OXM_OF_PKT_REG0[]
table=8,priority=0,action=load:0->OXM_OF_PKT_REG0[]
table=10 priority=100 arp xreg0=0 action=normal
table=10 priority=10,arp,arp_op=1,action=load:2->OXM_OF_ARP_OP[],move:OXM_OF_ARP_SHA[]->OXM_OF_ARP_THA[],move:OXM_OF_PKT_REG0[0..47]->OXM_OF_ARP_SHA[],move:OXM_OF_ARP_SPA[]->OXM_OF_ARP_TPA[],move:NXM_NX_REG2[]->OXM_OF_ARP_SPA[],move:NXM_OF_ETH_SRC[]->NXM_OF_ETH_DST[],move:OXM_OF_PKT_REG0[0..47]->NXM_OF_ETH_SRC[],move:NXM_OF_IN_PORT[]->NXM_NX_REG3[0..15],load:0->NXM_OF_IN_PORT[],output:NXM_NX_REG3[0..15]
table=10 priority=0 action=drop
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2928: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:2928"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:2928"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec at_ns1 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2931" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2931"
fi



 { set +x
$as_echo "$at_srcdir/system-traffic.at:2932: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.64 -t 5 -T 1 --retry-connrefused -v -o wget0.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2932"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.64 -t 5 -T 1 --retry-connrefused -v -o wget0.log
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:2932"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:2934: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.64\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:2934"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.64" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=10.1.1.1,dst=10.1.1.64,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.1,sport=<cleared>,dport=<cleared>),zone=1,protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2934"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2939: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2939"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
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:2939"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:2941: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:2941"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.1,sport=<cleared>,dport=<cleared>),zone=1,protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2941"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2945: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2945"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:2945"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2945: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:2945"
( $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-traffic.at:2945"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2945: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:2945"
( $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-traffic.at:2945"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2945" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2945"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2945: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:2945"
( $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-traffic.at:2945"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2945: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:2945"
( $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-traffic.at:2945"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2945" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2945"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2945: :; "
at_fn_check_prepare_trace "system-traffic.at:2945"
( $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-traffic.at:2945"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_64
#AT_START_65
at_fn_group_banner 65 'system-traffic.at:2948' \
  "conntrack - more complex DNAT" "                  " 4
at_xfail=no
(
  $as_echo "65. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:2949" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:2949"



   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2951" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2951"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2951: 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-traffic.at:2951"
( $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-traffic.at:2951"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2951: 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-traffic.at:2951"
( $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-traffic.at:2951"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2951: 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-traffic.at:2951"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:2951"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:2951: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:2951"
( $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-traffic.at:2951"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2951: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:2951"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:2951"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:2951: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2951"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:2951"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2951" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2951"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:2951: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:2951"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:2951"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:2953: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2953"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:2953"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:2953: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2953"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:2953"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:2955: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2955"
( $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-traffic.at:2955"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2955: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:2955"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2955"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2955: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:2955"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:2955"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2955: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:2955"
( $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-traffic.at:2955"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2955: 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-traffic.at:2955"
( $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>&-
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:2955"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:2955: ip netns exec at_ns0 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-traffic.at:2955"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:2955"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:2955: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2955"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:2955"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2955: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2955"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:2955"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2955: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2955"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:2955"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2956: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:2956"
( $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-traffic.at:2956"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2956: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:2956"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2956"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:2956: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:2956"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:2956"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2956: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:2956"
( $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-traffic.at:2956"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:2956: 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-traffic.at:2956"
( $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>&-
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:2956"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:2956: ip netns exec at_ns1 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-traffic.at:2956"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:2956"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:2956: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2956"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:2956"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2956: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2956"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:2956"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:2956: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2956"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:2956"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:2957: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address 80:88:88:88:88:88
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2957"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address 80:88:88:88:88:88
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:2957"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



cat >flows.txt <<'_ATEOF'
table=0 priority=100 ip action=ct(table=1,zone=1,nat)
table=0 priority=100 arp arp_op=1 action=move:OXM_OF_ARP_TPA[]->NXM_NX_REG2[],resubmit(,8),goto_table:10
table=0 priority=10 arp action=normal
table=0 priority=0 action=drop
table=1 priority=100 in_port=1 ct_state=+new ip nw_dst=10.1.1.64 action=ct(zone=1,nat(dst=10.1.1.2),commit),2
table=1 priority=10 in_port=1 ct_state=+new ip action=ct(commit,zone=1),2
table=1 priority=100 in_port=1 ct_state=+est ct_zone=1 action=2
table=1 priority=100 in_port=2 ct_state=+est ct_zone=1 action=1
table=1 priority=0 action=drop
table=8,reg2=0x0a010140,action=load:0x808888888888->OXM_OF_PKT_REG0[]
table=8,priority=0,action=load:0->OXM_OF_PKT_REG0[]
table=10 priority=100 arp xreg0=0 action=normal
table=10 priority=10,arp,arp_op=1,action=load:2->OXM_OF_ARP_OP[],move:OXM_OF_ARP_SHA[]->OXM_OF_ARP_THA[],move:OXM_OF_PKT_REG0[0..47]->OXM_OF_ARP_SHA[],move:OXM_OF_ARP_SPA[]->OXM_OF_ARP_TPA[],move:NXM_NX_REG2[]->OXM_OF_ARP_SPA[],move:NXM_OF_ETH_SRC[]->NXM_OF_ETH_DST[],move:OXM_OF_PKT_REG0[0..47]->NXM_OF_ETH_SRC[],move:NXM_OF_IN_PORT[]->NXM_NX_REG3[0..15],load:0->NXM_OF_IN_PORT[],output:NXM_NX_REG3[0..15]
table=10 priority=0 action=drop
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:2989: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:2989"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:2989"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec at_ns1 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:2992" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:2992"
fi



 { set +x
$as_echo "$at_srcdir/system-traffic.at:2993: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.64 -t 5 -T 1 --retry-connrefused -v -o wget0.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:2993"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.64 -t 5 -T 1 --retry-connrefused -v -o wget0.log
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:2993"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:2995: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.64\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:2995"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.64" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=10.1.1.1,dst=10.1.1.64,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.1,sport=<cleared>,dport=<cleared>),zone=1,protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:2995"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3000: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3000"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget 10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
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:3000"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:3002: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:3002"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.1,sport=<cleared>,dport=<cleared>),zone=1,protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3002"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:3006: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3006"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:3006"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3006: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:3006"
( $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-traffic.at:3006"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3006: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:3006"
( $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-traffic.at:3006"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3006" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3006"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3006: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:3006"
( $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-traffic.at:3006"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3006: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:3006"
( $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-traffic.at:3006"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3006" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3006"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3006: :; "
at_fn_check_prepare_trace "system-traffic.at:3006"
( $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-traffic.at:3006"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_65
#AT_START_66
at_fn_group_banner 66 'system-traffic.at:3009' \
  "conntrack - ICMP related with NAT" "              " 4
at_xfail=no
(
  $as_echo "66. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:3010" >"$at_check_line_file"
(test $HAVE_NC = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:3010"
$as_echo "system-traffic.at:3011" >"$at_check_line_file"
(test $HAVE_TCPDUMP = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:3011"
$as_echo "system-traffic.at:3012" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:3012"



   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3014" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3014"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3014: 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-traffic.at:3014"
( $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-traffic.at:3014"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3014: 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-traffic.at:3014"
( $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-traffic.at:3014"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3014: 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-traffic.at:3014"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:3014"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:3014: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:3014"
( $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-traffic.at:3014"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3014: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:3014"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:3014"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3014: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3014"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:3014"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3014" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3014"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3014: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:3014"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:3014"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:3016: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3016"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:3016"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:3016: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3016"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:3016"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:3018: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3018"
( $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-traffic.at:3018"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3018: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:3018"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3018"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3018: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:3018"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:3018"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3018: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:3018"
( $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-traffic.at:3018"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3018: 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-traffic.at:3018"
( $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>&-
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:3018"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:3018: ip netns exec at_ns0 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-traffic.at:3018"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:3018"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:3018: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3018"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:3018"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3018: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3018"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:3018"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3018: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3018"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:3018"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3019: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address 80:88:88:88:88:88
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3019"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address 80:88:88:88:88:88
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:3019"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3020: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3020"
( $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-traffic.at:3020"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3020: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:3020"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3020"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3020: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:3020"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:3020"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3020: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:3020"
( $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-traffic.at:3020"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3020: 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-traffic.at:3020"
( $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>&-
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:3020"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:3020: ip netns exec at_ns1 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-traffic.at:3020"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:3020"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:3020: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3020"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:3020"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3020: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3020"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:3020"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3020: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3020"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:3020"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



cat >flows.txt <<'_ATEOF'
in_port=1,udp,action=ct(commit,nat(src=10.1.1.240-10.1.1.255),exec(set_field:1->ct_mark)),2
in_port=2,icmp,ct_state=-trk,action=ct(table=0,nat)
in_port=2,icmp,nw_dst=10.1.1.1,ct_state=+trk+rel,ct_mark=1,action=1
priority=100 arp arp_op=1 action=move:OXM_OF_ARP_TPA[]->NXM_NX_REG2[],resubmit(,8),goto_table:10
priority=10 arp action=normal
priority=0,action=drop
table=8,reg2=0x0a0101f0/0xfffffff0,action=load:0x808888888888->OXM_OF_PKT_REG0[]
table=8,priority=0,action=load:0->OXM_OF_PKT_REG0[]
table=10 priority=100 arp xreg0=0 action=normal
table=10 priority=10,arp,arp_op=1,action=load:2->OXM_OF_ARP_OP[],move:OXM_OF_ARP_SHA[]->OXM_OF_ARP_THA[],move:OXM_OF_PKT_REG0[0..47]->OXM_OF_ARP_SHA[],move:OXM_OF_ARP_SPA[]->OXM_OF_ARP_TPA[],move:NXM_NX_REG2[]->OXM_OF_ARP_SPA[],move:NXM_OF_ETH_SRC[]->NXM_OF_ETH_DST[],move:OXM_OF_PKT_REG0[0..47]->NXM_OF_ETH_SRC[],move:NXM_OF_IN_PORT[]->NXM_NX_REG3[0..15],load:0->NXM_OF_IN_PORT[],output:NXM_NX_REG3[0..15]
table=10 priority=0 action=drop
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:3045: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:3045"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:3045"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


rm p0.pcap
tcpdump -U -i ovs-p0 -w p0.pcap &
sleep 1

 { set +x
$as_echo "$at_srcdir/system-traffic.at:3052: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
bash -c \"echo a | nc \$NC_EOF_OPT -u 10.1.1.2 10000\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3052"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
bash -c "echo a | nc $NC_EOF_OPT -u 10.1.1.2 10000"
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:3052"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:3054: ovs-appctl revalidator/purge"
at_fn_check_prepare_trace "system-traffic.at:3054"
( $at_check_trace; ovs-appctl revalidator/purge
) >>"$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:3054"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:3055: ovs-ofctl -O OpenFlow15 dump-flows br0 | ofctl_strip | sort | grep -v drop"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:3055"
( $at_check_trace; ovs-ofctl -O OpenFlow15 dump-flows br0 | ofctl_strip | sort | grep -v drop
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " n_packets=1, n_bytes=42, priority=10,arp actions=NORMAL
 n_packets=1, n_bytes=44, udp,in_port=1 actions=ct(commit,nat(src=10.1.1.240-10.1.1.255),exec(set_field:0x1->ct_mark)),output:2
 n_packets=1, n_bytes=72, ct_state=+rel+trk,ct_mark=0x1,icmp,in_port=2,nw_dst=10.1.1.1 actions=output:1
 n_packets=1, n_bytes=72, ct_state=-trk,icmp,in_port=2 actions=ct(table=0,nat)
 n_packets=2, n_bytes=84, priority=100,arp,arp_op=1 actions=move:NXM_OF_ARP_TPA[]->NXM_NX_REG2[],resubmit(,8),goto_table:10
 table=10, n_packets=1, n_bytes=42, priority=10,arp,arp_op=1 actions=set_field:2->arp_op,move:NXM_NX_ARP_SHA[]->NXM_NX_ARP_THA[],move:OXM_OF_PKT_REG0[0..47]->NXM_NX_ARP_SHA[],move:NXM_OF_ARP_SPA[]->NXM_OF_ARP_TPA[],move:NXM_NX_REG2[]->NXM_OF_ARP_SPA[],move:NXM_OF_ETH_SRC[]->NXM_OF_ETH_DST[],move:OXM_OF_PKT_REG0[0..47]->NXM_OF_ETH_SRC[],move:NXM_OF_IN_PORT[]->NXM_NX_REG3[0..15],set_field:0->in_port,output:NXM_NX_REG3[0..15]
 table=10, n_packets=1, n_bytes=42, priority=100,arp,reg0=0,reg1=0 actions=NORMAL
 table=8, n_packets=1, n_bytes=42, priority=0 actions=set_field:0->xreg0
 table=8, n_packets=1, n_bytes=42, reg2=0xa0101f0/0xfffffff0 actions=set_field:0x808888888888->xreg0
OFPST_FLOW reply (OF1.5):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3055"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:3068: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | sed -e 's/dst=10.1.1.2[45][0-9]/dst=10.1.1.2XX/'"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:3068"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | sed -e 's/dst=10.1.1.2[45][0-9]/dst=10.1.1.2XX/'
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "udp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.2XX,sport=<cleared>,dport=<cleared>),mark=1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3068"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:3072: tcpdump -v \"icmp\" -r p0.pcap 2>/dev/null | egrep 'wrong|bad'"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:3072"
( $at_check_trace; tcpdump -v "icmp" -r p0.pcap 2>/dev/null | egrep 'wrong|bad'
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:

at_fn_check_status 1 $at_status "$at_srcdir/system-traffic.at:3072"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:3074: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3074"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:3074"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3074: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:3074"
( $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-traffic.at:3074"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3074: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:3074"
( $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-traffic.at:3074"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3074" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3074"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3074: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:3074"
( $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-traffic.at:3074"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3074: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:3074"
( $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-traffic.at:3074"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3074" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3074"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3074: :; "
at_fn_check_prepare_trace "system-traffic.at:3074"
( $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-traffic.at:3074"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_66
#AT_START_67
at_fn_group_banner 67 'system-traffic.at:3175' \
  "conntrack - FTP NAT prerecirc " "                 " 4
at_xfail=no
(
  $as_echo "67. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

    $as_echo "system-traffic.at:3175" >"$at_check_line_file"
(test $HAVE_FTP = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:3175"
    $as_echo "system-traffic.at:3175" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:3175"





   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3175" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3175"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3175: 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-traffic.at:3175"
( $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-traffic.at:3175"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3175: 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-traffic.at:3175"
( $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-traffic.at:3175"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3175: 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-traffic.at:3175"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:3175"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:3175: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:3175"
( $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-traffic.at:3175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3175: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:3175"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:3175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3175: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3175"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:3175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3175" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3175"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3175: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:3175"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:3175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



    ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:3175: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3175"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:3175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:3175: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3175"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:3175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




     { set +x
$as_echo "$at_srcdir/system-traffic.at:3175: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3175"
( $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-traffic.at:3175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3175: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:3175"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3175: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:3175"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:3175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3175: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:3175"
( $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-traffic.at:3175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3175: 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-traffic.at:3175"
( $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>&-
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:3175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:3175: ip netns exec at_ns0 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-traffic.at:3175"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:3175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:3175: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3175"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:3175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3175: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3175"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:3175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3175: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3175"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:3175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


     { set +x
$as_echo "$at_srcdir/system-traffic.at:3175: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address 80:88:88:88:88:88
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3175"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address 80:88:88:88:88:88
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:3175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


     { set +x
$as_echo "$at_srcdir/system-traffic.at:3175: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3175"
( $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-traffic.at:3175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3175: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:3175"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3175: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:3175"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:3175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3175: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:3175"
( $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-traffic.at:3175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3175: 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-traffic.at:3175"
( $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>&-
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:3175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:3175: ip netns exec at_ns1 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-traffic.at:3175"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:3175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:3175: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3175"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:3175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3175: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3175"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:3175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3175: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3175"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:3175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



        cat >flows.txt <<'_ATEOF'
table=0 in_port=1, ip, action=ct(table=1,nat)
table=0 in_port=2, ip, action=ct(table=2,nat)
table=0 priority=100 arp arp_op=1 action=move:OXM_OF_ARP_TPA[]->NXM_NX_REG2[],resubmit(,8),goto_table:10
table=0 priority=10 arp action=normal
table=0 priority=0 action=drop
table=1 ct_state=+new, tcp, tp_dst=21, nw_src=10.1.1.1, action=ct(alg=ftp,commit,nat(src=10.1.1.9)),2
table=1 ct_state=+est, tcp, nw_src=10.1.1.9,     action=2
table=1 priority=10, tcp, action=drop
table=1 priority=0,action=drop
table=2 ct_state=+est, tcp, nw_dst=10.1.1.1, action=1
table=2 ct_state=+new+rel, tcp, nw_dst=10.1.1.9, action=ct(commit,nat),1
table=2 ct_state=+rel, icmp, nw_dst=10.1.1.1, action=1
table=2 priority=10, tcp, action=drop
table=2 priority=0, action=drop
table=8,reg2=0x0a010109/0xffffffff,action=load:0x808888888888->OXM_OF_PKT_REG0[]
table=8,priority=0,action=load:0->OXM_OF_PKT_REG0[]
table=10 priority=100 arp xreg0=0 action=normal
table=10 priority=10,arp,arp_op=1,action=load:2->OXM_OF_ARP_OP[],move:OXM_OF_ARP_SHA[]->OXM_OF_ARP_THA[],move:OXM_OF_PKT_REG0[0..47]->OXM_OF_ARP_SHA[],move:OXM_OF_ARP_SPA[]->OXM_OF_ARP_TPA[],move:NXM_NX_REG2[]->OXM_OF_ARP_SPA[],move:NXM_OF_ETH_SRC[]->NXM_OF_ETH_DST[],move:OXM_OF_PKT_REG0[0..47]->NXM_OF_ETH_SRC[],move:NXM_OF_IN_PORT[]->NXM_NX_REG3[0..15],load:0->NXM_OF_IN_PORT[],output:NXM_NX_REG3[0..15]
table=10 priority=0 action=drop
_ATEOF


    { set +x
$as_echo "$at_srcdir/system-traffic.at:3175: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:3175"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:3175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


    PIDFILE=$(mktemp ftpXXX.pid)
    ip netns exec at_ns1 $PYTHON $srcdir/test-l7.py ftp & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo ftp | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3175" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3175"
fi




         { set +x
$as_echo "$at_srcdir/system-traffic.at:3175: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget ftp://10.1.1.2 -4 --no-passive-ftp -t 3 -T 1 --retry-connrefused -v --server-response --no-remove-listing -o wget0.log -d
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3175"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget ftp://10.1.1.2 -4 --no-passive-ftp -t 3 -T 1 --retry-connrefused -v --server-response --no-remove-listing -o wget0.log -d
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:3175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



        { set +x
$as_echo "$at_srcdir/system-traffic.at:3175: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:3175"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.9,sport=<cleared>,dport=<cleared>),protoinfo=(state=<cleared>),helper=ftp
tcp,orig=(src=10.1.1.2,dst=10.1.1.9,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


    { set +x
$as_echo "$at_srcdir/system-traffic.at:3175: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3175"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:3175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3175: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:3175"
( $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-traffic.at:3175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3175: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:3175"
( $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-traffic.at:3175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3175" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3175"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3175: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:3175"
( $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-traffic.at:3175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3175: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:3175"
( $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-traffic.at:3175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3175" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3175"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3175: :; "
at_fn_check_prepare_trace "system-traffic.at:3175"
( $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-traffic.at:3175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_67
#AT_START_68
at_fn_group_banner 68 'system-traffic.at:3186' \
  "conntrack - FTP NAT prerecirc seqadj" "           " 4
at_xfail=no
(
  $as_echo "68. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

    $as_echo "system-traffic.at:3186" >"$at_check_line_file"
(test $HAVE_FTP = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:3186"
    $as_echo "system-traffic.at:3186" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:3186"





   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3186" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3186"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3186: 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-traffic.at:3186"
( $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-traffic.at:3186"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3186: 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-traffic.at:3186"
( $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-traffic.at:3186"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3186: 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-traffic.at:3186"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:3186"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:3186: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:3186"
( $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-traffic.at:3186"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3186: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:3186"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:3186"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3186: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3186"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:3186"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3186" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3186"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3186: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:3186"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:3186"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



    ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:3186: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3186"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:3186"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:3186: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3186"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:3186"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




     { set +x
$as_echo "$at_srcdir/system-traffic.at:3186: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3186"
( $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-traffic.at:3186"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3186: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:3186"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3186"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3186: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:3186"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:3186"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3186: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:3186"
( $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-traffic.at:3186"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3186: 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-traffic.at:3186"
( $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>&-
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:3186"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:3186: ip netns exec at_ns0 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-traffic.at:3186"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:3186"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:3186: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3186"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:3186"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3186: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3186"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:3186"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3186: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3186"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:3186"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


     { set +x
$as_echo "$at_srcdir/system-traffic.at:3186: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address 80:88:88:88:88:88
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3186"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address 80:88:88:88:88:88
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:3186"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


     { set +x
$as_echo "$at_srcdir/system-traffic.at:3186: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3186"
( $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-traffic.at:3186"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3186: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:3186"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3186"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3186: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:3186"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:3186"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3186: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:3186"
( $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-traffic.at:3186"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3186: 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-traffic.at:3186"
( $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>&-
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:3186"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:3186: ip netns exec at_ns1 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-traffic.at:3186"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:3186"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:3186: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3186"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:3186"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3186: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3186"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:3186"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3186: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3186"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:3186"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



        cat >flows.txt <<'_ATEOF'
table=0 in_port=1, ip, action=ct(table=1,nat)
table=0 in_port=2, ip, action=ct(table=2,nat)
table=0 priority=100 arp arp_op=1 action=move:OXM_OF_ARP_TPA[]->NXM_NX_REG2[],resubmit(,8),goto_table:10
table=0 priority=10 arp action=normal
table=0 priority=0 action=drop
table=1 ct_state=+new, tcp, tp_dst=21, nw_src=10.1.1.1, action=ct(alg=ftp,commit,nat(src=10.1.1.240)),2
table=1 ct_state=+est, tcp, nw_src=10.1.1.240,     action=2
table=1 priority=10, tcp, action=drop
table=1 priority=0,action=drop
table=2 ct_state=+est, tcp, nw_dst=10.1.1.1, action=1
table=2 ct_state=+new+rel, tcp, nw_dst=10.1.1.240, action=ct(commit,nat),1
table=2 ct_state=+rel, icmp, nw_dst=10.1.1.1, action=1
table=2 priority=10, tcp, action=drop
table=2 priority=0, action=drop
table=8,reg2=0x0a0101f0/0xffffffff,action=load:0x808888888888->OXM_OF_PKT_REG0[]
table=8,priority=0,action=load:0->OXM_OF_PKT_REG0[]
table=10 priority=100 arp xreg0=0 action=normal
table=10 priority=10,arp,arp_op=1,action=load:2->OXM_OF_ARP_OP[],move:OXM_OF_ARP_SHA[]->OXM_OF_ARP_THA[],move:OXM_OF_PKT_REG0[0..47]->OXM_OF_ARP_SHA[],move:OXM_OF_ARP_SPA[]->OXM_OF_ARP_TPA[],move:NXM_NX_REG2[]->OXM_OF_ARP_SPA[],move:NXM_OF_ETH_SRC[]->NXM_OF_ETH_DST[],move:OXM_OF_PKT_REG0[0..47]->NXM_OF_ETH_SRC[],move:NXM_OF_IN_PORT[]->NXM_NX_REG3[0..15],load:0->NXM_OF_IN_PORT[],output:NXM_NX_REG3[0..15]
table=10 priority=0 action=drop
_ATEOF


    { set +x
$as_echo "$at_srcdir/system-traffic.at:3186: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:3186"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:3186"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


    PIDFILE=$(mktemp ftpXXX.pid)
    ip netns exec at_ns1 $PYTHON $srcdir/test-l7.py ftp & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo ftp | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3186" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3186"
fi




         { set +x
$as_echo "$at_srcdir/system-traffic.at:3186: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget ftp://10.1.1.2 -4 --no-passive-ftp -t 3 -T 1 --retry-connrefused -v --server-response --no-remove-listing -o wget0.log -d
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3186"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget ftp://10.1.1.2 -4 --no-passive-ftp -t 3 -T 1 --retry-connrefused -v --server-response --no-remove-listing -o wget0.log -d
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:3186"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



        { set +x
$as_echo "$at_srcdir/system-traffic.at:3186: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:3186"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.240,sport=<cleared>,dport=<cleared>),protoinfo=(state=<cleared>),helper=ftp
tcp,orig=(src=10.1.1.2,dst=10.1.1.240,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3186"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


    { set +x
$as_echo "$at_srcdir/system-traffic.at:3186: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3186"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:3186"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3186: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:3186"
( $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-traffic.at:3186"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3186: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:3186"
( $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-traffic.at:3186"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3186" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3186"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3186: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:3186"
( $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-traffic.at:3186"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3186: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:3186"
( $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-traffic.at:3186"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3186" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3186"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3186: :; "
at_fn_check_prepare_trace "system-traffic.at:3186"
( $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-traffic.at:3186"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_68
#AT_START_69
at_fn_group_banner 69 'system-traffic.at:3241' \
  "conntrack - FTP NAT postrecirc " "                " 4
at_xfail=no
(
  $as_echo "69. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

    $as_echo "system-traffic.at:3241" >"$at_check_line_file"
(test $HAVE_FTP = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:3241"
    $as_echo "system-traffic.at:3241" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:3241"





   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3241" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3241"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3241: 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-traffic.at:3241"
( $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-traffic.at:3241"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3241: 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-traffic.at:3241"
( $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-traffic.at:3241"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3241: 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-traffic.at:3241"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:3241"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:3241: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:3241"
( $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-traffic.at:3241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3241: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:3241"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:3241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3241: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3241"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:3241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3241" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3241"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3241: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:3241"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:3241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



    ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:3241: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3241"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:3241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:3241: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3241"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:3241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




     { set +x
$as_echo "$at_srcdir/system-traffic.at:3241: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3241"
( $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-traffic.at:3241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3241: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:3241"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3241: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:3241"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:3241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3241: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:3241"
( $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-traffic.at:3241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3241: 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-traffic.at:3241"
( $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>&-
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:3241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:3241: ip netns exec at_ns0 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-traffic.at:3241"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:3241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:3241: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3241"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:3241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3241: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3241"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:3241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3241: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3241"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:3241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


     { set +x
$as_echo "$at_srcdir/system-traffic.at:3241: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address 80:88:88:88:88:88
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3241"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address 80:88:88:88:88:88
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:3241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


     { set +x
$as_echo "$at_srcdir/system-traffic.at:3241: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3241"
( $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-traffic.at:3241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3241: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:3241"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3241: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:3241"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:3241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3241: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:3241"
( $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-traffic.at:3241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3241: 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-traffic.at:3241"
( $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>&-
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:3241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:3241: ip netns exec at_ns1 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-traffic.at:3241"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:3241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:3241: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3241"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:3241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3241: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3241"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:3241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3241: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3241"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:3241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



        cat >flows.txt <<'_ATEOF'
table=0 ip, action=ct(table=1)
table=0 priority=100 arp arp_op=1 action=move:OXM_OF_ARP_TPA[]->NXM_NX_REG2[],resubmit(,8),goto_table:10
table=0 priority=10 arp action=normal
table=0 priority=0 action=drop
table=1 in_port=1 ct_state=+new, tcp, tp_dst=21, action=ct(alg=ftp,commit,nat(src=10.1.1.9)),2
table=1 in_port=1 ct_state=+est, tcp,     action=ct(nat),2
table=1 in_port=2 ct_state=+est, tcp,     action=ct(nat),1
table=1 in_port=2 ct_state=+new+rel, tcp, action=ct(commit,nat),1
table=1 in_port=2 ct_state=+rel, icmp,    action=ct(nat),1
table=1 priority=0, action=drop
table=8,reg2=0x0a010109/0xffffffff,action=load:0x808888888888->OXM_OF_PKT_REG0[]
table=8,priority=0,action=load:0->OXM_OF_PKT_REG0[]
table=10 priority=100 arp xreg0=0 action=normal
table=10 priority=10,arp,arp_op=1,action=load:2->OXM_OF_ARP_OP[],move:OXM_OF_ARP_SHA[]->OXM_OF_ARP_THA[],move:OXM_OF_PKT_REG0[0..47]->OXM_OF_ARP_SHA[],move:OXM_OF_ARP_SPA[]->OXM_OF_ARP_TPA[],move:NXM_NX_REG2[]->OXM_OF_ARP_SPA[],move:NXM_OF_ETH_SRC[]->NXM_OF_ETH_DST[],move:OXM_OF_PKT_REG0[0..47]->NXM_OF_ETH_SRC[],move:NXM_OF_IN_PORT[]->NXM_NX_REG3[0..15],load:0->NXM_OF_IN_PORT[],output:NXM_NX_REG3[0..15]
table=10 priority=0 action=drop
_ATEOF


    { set +x
$as_echo "$at_srcdir/system-traffic.at:3241: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:3241"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:3241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


    PIDFILE=$(mktemp ftpXXX.pid)
    ip netns exec at_ns1 $PYTHON $srcdir/test-l7.py ftp & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo ftp | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3241" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3241"
fi




         { set +x
$as_echo "$at_srcdir/system-traffic.at:3241: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget ftp://10.1.1.2 -4 --no-passive-ftp -t 3 -T 1 --retry-connrefused -v --server-response --no-remove-listing -o wget0.log -d
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3241"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget ftp://10.1.1.2 -4 --no-passive-ftp -t 3 -T 1 --retry-connrefused -v --server-response --no-remove-listing -o wget0.log -d
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:3241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



        { set +x
$as_echo "$at_srcdir/system-traffic.at:3241: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:3241"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.9,sport=<cleared>,dport=<cleared>),protoinfo=(state=<cleared>),helper=ftp
tcp,orig=(src=10.1.1.2,dst=10.1.1.9,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


    { set +x
$as_echo "$at_srcdir/system-traffic.at:3241: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3241"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:3241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3241: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:3241"
( $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-traffic.at:3241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3241: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:3241"
( $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-traffic.at:3241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3241" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3241"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3241: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:3241"
( $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-traffic.at:3241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3241: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:3241"
( $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-traffic.at:3241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3241" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3241"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3241: :; "
at_fn_check_prepare_trace "system-traffic.at:3241"
( $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-traffic.at:3241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_69
#AT_START_70
at_fn_group_banner 70 'system-traffic.at:3252' \
  "conntrack - FTP NAT postrecirc seqadj" "          " 4
at_xfail=no
(
  $as_echo "70. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

    $as_echo "system-traffic.at:3252" >"$at_check_line_file"
(test $HAVE_FTP = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:3252"
    $as_echo "system-traffic.at:3252" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:3252"





   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3252" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3252"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3252: 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-traffic.at:3252"
( $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-traffic.at:3252"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3252: 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-traffic.at:3252"
( $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-traffic.at:3252"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3252: 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-traffic.at:3252"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:3252"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:3252: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:3252"
( $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-traffic.at:3252"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3252: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:3252"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:3252"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3252: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3252"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:3252"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3252" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3252"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3252: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:3252"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:3252"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



    ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:3252: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3252"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:3252"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:3252: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3252"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:3252"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




     { set +x
$as_echo "$at_srcdir/system-traffic.at:3252: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3252"
( $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-traffic.at:3252"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3252: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:3252"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3252"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3252: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:3252"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:3252"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3252: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:3252"
( $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-traffic.at:3252"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3252: 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-traffic.at:3252"
( $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>&-
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:3252"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:3252: ip netns exec at_ns0 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-traffic.at:3252"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:3252"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:3252: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3252"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:3252"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3252: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3252"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:3252"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3252: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3252"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:3252"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


     { set +x
$as_echo "$at_srcdir/system-traffic.at:3252: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address 80:88:88:88:88:88
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3252"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address 80:88:88:88:88:88
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:3252"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


     { set +x
$as_echo "$at_srcdir/system-traffic.at:3252: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3252"
( $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-traffic.at:3252"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3252: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:3252"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3252"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3252: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:3252"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:3252"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3252: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:3252"
( $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-traffic.at:3252"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3252: 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-traffic.at:3252"
( $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>&-
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:3252"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:3252: ip netns exec at_ns1 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-traffic.at:3252"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:3252"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:3252: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3252"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:3252"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3252: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3252"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:3252"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3252: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3252"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:3252"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



        cat >flows.txt <<'_ATEOF'
table=0 ip, action=ct(table=1)
table=0 priority=100 arp arp_op=1 action=move:OXM_OF_ARP_TPA[]->NXM_NX_REG2[],resubmit(,8),goto_table:10
table=0 priority=10 arp action=normal
table=0 priority=0 action=drop
table=1 in_port=1 ct_state=+new, tcp, tp_dst=21, action=ct(alg=ftp,commit,nat(src=10.1.1.240)),2
table=1 in_port=1 ct_state=+est, tcp,     action=ct(nat),2
table=1 in_port=2 ct_state=+est, tcp,     action=ct(nat),1
table=1 in_port=2 ct_state=+new+rel, tcp, action=ct(commit,nat),1
table=1 in_port=2 ct_state=+rel, icmp,    action=ct(nat),1
table=1 priority=0, action=drop
table=8,reg2=0x0a0101f0/0xffffffff,action=load:0x808888888888->OXM_OF_PKT_REG0[]
table=8,priority=0,action=load:0->OXM_OF_PKT_REG0[]
table=10 priority=100 arp xreg0=0 action=normal
table=10 priority=10,arp,arp_op=1,action=load:2->OXM_OF_ARP_OP[],move:OXM_OF_ARP_SHA[]->OXM_OF_ARP_THA[],move:OXM_OF_PKT_REG0[0..47]->OXM_OF_ARP_SHA[],move:OXM_OF_ARP_SPA[]->OXM_OF_ARP_TPA[],move:NXM_NX_REG2[]->OXM_OF_ARP_SPA[],move:NXM_OF_ETH_SRC[]->NXM_OF_ETH_DST[],move:OXM_OF_PKT_REG0[0..47]->NXM_OF_ETH_SRC[],move:NXM_OF_IN_PORT[]->NXM_NX_REG3[0..15],load:0->NXM_OF_IN_PORT[],output:NXM_NX_REG3[0..15]
table=10 priority=0 action=drop
_ATEOF


    { set +x
$as_echo "$at_srcdir/system-traffic.at:3252: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:3252"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:3252"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


    PIDFILE=$(mktemp ftpXXX.pid)
    ip netns exec at_ns1 $PYTHON $srcdir/test-l7.py ftp & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo ftp | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3252" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3252"
fi




         { set +x
$as_echo "$at_srcdir/system-traffic.at:3252: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget ftp://10.1.1.2 -4 --no-passive-ftp -t 3 -T 1 --retry-connrefused -v --server-response --no-remove-listing -o wget0.log -d
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3252"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget ftp://10.1.1.2 -4 --no-passive-ftp -t 3 -T 1 --retry-connrefused -v --server-response --no-remove-listing -o wget0.log -d
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:3252"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



        { set +x
$as_echo "$at_srcdir/system-traffic.at:3252: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:3252"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.240,sport=<cleared>,dport=<cleared>),protoinfo=(state=<cleared>),helper=ftp
tcp,orig=(src=10.1.1.2,dst=10.1.1.240,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3252"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


    { set +x
$as_echo "$at_srcdir/system-traffic.at:3252: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3252"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:3252"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3252: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:3252"
( $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-traffic.at:3252"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3252: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:3252"
( $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-traffic.at:3252"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3252" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3252"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3252: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:3252"
( $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-traffic.at:3252"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3252: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:3252"
( $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-traffic.at:3252"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3252" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3252"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3252: :; "
at_fn_check_prepare_trace "system-traffic.at:3252"
( $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-traffic.at:3252"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_70
#AT_START_71
at_fn_group_banner 71 'system-traffic.at:3372' \
  "conntrack - FTP NAT orig tuple " "                " 4
at_xfail=no
(
  $as_echo "71. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

    $as_echo "system-traffic.at:3372" >"$at_check_line_file"
(test $HAVE_FTP = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:3372"
    $as_echo "system-traffic.at:3372" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:3372"





   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3372" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3372"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3372: 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-traffic.at:3372"
( $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-traffic.at:3372"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3372: 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-traffic.at:3372"
( $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-traffic.at:3372"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3372: 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-traffic.at:3372"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:3372"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:3372: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:3372"
( $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-traffic.at:3372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3372: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:3372"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:3372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3372: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3372"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:3372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3372" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3372"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3372: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:3372"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:3372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



    ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:3372: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3372"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:3372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:3372: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3372"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:3372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




     { set +x
$as_echo "$at_srcdir/system-traffic.at:3372: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3372"
( $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-traffic.at:3372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3372: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:3372"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3372: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:3372"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:3372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3372: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:3372"
( $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-traffic.at:3372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3372: 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-traffic.at:3372"
( $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>&-
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:3372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:3372: ip netns exec at_ns0 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-traffic.at:3372"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:3372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:3372: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3372"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:3372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3372: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3372"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:3372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3372: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3372"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:3372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


     { set +x
$as_echo "$at_srcdir/system-traffic.at:3372: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address 80:88:88:88:88:88
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3372"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address 80:88:88:88:88:88
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:3372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


     { set +x
$as_echo "$at_srcdir/system-traffic.at:3372: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3372"
( $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-traffic.at:3372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3372: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:3372"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3372: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:3372"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:3372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3372: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:3372"
( $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-traffic.at:3372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3372: 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-traffic.at:3372"
( $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>&-
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:3372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:3372: ip netns exec at_ns1 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-traffic.at:3372"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:3372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:3372: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3372"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:3372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3372: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3372"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:3372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3372: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3372"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:3372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



        cat >flows.txt <<'_ATEOF'
table=0 in_port=1, ip, action=set_field:1->reg4,set_field:1->reg3,ct(zone=NXM_NX_REG4[0..15],table=1)
table=0 in_port=2, ip, action=set_field:1->reg4,set_field:2->reg3,ct(zone=NXM_NX_REG4[0..15],nat,table=1)
table=0 priority=100 arp arp_op=1 action=move:OXM_OF_ARP_TPA[]->NXM_NX_REG2[],resubmit(,8),goto_table:10
table=0 priority=10 arp action=normal
table=0 priority=0 action=drop
table=1 reg3=1, ip, ct_state=-rel-rpl+trk-inv action=set_field:1->reg0,resubmit(,3),goto_table:5
table=1 reg3=1, ip, ct_state=-rel+rpl+trk-inv action=set_field:2->reg0,resubmit(,3,ct),goto_table:4
table=1 reg3=2, ip, ct_state=-rel-rpl+trk-inv action=set_field:2->reg0,resubmit(,3),goto_table:5
table=1 reg3=2, ip, ct_state=-rel+rpl+trk-inv action=set_field:1->reg0,resubmit(,3,ct),goto_table:4
table=1 ip, ct_state=+rel+trk-inv, action=move:NXM_NX_CT_LABEL[0]->NXM_NX_REG0[0],resubmit(,3,ct),goto_table:4
table=1 priority=0, action=drop
table=3 priority=10, reg0=1, ip, nw_src=10.1.1.1 action=set_field:1234->reg1,set_field:1->reg2
table=3 priority=0, action=set_field:1235->reg1,set_field:0->reg2
table=4 priority=100 reg2=1, action=goto_table:5
table=4 priority=0 action=move:NXM_NX_REG3[]->NXM_NX_REG0[],resubmit(,3),goto_table:5
table=5 reg2=0 priority=1000 action=drop
table=5 priority=100 reg2=1 reg3=1 ct_state=+new-rel, tcp, tp_dst=21, action=ct(zone=NXM_NX_REG4[0..15],alg=ftp,commit,nat(src=10.1.1.9),exec(move:NXM_NX_REG3[0]->NXM_NX_CT_LABEL[0],move:NXM_NX_REG1[0..31]->NXM_NX_CT_LABEL[96..127])),goto_table:6
table=5 priority=10 reg2=1 reg3=1 ct_state=+new-rel, ip, action=ct(zone=NXM_NX_REG4[0..15],commit,nat(src=10.1.1.9),exec(move:NXM_NX_REG3[0]->NXM_NX_CT_LABEL[0],move:NXM_NX_REG1[0..31]->NXM_NX_CT_LABEL[96..127])),goto_table:6
table=5 priority=10 reg2=1 reg3=2 ct_state=+new-rel, ip, action=ct(zone=NXM_NX_REG4[0..15],commit,nat(dst=10.1.1.9),exec(move:NXM_NX_REG3[0]->NXM_NX_CT_LABEL[0],move:NXM_NX_REG1[0..31]->NXM_NX_CT_LABEL[96..127])),goto_table:6
table=5 priority=10 reg2=1 ct_state=+new+rel, ip, action=ct(zone=NXM_NX_REG4[0..15],commit,nat,exec(move:NXM_NX_REG1[0..31]->NXM_NX_CT_LABEL[96..127])),goto_table:6
table=5 priority=10 ct_state=-new+trk-inv reg3=1 ip, action=ct(zone=NXM_NX_REG4[0..15],nat),goto_table:6
table=5 priority=0 action=goto_table:6
table=6 in_port=1 action=2
table=6 in_port=2 action=1
table=8,reg2=0x0a010109,action=load:0x808888888888->OXM_OF_PKT_REG0[]
table=8,priority=0,action=load:0->OXM_OF_PKT_REG0[]
table=10 priority=100 arp xreg0=0 action=normal
table=10 priority=10,arp,arp_op=1,action=load:2->OXM_OF_ARP_OP[],move:OXM_OF_ARP_SHA[]->OXM_OF_ARP_THA[],move:OXM_OF_PKT_REG0[0..47]->OXM_OF_ARP_SHA[],move:OXM_OF_ARP_SPA[]->OXM_OF_ARP_TPA[],move:NXM_NX_REG2[]->OXM_OF_ARP_SPA[],move:NXM_OF_ETH_SRC[]->NXM_OF_ETH_DST[],move:OXM_OF_PKT_REG0[0..47]->NXM_OF_ETH_SRC[],move:NXM_OF_IN_PORT[]->NXM_NX_REG3[0..15],load:0->NXM_OF_IN_PORT[],output:NXM_NX_REG3[0..15]
table=10 priority=0 action=drop
_ATEOF


    { set +x
$as_echo "$at_srcdir/system-traffic.at:3372: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:3372"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:3372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


    PIDFILE=$(mktemp ftpXXX.pid)
    ip netns exec at_ns1 $PYTHON $srcdir/test-l7.py ftp & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo ftp | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3372" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3372"
fi




         { set +x
$as_echo "$at_srcdir/system-traffic.at:3372: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget ftp://10.1.1.2 -4 --no-passive-ftp -t 3 -T 1 --retry-connrefused -v --server-response --no-remove-listing -o wget0.log -d
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3372"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget ftp://10.1.1.2 -4 --no-passive-ftp -t 3 -T 1 --retry-connrefused -v --server-response --no-remove-listing -o wget0.log -d
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:3372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



        { set +x
$as_echo "$at_srcdir/system-traffic.at:3372: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:3372"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.9,sport=<cleared>,dport=<cleared>),zone=1,labels=0x4d2000000000000000000000001,protoinfo=(state=<cleared>),helper=ftp
tcp,orig=(src=10.1.1.2,dst=10.1.1.9,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),zone=1,labels=0x4d2000000000000000000000001,protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


    { set +x
$as_echo "$at_srcdir/system-traffic.at:3372: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3372"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:3372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3372: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:3372"
( $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-traffic.at:3372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3372: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:3372"
( $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-traffic.at:3372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3372" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3372"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3372: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:3372"
( $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-traffic.at:3372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3372: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:3372"
( $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-traffic.at:3372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3372" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3372"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3372: :; "
at_fn_check_prepare_trace "system-traffic.at:3372"
( $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-traffic.at:3372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_71
#AT_START_72
at_fn_group_banner 72 'system-traffic.at:3376' \
  "conntrack - FTP NAT orig tuple seqadj" "          " 4
at_xfail=no
(
  $as_echo "72. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

    $as_echo "system-traffic.at:3376" >"$at_check_line_file"
(test $HAVE_FTP = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:3376"
    $as_echo "system-traffic.at:3376" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:3376"





   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3376" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3376"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3376: 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-traffic.at:3376"
( $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-traffic.at:3376"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3376: 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-traffic.at:3376"
( $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-traffic.at:3376"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3376: 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-traffic.at:3376"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:3376"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:3376: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:3376"
( $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-traffic.at:3376"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3376: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:3376"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:3376"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3376: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3376"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:3376"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3376" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3376"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3376: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:3376"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:3376"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



    ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:3376: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3376"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:3376"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:3376: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3376"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:3376"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




     { set +x
$as_echo "$at_srcdir/system-traffic.at:3376: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3376"
( $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-traffic.at:3376"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3376: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:3376"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3376"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3376: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:3376"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:3376"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3376: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:3376"
( $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-traffic.at:3376"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3376: 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-traffic.at:3376"
( $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>&-
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:3376"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:3376: ip netns exec at_ns0 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-traffic.at:3376"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:3376"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:3376: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3376"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:3376"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3376: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3376"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:3376"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3376: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3376"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:3376"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


     { set +x
$as_echo "$at_srcdir/system-traffic.at:3376: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address 80:88:88:88:88:88
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3376"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address 80:88:88:88:88:88
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:3376"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


     { set +x
$as_echo "$at_srcdir/system-traffic.at:3376: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3376"
( $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-traffic.at:3376"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3376: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:3376"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3376"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3376: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:3376"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:3376"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3376: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:3376"
( $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-traffic.at:3376"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3376: 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-traffic.at:3376"
( $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>&-
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:3376"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:3376: ip netns exec at_ns1 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-traffic.at:3376"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:3376"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:3376: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3376"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:3376"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3376: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3376"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:3376"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3376: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3376"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:3376"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



        cat >flows.txt <<'_ATEOF'
table=0 in_port=1, ip, action=set_field:1->reg4,set_field:1->reg3,ct(zone=NXM_NX_REG4[0..15],table=1)
table=0 in_port=2, ip, action=set_field:1->reg4,set_field:2->reg3,ct(zone=NXM_NX_REG4[0..15],nat,table=1)
table=0 priority=100 arp arp_op=1 action=move:OXM_OF_ARP_TPA[]->NXM_NX_REG2[],resubmit(,8),goto_table:10
table=0 priority=10 arp action=normal
table=0 priority=0 action=drop
table=1 reg3=1, ip, ct_state=-rel-rpl+trk-inv action=set_field:1->reg0,resubmit(,3),goto_table:5
table=1 reg3=1, ip, ct_state=-rel+rpl+trk-inv action=set_field:2->reg0,resubmit(,3,ct),goto_table:4
table=1 reg3=2, ip, ct_state=-rel-rpl+trk-inv action=set_field:2->reg0,resubmit(,3),goto_table:5
table=1 reg3=2, ip, ct_state=-rel+rpl+trk-inv action=set_field:1->reg0,resubmit(,3,ct),goto_table:4
table=1 ip, ct_state=+rel+trk-inv, action=move:NXM_NX_CT_LABEL[0]->NXM_NX_REG0[0],resubmit(,3,ct),goto_table:4
table=1 priority=0, action=drop
table=3 priority=10, reg0=1, ip, nw_src=10.1.1.1 action=set_field:1234->reg1,set_field:1->reg2
table=3 priority=0, action=set_field:1235->reg1,set_field:0->reg2
table=4 priority=100 reg2=1, action=goto_table:5
table=4 priority=0 action=move:NXM_NX_REG3[]->NXM_NX_REG0[],resubmit(,3),goto_table:5
table=5 reg2=0 priority=1000 action=drop
table=5 priority=100 reg2=1 reg3=1 ct_state=+new-rel, tcp, tp_dst=21, action=ct(zone=NXM_NX_REG4[0..15],alg=ftp,commit,nat(src=10.1.1.240),exec(move:NXM_NX_REG3[0]->NXM_NX_CT_LABEL[0],move:NXM_NX_REG1[0..31]->NXM_NX_CT_LABEL[96..127])),goto_table:6
table=5 priority=10 reg2=1 reg3=1 ct_state=+new-rel, ip, action=ct(zone=NXM_NX_REG4[0..15],commit,nat(src=10.1.1.240),exec(move:NXM_NX_REG3[0]->NXM_NX_CT_LABEL[0],move:NXM_NX_REG1[0..31]->NXM_NX_CT_LABEL[96..127])),goto_table:6
table=5 priority=10 reg2=1 reg3=2 ct_state=+new-rel, ip, action=ct(zone=NXM_NX_REG4[0..15],commit,nat(dst=10.1.1.240),exec(move:NXM_NX_REG3[0]->NXM_NX_CT_LABEL[0],move:NXM_NX_REG1[0..31]->NXM_NX_CT_LABEL[96..127])),goto_table:6
table=5 priority=10 reg2=1 ct_state=+new+rel, ip, action=ct(zone=NXM_NX_REG4[0..15],commit,nat,exec(move:NXM_NX_REG1[0..31]->NXM_NX_CT_LABEL[96..127])),goto_table:6
table=5 priority=10 ct_state=-new+trk-inv reg3=1 ip, action=ct(zone=NXM_NX_REG4[0..15],nat),goto_table:6
table=5 priority=0 action=goto_table:6
table=6 in_port=1 action=2
table=6 in_port=2 action=1
table=8,reg2=0x0a0101f0,action=load:0x808888888888->OXM_OF_PKT_REG0[]
table=8,priority=0,action=load:0->OXM_OF_PKT_REG0[]
table=10 priority=100 arp xreg0=0 action=normal
table=10 priority=10,arp,arp_op=1,action=load:2->OXM_OF_ARP_OP[],move:OXM_OF_ARP_SHA[]->OXM_OF_ARP_THA[],move:OXM_OF_PKT_REG0[0..47]->OXM_OF_ARP_SHA[],move:OXM_OF_ARP_SPA[]->OXM_OF_ARP_TPA[],move:NXM_NX_REG2[]->OXM_OF_ARP_SPA[],move:NXM_OF_ETH_SRC[]->NXM_OF_ETH_DST[],move:OXM_OF_PKT_REG0[0..47]->NXM_OF_ETH_SRC[],move:NXM_OF_IN_PORT[]->NXM_NX_REG3[0..15],load:0->NXM_OF_IN_PORT[],output:NXM_NX_REG3[0..15]
table=10 priority=0 action=drop
_ATEOF


    { set +x
$as_echo "$at_srcdir/system-traffic.at:3376: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:3376"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:3376"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


    PIDFILE=$(mktemp ftpXXX.pid)
    ip netns exec at_ns1 $PYTHON $srcdir/test-l7.py ftp & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo ftp | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3376" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3376"
fi




         { set +x
$as_echo "$at_srcdir/system-traffic.at:3376: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget ftp://10.1.1.2 -4 --no-passive-ftp -t 3 -T 1 --retry-connrefused -v --server-response --no-remove-listing -o wget0.log -d
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3376"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget ftp://10.1.1.2 -4 --no-passive-ftp -t 3 -T 1 --retry-connrefused -v --server-response --no-remove-listing -o wget0.log -d
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:3376"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



        { set +x
$as_echo "$at_srcdir/system-traffic.at:3376: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:3376"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.240,sport=<cleared>,dport=<cleared>),zone=1,labels=0x4d2000000000000000000000001,protoinfo=(state=<cleared>),helper=ftp
tcp,orig=(src=10.1.1.2,dst=10.1.1.240,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),zone=1,labels=0x4d2000000000000000000000001,protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3376"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


    { set +x
$as_echo "$at_srcdir/system-traffic.at:3376: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3376"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:3376"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3376: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:3376"
( $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-traffic.at:3376"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3376: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:3376"
( $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-traffic.at:3376"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3376" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3376"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3376: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:3376"
( $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-traffic.at:3376"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3376: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:3376"
( $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-traffic.at:3376"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3376" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3376"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3376: :; "
at_fn_check_prepare_trace "system-traffic.at:3376"
( $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-traffic.at:3376"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_72
#AT_START_73
at_fn_group_banner 73 'system-traffic.at:3378' \
  "conntrack - IPv4 FTP Passive with NAT" "          " 4
at_xfail=no
(
  $as_echo "73. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:3379" >"$at_check_line_file"
(test $HAVE_FTP = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:3379"
$as_echo "system-traffic.at:3380" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:3380"





   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3384" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3384"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3384: 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-traffic.at:3384"
( $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-traffic.at:3384"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3384: 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-traffic.at:3384"
( $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-traffic.at:3384"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3384: 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-traffic.at:3384"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:3384"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:3384: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:3384"
( $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-traffic.at:3384"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3384: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:3384"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:3384"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3384: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3384"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:3384"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3384" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3384"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3384: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:3384"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:3384"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:3386: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3386"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:3386"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:3386: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3386"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:3386"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:3388: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3388"
( $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-traffic.at:3388"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3388: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:3388"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3388"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3388: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:3388"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:3388"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3388: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:3388"
( $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-traffic.at:3388"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3388: 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-traffic.at:3388"
( $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>&-
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:3388"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:3388: ip netns exec at_ns0 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-traffic.at:3388"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:3388"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:3388: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3388"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:3388"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3388: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3388"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:3388"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3388: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3388"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:3388"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3389: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address e6:66:c1:11:11:11
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3389"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address e6:66:c1:11:11:11
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:3389"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3390: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
arp -s 10.1.1.2 e6:66:c1:22:22:22
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3390"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
arp -s 10.1.1.2 e6:66:c1:22:22:22
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:3390"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



 { set +x
$as_echo "$at_srcdir/system-traffic.at:3392: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3392"
( $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-traffic.at:3392"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3392: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:3392"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3392"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3392: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:3392"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:3392"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3392: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:3392"
( $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-traffic.at:3392"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3392: 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-traffic.at:3392"
( $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>&-
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:3392"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:3392: ip netns exec at_ns1 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-traffic.at:3392"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:3392"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:3392: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3392"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:3392"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3392: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3392"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:3392"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3392: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3392"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:3392"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3393: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address e6:66:c1:22:22:22
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3393"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address e6:66:c1:22:22:22
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:3393"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3394: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
arp -s 10.1.1.1 e6:66:c1:11:11:11
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3394"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
arp -s 10.1.1.1 e6:66:c1:11:11:11
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:3394"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3395: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
arp -s 10.1.1.240 e6:66:c1:11:11:11
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3395"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
arp -s 10.1.1.240 e6:66:c1:11:11:11
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:3395"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



cat >flows.txt <<'_ATEOF'
table=0 priority=10 ip, action=ct(nat,table=1)
table=0 priority=0 action=drop
table=1 in_port=1 ct_state=+new tcp nw_src=10.1.1.1 tp_dst=21  action=ct(alg=ftp,commit,nat(src=10.1.1.240)),2
table=1 in_port=1 ct_state=+new+rel tcp nw_src=10.1.1.1 action=ct(commit,nat),2
table=1 in_port=1 ct_state=+est tcp nw_src=10.1.1.240 action=2
table=1 in_port=2 ct_state=+est tcp nw_dst=10.1.1.1 action=1

table=1 priority=100 in_port=1 icmp, action=2
table=1 priority=100 in_port=2 icmp, action=1
table=1 priority=0, action=drop
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:3419: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:3419"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:3419"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs_wait_cond () {
    ip netns exec at_ns0 ping -c 1 10.1.1.2 >/dev/null
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3422" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3422"
fi


PIDFILE=$(mktemp ftpXXX.pid)
    ip netns exec at_ns1 $PYTHON $srcdir/test-l7.py ftp & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo ftp | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3424" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3424"
fi




 { set +x
$as_echo "$at_srcdir/system-traffic.at:3427: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget ftp://10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3427"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget ftp://10.1.1.2 -t 3 -T 1 --retry-connrefused -v -o wget0.log
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:3427"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:3430: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:3430"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.240,sport=<cleared>,dport=<cleared>),protoinfo=(state=<cleared>)
tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.240,sport=<cleared>,dport=<cleared>),protoinfo=(state=<cleared>),helper=ftp
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3430"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:3435: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3435"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:3435"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3435: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:3435"
( $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-traffic.at:3435"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3435: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:3435"
( $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-traffic.at:3435"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3435" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3435"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3435: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:3435"
( $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-traffic.at:3435"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3435: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:3435"
( $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-traffic.at:3435"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3435" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3435"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3435: :; "
at_fn_check_prepare_trace "system-traffic.at:3435"
( $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-traffic.at:3435"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_73
#AT_START_74
at_fn_group_banner 74 'system-traffic.at:3438' \
  "conntrack - IPv6 HTTP with SNAT" "                " 4
at_xfail=no
(
  $as_echo "74. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:3439" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:3439"



   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3441" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3441"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3441: 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-traffic.at:3441"
( $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-traffic.at:3441"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3441: 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-traffic.at:3441"
( $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-traffic.at:3441"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3441: 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-traffic.at:3441"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:3441"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:3441: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:3441"
( $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-traffic.at:3441"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3441: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:3441"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:3441"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3441: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3441"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:3441"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3441" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3441"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3441: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:3441"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:3441"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:3443: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3443"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:3443"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:3443: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3443"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:3443"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:3445: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3445"
( $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-traffic.at:3445"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3445: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:3445"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3445"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3445: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:3445"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:3445"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3445: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:3445"
( $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-traffic.at:3445"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3445: 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-traffic.at:3445"
( $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>&-
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:3445"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:3445: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add \"fc00::1/96\" dev p0
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3445"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "fc00::1/96" dev p0
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:3445"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:3445: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3445"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:3445"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3445: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3445"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:3445"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3445: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3445"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:3445"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3446: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address 80:88:88:88:88:88
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3446"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address 80:88:88:88:88:88
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:3446"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3447: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3447"
( $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-traffic.at:3447"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3447: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:3447"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3447"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3447: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:3447"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:3447"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3447: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:3447"
( $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-traffic.at:3447"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3447: 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-traffic.at:3447"
( $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>&-
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:3447"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:3447: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add \"fc00::2/96\" dev p1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3447"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "fc00::2/96" dev p1
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:3447"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:3447: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3447"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:3447"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3447: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3447"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:3447"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3447: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3447"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:3447"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3448: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip -6 neigh add fc00::240 lladdr 80:88:88:88:88:88 dev p1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3448"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip -6 neigh add fc00::240 lladdr 80:88:88:88:88:88 dev p1
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:3448"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3449: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip -6 neigh add fc00::241 lladdr 80:88:88:88:88:88 dev p1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3449"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip -6 neigh add fc00::241 lladdr 80:88:88:88:88:88 dev p1
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:3449"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



cat >flows.txt <<'_ATEOF'
priority=1,action=drop
priority=10,icmp6,action=normal
priority=100,in_port=1,ip6,action=ct(commit,nat(src=fc00::240-fc00::241)),2
priority=100,in_port=2,ct_state=-trk,ip6,action=ct(nat,table=0)
priority=100,in_port=2,ct_state=+trk+est,ip6,action=1
priority=200,in_port=2,ct_state=+trk+new,icmp6,icmpv6_code=0,icmpv6_type=135,nd_target=fc00::240,action=ct(commit,nat(dst=fc00::1)),1
priority=200,in_port=2,ct_state=+trk+new,icmp6,icmpv6_code=0,icmpv6_type=135,nd_target=fc00::241,action=ct(commit,nat(dst=fc00::1)),1
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:3462: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:3462"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:3462"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs_wait_cond () {
    ip netns exec at_ns0 ping6 -c 1 fc00::2
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3467" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3467"
fi


PIDFILE=$(mktemp http6XXX.pid)
    ip netns exec at_ns1 $PYTHON $srcdir/test-l7.py http6 & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http6 | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3470" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3470"
fi




 { set +x
$as_echo "$at_srcdir/system-traffic.at:3472: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget http://[fc00::2] -t 3 -T 1 --retry-connrefused -v -o wget0.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3472"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget http://[fc00::2] -t 3 -T 1 --retry-connrefused -v -o wget0.log
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:3472"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



PIDFILE=$(mktemp http6XXX.pid)
    ip netns exec at_ns0 $PYTHON $srcdir/test-l7.py http6 & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http6 | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3476" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3476"
fi



 { set +x
$as_echo "$at_srcdir/system-traffic.at:3477: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
wget http://[fc00::1] -t 3 -T 1 -v -o wget1.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3477"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
wget http://[fc00::1] -t 3 -T 1 -v -o wget1.log
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 4 $at_status "$at_srcdir/system-traffic.at:3477"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:3479: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3479"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:3479"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3479: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:3479"
( $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-traffic.at:3479"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3479: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:3479"
( $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-traffic.at:3479"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3479" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3479"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3479: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:3479"
( $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-traffic.at:3479"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3479: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:3479"
( $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-traffic.at:3479"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3479" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3479"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3479: :; "
at_fn_check_prepare_trace "system-traffic.at:3479"
( $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-traffic.at:3479"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_74
#AT_START_75
at_fn_group_banner 75 'system-traffic.at:3482' \
  "conntrack - IPv6 HTTP with DNAT" "                " 4
at_xfail=no
(
  $as_echo "75. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:3483" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:3483"



   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3485" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3485"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3485: 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-traffic.at:3485"
( $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-traffic.at:3485"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3485: 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-traffic.at:3485"
( $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-traffic.at:3485"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3485: 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-traffic.at:3485"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:3485"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:3485: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:3485"
( $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-traffic.at:3485"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3485: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:3485"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:3485"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3485: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3485"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:3485"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3485" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3485"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3485: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:3485"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:3485"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:3487: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3487"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:3487"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:3487: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3487"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:3487"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:3489: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3489"
( $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-traffic.at:3489"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3489: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:3489"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3489"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3489: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:3489"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:3489"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3489: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:3489"
( $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-traffic.at:3489"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3489: 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-traffic.at:3489"
( $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>&-
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:3489"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:3489: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add \"fc00::1/96\" dev p0
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3489"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "fc00::1/96" dev p0
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:3489"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:3489: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3489"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:3489"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3489: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3489"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:3489"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3489: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3489"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:3489"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3490: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3490"
( $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-traffic.at:3490"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3490: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:3490"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3490"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3490: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:3490"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:3490"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3490: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:3490"
( $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-traffic.at:3490"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3490: 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-traffic.at:3490"
( $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>&-
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:3490"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:3490: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add \"fc00::2/96\" dev p1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3490"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "fc00::2/96" dev p1
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:3490"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:3490: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3490"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:3490"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3490: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3490"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:3490"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3490: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3490"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:3490"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3491: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip -6 link set dev p0 address 80:88:88:88:88:77
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3491"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip -6 link set dev p0 address 80:88:88:88:88:77
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:3491"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3492: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip -6 link set dev p1 address 80:88:88:88:88:88
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3492"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip -6 link set dev p1 address 80:88:88:88:88:88
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:3492"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3493: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip -6 neigh add fc00::240 lladdr 80:88:88:88:88:88 dev p0
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3493"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip -6 neigh add fc00::240 lladdr 80:88:88:88:88:88 dev p0
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:3493"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3494: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip -6 neigh add fc00::1 lladdr 80:88:88:88:88:77 dev p1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3494"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip -6 neigh add fc00::1 lladdr 80:88:88:88:88:77 dev p1
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:3494"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



cat >flows.txt <<'_ATEOF'
priority=100 in_port=1,ip6,ipv6_dst=fc00::240,action=ct(zone=1,nat(dst=fc00::2),commit),2
priority=100 in_port=2,ct_state=-trk,ip6,action=ct(table=0,nat,zone=1)
priority=100 in_port=2,ct_state=+trk+est,ct_zone=1,ip6,action=1
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:3503: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:3503"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:3503"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs_wait_cond () {
    ip netns exec at_ns0 ping6 -c 1 fc00::240
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3508" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3508"
fi


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3510: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -q -c 3 -i 0.3 -w 2 fc00::240 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3510"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping6 -q -c 3 -i 0.3 -w 2 fc00::240 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:3510"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



PIDFILE=$(mktemp http6XXX.pid)
    ip netns exec at_ns1 $PYTHON $srcdir/test-l7.py http6 & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http6 | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3515" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3515"
fi



 { set +x
$as_echo "$at_srcdir/system-traffic.at:3516: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget http://[fc00::240] -t 5 -T 1 --retry-connrefused -v -o wget0.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3516"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget http://[fc00::240] -t 5 -T 1 --retry-connrefused -v -o wget0.log
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:3516"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:3518: ovs-appctl dpctl/dump-conntrack | grep \"dst=fc00::1\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:3518"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=fc00::1" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "icmpv6,orig=(src=fc00::1,dst=fc00::240,id=<cleared>,type=128,code=0),reply=(src=fc00::2,dst=fc00::1,id=<cleared>,type=129,code=0),zone=1
tcp,orig=(src=fc00::1,dst=fc00::240,sport=<cleared>,dport=<cleared>),reply=(src=fc00::2,dst=fc00::1,sport=<cleared>,dport=<cleared>),zone=1,protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3518"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:3523: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3523"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:3523"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3523: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:3523"
( $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-traffic.at:3523"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3523: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:3523"
( $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-traffic.at:3523"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3523" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3523"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3523: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:3523"
( $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-traffic.at:3523"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3523: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:3523"
( $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-traffic.at:3523"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3523" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3523"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3523: :; "
at_fn_check_prepare_trace "system-traffic.at:3523"
( $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-traffic.at:3523"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_75
#AT_START_76
at_fn_group_banner 76 'system-traffic.at:3526' \
  "conntrack - IPv6 ICMP6 Related with SNAT" "       " 4
at_xfail=no
(
  $as_echo "76. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:3527" >"$at_check_line_file"
(test $HAVE_TCPDUMP = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:3527"
$as_echo "system-traffic.at:3528" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:3528"



   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3530" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3530"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3530: 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-traffic.at:3530"
( $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-traffic.at:3530"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3530: 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-traffic.at:3530"
( $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-traffic.at:3530"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3530: 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-traffic.at:3530"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:3530"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:3530: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:3530"
( $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-traffic.at:3530"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3530: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:3530"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:3530"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3530: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3530"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:3530"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3530" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3530"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3530: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:3530"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:3530"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:3532: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3532"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:3532"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:3532: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3532"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:3532"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:3534: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3534"
( $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-traffic.at:3534"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3534: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:3534"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3534"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3534: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:3534"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:3534"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3534: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:3534"
( $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-traffic.at:3534"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3534: 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-traffic.at:3534"
( $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>&-
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:3534"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:3534: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add \"fc00::1/96\" dev p0
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3534"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "fc00::1/96" dev p0
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:3534"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:3534: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3534"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:3534"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3534: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3534"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:3534"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3534: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3534"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:3534"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3535: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3535"
( $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-traffic.at:3535"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3535: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:3535"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3535"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3535: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:3535"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:3535"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3535: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:3535"
( $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-traffic.at:3535"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3535: 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-traffic.at:3535"
( $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>&-
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:3535"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:3535: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add \"fc00::2/96\" dev p1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3535"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "fc00::2/96" dev p1
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:3535"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:3535: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3535"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:3535"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3535: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3535"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:3535"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3535: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3535"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:3535"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3536: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip -6 link set dev p0 address 80:88:88:88:88:77
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3536"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip -6 link set dev p0 address 80:88:88:88:88:77
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:3536"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3537: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip -6 link set dev p1 address 80:88:88:88:88:88
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3537"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip -6 link set dev p1 address 80:88:88:88:88:88
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:3537"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



 { set +x
$as_echo "$at_srcdir/system-traffic.at:3539: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip -6 neigh add fc00::2 lladdr 80:88:88:88:88:88 dev p0
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3539"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip -6 neigh add fc00::2 lladdr 80:88:88:88:88:88 dev p0
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:3539"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3540: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip -6 neigh add fc00::3 lladdr 80:88:88:88:88:88 dev p0
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3540"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip -6 neigh add fc00::3 lladdr 80:88:88:88:88:88 dev p0
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:3540"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3541: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip -6 neigh add fc00::240 lladdr 80:88:88:88:88:77 dev p1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3541"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip -6 neigh add fc00::240 lladdr 80:88:88:88:88:77 dev p1
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:3541"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3542: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip -6 neigh add fc00::1 lladdr 80:88:88:88:88:77 dev p1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3542"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip -6 neigh add fc00::1 lladdr 80:88:88:88:88:77 dev p1
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:3542"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



 { set +x
$as_echo "$at_srcdir/system-traffic.at:3544: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip -6 route add default via fc00::2
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3544"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip -6 route add default via fc00::2
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:3544"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



cat >flows.txt <<'_ATEOF'
priority=100 in_port=1,ip6,action=ct(nat(src=fc00::240),commit),2
priority=100 in_port=2,ct_state=-trk,ip6,action=ct(table=0,nat)
priority=100 in_port=2,ct_state=+trk+est,ip6,action=1
priority=100 in_port=2,ct_state=+trk+rel,ip6,action=1
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:3554: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:3554"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:3554"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs_wait_cond () {
    ip netns exec at_ns0 ping6 -c 1 fc00::2
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3559" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3559"
fi


{ set +x
$as_echo "$at_srcdir/system-traffic.at:3561: ovs-appctl dpctl/flush-conntrack"
at_fn_check_prepare_trace "system-traffic.at:3561"
( $at_check_trace; ovs-appctl dpctl/flush-conntrack
) >>"$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:3561"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


rm p0.pcap
tcpdump -U -i ovs-p0 -w p0.pcap &
sleep 1

 { set +x
$as_echo "$at_srcdir/system-traffic.at:3568: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
bash -c \"echo a | nc -6 \$NC_EOF_OPT -u fc00::2 1\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3568"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
bash -c "echo a | nc -6 $NC_EOF_OPT -u fc00::2 1"
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:3568"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:3570: tcpdump -v \"icmp6\" -r p0.pcap 2>/dev/null | egrep 'wrong|bad'"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:3570"
( $at_check_trace; tcpdump -v "icmp6" -r p0.pcap 2>/dev/null | egrep 'wrong|bad'
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:

at_fn_check_status 1 $at_status "$at_srcdir/system-traffic.at:3570"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:3572: ovs-appctl dpctl/dump-conntrack | grep \"dst=fc00::2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:3572"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=fc00::2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "udp,orig=(src=fc00::1,dst=fc00::2,sport=<cleared>,dport=<cleared>),reply=(src=fc00::2,dst=fc00::240,sport=<cleared>,dport=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3572"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:3576: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3576"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:3576"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3576: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:3576"
( $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-traffic.at:3576"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3576: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:3576"
( $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-traffic.at:3576"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3576" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3576"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3576: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:3576"
( $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-traffic.at:3576"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3576: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:3576"
( $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-traffic.at:3576"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3576" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3576"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3576: :; "
at_fn_check_prepare_trace "system-traffic.at:3576"
( $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-traffic.at:3576"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_76
#AT_START_77
at_fn_group_banner 77 'system-traffic.at:3579' \
  "conntrack - IPv6 FTP with NAT" "                  " 4
at_xfail=no
(
  $as_echo "77. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:3580" >"$at_check_line_file"
(test $HAVE_FTP = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:3580"
$as_echo "system-traffic.at:3581" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:3581"





   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3585" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3585"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3585: 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-traffic.at:3585"
( $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-traffic.at:3585"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3585: 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-traffic.at:3585"
( $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-traffic.at:3585"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3585: 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-traffic.at:3585"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:3585"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:3585: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:3585"
( $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-traffic.at:3585"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3585: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:3585"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:3585"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3585: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3585"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:3585"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3585" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3585"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3585: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:3585"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:3585"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:3587: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3587"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:3587"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:3587: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3587"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:3587"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:3589: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3589"
( $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-traffic.at:3589"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3589: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:3589"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3589"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3589: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:3589"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:3589"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3589: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:3589"
( $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-traffic.at:3589"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3589: 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-traffic.at:3589"
( $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>&-
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:3589"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:3589: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add \"fc00::1/96\" dev p0
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3589"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "fc00::1/96" dev p0
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:3589"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:3589: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3589"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:3589"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3589: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3589"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:3589"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3589: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3589"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:3589"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3590: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address 80:88:88:88:88:88
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3590"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address 80:88:88:88:88:88
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:3590"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3591: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3591"
( $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-traffic.at:3591"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3591: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:3591"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3591"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3591: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:3591"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:3591"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3591: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:3591"
( $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-traffic.at:3591"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3591: 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-traffic.at:3591"
( $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>&-
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:3591"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:3591: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add \"fc00::2/96\" dev p1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3591"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "fc00::2/96" dev p1
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:3591"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:3591: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3591"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:3591"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3591: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3591"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:3591"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3591: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3591"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:3591"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3593: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip -6 neigh add fc00::240 lladdr 80:88:88:88:88:88 dev p1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3593"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip -6 neigh add fc00::240 lladdr 80:88:88:88:88:88 dev p1
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:3593"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



cat >flows.txt <<'_ATEOF'
table=0 priority=10 ip6, action=ct(nat,table=1)
table=0 priority=0 action=drop
table=1 in_port=1 ct_state=+new tcp6 ipv6_src=fc00::1 tp_dst=21  action=ct(alg=ftp,commit,nat(src=fc00::240)),2
table=1 in_port=2 ct_state=+new+rel tcp6 ipv6_dst=fc00::240 action=ct(commit,nat),1
table=1 in_port=1 ct_state=+est tcp6 ipv6_src=fc00::240   action=2
table=1 in_port=2 ct_state=+est tcp6 ipv6_dst=fc00::1     action=1
table=1 priority=100 in_port=1 icmp6, action=2
table=1 priority=100 in_port=2 icmp6, action=1
table=1 priority=0, action=drop
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:3618: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:3618"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:3618"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs_wait_cond () {
    ip netns exec at_ns0 ping6 -c 1 fc00::2 >/dev/null
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3623" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3623"
fi


PIDFILE=$(mktemp ftpXXX.pid)
    ip netns exec at_ns1 $PYTHON $srcdir/test-l7.py ftp & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo ftp | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3625" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3625"
fi




 { set +x
$as_echo "$at_srcdir/system-traffic.at:3628: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget ftp://[fc00::2] -6 --no-passive-ftp -t 3 -T 1 --retry-connrefused -v --server-response --no-remove-listing -o wget0.log -d
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3628"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget ftp://[fc00::2] -6 --no-passive-ftp -t 3 -T 1 --retry-connrefused -v --server-response --no-remove-listing -o wget0.log -d
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:3628"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:3631: ovs-appctl dpctl/dump-conntrack | grep \"dst=fc00::2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:3631"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=fc00::2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=fc00::1,dst=fc00::2,sport=<cleared>,dport=<cleared>),reply=(src=fc00::2,dst=fc00::240,sport=<cleared>,dport=<cleared>),protoinfo=(state=<cleared>),helper=ftp
tcp,orig=(src=fc00::2,dst=fc00::240,sport=<cleared>,dport=<cleared>),reply=(src=fc00::1,dst=fc00::2,sport=<cleared>,dport=<cleared>),protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3631"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:3636: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3636"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:3636"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3636: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:3636"
( $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-traffic.at:3636"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3636: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:3636"
( $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-traffic.at:3636"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3636" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3636"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3636: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:3636"
( $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-traffic.at:3636"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3636: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:3636"
( $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-traffic.at:3636"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3636" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3636"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3636: :; "
at_fn_check_prepare_trace "system-traffic.at:3636"
( $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-traffic.at:3636"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_77
#AT_START_78
at_fn_group_banner 78 'system-traffic.at:3639' \
  "conntrack - IPv6 FTP Passive with NAT" "          " 4
at_xfail=no
(
  $as_echo "78. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:3640" >"$at_check_line_file"
(test $HAVE_FTP = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:3640"
$as_echo "system-traffic.at:3641" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:3641"





   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3645" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3645"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3645: 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-traffic.at:3645"
( $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-traffic.at:3645"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3645: 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-traffic.at:3645"
( $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-traffic.at:3645"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3645: 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-traffic.at:3645"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:3645"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:3645: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:3645"
( $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-traffic.at:3645"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3645: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:3645"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:3645"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3645: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3645"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:3645"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3645" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3645"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3645: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:3645"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:3645"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:3647: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3647"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:3647"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:3647: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3647"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:3647"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:3649: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3649"
( $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-traffic.at:3649"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3649: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:3649"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3649"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3649: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:3649"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:3649"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3649: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:3649"
( $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-traffic.at:3649"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3649: 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-traffic.at:3649"
( $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>&-
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:3649"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:3649: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add \"fc00::1/96\" dev p0
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3649"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "fc00::1/96" dev p0
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:3649"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:3649: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3649"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:3649"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3649: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3649"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:3649"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3649: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3649"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:3649"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3650: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address 80:88:88:88:88:88
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3650"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address 80:88:88:88:88:88
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:3650"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3651: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3651"
( $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-traffic.at:3651"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3651: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:3651"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3651"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3651: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:3651"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:3651"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3651: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:3651"
( $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-traffic.at:3651"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3651: 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-traffic.at:3651"
( $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>&-
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:3651"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:3651: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add \"fc00::2/96\" dev p1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3651"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "fc00::2/96" dev p1
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:3651"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:3651: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3651"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:3651"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3651: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3651"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:3651"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3651: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3651"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:3651"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3652: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address 80:88:88:88:88:99
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3652"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address 80:88:88:88:88:99
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:3652"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3653: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip -6 neigh add fc00::2 lladdr 80:88:88:88:88:99 dev p0
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3653"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip -6 neigh add fc00::2 lladdr 80:88:88:88:88:99 dev p0
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:3653"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3654: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip -6 neigh add fc00::240 lladdr 80:88:88:88:88:88 dev p1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3654"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip -6 neigh add fc00::240 lladdr 80:88:88:88:88:88 dev p1
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:3654"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



cat >flows.txt <<'_ATEOF'
table=0 priority=10 ip6, action=ct(nat,table=1)
table=0 priority=0 action=drop
table=1 in_port=1 ct_state=+new tcp6 ipv6_src=fc00::1 tp_dst=21  action=ct(alg=ftp,commit,nat(src=fc00::240)),2
table=1 in_port=1 ct_state=+new+rel tcp6 ipv6_dst=fc00::2 action=ct(commit,nat),2
table=1 in_port=1 ct_state=+est tcp6 ipv6_src=fc00::240 action=2
table=1 in_port=2 ct_state=+est tcp6 ipv6_dst=fc00::1 action=1
table=1 priority=100 in_port=1 icmp6, action=2
table=1 priority=100 in_port=2 icmp6, action=1
table=1 priority=0, action=drop
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:3679: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:3679"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:3679"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs_wait_cond () {
    ip netns exec at_ns0 ping6 -c 1 fc00::2 >/dev/null
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3684" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3684"
fi


PIDFILE=$(mktemp ftpXXX.pid)
    ip netns exec at_ns1 $PYTHON $srcdir/test-l7.py ftp & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo ftp | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3686" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3686"
fi




 { set +x
$as_echo "$at_srcdir/system-traffic.at:3689: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget ftp://[fc00::2] -6 -t 3 -T 1 --retry-connrefused -v --server-response --no-remove-listing -o wget0.log -d
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3689"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget ftp://[fc00::2] -6 -t 3 -T 1 --retry-connrefused -v --server-response --no-remove-listing -o wget0.log -d
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:3689"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:3692: ovs-appctl dpctl/dump-conntrack | grep \"dst=fc00::2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:3692"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=fc00::2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=fc00::1,dst=fc00::2,sport=<cleared>,dport=<cleared>),reply=(src=fc00::2,dst=fc00::240,sport=<cleared>,dport=<cleared>),protoinfo=(state=<cleared>)
tcp,orig=(src=fc00::1,dst=fc00::2,sport=<cleared>,dport=<cleared>),reply=(src=fc00::2,dst=fc00::240,sport=<cleared>,dport=<cleared>),protoinfo=(state=<cleared>),helper=ftp
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3692"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:3697: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3697"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:3697"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3697: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:3697"
( $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-traffic.at:3697"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3697: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:3697"
( $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-traffic.at:3697"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3697" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3697"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3697: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:3697"
( $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-traffic.at:3697"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3697: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:3697"
( $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-traffic.at:3697"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3697" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3697"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3697: :; "
at_fn_check_prepare_trace "system-traffic.at:3697"
( $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-traffic.at:3697"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_78
#AT_START_79
at_fn_group_banner 79 'system-traffic.at:3700' \
  "conntrack - IPv6 FTP with NAT - orig tuple" "     " 4
at_xfail=no
(
  $as_echo "79. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:3701" >"$at_check_line_file"
(test $HAVE_FTP = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:3701"
$as_echo "system-traffic.at:3702" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:3702"




   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3705" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3705"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3705: 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-traffic.at:3705"
( $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-traffic.at:3705"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3705: 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-traffic.at:3705"
( $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-traffic.at:3705"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3705: 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-traffic.at:3705"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:3705"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:3705: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:3705"
( $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-traffic.at:3705"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3705: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:3705"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:3705"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3705: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3705"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:3705"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3705" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3705"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3705: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:3705"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:3705"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:3707: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3707"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:3707"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:3707: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3707"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:3707"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:3709: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3709"
( $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-traffic.at:3709"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3709: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:3709"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3709"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3709: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:3709"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:3709"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3709: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:3709"
( $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-traffic.at:3709"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3709: 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-traffic.at:3709"
( $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>&-
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:3709"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:3709: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add \"fc00::1/96\" dev p0
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3709"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "fc00::1/96" dev p0
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:3709"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:3709: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3709"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:3709"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3709: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3709"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:3709"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3709: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3709"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:3709"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3710: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address 80:88:88:88:88:88
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3710"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address 80:88:88:88:88:88
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:3710"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3711: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3711"
( $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-traffic.at:3711"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3711: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:3711"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3711"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3711: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:3711"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:3711"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3711: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:3711"
( $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-traffic.at:3711"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3711: 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-traffic.at:3711"
( $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>&-
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:3711"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:3711: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add \"fc00::2/96\" dev p1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3711"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "fc00::2/96" dev p1
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:3711"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:3711: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3711"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:3711"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3711: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3711"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:3711"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3711: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3711"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:3711"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3713: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip -6 neigh add fc00::240 lladdr 80:88:88:88:88:88 dev p1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3713"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip -6 neigh add fc00::240 lladdr 80:88:88:88:88:88 dev p1
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:3713"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



cat >flows.txt <<'_ATEOF'
table=0 priority=10 ip6, action=ct(nat,table=1)
table=0 priority=0 action=drop
table=1 priority=100 in_port=1 icmp6, action=2
table=1 priority=100 in_port=2 icmp6, action=1
table=1 priority=10 in_port=1 ct_state=+new+trk-inv tcp6 ct_nw_proto=6 ct_ipv6_src=fc00::1 ct_tp_dst=21  action=ct(alg=ftp,commit,nat(src=fc00::240)),2
table=1 priority=10 in_port=2 ct_state=+new+rel+trk-inv ipv6 ct_nw_proto=6 ct_ipv6_src=fc00::1 ct_tp_dst=21 action=ct(commit,nat),1
table=1 priority=10 in_port=1 ct_state=+est+trk-inv ipv6 ct_nw_proto=6 ct_ipv6_src=fc00::1 ct_tp_dst=21 action=2
table=1 priority=10 in_port=2 ct_state=+est+trk-inv ipv6 ct_nw_proto=6 ct_ipv6_src=fc00::1 ct_tp_dst=21 action=1
table=1 priority=0, action=drop
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:3738: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:3738"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:3738"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs_wait_cond () {
    ip netns exec at_ns0 ping6 -c 1 fc00::2 >/dev/null
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3743" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3743"
fi


ip netns exec at_ns1 $PYTHON $srcdir/test-l7.py ftp & echo $! > ftp0.pid
     echo "kill \`cat ftp0.pid\`" >> cleanup


ovs_wait_cond () {
    ip netns exec at_ns1 netstat -l | grep ftp
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3746" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3746"
fi


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3749: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget ftp://[fc00::2] -6 --no-passive-ftp -t 3 -T 1 --retry-connrefused -v --server-response --no-remove-listing -o wget0.log -d
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3749"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
wget ftp://[fc00::2] -6 --no-passive-ftp -t 3 -T 1 --retry-connrefused -v --server-response --no-remove-listing -o wget0.log -d
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:3749"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:3752: ovs-appctl dpctl/dump-conntrack | grep \"dst=fc00::2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:3752"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=fc00::2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=fc00::1,dst=fc00::2,sport=<cleared>,dport=<cleared>),reply=(src=fc00::2,dst=fc00::240,sport=<cleared>,dport=<cleared>),protoinfo=(state=<cleared>),helper=ftp
tcp,orig=(src=fc00::2,dst=fc00::240,sport=<cleared>,dport=<cleared>),reply=(src=fc00::1,dst=fc00::2,sport=<cleared>,dport=<cleared>),protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3752"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:3757: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3757"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:3757"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3757: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:3757"
( $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-traffic.at:3757"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3757: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:3757"
( $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-traffic.at:3757"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3757" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3757"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3757: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:3757"
( $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-traffic.at:3757"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3757: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:3757"
( $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-traffic.at:3757"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3757" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3757"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3757: :; "
at_fn_check_prepare_trace "system-traffic.at:3757"
( $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-traffic.at:3757"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_79
#AT_START_80
at_fn_group_banner 80 'system-traffic.at:3760' \
  "conntrack - IPv4 TFTP with NAT" "                 " 4
at_xfail=no
(
  $as_echo "80. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:3761" >"$at_check_line_file"
(test $HAVE_TFTP = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:3761"
$as_echo "system-traffic.at:3762" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:3762"





   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3766" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3766"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3766: 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-traffic.at:3766"
( $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-traffic.at:3766"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3766: 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-traffic.at:3766"
( $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-traffic.at:3766"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3766: 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-traffic.at:3766"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:3766"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:3766: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:3766"
( $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-traffic.at:3766"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3766: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:3766"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:3766"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3766: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3766"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:3766"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3766" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3766"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3766: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:3766"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:3766"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:3768: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3768"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:3768"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:3768: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3768"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:3768"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:3770: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3770"
( $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-traffic.at:3770"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3770: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:3770"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3770"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3770: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:3770"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:3770"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3770: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:3770"
( $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-traffic.at:3770"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3770: 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-traffic.at:3770"
( $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>&-
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:3770"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:3770: ip netns exec at_ns0 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-traffic.at:3770"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:3770"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:3770: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3770"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:3770"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3770: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3770"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:3770"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3770: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3770"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:3770"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3771: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address e6:66:c1:11:11:11
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3771"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address e6:66:c1:11:11:11
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:3771"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3772: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
arp -s 10.1.1.2 e6:66:c1:22:22:22
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3772"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
arp -s 10.1.1.2 e6:66:c1:22:22:22
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:3772"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



 { set +x
$as_echo "$at_srcdir/system-traffic.at:3774: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3774"
( $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-traffic.at:3774"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3774: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:3774"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3774"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3774: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:3774"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:3774"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3774: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:3774"
( $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-traffic.at:3774"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3774: 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-traffic.at:3774"
( $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>&-
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:3774"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:3774: ip netns exec at_ns1 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-traffic.at:3774"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:3774"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:3774: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3774"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:3774"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3774: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3774"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:3774"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3774: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3774"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:3774"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3775: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address e6:66:c1:22:22:22
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3775"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address e6:66:c1:22:22:22
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:3775"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3776: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
arp -s 10.1.1.1 e6:66:c1:11:11:11
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3776"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
arp -s 10.1.1.1 e6:66:c1:11:11:11
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:3776"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3777: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
arp -s 10.1.1.240 e6:66:c1:11:11:11
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3777"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
arp -s 10.1.1.240 e6:66:c1:11:11:11
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:3777"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



cat >flows.txt <<'_ATEOF'
table=0 priority=10 ip, action=ct(table=1)
table=0 priority=0 action=drop
table=1 priority=100 in_port=1 icmp, action=2
table=1 priority=100 in_port=2 icmp, action=1
table=1 in_port=1 ct_state=+new udp nw_src=10.1.1.1 tp_dst=69  action=ct(alg=tftp,commit,nat(src=10.1.1.240)),2
table=1 in_port=2 ct_state=+new+rel udp nw_src=10.1.1.2 action=ct(commit,nat),1
table=1 in_port=1 ct_state=+est udp nw_src=10.1.1.1 action=ct(nat,table=2)
table=1 in_port=2 ct_state=+est udp nw_src=10.1.1.2 action=ct(nat,table=2)
table=1 priority=0, action=drop
table=2 in_port=1 ct_state=+est udp nw_src=10.1.1.240 action=2
table=2 in_port=2 ct_state=+est udp nw_dst=10.1.1.1 action=1
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:3805: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:3805"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:3805"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs_wait_cond () {
    ip netns exec at_ns0 ping -c 1 10.1.1.2 >/dev/null
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3808" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3808"
fi


PIDFILE=$(mktemp tftpXXX.pid)
    ip netns exec at_ns0 $PYTHON $srcdir/test-l7.py tftp & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo tftp | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3810" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3810"
fi



PIDFILE=$(mktemp tftpXXX.pid)
    ip netns exec at_ns1 $PYTHON $srcdir/test-l7.py tftp & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo tftp | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3811" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3811"
fi




 { set +x
$as_echo "$at_srcdir/system-traffic.at:3814: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
curl \$CURL_OPT tftp://10.1.1.2/flows.txt -o foo 2>curl0.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3814"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
curl $CURL_OPT tftp://10.1.1.2/flows.txt -o foo 2>curl0.log
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:3814"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:3816: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:3816"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "udp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.240,sport=<cleared>,dport=<cleared>),helper=tftp
udp,orig=(src=10.1.1.2,dst=10.1.1.240,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3816"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-traffic.at:3821: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3821"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:3821"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3821: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:3821"
( $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-traffic.at:3821"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3821: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:3821"
( $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-traffic.at:3821"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3821" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3821"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3821: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:3821"
( $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-traffic.at:3821"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3821: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:3821"
( $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-traffic.at:3821"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3821" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3821"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3821: :; "
at_fn_check_prepare_trace "system-traffic.at:3821"
( $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-traffic.at:3821"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_80
#AT_START_81
at_fn_group_banner 81 'system-traffic.at:3824' \
  "conntrack - DNAT load balancing" "                " 4
at_xfail=no
(
  $as_echo "81. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:3825" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:3825"



   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3827" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3827"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3827: 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-traffic.at:3827"
( $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-traffic.at:3827"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3827: 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-traffic.at:3827"
( $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-traffic.at:3827"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3827: 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-traffic.at:3827"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:3827"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:3827: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:3827"
( $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-traffic.at:3827"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3827: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:3827"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:3827"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3827: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3827"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:3827"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3827" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3827"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3827: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:3827"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:3827"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:3829: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3829"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:3829"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns2



                { set +x
$as_echo "$at_srcdir/system-traffic.at:3829: ip netns add at_ns2 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3829"
( $at_check_trace; ip netns add at_ns2 || 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-traffic.at:3829"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns2


'
                ip netns exec at_ns2 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns3



                { set +x
$as_echo "$at_srcdir/system-traffic.at:3829: ip netns add at_ns3 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3829"
( $at_check_trace; ip netns add at_ns3 || 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-traffic.at:3829"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns3


'
                ip netns exec at_ns3 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns4



                { set +x
$as_echo "$at_srcdir/system-traffic.at:3829: ip netns add at_ns4 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3829"
( $at_check_trace; ip netns add at_ns4 || 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-traffic.at:3829"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns4


'
                ip netns exec at_ns4 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:3831: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3831"
( $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-traffic.at:3831"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3831: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:3831"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3831"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3831: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:3831"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:3831"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3831: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:3831"
( $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-traffic.at:3831"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3831: 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-traffic.at:3831"
( $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>&-
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:3831"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:3831: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add \"10.1.1.1/24\" dev p1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3831"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p1
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:3831"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:3831: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3831"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:3831"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3831: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3831"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:3831"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3831: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3831"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:3831"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3832: ip link add p2 type veth peer name ovs-p2 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3832"
( $at_check_trace; ip link add p2 type veth peer name ovs-p2 || 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-traffic.at:3832"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3832: ethtool -K p2 tx off"
at_fn_check_prepare_trace "system-traffic.at:3832"
( $at_check_trace; ethtool -K p2 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3832"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3832: ip link set p2 netns at_ns2"
at_fn_check_prepare_trace "system-traffic.at:3832"
( $at_check_trace; ip link set p2 netns at_ns2
) >>"$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:3832"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3832: ip link set dev ovs-p2 up"
at_fn_check_prepare_trace "system-traffic.at:3832"
( $at_check_trace; ip link set dev ovs-p2 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-traffic.at:3832"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3832: ovs-vsctl add-port br0 ovs-p2 -- \\
                set interface ovs-p2 external-ids:iface-id=\"p2\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3832"
( $at_check_trace; ovs-vsctl add-port br0 ovs-p2 -- \
                set interface ovs-p2 external-ids:iface-id="p2"
) >>"$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:3832"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:3832: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip addr add \"10.1.1.2/24\" dev p2
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3832"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p2
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:3832"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:3832: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip link set dev p2 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3832"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip link set dev p2 up
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:3832"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3832: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip link set dev p2 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3832"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip link set dev p2 address
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:3832"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3832: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3832"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip route add default via
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:3832"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p2'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3833: ip link add p3 type veth peer name ovs-p3 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3833"
( $at_check_trace; ip link add p3 type veth peer name ovs-p3 || 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-traffic.at:3833"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3833: ethtool -K p3 tx off"
at_fn_check_prepare_trace "system-traffic.at:3833"
( $at_check_trace; ethtool -K p3 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3833"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3833: ip link set p3 netns at_ns3"
at_fn_check_prepare_trace "system-traffic.at:3833"
( $at_check_trace; ip link set p3 netns at_ns3
) >>"$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:3833"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3833: ip link set dev ovs-p3 up"
at_fn_check_prepare_trace "system-traffic.at:3833"
( $at_check_trace; ip link set dev ovs-p3 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-traffic.at:3833"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3833: ovs-vsctl add-port br0 ovs-p3 -- \\
                set interface ovs-p3 external-ids:iface-id=\"p3\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3833"
( $at_check_trace; ovs-vsctl add-port br0 ovs-p3 -- \
                set interface ovs-p3 external-ids:iface-id="p3"
) >>"$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:3833"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:3833: ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip addr add \"10.1.1.3/24\" dev p3
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3833"
( $at_check_trace; ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.3/24" dev p3
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:3833"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:3833: ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip link set dev p3 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3833"
( $at_check_trace; ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip link set dev p3 up
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:3833"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3833: ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip link set dev p3 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3833"
( $at_check_trace; ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip link set dev p3 address
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:3833"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3833: ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3833"
( $at_check_trace; ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip route add default via
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:3833"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p3'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3834: ip link add p4 type veth peer name ovs-p4 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3834"
( $at_check_trace; ip link add p4 type veth peer name ovs-p4 || 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-traffic.at:3834"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3834: ethtool -K p4 tx off"
at_fn_check_prepare_trace "system-traffic.at:3834"
( $at_check_trace; ethtool -K p4 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3834"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3834: ip link set p4 netns at_ns4"
at_fn_check_prepare_trace "system-traffic.at:3834"
( $at_check_trace; ip link set p4 netns at_ns4
) >>"$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:3834"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3834: ip link set dev ovs-p4 up"
at_fn_check_prepare_trace "system-traffic.at:3834"
( $at_check_trace; ip link set dev ovs-p4 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-traffic.at:3834"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3834: ovs-vsctl add-port br0 ovs-p4 -- \\
                set interface ovs-p4 external-ids:iface-id=\"p4\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3834"
( $at_check_trace; ovs-vsctl add-port br0 ovs-p4 -- \
                set interface ovs-p4 external-ids:iface-id="p4"
) >>"$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:3834"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:3834: ip netns exec at_ns4 sh << NS_EXEC_HEREDOC
ip addr add \"10.1.1.4/24\" dev p4
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3834"
( $at_check_trace; ip netns exec at_ns4 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.4/24" dev p4
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:3834"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:3834: ip netns exec at_ns4 sh << NS_EXEC_HEREDOC
ip link set dev p4 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3834"
( $at_check_trace; ip netns exec at_ns4 sh << NS_EXEC_HEREDOC
ip link set dev p4 up
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:3834"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3834: ip netns exec at_ns4 sh << NS_EXEC_HEREDOC
ip link set dev p4 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3834"
( $at_check_trace; ip netns exec at_ns4 sh << NS_EXEC_HEREDOC
ip link set dev p4 address
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:3834"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3834: ip netns exec at_ns4 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3834"
( $at_check_trace; ip netns exec at_ns4 sh << NS_EXEC_HEREDOC
ip route add default via
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:3834"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p4'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3835: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address 80:88:88:88:88:11
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3835"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address 80:88:88:88:88:11
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:3835"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3836: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip link set dev p2 address 80:88:88:88:88:22
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3836"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip link set dev p2 address 80:88:88:88:88:22
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:3836"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3837: ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip link set dev p3 address 80:88:88:88:88:33
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3837"
( $at_check_trace; ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip link set dev p3 address 80:88:88:88:88:33
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:3837"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3838: ip netns exec at_ns4 sh << NS_EXEC_HEREDOC
ip link set dev p4 address 80:88:88:88:88:44
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3838"
( $at_check_trace; ip netns exec at_ns4 sh << NS_EXEC_HEREDOC
ip link set dev p4 address 80:88:88:88:88:44
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:3838"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:3845: ovs-ofctl -O OpenFlow15 -vwarn add-group br0 \"group_id=234,type=select,bucket=weight=100,ct(nat(dst=10.1.1.2),commit,table=4),bucket=weight=100,ct(nat(dst=10.1.1.3),commit,table=4),bucket=weight=100,ct(nat(dst=10.1.1.4),commit,table=4)\""
at_fn_check_prepare_trace "system-traffic.at:3845"
( $at_check_trace; ovs-ofctl -O OpenFlow15 -vwarn add-group br0 "group_id=234,type=select,bucket=weight=100,ct(nat(dst=10.1.1.2),commit,table=4),bucket=weight=100,ct(nat(dst=10.1.1.3),commit,table=4),bucket=weight=100,ct(nat(dst=10.1.1.4),commit,table=4)"
) >>"$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:3845"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


cat >flows.txt <<'_ATEOF'
table=0 priority=100 ip nw_dst=10.1.1.64 action=group:234
table=0 priority=90 ip action=ct(table=4,nat)
table=0 priority=100 arp arp_op=1 action=move:OXM_OF_ARP_TPA[]->NXM_NX_REG2[],resubmit(,8),goto_table:10
table=0 priority=10 arp action=normal
table=0 priority=0 action=drop
table=4,ip,nw_dst=10.1.1.1 action=mod_dl_dst:80:88:88:88:88:11,output:1
table=4,ip,nw_dst=10.1.1.2 action=mod_dl_dst:80:88:88:88:88:22,output:2
table=4,ip,nw_dst=10.1.1.3 action=mod_dl_dst:80:88:88:88:88:33,output:3
table=4,ip,nw_dst=10.1.1.4 action=mod_dl_dst:80:88:88:88:88:44,output:4
table=4 priority=0 action=drop
table=8,reg2=0x0a010140,action=load:0x808888888888->OXM_OF_PKT_REG0[]
table=8,priority=0,action=load:0->OXM_OF_PKT_REG0[]
table=10 priority=100 arp xreg0=0 action=normal
table=10 priority=10,arp,arp_op=1,action=load:2->OXM_OF_ARP_OP[],move:OXM_OF_ARP_SHA[]->OXM_OF_ARP_THA[],move:OXM_OF_PKT_REG0[0..47]->OXM_OF_ARP_SHA[],move:OXM_OF_ARP_SPA[]->OXM_OF_ARP_TPA[],move:NXM_NX_REG2[]->OXM_OF_ARP_SPA[],move:NXM_OF_ETH_SRC[]->NXM_OF_ETH_DST[],move:OXM_OF_PKT_REG0[0..47]->NXM_OF_ETH_SRC[],move:NXM_OF_IN_PORT[]->NXM_NX_REG3[0..15],load:0->NXM_OF_IN_PORT[],output:NXM_NX_REG3[0..15]
table=10 priority=0 action=controller
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:3878: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:3878"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:3878"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec at_ns2 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3881" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3881"
fi



PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec at_ns3 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3882" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3882"
fi



PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec at_ns4 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns4 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3883" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3883"
fi




on_exit 'ovs-ofctl -O OpenFlow15 dump-flows br0'
on_exit 'ovs-appctl revalidator/purge'
on_exit 'ovs-appctl dpif/dump-flows br0'

for i in 1 2 3 4 5 6 7 8 9 10 11 12; do
    echo Request $i
     { set +x
$as_echo "$at_srcdir/system-traffic.at:3892: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
wget 10.1.1.64 -t 5 -T 1 --retry-connrefused -v -o wget\$i.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3892"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
wget 10.1.1.64 -t 5 -T 1 --retry-connrefused -v -o wget$i.log
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:3892"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


done

{ set +x
$as_echo "$at_srcdir/system-traffic.at:3896: ovs-appctl dpctl/dump-conntrack | grep \"dst=10.1.1.64\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq"
at_fn_check_prepare_notrace 'a shell pipeline' "system-traffic.at:3896"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=10.1.1.64" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=10.1.1.1,dst=10.1.1.64,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.1,sport=<cleared>,dport=<cleared>),protoinfo=(state=<cleared>)
tcp,orig=(src=10.1.1.1,dst=10.1.1.64,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.3,dst=10.1.1.1,sport=<cleared>,dport=<cleared>),protoinfo=(state=<cleared>)
tcp,orig=(src=10.1.1.1,dst=10.1.1.64,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.4,dst=10.1.1.1,sport=<cleared>,dport=<cleared>),protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3896"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-appctl dpif/dump-flows br0
ovs-appctl revalidator/purge
ovs-ofctl -O OpenFlow15 dump-flows br0
ovs-ofctl -O OpenFlow15 dump-group-stats br0

{ set +x
$as_echo "$at_srcdir/system-traffic.at:3907: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3907"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:3907"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3907: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:3907"
( $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-traffic.at:3907"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3907: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:3907"
( $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-traffic.at:3907"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3907" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3907"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3907: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:3907"
( $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-traffic.at:3907"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3907: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:3907"
( $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-traffic.at:3907"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3907" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3907"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3907: :; "
at_fn_check_prepare_trace "system-traffic.at:3907"
( $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-traffic.at:3907"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_81
#AT_START_82
at_fn_group_banner 82 'system-traffic.at:3911' \
  "conntrack - DNAT load balancing with NC" "        " 4
at_xfail=no
(
  $as_echo "82. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init

$as_echo "system-traffic.at:3912" >"$at_check_line_file"
(test $HAVE_NC = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:3912"
$as_echo "system-traffic.at:3913" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:3913"



   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3915" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3915"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3915: 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-traffic.at:3915"
( $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-traffic.at:3915"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3915: 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-traffic.at:3915"
( $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-traffic.at:3915"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3915: 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-traffic.at:3915"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:3915"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:3915: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:3915"
( $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-traffic.at:3915"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3915: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:3915"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:3915"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3915: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3915"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:3915"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3915" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3915"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3915: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-traffic.at:3915"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-traffic.at:3915"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:3917: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3917"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:3917"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns2



                { set +x
$as_echo "$at_srcdir/system-traffic.at:3917: ip netns add at_ns2 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3917"
( $at_check_trace; ip netns add at_ns2 || 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-traffic.at:3917"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns2


'
                ip netns exec at_ns2 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns3



                { set +x
$as_echo "$at_srcdir/system-traffic.at:3917: ip netns add at_ns3 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3917"
( $at_check_trace; ip netns add at_ns3 || 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-traffic.at:3917"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns3


'
                ip netns exec at_ns3 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns4



                { set +x
$as_echo "$at_srcdir/system-traffic.at:3917: ip netns add at_ns4 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3917"
( $at_check_trace; ip netns add at_ns4 || 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-traffic.at:3917"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns4


'
                ip netns exec at_ns4 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns5



                { set +x
$as_echo "$at_srcdir/system-traffic.at:3917: ip netns add at_ns5 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3917"
( $at_check_trace; ip netns add at_ns5 || 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-traffic.at:3917"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns5


'
                ip netns exec at_ns5 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:3919: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3919"
( $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-traffic.at:3919"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3919: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:3919"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3919"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3919: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:3919"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:3919"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3919: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:3919"
( $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-traffic.at:3919"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3919: 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-traffic.at:3919"
( $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>&-
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:3919"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:3919: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add \"10.1.1.1/24\" dev p1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3919"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p1
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:3919"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:3919: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3919"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:3919"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3919: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3919"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:3919"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3919: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3919"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:3919"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3920: ip link add p2 type veth peer name ovs-p2 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3920"
( $at_check_trace; ip link add p2 type veth peer name ovs-p2 || 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-traffic.at:3920"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3920: ethtool -K p2 tx off"
at_fn_check_prepare_trace "system-traffic.at:3920"
( $at_check_trace; ethtool -K p2 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3920"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3920: ip link set p2 netns at_ns2"
at_fn_check_prepare_trace "system-traffic.at:3920"
( $at_check_trace; ip link set p2 netns at_ns2
) >>"$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:3920"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3920: ip link set dev ovs-p2 up"
at_fn_check_prepare_trace "system-traffic.at:3920"
( $at_check_trace; ip link set dev ovs-p2 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-traffic.at:3920"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3920: ovs-vsctl add-port br0 ovs-p2 -- \\
                set interface ovs-p2 external-ids:iface-id=\"p2\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3920"
( $at_check_trace; ovs-vsctl add-port br0 ovs-p2 -- \
                set interface ovs-p2 external-ids:iface-id="p2"
) >>"$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:3920"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:3920: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip addr add \"10.1.1.2/24\" dev p2
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3920"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p2
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:3920"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:3920: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip link set dev p2 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3920"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip link set dev p2 up
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:3920"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3920: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip link set dev p2 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3920"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip link set dev p2 address
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:3920"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3920: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3920"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip route add default via
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:3920"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p2'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3921: ip link add p3 type veth peer name ovs-p3 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3921"
( $at_check_trace; ip link add p3 type veth peer name ovs-p3 || 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-traffic.at:3921"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3921: ethtool -K p3 tx off"
at_fn_check_prepare_trace "system-traffic.at:3921"
( $at_check_trace; ethtool -K p3 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3921"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3921: ip link set p3 netns at_ns3"
at_fn_check_prepare_trace "system-traffic.at:3921"
( $at_check_trace; ip link set p3 netns at_ns3
) >>"$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:3921"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3921: ip link set dev ovs-p3 up"
at_fn_check_prepare_trace "system-traffic.at:3921"
( $at_check_trace; ip link set dev ovs-p3 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-traffic.at:3921"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3921: ovs-vsctl add-port br0 ovs-p3 -- \\
                set interface ovs-p3 external-ids:iface-id=\"p3\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3921"
( $at_check_trace; ovs-vsctl add-port br0 ovs-p3 -- \
                set interface ovs-p3 external-ids:iface-id="p3"
) >>"$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:3921"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:3921: ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip addr add \"10.1.1.3/24\" dev p3
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3921"
( $at_check_trace; ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.3/24" dev p3
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:3921"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:3921: ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip link set dev p3 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3921"
( $at_check_trace; ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip link set dev p3 up
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:3921"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3921: ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip link set dev p3 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3921"
( $at_check_trace; ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip link set dev p3 address
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:3921"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3921: ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3921"
( $at_check_trace; ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip route add default via
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:3921"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p3'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3922: ip link add p4 type veth peer name ovs-p4 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3922"
( $at_check_trace; ip link add p4 type veth peer name ovs-p4 || 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-traffic.at:3922"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3922: ethtool -K p4 tx off"
at_fn_check_prepare_trace "system-traffic.at:3922"
( $at_check_trace; ethtool -K p4 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3922"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3922: ip link set p4 netns at_ns4"
at_fn_check_prepare_trace "system-traffic.at:3922"
( $at_check_trace; ip link set p4 netns at_ns4
) >>"$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:3922"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3922: ip link set dev ovs-p4 up"
at_fn_check_prepare_trace "system-traffic.at:3922"
( $at_check_trace; ip link set dev ovs-p4 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-traffic.at:3922"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3922: ovs-vsctl add-port br0 ovs-p4 -- \\
                set interface ovs-p4 external-ids:iface-id=\"p4\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3922"
( $at_check_trace; ovs-vsctl add-port br0 ovs-p4 -- \
                set interface ovs-p4 external-ids:iface-id="p4"
) >>"$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:3922"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:3922: ip netns exec at_ns4 sh << NS_EXEC_HEREDOC
ip addr add \"10.1.1.4/24\" dev p4
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3922"
( $at_check_trace; ip netns exec at_ns4 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.4/24" dev p4
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:3922"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:3922: ip netns exec at_ns4 sh << NS_EXEC_HEREDOC
ip link set dev p4 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3922"
( $at_check_trace; ip netns exec at_ns4 sh << NS_EXEC_HEREDOC
ip link set dev p4 up
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:3922"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3922: ip netns exec at_ns4 sh << NS_EXEC_HEREDOC
ip link set dev p4 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3922"
( $at_check_trace; ip netns exec at_ns4 sh << NS_EXEC_HEREDOC
ip link set dev p4 address
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:3922"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3922: ip netns exec at_ns4 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3922"
( $at_check_trace; ip netns exec at_ns4 sh << NS_EXEC_HEREDOC
ip route add default via
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:3922"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p4'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3923: ip link add p5 type veth peer name ovs-p5 || return 77"
at_fn_check_prepare_trace "system-traffic.at:3923"
( $at_check_trace; ip link add p5 type veth peer name ovs-p5 || 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-traffic.at:3923"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3923: ethtool -K p5 tx off"
at_fn_check_prepare_trace "system-traffic.at:3923"
( $at_check_trace; ethtool -K p5 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:3923"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:3923: ip link set p5 netns at_ns5"
at_fn_check_prepare_trace "system-traffic.at:3923"
( $at_check_trace; ip link set p5 netns at_ns5
) >>"$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:3923"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3923: ip link set dev ovs-p5 up"
at_fn_check_prepare_trace "system-traffic.at:3923"
( $at_check_trace; ip link set dev ovs-p5 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-traffic.at:3923"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:3923: ovs-vsctl add-port br0 ovs-p5 -- \\
                set interface ovs-p5 external-ids:iface-id=\"p5\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3923"
( $at_check_trace; ovs-vsctl add-port br0 ovs-p5 -- \
                set interface ovs-p5 external-ids:iface-id="p5"
) >>"$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:3923"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:3923: ip netns exec at_ns5 sh << NS_EXEC_HEREDOC
ip addr add \"10.1.1.5/24\" dev p5
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3923"
( $at_check_trace; ip netns exec at_ns5 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.5/24" dev p5
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:3923"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:3923: ip netns exec at_ns5 sh << NS_EXEC_HEREDOC
ip link set dev p5 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3923"
( $at_check_trace; ip netns exec at_ns5 sh << NS_EXEC_HEREDOC
ip link set dev p5 up
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:3923"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3923: ip netns exec at_ns5 sh << NS_EXEC_HEREDOC
ip link set dev p5 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3923"
( $at_check_trace; ip netns exec at_ns5 sh << NS_EXEC_HEREDOC
ip link set dev p5 address
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:3923"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:3923: ip netns exec at_ns5 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3923"
( $at_check_trace; ip netns exec at_ns5 sh << NS_EXEC_HEREDOC
ip route add default via
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:3923"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p5'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3924: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address 80:88:88:88:88:11
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3924"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address 80:88:88:88:88:11
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:3924"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3925: ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip link set dev p2 address 80:88:88:88:88:22
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3925"
( $at_check_trace; ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
ip link set dev p2 address 80:88:88:88:88:22
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:3925"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3926: ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip link set dev p3 address 80:88:88:88:88:33
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3926"
( $at_check_trace; ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
ip link set dev p3 address 80:88:88:88:88:33
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:3926"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3927: ip netns exec at_ns4 sh << NS_EXEC_HEREDOC
ip link set dev p4 address 80:88:88:88:88:44
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3927"
( $at_check_trace; ip netns exec at_ns4 sh << NS_EXEC_HEREDOC
ip link set dev p4 address 80:88:88:88:88:44
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:3927"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-traffic.at:3928: ip netns exec at_ns5 sh << NS_EXEC_HEREDOC
ip link set dev p5 address 80:88:88:88:88:55
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3928"
( $at_check_trace; ip netns exec at_ns5 sh << NS_EXEC_HEREDOC
ip link set dev p5 address 80:88:88:88:88:55
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:3928"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:3935: ovs-ofctl -O OpenFlow15 -vwarn add-group br0 \"group_id=234,type=select,bucket=weight=100,ct(nat(dst=10.1.1.2),commit,table=4),bucket=weight=100,ct(nat(dst=10.1.1.3),commit,table=4),bucket=weight=100,ct(nat(dst=10.1.1.4),commit,table=4)\""
at_fn_check_prepare_trace "system-traffic.at:3935"
( $at_check_trace; ovs-ofctl -O OpenFlow15 -vwarn add-group br0 "group_id=234,type=select,bucket=weight=100,ct(nat(dst=10.1.1.2),commit,table=4),bucket=weight=100,ct(nat(dst=10.1.1.3),commit,table=4),bucket=weight=100,ct(nat(dst=10.1.1.4),commit,table=4)"
) >>"$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:3935"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


cat >flows.txt <<'_ATEOF'
table=0 priority=100 ip nw_dst=10.1.1.64 action=group:234
table=0 priority=90 ip action=ct(table=4,nat)
table=0 priority=100 arp arp_op=1 action=move:OXM_OF_ARP_TPA[]->NXM_NX_REG2[],resubmit(,8),goto_table:10
table=0 priority=10 arp action=normal
table=0 priority=0 action=drop
table=4,ip,nw_dst=10.1.1.1 action=mod_dl_dst:80:88:88:88:88:11,output:1
table=4,ip,nw_dst=10.1.1.2 action=mod_dl_dst:80:88:88:88:88:22,output:2
table=4,ip,nw_dst=10.1.1.3 action=mod_dl_dst:80:88:88:88:88:33,output:3
table=4,ip,nw_dst=10.1.1.4 action=mod_dl_dst:80:88:88:88:88:44,output:4
table=4,ip,nw_dst=10.1.1.5 action=mod_dl_dst:80:88:88:88:88:55,output:5
table=4 priority=0 action=drop
table=8,reg2=0x0a010140,action=load:0x808888888888->OXM_OF_PKT_REG0[]
table=8,priority=0,action=load:0->OXM_OF_PKT_REG0[]
table=10 priority=100 arp xreg0=0 action=normal
table=10 priority=10,arp,arp_op=1,action=load:2->OXM_OF_ARP_OP[],move:OXM_OF_ARP_SHA[]->OXM_OF_ARP_THA[],move:OXM_OF_PKT_REG0[0..47]->OXM_OF_ARP_SHA[],move:OXM_OF_ARP_SPA[]->OXM_OF_ARP_TPA[],move:NXM_NX_REG2[]->OXM_OF_ARP_SPA[],move:NXM_OF_ETH_SRC[]->NXM_OF_ETH_DST[],move:OXM_OF_PKT_REG0[0..47]->NXM_OF_ETH_SRC[],move:NXM_OF_IN_PORT[]->NXM_NX_REG3[0..15],load:0->NXM_OF_IN_PORT[],output:NXM_NX_REG3[0..15]
table=10 priority=0 action=controller
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:3969: ovs-ofctl --bundle add-flows br0 flows.txt"
at_fn_check_prepare_trace "system-traffic.at:3969"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows.txt
) >>"$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:3969"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec at_ns2 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns2 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3972" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3972"
fi



PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec at_ns3 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns3 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3973" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3973"
fi



PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec at_ns4 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec at_ns4 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3974" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3974"
fi




on_exit 'ovs-ofctl -O OpenFlow15 dump-flows br0'
on_exit 'ovs-appctl revalidator/purge'
on_exit 'ovs-appctl dpif/dump-flows br0'

sleep 5

for i in 1 2 3 4 5 6 7 8 9; do
    echo Request $i
     { set +x
$as_echo "$at_srcdir/system-traffic.at:3985: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
echo \"TEST1\" | nc -p 4100\$i 10.1.1.64 80 > nc-1-\$i.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3985"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
echo "TEST1" | nc -p 4100$i 10.1.1.64 80 > nc-1-$i.log
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:3985"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


     { set +x
$as_echo "$at_srcdir/system-traffic.at:3986: ip netns exec at_ns5 sh << NS_EXEC_HEREDOC
echo \"TEST5\" | nc -p 4100\$i 10.1.1.64 80 > nc-5-\$i.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3986"
( $at_check_trace; ip netns exec at_ns5 sh << NS_EXEC_HEREDOC
echo "TEST5" | nc -p 4100$i 10.1.1.64 80 > nc-5-$i.log
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:3986"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


done

conntrack -L 2>&1

ovs-appctl dpif/dump-flows br0
ovs-appctl revalidator/purge
ovs-ofctl -O OpenFlow15 dump-flows br0
ovs-ofctl -O OpenFlow15 dump-group-stats br0

{ set +x
$as_echo "$at_srcdir/system-traffic.at:3996: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:3996"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:3996"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3996: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:3996"
( $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-traffic.at:3996"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3996: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:3996"
( $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-traffic.at:3996"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3996" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3996"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3996: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:3996"
( $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-traffic.at:3996"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:3996: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:3996"
( $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-traffic.at:3996"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:3996" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:3996"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:3996: :; "
at_fn_check_prepare_trace "system-traffic.at:3996"
( $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-traffic.at:3996"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_82
#AT_START_83
at_fn_group_banner 83 'system-traffic.at:4001' \
  "802.1ad - vlan_limit" "                           " 5
at_xfail=no
(
  $as_echo "83. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:4002" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:4002"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:4002: 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-traffic.at:4002"
( $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-traffic.at:4002"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:4002: 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-traffic.at:4002"
( $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-traffic.at:4002"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:4002: 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-traffic.at:4002"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:4002"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:4002: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:4002"
( $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-traffic.at:4002"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:4002: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:4002"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:4002"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:4002: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4002"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:4002"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:4002" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:4002"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:4002: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  -- set Open_vSwitch . other_config:vlan-limit=0 "
at_fn_check_prepare_trace "system-traffic.at:4002"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  -- set Open_vSwitch . other_config:vlan-limit=0
) >>"$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:4002"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


$as_echo "system-traffic.at:4003" >"$at_check_line_file"
(! grep -q "VLAN header stack length probed as" ovs-vswitchd.log) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:4003"
     $as_echo "system-traffic.at:4003" >"$at_check_line_file"
(test `sed -n 's/.*VLAN header stack length probed as \([0-9]\+\).*/\1/p' ovs-vswitchd.log` -lt 2) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:4003"

ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:4005: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:4005"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:4005"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:4005: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:4005"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:4005"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:4007: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:4007"
( $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-traffic.at:4007"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:4007: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:4007"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:4007"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:4007: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:4007"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:4007"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:4007: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:4007"
( $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-traffic.at:4007"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:4007: 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-traffic.at:4007"
( $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>&-
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:4007"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:4007: ip netns exec at_ns0 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-traffic.at:4007"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:4007"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4007: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4007"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:4007"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:4007: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4007"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:4007"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:4007: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4007"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:4007"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:4008: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:4008"
( $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-traffic.at:4008"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:4008: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:4008"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:4008"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:4008: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:4008"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:4008"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:4008: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:4008"
( $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-traffic.at:4008"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:4008: 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-traffic.at:4008"
( $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>&-
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:4008"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:4008: ip netns exec at_ns1 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-traffic.at:4008"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:4008"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4008: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4008"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:4008"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:4008: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4008"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:4008"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:4008: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4008"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:4008"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



  { set +x
$as_echo "$at_srcdir/system-traffic.at:4010: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add link p0 name p0.4094 type vlan proto 802.1ad id 4094
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4010"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add link p0 name p0.4094 type vlan proto 802.1ad id 4094
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:4010"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4010: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0.4094 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4010"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0.4094 up
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:4010"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4010: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev p0.4094 \"10.255.2.1/24\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4010"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev p0.4094 "10.255.2.1/24"
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:4010"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4010: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set p0.4094 mtu 1496
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4010"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set p0.4094 mtu 1496
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:4010"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




  { set +x
$as_echo "$at_srcdir/system-traffic.at:4011: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link add link p1 name p1.4094 type vlan proto 802.1ad id 4094
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4011"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link add link p1 name p1.4094 type vlan proto 802.1ad id 4094
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:4011"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4011: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1.4094 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4011"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1.4094 up
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:4011"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4011: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add dev p1.4094 \"10.255.2.2/24\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4011"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add dev p1.4094 "10.255.2.2/24"
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:4011"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4011: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set p1.4094 mtu 1496
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4011"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set p1.4094 mtu 1496
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:4011"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }





   { set +x
$as_echo "$at_srcdir/system-traffic.at:4013: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add link p0.4094 name p0.4094.100 type vlan proto 802.1q id 100
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4013"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add link p0.4094 name p0.4094.100 type vlan proto 802.1q id 100
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:4013"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4013: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0.4094.100 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4013"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0.4094.100 up
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:4013"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4013: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev p0.4094.100 \"10.2.2.1/24\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4013"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev p0.4094.100 "10.2.2.1/24"
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:4013"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




       { set +x
$as_echo "$at_srcdir/system-traffic.at:4013: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set p0.4094.100 mtu 1492
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4013"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set p0.4094.100 mtu 1492
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:4013"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




   { set +x
$as_echo "$at_srcdir/system-traffic.at:4014: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link add link p1.4094 name p1.4094.100 type vlan proto 802.1q id 100
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4014"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link add link p1.4094 name p1.4094.100 type vlan proto 802.1q id 100
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:4014"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4014: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1.4094.100 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4014"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1.4094.100 up
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:4014"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4014: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add dev p1.4094.100 \"10.2.2.2/24\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4014"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add dev p1.4094.100 "10.2.2.2/24"
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:4014"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




       { set +x
$as_echo "$at_srcdir/system-traffic.at:4014: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set p1.4094.100 mtu 1492
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4014"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set p1.4094.100 mtu 1492
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:4014"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }





{ set +x
$as_echo "$at_srcdir/system-traffic.at:4016: ovs-ofctl add-flow br0 \"priority=1 action=normal\""
at_fn_check_prepare_trace "system-traffic.at:4016"
( $at_check_trace; ovs-ofctl add-flow br0 "priority=1 action=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-traffic.at:4016"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs_wait_cond () {
    ip netns exec at_ns0 ping -c 1 10.2.2.2
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:4018" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:4018"
fi


{ set +x
$as_echo "$at_srcdir/system-traffic.at:4021: ovs-appctl revalidator/purge"
at_fn_check_prepare_trace "system-traffic.at:4021"
( $at_check_trace; ovs-appctl revalidator/purge
) >>"$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:4021"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:4022: ovs-vsctl set Open_vSwitch . other_config:vlan-limit=1"
at_fn_check_prepare_trace "system-traffic.at:4022"
( $at_check_trace; ovs-vsctl set Open_vSwitch . other_config:vlan-limit=1
) >>"$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:4022"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:4023: ovs-ofctl add-flow br0 \"priority=100 dl_type=0x8100 action=drop\""
at_fn_check_prepare_trace "system-traffic.at:4023"
( $at_check_trace; ovs-ofctl add-flow br0 "priority=100 dl_type=0x8100 action=drop"
) >>"$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:4023"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

 { set +x
$as_echo "$at_srcdir/system-traffic.at:4024: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 1 -w 3 10.2.2.2
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4024"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 1 -w 3 10.2.2.2
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=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/system-traffic.at:4024"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:4026: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4026"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:4026"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:4026: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:4026"
( $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-traffic.at:4026"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:4026: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:4026"
( $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-traffic.at:4026"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:4026" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:4026"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:4026: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:4026"
( $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-traffic.at:4026"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:4026: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:4026"
( $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-traffic.at:4026"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:4026" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:4026"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:4026: :; "
at_fn_check_prepare_trace "system-traffic.at:4026"
( $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-traffic.at:4026"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_83
#AT_START_84
at_fn_group_banner 84 'system-traffic.at:4030' \
  "802.1ad - push/pop outer 802.1ad" "               " 5
at_xfail=no
(
  $as_echo "84. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:4031" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:4031"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:4031: 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-traffic.at:4031"
( $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-traffic.at:4031"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:4031: 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-traffic.at:4031"
( $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-traffic.at:4031"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:4031: 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-traffic.at:4031"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:4031"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:4031: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:4031"
( $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-traffic.at:4031"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:4031: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:4031"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:4031"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:4031: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4031"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:4031"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:4031" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:4031"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:4031: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  -- set Open_vSwitch . other_config:vlan-limit=0 "
at_fn_check_prepare_trace "system-traffic.at:4031"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  -- set Open_vSwitch . other_config:vlan-limit=0
) >>"$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:4031"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


$as_echo "system-traffic.at:4032" >"$at_check_line_file"
(! grep -q "VLAN header stack length probed as" ovs-vswitchd.log) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:4032"
     $as_echo "system-traffic.at:4032" >"$at_check_line_file"
(test `sed -n 's/.*VLAN header stack length probed as \([0-9]\+\).*/\1/p' ovs-vswitchd.log` -lt 2) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:4032"

ovs-vsctl add-br br1 -- set Bridge br1 datapath_type="netdev" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --
ovs-vsctl add-br br2 -- set Bridge br2 datapath_type="netdev" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --
ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:4036: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:4036"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:4036"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:4036: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:4036"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:4036"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




{ set +x
$as_echo "$at_srcdir/system-traffic.at:4038: ip link add ovs-p0 type veth peer name ovs-p1"
at_fn_check_prepare_trace "system-traffic.at:4038"
( $at_check_trace; ip link add ovs-p0 type veth peer name ovs-p1
) >>"$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:4038"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:4039: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:4039"
( $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-traffic.at:4039"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:4040: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:4040"
( $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-traffic.at:4040"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:4041: ovs-vsctl add-port br0 ovs-p0"
at_fn_check_prepare_trace "system-traffic.at:4041"
( $at_check_trace; ovs-vsctl add-port br0 ovs-p0
) >>"$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:4041"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:4042: ovs-vsctl add-port br1 ovs-p1"
at_fn_check_prepare_trace "system-traffic.at:4042"
( $at_check_trace; ovs-vsctl add-port br1 ovs-p1
) >>"$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:4042"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

on_exit 'ip link del ovs-p0'

{ set +x
$as_echo "$at_srcdir/system-traffic.at:4045: ip link add ovs-p2 type veth peer name ovs-p3"
at_fn_check_prepare_trace "system-traffic.at:4045"
( $at_check_trace; ip link add ovs-p2 type veth peer name ovs-p3
) >>"$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:4045"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:4046: ip link set dev ovs-p2 up"
at_fn_check_prepare_trace "system-traffic.at:4046"
( $at_check_trace; ip link set dev ovs-p2 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-traffic.at:4046"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:4047: ip link set dev ovs-p3 up"
at_fn_check_prepare_trace "system-traffic.at:4047"
( $at_check_trace; ip link set dev ovs-p3 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-traffic.at:4047"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:4048: ovs-vsctl add-port br0 ovs-p2"
at_fn_check_prepare_trace "system-traffic.at:4048"
( $at_check_trace; ovs-vsctl add-port br0 ovs-p2
) >>"$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:4048"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:4049: ovs-vsctl add-port br2 ovs-p3"
at_fn_check_prepare_trace "system-traffic.at:4049"
( $at_check_trace; ovs-vsctl add-port br2 ovs-p3
) >>"$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:4049"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

on_exit 'ip link del ovs-p2'

 { set +x
$as_echo "$at_srcdir/system-traffic.at:4052: ip link add p4 type veth peer name ovs-p4 || return 77"
at_fn_check_prepare_trace "system-traffic.at:4052"
( $at_check_trace; ip link add p4 type veth peer name ovs-p4 || 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-traffic.at:4052"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:4052: ethtool -K p4 tx off"
at_fn_check_prepare_trace "system-traffic.at:4052"
( $at_check_trace; ethtool -K p4 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:4052"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:4052: ip link set p4 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:4052"
( $at_check_trace; ip link set p4 netns at_ns0
) >>"$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:4052"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:4052: ip link set dev ovs-p4 up"
at_fn_check_prepare_trace "system-traffic.at:4052"
( $at_check_trace; ip link set dev ovs-p4 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-traffic.at:4052"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:4052: ovs-vsctl add-port br1 ovs-p4 -- \\
                set interface ovs-p4 external-ids:iface-id=\"p4\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4052"
( $at_check_trace; ovs-vsctl add-port br1 ovs-p4 -- \
                set interface ovs-p4 external-ids:iface-id="p4"
) >>"$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:4052"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:4052: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add \"10.1.1.1/24\" dev p4
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4052"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p4
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:4052"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4052: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p4 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4052"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p4 up
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:4052"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:4052: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p4 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4052"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p4 address
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:4052"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:4052: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4052"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:4052"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p4'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:4053: ip link add p5 type veth peer name ovs-p5 || return 77"
at_fn_check_prepare_trace "system-traffic.at:4053"
( $at_check_trace; ip link add p5 type veth peer name ovs-p5 || 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-traffic.at:4053"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:4053: ethtool -K p5 tx off"
at_fn_check_prepare_trace "system-traffic.at:4053"
( $at_check_trace; ethtool -K p5 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:4053"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:4053: ip link set p5 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:4053"
( $at_check_trace; ip link set p5 netns at_ns1
) >>"$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:4053"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:4053: ip link set dev ovs-p5 up"
at_fn_check_prepare_trace "system-traffic.at:4053"
( $at_check_trace; ip link set dev ovs-p5 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-traffic.at:4053"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:4053: ovs-vsctl add-port br2 ovs-p5 -- \\
                set interface ovs-p5 external-ids:iface-id=\"p5\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4053"
( $at_check_trace; ovs-vsctl add-port br2 ovs-p5 -- \
                set interface ovs-p5 external-ids:iface-id="p5"
) >>"$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:4053"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:4053: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add \"10.1.1.2/24\" dev p5
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4053"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p5
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:4053"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4053: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p5 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4053"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p5 up
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:4053"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:4053: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p5 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4053"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p5 address
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:4053"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:4053: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4053"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:4053"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p5'


   { set +x
$as_echo "$at_srcdir/system-traffic.at:4054: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add link p4 name p4.100 type vlan proto 802.1q id 100
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4054"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add link p4 name p4.100 type vlan proto 802.1q id 100
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:4054"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4054: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p4.100 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4054"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p4.100 up
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:4054"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4054: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev p4.100 \"10.2.2.1/24\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4054"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev p4.100 "10.2.2.1/24"
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:4054"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




       { set +x
$as_echo "$at_srcdir/system-traffic.at:4054: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set p4.100 mtu 1492
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4054"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set p4.100 mtu 1492
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:4054"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




   { set +x
$as_echo "$at_srcdir/system-traffic.at:4055: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link add link p5 name p5.100 type vlan proto 802.1q id 100
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4055"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link add link p5 name p5.100 type vlan proto 802.1q id 100
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:4055"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4055: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p5.100 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4055"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p5.100 up
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:4055"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4055: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add dev p5.100 \"10.2.2.2/24\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4055"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add dev p5.100 "10.2.2.2/24"
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:4055"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




       { set +x
$as_echo "$at_srcdir/system-traffic.at:4055: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set p5.100 mtu 1492
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4055"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set p5.100 mtu 1492
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:4055"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }





cat >flows-br0.txt <<'_ATEOF'
priority=1 action=drop
priority=100 in_port=1 action=push_vlan:0x88a8,mod_vlan_vid=4094,output:2
priority=100 in_port=2 action=push_vlan:0x88a8,mod_vlan_vid=4094,output:1
_ATEOF


cat >flows-customer-br.txt <<'_ATEOF'
priority=1 action=normal
priority=100 in_port=1 vlan_tci=0x1000/0x1000 action=pop_vlan,normal
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:4068: ovs-ofctl --bundle add-flows br0 flows-br0.txt"
at_fn_check_prepare_trace "system-traffic.at:4068"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows-br0.txt
) >>"$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:4068"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:4069: ovs-ofctl --bundle add-flows br1 flows-customer-br.txt"
at_fn_check_prepare_trace "system-traffic.at:4069"
( $at_check_trace; ovs-ofctl --bundle add-flows br1 flows-customer-br.txt
) >>"$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:4069"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:4070: ovs-ofctl --bundle add-flows br2 flows-customer-br.txt"
at_fn_check_prepare_trace "system-traffic.at:4070"
( $at_check_trace; ovs-ofctl --bundle add-flows br2 flows-customer-br.txt
) >>"$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:4070"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs_wait_cond () {
    ip netns exec at_ns0 ping -c 1 10.2.2.2
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:4072" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:4072"
fi


 { set +x
$as_echo "$at_srcdir/system-traffic.at:4074: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.2.2.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4074"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.2.2.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:4074"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



 { set +x
$as_echo "$at_srcdir/system-traffic.at:4078: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 1600 -q -c 3 -i 0.3 -w 2 10.2.2.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4078"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 1600 -q -c 3 -i 0.3 -w 2 10.2.2.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:4078"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:4082: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4082"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:4082"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:4082: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:4082"
( $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-traffic.at:4082"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:4082: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:4082"
( $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-traffic.at:4082"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:4082" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:4082"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:4082: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:4082"
( $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-traffic.at:4082"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:4082: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:4082"
( $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-traffic.at:4082"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:4082" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:4082"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:4082: :; "
at_fn_check_prepare_trace "system-traffic.at:4082"
( $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-traffic.at:4082"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_84
#AT_START_85
at_fn_group_banner 85 'system-traffic.at:4086' \
  "802.1ad - push/pop outer 802.1q" "                " 5
at_xfail=no
(
  $as_echo "85. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:4087" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:4087"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:4087: 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-traffic.at:4087"
( $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-traffic.at:4087"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:4087: 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-traffic.at:4087"
( $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-traffic.at:4087"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:4087: 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-traffic.at:4087"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:4087"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:4087: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:4087"
( $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-traffic.at:4087"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:4087: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:4087"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:4087"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:4087: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4087"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:4087"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:4087" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:4087"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:4087: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  -- set Open_vSwitch . other_config:vlan-limit=0 "
at_fn_check_prepare_trace "system-traffic.at:4087"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  -- set Open_vSwitch . other_config:vlan-limit=0
) >>"$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:4087"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


$as_echo "system-traffic.at:4088" >"$at_check_line_file"
(! grep -q "VLAN header stack length probed as" ovs-vswitchd.log) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:4088"
     $as_echo "system-traffic.at:4088" >"$at_check_line_file"
(test `sed -n 's/.*VLAN header stack length probed as \([0-9]\+\).*/\1/p' ovs-vswitchd.log` -lt 2) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:4088"

ovs-vsctl add-br br1 -- set Bridge br1 datapath_type="netdev" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --
ovs-vsctl add-br br2 -- set Bridge br2 datapath_type="netdev" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --
ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:4092: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:4092"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:4092"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:4092: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:4092"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:4092"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




{ set +x
$as_echo "$at_srcdir/system-traffic.at:4094: ip link add ovs-p0 type veth peer name ovs-p1"
at_fn_check_prepare_trace "system-traffic.at:4094"
( $at_check_trace; ip link add ovs-p0 type veth peer name ovs-p1
) >>"$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:4094"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:4095: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:4095"
( $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-traffic.at:4095"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:4096: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:4096"
( $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-traffic.at:4096"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:4097: ovs-vsctl add-port br0 ovs-p0"
at_fn_check_prepare_trace "system-traffic.at:4097"
( $at_check_trace; ovs-vsctl add-port br0 ovs-p0
) >>"$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:4097"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:4098: ovs-vsctl add-port br1 ovs-p1"
at_fn_check_prepare_trace "system-traffic.at:4098"
( $at_check_trace; ovs-vsctl add-port br1 ovs-p1
) >>"$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:4098"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

on_exit 'ip link del ovs-p0'

{ set +x
$as_echo "$at_srcdir/system-traffic.at:4101: ip link add ovs-p2 type veth peer name ovs-p3"
at_fn_check_prepare_trace "system-traffic.at:4101"
( $at_check_trace; ip link add ovs-p2 type veth peer name ovs-p3
) >>"$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:4101"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:4102: ip link set dev ovs-p2 up"
at_fn_check_prepare_trace "system-traffic.at:4102"
( $at_check_trace; ip link set dev ovs-p2 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-traffic.at:4102"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:4103: ip link set dev ovs-p3 up"
at_fn_check_prepare_trace "system-traffic.at:4103"
( $at_check_trace; ip link set dev ovs-p3 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-traffic.at:4103"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:4104: ovs-vsctl add-port br0 ovs-p2"
at_fn_check_prepare_trace "system-traffic.at:4104"
( $at_check_trace; ovs-vsctl add-port br0 ovs-p2
) >>"$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:4104"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:4105: ovs-vsctl add-port br2 ovs-p3"
at_fn_check_prepare_trace "system-traffic.at:4105"
( $at_check_trace; ovs-vsctl add-port br2 ovs-p3
) >>"$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:4105"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

on_exit 'ip link del ovs-p2'

 { set +x
$as_echo "$at_srcdir/system-traffic.at:4108: ip link add p4 type veth peer name ovs-p4 || return 77"
at_fn_check_prepare_trace "system-traffic.at:4108"
( $at_check_trace; ip link add p4 type veth peer name ovs-p4 || 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-traffic.at:4108"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:4108: ethtool -K p4 tx off"
at_fn_check_prepare_trace "system-traffic.at:4108"
( $at_check_trace; ethtool -K p4 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:4108"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:4108: ip link set p4 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:4108"
( $at_check_trace; ip link set p4 netns at_ns0
) >>"$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:4108"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:4108: ip link set dev ovs-p4 up"
at_fn_check_prepare_trace "system-traffic.at:4108"
( $at_check_trace; ip link set dev ovs-p4 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-traffic.at:4108"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:4108: ovs-vsctl add-port br1 ovs-p4 -- \\
                set interface ovs-p4 external-ids:iface-id=\"p4\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4108"
( $at_check_trace; ovs-vsctl add-port br1 ovs-p4 -- \
                set interface ovs-p4 external-ids:iface-id="p4"
) >>"$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:4108"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:4108: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add \"10.1.1.1/24\" dev p4
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4108"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p4
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:4108"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4108: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p4 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4108"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p4 up
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:4108"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:4108: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p4 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4108"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p4 address
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:4108"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:4108: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4108"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:4108"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p4'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:4109: ip link add p5 type veth peer name ovs-p5 || return 77"
at_fn_check_prepare_trace "system-traffic.at:4109"
( $at_check_trace; ip link add p5 type veth peer name ovs-p5 || 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-traffic.at:4109"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:4109: ethtool -K p5 tx off"
at_fn_check_prepare_trace "system-traffic.at:4109"
( $at_check_trace; ethtool -K p5 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:4109"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:4109: ip link set p5 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:4109"
( $at_check_trace; ip link set p5 netns at_ns1
) >>"$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:4109"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:4109: ip link set dev ovs-p5 up"
at_fn_check_prepare_trace "system-traffic.at:4109"
( $at_check_trace; ip link set dev ovs-p5 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-traffic.at:4109"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:4109: ovs-vsctl add-port br2 ovs-p5 -- \\
                set interface ovs-p5 external-ids:iface-id=\"p5\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4109"
( $at_check_trace; ovs-vsctl add-port br2 ovs-p5 -- \
                set interface ovs-p5 external-ids:iface-id="p5"
) >>"$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:4109"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:4109: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add \"10.1.1.2/24\" dev p5
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4109"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p5
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:4109"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4109: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p5 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4109"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p5 up
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:4109"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:4109: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p5 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4109"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p5 address
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:4109"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:4109: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4109"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:4109"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p5'


   { set +x
$as_echo "$at_srcdir/system-traffic.at:4110: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add link p4 name p4.100 type vlan proto 802.1q id 100
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4110"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add link p4 name p4.100 type vlan proto 802.1q id 100
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:4110"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4110: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p4.100 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4110"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p4.100 up
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:4110"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4110: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev p4.100 \"10.2.2.1/24\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4110"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev p4.100 "10.2.2.1/24"
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:4110"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




       { set +x
$as_echo "$at_srcdir/system-traffic.at:4110: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set p4.100 mtu 1492
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4110"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set p4.100 mtu 1492
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:4110"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




   { set +x
$as_echo "$at_srcdir/system-traffic.at:4111: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link add link p5 name p5.100 type vlan proto 802.1q id 100
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4111"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link add link p5 name p5.100 type vlan proto 802.1q id 100
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:4111"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4111: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p5.100 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4111"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p5.100 up
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:4111"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4111: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add dev p5.100 \"10.2.2.2/24\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4111"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add dev p5.100 "10.2.2.2/24"
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:4111"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




       { set +x
$as_echo "$at_srcdir/system-traffic.at:4111: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set p5.100 mtu 1492
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4111"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set p5.100 mtu 1492
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:4111"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }





cat >flows-br0.txt <<'_ATEOF'
priority=1 action=drop
priority=100 in_port=1 action=push_vlan:0x8100,mod_vlan_vid=4094,output:2
priority=100 in_port=2 action=push_vlan:0x8100,mod_vlan_vid=4094,output:1
_ATEOF


cat >flows-customer-br.txt <<'_ATEOF'
priority=1 action=normal
priority=100 in_port=1 vlan_tci=0x1000/0x1000 action=pop_vlan,normal
_ATEOF


{ set +x
$as_echo "$at_srcdir/system-traffic.at:4124: ovs-ofctl --bundle add-flows br0 flows-br0.txt"
at_fn_check_prepare_trace "system-traffic.at:4124"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows-br0.txt
) >>"$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:4124"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:4125: ovs-ofctl --bundle add-flows br1 flows-customer-br.txt"
at_fn_check_prepare_trace "system-traffic.at:4125"
( $at_check_trace; ovs-ofctl --bundle add-flows br1 flows-customer-br.txt
) >>"$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:4125"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:4126: ovs-ofctl --bundle add-flows br2 flows-customer-br.txt"
at_fn_check_prepare_trace "system-traffic.at:4126"
( $at_check_trace; ovs-ofctl --bundle add-flows br2 flows-customer-br.txt
) >>"$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:4126"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs_wait_cond () {
    ip netns exec at_ns0 ping -c 1 10.2.2.2
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:4128" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:4128"
fi


 { set +x
$as_echo "$at_srcdir/system-traffic.at:4130: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.2.2.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4130"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.2.2.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:4130"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



 { set +x
$as_echo "$at_srcdir/system-traffic.at:4134: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 1600 -q -c 3 -i 0.3 -w 2 10.2.2.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4134"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 1600 -q -c 3 -i 0.3 -w 2 10.2.2.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:4134"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:4138: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4138"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:4138"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:4138: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:4138"
( $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-traffic.at:4138"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:4138: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:4138"
( $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-traffic.at:4138"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:4138" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:4138"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:4138: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:4138"
( $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-traffic.at:4138"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:4138: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:4138"
( $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-traffic.at:4138"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:4138" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:4138"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:4138: :; "
at_fn_check_prepare_trace "system-traffic.at:4138"
( $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-traffic.at:4138"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_85
#AT_START_86
at_fn_group_banner 86 'system-traffic.at:4142' \
  "802.1ad - 802.1q tunnel" "                        " 5
at_xfail=no
(
  $as_echo "86. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:4143" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:4143"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:4143: 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-traffic.at:4143"
( $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-traffic.at:4143"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:4143: 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-traffic.at:4143"
( $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-traffic.at:4143"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:4143: 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-traffic.at:4143"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:4143"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:4143: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:4143"
( $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-traffic.at:4143"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:4143: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:4143"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:4143"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:4143: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4143"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:4143"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:4143" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:4143"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:4143: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  -- set Open_vSwitch . other_config:vlan-limit=0 "
at_fn_check_prepare_trace "system-traffic.at:4143"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  -- set Open_vSwitch . other_config:vlan-limit=0
) >>"$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:4143"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


$as_echo "system-traffic.at:4144" >"$at_check_line_file"
(! grep -q "VLAN header stack length probed as" ovs-vswitchd.log) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:4144"
     $as_echo "system-traffic.at:4144" >"$at_check_line_file"
(test `sed -n 's/.*VLAN header stack length probed as \([0-9]\+\).*/\1/p' ovs-vswitchd.log` -lt 2) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:4144"

ovs-vsctl add-br br1 -- set Bridge br1 datapath_type="netdev" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --
ovs-vsctl add-br br2 -- set Bridge br2 datapath_type="netdev" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --
ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:4148: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:4148"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:4148"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:4148: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:4148"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:4148"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




{ set +x
$as_echo "$at_srcdir/system-traffic.at:4150: ip link add ovs-p0 type veth peer name ovs-p1"
at_fn_check_prepare_trace "system-traffic.at:4150"
( $at_check_trace; ip link add ovs-p0 type veth peer name ovs-p1
) >>"$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:4150"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:4151: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:4151"
( $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-traffic.at:4151"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:4152: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:4152"
( $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-traffic.at:4152"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:4153: ovs-vsctl add-port br0 ovs-p0"
at_fn_check_prepare_trace "system-traffic.at:4153"
( $at_check_trace; ovs-vsctl add-port br0 ovs-p0
) >>"$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:4153"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:4154: ovs-vsctl add-port br1 ovs-p1"
at_fn_check_prepare_trace "system-traffic.at:4154"
( $at_check_trace; ovs-vsctl add-port br1 ovs-p1
) >>"$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:4154"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

on_exit 'ip link del ovs-p0'

{ set +x
$as_echo "$at_srcdir/system-traffic.at:4157: ip link add ovs-p2 type veth peer name ovs-p3"
at_fn_check_prepare_trace "system-traffic.at:4157"
( $at_check_trace; ip link add ovs-p2 type veth peer name ovs-p3
) >>"$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:4157"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:4158: ip link set dev ovs-p2 up"
at_fn_check_prepare_trace "system-traffic.at:4158"
( $at_check_trace; ip link set dev ovs-p2 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-traffic.at:4158"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:4159: ip link set dev ovs-p3 up"
at_fn_check_prepare_trace "system-traffic.at:4159"
( $at_check_trace; ip link set dev ovs-p3 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-traffic.at:4159"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:4160: ovs-vsctl add-port br0 ovs-p2"
at_fn_check_prepare_trace "system-traffic.at:4160"
( $at_check_trace; ovs-vsctl add-port br0 ovs-p2
) >>"$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:4160"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:4161: ovs-vsctl add-port br2 ovs-p3"
at_fn_check_prepare_trace "system-traffic.at:4161"
( $at_check_trace; ovs-vsctl add-port br2 ovs-p3
) >>"$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:4161"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

on_exit 'ip link del ovs-p2'

 { set +x
$as_echo "$at_srcdir/system-traffic.at:4164: ip link add p4 type veth peer name ovs-p4 || return 77"
at_fn_check_prepare_trace "system-traffic.at:4164"
( $at_check_trace; ip link add p4 type veth peer name ovs-p4 || 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-traffic.at:4164"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:4164: ethtool -K p4 tx off"
at_fn_check_prepare_trace "system-traffic.at:4164"
( $at_check_trace; ethtool -K p4 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:4164"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:4164: ip link set p4 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:4164"
( $at_check_trace; ip link set p4 netns at_ns0
) >>"$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:4164"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:4164: ip link set dev ovs-p4 up"
at_fn_check_prepare_trace "system-traffic.at:4164"
( $at_check_trace; ip link set dev ovs-p4 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-traffic.at:4164"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:4164: ovs-vsctl add-port br1 ovs-p4 -- \\
                set interface ovs-p4 external-ids:iface-id=\"p4\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4164"
( $at_check_trace; ovs-vsctl add-port br1 ovs-p4 -- \
                set interface ovs-p4 external-ids:iface-id="p4"
) >>"$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:4164"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:4164: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add \"10.1.1.1/24\" dev p4
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4164"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p4
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:4164"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4164: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p4 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4164"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p4 up
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:4164"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:4164: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p4 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4164"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p4 address
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:4164"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:4164: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4164"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:4164"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p4'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:4165: ip link add p5 type veth peer name ovs-p5 || return 77"
at_fn_check_prepare_trace "system-traffic.at:4165"
( $at_check_trace; ip link add p5 type veth peer name ovs-p5 || 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-traffic.at:4165"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:4165: ethtool -K p5 tx off"
at_fn_check_prepare_trace "system-traffic.at:4165"
( $at_check_trace; ethtool -K p5 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:4165"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:4165: ip link set p5 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:4165"
( $at_check_trace; ip link set p5 netns at_ns1
) >>"$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:4165"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:4165: ip link set dev ovs-p5 up"
at_fn_check_prepare_trace "system-traffic.at:4165"
( $at_check_trace; ip link set dev ovs-p5 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-traffic.at:4165"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:4165: ovs-vsctl add-port br2 ovs-p5 -- \\
                set interface ovs-p5 external-ids:iface-id=\"p5\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4165"
( $at_check_trace; ovs-vsctl add-port br2 ovs-p5 -- \
                set interface ovs-p5 external-ids:iface-id="p5"
) >>"$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:4165"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:4165: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add \"10.1.1.2/24\" dev p5
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4165"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p5
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:4165"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4165: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p5 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4165"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p5 up
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:4165"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:4165: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p5 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4165"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p5 address
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:4165"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:4165: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4165"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:4165"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p5'


   { set +x
$as_echo "$at_srcdir/system-traffic.at:4166: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add link p4 name p4.100 type vlan proto 802.1q id 100
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4166"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add link p4 name p4.100 type vlan proto 802.1q id 100
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:4166"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4166: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p4.100 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4166"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p4.100 up
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:4166"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4166: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev p4.100 \"10.2.2.1/24\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4166"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev p4.100 "10.2.2.1/24"
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:4166"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




       { set +x
$as_echo "$at_srcdir/system-traffic.at:4166: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set p4.100 mtu 1492
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4166"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set p4.100 mtu 1492
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:4166"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




   { set +x
$as_echo "$at_srcdir/system-traffic.at:4167: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link add link p5 name p5.100 type vlan proto 802.1q id 100
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4167"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link add link p5 name p5.100 type vlan proto 802.1q id 100
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:4167"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4167: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p5.100 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4167"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p5.100 up
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:4167"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4167: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add dev p5.100 \"10.2.2.2/24\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4167"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add dev p5.100 "10.2.2.2/24"
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:4167"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




       { set +x
$as_echo "$at_srcdir/system-traffic.at:4167: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set p5.100 mtu 1492
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4167"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set p5.100 mtu 1492
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:4167"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




   { set +x
$as_echo "$at_srcdir/system-traffic.at:4168: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add link p4 name p4.200 type vlan proto 802.1q id 200
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4168"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add link p4 name p4.200 type vlan proto 802.1q id 200
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:4168"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4168: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p4.200 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4168"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p4.200 up
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:4168"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4168: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev p4.200 \"10.3.2.1/24\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4168"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev p4.200 "10.3.2.1/24"
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:4168"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




       { set +x
$as_echo "$at_srcdir/system-traffic.at:4168: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set p4.200 mtu 1492
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4168"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set p4.200 mtu 1492
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:4168"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




   { set +x
$as_echo "$at_srcdir/system-traffic.at:4169: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link add link p5 name p5.200 type vlan proto 802.1q id 200
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4169"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link add link p5 name p5.200 type vlan proto 802.1q id 200
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:4169"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4169: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p5.200 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4169"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p5.200 up
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:4169"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4169: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add dev p5.200 \"10.3.2.2/24\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4169"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add dev p5.200 "10.3.2.2/24"
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:4169"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




       { set +x
$as_echo "$at_srcdir/system-traffic.at:4169: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set p5.200 mtu 1492
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4169"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set p5.200 mtu 1492
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:4169"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




   { set +x
$as_echo "$at_srcdir/system-traffic.at:4170: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add link p4 name p4.300 type vlan proto 802.1q id 300
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4170"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add link p4 name p4.300 type vlan proto 802.1q id 300
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:4170"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4170: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p4.300 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4170"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p4.300 up
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:4170"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4170: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev p4.300 \"10.4.2.1/24\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4170"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev p4.300 "10.4.2.1/24"
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:4170"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




       { set +x
$as_echo "$at_srcdir/system-traffic.at:4170: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set p4.300 mtu 1492
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4170"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set p4.300 mtu 1492
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:4170"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




   { set +x
$as_echo "$at_srcdir/system-traffic.at:4171: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link add link p5 name p5.300 type vlan proto 802.1q id 300
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4171"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link add link p5 name p5.300 type vlan proto 802.1q id 300
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:4171"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4171: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p5.300 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4171"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p5.300 up
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:4171"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4171: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add dev p5.300 \"10.4.2.2/24\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4171"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add dev p5.300 "10.4.2.2/24"
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:4171"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




       { set +x
$as_echo "$at_srcdir/system-traffic.at:4171: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set p5.300 mtu 1492
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4171"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set p5.300 mtu 1492
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:4171"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }





{ set +x
$as_echo "$at_srcdir/system-traffic.at:4173: ovs-ofctl add-flow br0 action=normal"
at_fn_check_prepare_trace "system-traffic.at:4173"
( $at_check_trace; ovs-ofctl add-flow br0 action=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-traffic.at:4173"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:4174: ovs-ofctl add-flow br1 action=normal"
at_fn_check_prepare_trace "system-traffic.at:4174"
( $at_check_trace; ovs-ofctl add-flow br1 action=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-traffic.at:4174"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:4175: ovs-ofctl add-flow br2 action=normal"
at_fn_check_prepare_trace "system-traffic.at:4175"
( $at_check_trace; ovs-ofctl add-flow br2 action=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-traffic.at:4175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:4176: ovs-vsctl set port ovs-p0 vlan_mode=dot1q-tunnel tag=4094 cvlans=100,200"
at_fn_check_prepare_trace "system-traffic.at:4176"
( $at_check_trace; ovs-vsctl set port ovs-p0 vlan_mode=dot1q-tunnel tag=4094 cvlans=100,200
) >>"$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:4176"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-traffic.at:4177: ovs-vsctl set port ovs-p2 vlan_mode=dot1q-tunnel tag=4094 cvlans=100,200"
at_fn_check_prepare_trace "system-traffic.at:4177"
( $at_check_trace; ovs-vsctl set port ovs-p2 vlan_mode=dot1q-tunnel tag=4094 cvlans=100,200
) >>"$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:4177"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs_wait_cond () {
    ip netns exec at_ns0 ping -c 1 10.2.2.2
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:4179" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:4179"
fi

ovs_wait_cond () {
    ip netns exec at_ns0 ping -c 1 10.3.2.2
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:4180" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:4180"
fi


 { set +x
$as_echo "$at_srcdir/system-traffic.at:4182: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.2.2.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4182"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.2.2.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:4182"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



 { set +x
$as_echo "$at_srcdir/system-traffic.at:4186: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.3.2.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4186"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.3.2.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:4186"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



 { set +x
$as_echo "$at_srcdir/system-traffic.at:4190: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 1600 -q -c 3 -i 0.3 -w 2 10.2.2.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4190"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 1600 -q -c 3 -i 0.3 -w 2 10.2.2.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:4190"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



 { set +x
$as_echo "$at_srcdir/system-traffic.at:4194: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 1600 -q -c 3 -i 0.3 -w 2 10.3.2.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4194"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 1600 -q -c 3 -i 0.3 -w 2 10.3.2.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:4194"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



 { set +x
$as_echo "$at_srcdir/system-traffic.at:4199: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 1 -w 3 10.4.2.2
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4199"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 1 -w 3 10.4.2.2
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=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/system-traffic.at:4199"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:4201: check_logs \"/dropping VLAN \\(0\\|300\\) packet received on dot1q-tunnel port/d\"\";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4201"
( $at_check_trace; check_logs "/dropping VLAN \(0\|300\) packet received on dot1q-tunnel port/d"";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:4201"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:4201: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:4201"
( $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-traffic.at:4201"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:4201: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:4201"
( $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-traffic.at:4201"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:4201" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:4201"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:4201: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:4201"
( $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-traffic.at:4201"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:4201: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:4201"
( $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-traffic.at:4201"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:4201" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:4201"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:4201: :; "
at_fn_check_prepare_trace "system-traffic.at:4201"
( $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-traffic.at:4201"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_86
#AT_START_87
at_fn_group_banner 87 'system-traffic.at:4204' \
  "802.1ad - double vlan match" "                    " 5
at_xfail=no
(
  $as_echo "87. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:4205" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:4205"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-traffic.at:4205: 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-traffic.at:4205"
( $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-traffic.at:4205"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:4205: 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-traffic.at:4205"
( $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-traffic.at:4205"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:4205: 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-traffic.at:4205"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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:4205"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-traffic.at:4205: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-traffic.at:4205"
( $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-traffic.at:4205"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:4205: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-traffic.at:4205"
( $at_check_trace; ovs-vswitchd --disable-system --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-traffic.at:4205"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-traffic.at:4205: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4205"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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:4205"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:4205" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:4205"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:4205: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  -- set Open_vSwitch . other_config:vlan-limit=0 "
at_fn_check_prepare_trace "system-traffic.at:4205"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  -- set Open_vSwitch . other_config:vlan-limit=0
) >>"$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:4205"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


$as_echo "system-traffic.at:4206" >"$at_check_line_file"
(! grep -q "VLAN header stack length probed as" ovs-vswitchd.log) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:4206"
     $as_echo "system-traffic.at:4206" >"$at_check_line_file"
(test `sed -n 's/.*VLAN header stack length probed as \([0-9]\+\).*/\1/p' ovs-vswitchd.log` -lt 2) \
  && at_fn_check_skip 77 "$at_srcdir/system-traffic.at:4206"

ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-traffic.at:4208: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:4208"
( $at_check_trace; ip netns add at_ns0 || 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-traffic.at:4208"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del at_ns1



                { set +x
$as_echo "$at_srcdir/system-traffic.at:4208: ip netns add at_ns1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:4208"
( $at_check_trace; ip netns add at_ns1 || 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-traffic.at:4208"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns1


'
                ip netns exec at_ns1 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-traffic.at:4210: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-traffic.at:4210"
( $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-traffic.at:4210"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:4210: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-traffic.at:4210"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:4210"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:4210: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-traffic.at:4210"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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:4210"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:4210: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-traffic.at:4210"
( $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-traffic.at:4210"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:4210: 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-traffic.at:4210"
( $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>&-
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:4210"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:4210: ip netns exec at_ns0 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-traffic.at:4210"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.1/24" dev p0
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:4210"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4210: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4210"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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:4210"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:4210: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4210"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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:4210"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:4210: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4210"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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:4210"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


 { set +x
$as_echo "$at_srcdir/system-traffic.at:4211: ip link add p1 type veth peer name ovs-p1 || return 77"
at_fn_check_prepare_trace "system-traffic.at:4211"
( $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-traffic.at:4211"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:4211: ethtool -K p1 tx off"
at_fn_check_prepare_trace "system-traffic.at:4211"
( $at_check_trace; ethtool -K p1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-traffic.at:4211"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-traffic.at:4211: ip link set p1 netns at_ns1"
at_fn_check_prepare_trace "system-traffic.at:4211"
( $at_check_trace; ip link set p1 netns at_ns1
) >>"$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:4211"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:4211: ip link set dev ovs-p1 up"
at_fn_check_prepare_trace "system-traffic.at:4211"
( $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-traffic.at:4211"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-traffic.at:4211: 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-traffic.at:4211"
( $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>&-
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:4211"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-traffic.at:4211: ip netns exec at_ns1 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-traffic.at:4211"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add "10.1.1.2/24" dev p1
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:4211"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4211: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4211"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 up
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:4211"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:4211: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4211"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1 address
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:4211"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-traffic.at:4211: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4211"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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:4211"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p1'



  { set +x
$as_echo "$at_srcdir/system-traffic.at:4213: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add link p0 name p0.4094 type vlan proto 802.1ad id 4094
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4213"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add link p0 name p0.4094 type vlan proto 802.1ad id 4094
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:4213"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4213: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0.4094 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4213"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0.4094 up
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:4213"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4213: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev p0.4094 \"10.255.2.1/24\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4213"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev p0.4094 "10.255.2.1/24"
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:4213"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4213: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set p0.4094 mtu 1496
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4213"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set p0.4094 mtu 1496
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:4213"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




  { set +x
$as_echo "$at_srcdir/system-traffic.at:4214: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link add link p1 name p1.4094 type vlan proto 802.1ad id 4094
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4214"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link add link p1 name p1.4094 type vlan proto 802.1ad id 4094
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:4214"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4214: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1.4094 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4214"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1.4094 up
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:4214"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4214: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add dev p1.4094 \"10.255.2.2/24\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4214"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add dev p1.4094 "10.255.2.2/24"
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:4214"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4214: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set p1.4094 mtu 1496
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4214"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set p1.4094 mtu 1496
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:4214"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }





   { set +x
$as_echo "$at_srcdir/system-traffic.at:4216: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add link p0.4094 name p0.4094.100 type vlan proto 802.1q id 100
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4216"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add link p0.4094 name p0.4094.100 type vlan proto 802.1q id 100
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:4216"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4216: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0.4094.100 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4216"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0.4094.100 up
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:4216"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4216: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev p0.4094.100 \"10.2.2.1/24\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4216"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev p0.4094.100 "10.2.2.1/24"
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:4216"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




       { set +x
$as_echo "$at_srcdir/system-traffic.at:4216: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set p0.4094.100 mtu 1492
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4216"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set p0.4094.100 mtu 1492
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:4216"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




   { set +x
$as_echo "$at_srcdir/system-traffic.at:4217: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link add link p1.4094 name p1.4094.100 type vlan proto 802.1q id 100
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4217"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link add link p1.4094 name p1.4094.100 type vlan proto 802.1q id 100
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:4217"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4217: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1.4094.100 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4217"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set dev p1.4094.100 up
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:4217"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-traffic.at:4217: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add dev p1.4094.100 \"10.2.2.2/24\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4217"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip addr add dev p1.4094.100 "10.2.2.2/24"
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:4217"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




       { set +x
$as_echo "$at_srcdir/system-traffic.at:4217: ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set p1.4094.100 mtu 1492
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4217"
( $at_check_trace; ip netns exec at_ns1 sh << NS_EXEC_HEREDOC
ip link set p1.4094.100 mtu 1492
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:4217"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }





cat >flows-br0.txt <<'_ATEOF'
table=0,priority=1                action=drop
table=0,priority=100 dl_vlan=4094 action=pop_vlan,goto_table:1
table=1,priority=100 dl_vlan=100  action=push_vlan:0x88a8,mod_vlan_vid:4094,normal
_ATEOF

{ set +x
$as_echo "$at_srcdir/system-traffic.at:4224: ovs-ofctl --bundle add-flows br0 flows-br0.txt"
at_fn_check_prepare_trace "system-traffic.at:4224"
( $at_check_trace; ovs-ofctl --bundle add-flows br0 flows-br0.txt
) >>"$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:4224"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs_wait_cond () {
    ip netns exec at_ns0 ping -c 1 10.2.2.2
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:4226" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:4226"
fi


 { set +x
$as_echo "$at_srcdir/system-traffic.at:4228: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.2.2.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4228"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.2.2.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:4228"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



 { set +x
$as_echo "$at_srcdir/system-traffic.at:4232: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 1600 -q -c 3 -i 0.3 -w 2 10.2.2.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4232"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 1600 -q -c 3 -i 0.3 -w 2 10.2.2.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-traffic.at:4232"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-traffic.at:4236: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-traffic.at:4236"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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:4236"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-traffic.at:4236: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-traffic.at:4236"
( $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-traffic.at:4236"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:4236: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-traffic.at:4236"
( $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-traffic.at:4236"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:4236" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:4236"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:4236: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-traffic.at:4236"
( $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-traffic.at:4236"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-traffic.at:4236: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-traffic.at:4236"
( $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-traffic.at:4236"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-traffic.at:4236" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-traffic.at:4236"
fi

   { set +x
$as_echo "$at_srcdir/system-traffic.at:4236: :; "
at_fn_check_prepare_trace "system-traffic.at:4236"
( $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-traffic.at:4236"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_87
#AT_START_88
at_fn_group_banner 88 'system-layer3-tunnels.at:3' \
  "layer3 - ping over VXLAN-GPE" "                   " 6
at_xfail=no
(
  $as_echo "88. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-layer3-tunnels.at:4" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-layer3-tunnels.at:4"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:4: 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-layer3-tunnels.at:4"
( $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-layer3-tunnels.at:4"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:4: 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-layer3-tunnels.at:4"
( $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-layer3-tunnels.at:4"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:4: 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-layer3-tunnels.at:4"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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-layer3-tunnels.at:4"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:4: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-layer3-tunnels.at:4"
( $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-layer3-tunnels.at:4"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:4: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-layer3-tunnels.at:4"
( $at_check_trace; ovs-vswitchd --disable-system --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-layer3-tunnels.at:4"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:4: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-layer3-tunnels.at:4"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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-layer3-tunnels.at:4"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-layer3-tunnels.at:4" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-layer3-tunnels.at:4"
fi

   { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:4: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  -- set Bridge br0 other-config:hwaddr=\"00:12:34:56:78:bb\" "
at_fn_check_prepare_trace "system-layer3-tunnels.at:4"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  -- set Bridge br0 other-config:hwaddr="00:12:34:56:78:bb"
) >>"$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-layer3-tunnels.at:4"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


$as_echo "system-layer3-tunnels.at:5" >"$at_check_line_file"
(! ip link add foo type vxlan help 2>&1 | grep dstport >/dev/null) \
  && at_fn_check_skip 77 "$at_srcdir/system-layer3-tunnels.at:5"
     $as_echo "system-layer3-tunnels.at:5" >"$at_check_line_file"
(systemctl status firewalld 2>&1 | grep running > /dev/null) \
  && at_fn_check_skip 77 "$at_srcdir/system-layer3-tunnels.at:5"
     $as_echo "system-layer3-tunnels.at:5" >"$at_check_line_file"
(! ip link add foo type vxlan help 2>&1 | grep gpe >/dev/null) \
  && at_fn_check_skip 77 "$at_srcdir/system-layer3-tunnels.at:5"
$as_echo "system-layer3-tunnels.at:6" >"$at_check_line_file"
(! ip route help 2>&1 |grep encap >/dev/null) \
  && at_fn_check_skip 77 "$at_srcdir/system-layer3-tunnels.at:6"

ovs-vsctl add-br br-underlay -- set Bridge br-underlay datapath_type="netdev" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --

ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:10: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-layer3-tunnels.at:10"
( $at_check_trace; ip netns add at_ns0 || 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-layer3-tunnels.at:10"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:13: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-layer3-tunnels.at:13"
( $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-layer3-tunnels.at:13"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:13: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-layer3-tunnels.at:13"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-layer3-tunnels.at:13"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:13: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-layer3-tunnels.at:13"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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-layer3-tunnels.at:13"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:13: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-layer3-tunnels.at:13"
( $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-layer3-tunnels.at:13"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:13: ovs-vsctl add-port br-underlay ovs-p0 -- \\
                set interface ovs-p0 external-ids:iface-id=\"p0\""
at_fn_check_prepare_notrace 'an embedded newline' "system-layer3-tunnels.at:13"
( $at_check_trace; ovs-vsctl add-port br-underlay ovs-p0 -- \
                set interface ovs-p0 external-ids:iface-id="p0"
) >>"$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-layer3-tunnels.at:13"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:13: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add \"172.31.1.1/24\" dev p0
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-layer3-tunnels.at:13"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "172.31.1.1/24" dev p0
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-layer3-tunnels.at:13"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:13: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-layer3-tunnels.at:13"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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-layer3-tunnels.at:13"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:13: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-layer3-tunnels.at:13"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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-layer3-tunnels.at:13"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:13: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-layer3-tunnels.at:13"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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-layer3-tunnels.at:13"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


{ set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:14: ip addr add dev br-underlay \"172.31.1.100/24\""
at_fn_check_prepare_trace "system-layer3-tunnels.at:14"
( $at_check_trace; ip addr add dev br-underlay "172.31.1.100/24"
) >>"$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-layer3-tunnels.at:14"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:15: ip link set dev br-underlay up"
at_fn_check_prepare_trace "system-layer3-tunnels.at:15"
( $at_check_trace; ip link set dev br-underlay 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-layer3-tunnels.at:15"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:19: ovs-vsctl add-port br0 at_vxlan0 -- \\
              set int at_vxlan0 type=vxlan options:remote_ip=172.31.1.1 options:packet_type=legacy_l3 options:exts=gpe"
at_fn_check_prepare_notrace 'an embedded newline' "system-layer3-tunnels.at:19"
( $at_check_trace; ovs-vsctl add-port br0 at_vxlan0 -- \
              set int at_vxlan0 type=vxlan options:remote_ip=172.31.1.1 options:packet_type=legacy_l3 options:exts=gpe
) >>"$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-layer3-tunnels.at:19"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:19: ip addr add dev br0 10.1.1.2/24"
at_fn_check_prepare_trace "system-layer3-tunnels.at:19"
( $at_check_trace; ip addr add dev br0 10.1.1.2/24
) >>"$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-layer3-tunnels.at:19"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:19: ip link set dev br0 up"
at_fn_check_prepare_trace "system-layer3-tunnels.at:19"
( $at_check_trace; ip link set dev br0 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-layer3-tunnels.at:19"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:19: ip link set dev br0 mtu 1450"
at_fn_check_prepare_trace "system-layer3-tunnels.at:19"
( $at_check_trace; ip link set dev br0 mtu 1450
) >>"$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-layer3-tunnels.at:19"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    on_exit 'ip addr del dev br0 10.1.1.2/24'


{ set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:21: ip neigh add 10.1.1.1 lladdr 00:12:34:56:78:aa dev br0"
at_fn_check_prepare_trace "system-layer3-tunnels.at:21"
( $at_check_trace; ip neigh add 10.1.1.1 lladdr 00:12:34:56:78:aa dev br0
) >>"$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-layer3-tunnels.at:21"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

 { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:22: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add dev at_vxlan1 type vxlan dstport 4789 external gpe
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-layer3-tunnels.at:22"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add dev at_vxlan1 type vxlan dstport 4789 external gpe
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-layer3-tunnels.at:22"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:23: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev at_vxlan1 10.1.1.1/24
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-layer3-tunnels.at:23"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev at_vxlan1 10.1.1.1/24
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-layer3-tunnels.at:23"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:24: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev at_vxlan1 mtu 1450 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-layer3-tunnels.at:24"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev at_vxlan1 mtu 1450 up
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-layer3-tunnels.at:24"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:25: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add 10.1.1.2/32 encap ip id 0 dst 172.31.1.100 dev at_vxlan1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-layer3-tunnels.at:25"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add 10.1.1.2/32 encap ip id 0 dst 172.31.1.100 dev at_vxlan1
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-layer3-tunnels.at:25"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:27: ovs-ofctl add-flow br-underlay \"actions=normal\""
at_fn_check_prepare_trace "system-layer3-tunnels.at:27"
( $at_check_trace; ovs-ofctl add-flow br-underlay "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-layer3-tunnels.at:27"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:30: ovs-ofctl add-flow br0 \"priority=1 action=drop\""
at_fn_check_prepare_trace "system-layer3-tunnels.at:30"
( $at_check_trace; ovs-ofctl add-flow br0 "priority=1 action=drop"
) >>"$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-layer3-tunnels.at:30"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:31: ovs-ofctl add-flow br0 \"priority=100 ip,nw_dst=10.1.1.1 action=output:at_vxlan0\""
at_fn_check_prepare_trace "system-layer3-tunnels.at:31"
( $at_check_trace; ovs-ofctl add-flow br0 "priority=100 ip,nw_dst=10.1.1.1 action=output:at_vxlan0"
) >>"$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-layer3-tunnels.at:31"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:32: ovs-ofctl add-flow br0 \"priority=100 ip,nw_dst=10.1.1.2 action=mod_dl_src:00:12:34:56:78:aa,mod_dl_dst:00:12:34:56:78:bb,local\""
at_fn_check_prepare_trace "system-layer3-tunnels.at:32"
( $at_check_trace; ovs-ofctl add-flow br0 "priority=100 ip,nw_dst=10.1.1.2 action=mod_dl_src:00:12:34:56:78:aa,mod_dl_dst:00:12:34:56:78:bb,local"
) >>"$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-layer3-tunnels.at:32"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs_wait_cond () {
    ip netns exec at_ns0 ping -c 1 10.1.1.2
}
if ovs_wait; then :
else

    $as_echo "system-layer3-tunnels.at:34" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-layer3-tunnels.at:34"
fi


 { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:37: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 172.31.1.100 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-layer3-tunnels.at:37"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 172.31.1.100 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-layer3-tunnels.at:37"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



 { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:42: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.1.1.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-layer3-tunnels.at:42"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.1.1.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-layer3-tunnels.at:42"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:45: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 3200 -q -c 3 -i 0.3 -w 2 10.1.1.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-layer3-tunnels.at:45"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 3200 -q -c 3 -i 0.3 -w 2 10.1.1.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-layer3-tunnels.at:45"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:49: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-layer3-tunnels.at:49"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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-layer3-tunnels.at:49"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:49: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-layer3-tunnels.at:49"
( $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-layer3-tunnels.at:49"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:49: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-layer3-tunnels.at:49"
( $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-layer3-tunnels.at:49"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-layer3-tunnels.at:49" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-layer3-tunnels.at:49"
fi

   { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:49: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-layer3-tunnels.at:49"
( $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-layer3-tunnels.at:49"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:49: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-layer3-tunnels.at:49"
( $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-layer3-tunnels.at:49"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-layer3-tunnels.at:49" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-layer3-tunnels.at:49"
fi

   { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:49: :; "
at_fn_check_prepare_trace "system-layer3-tunnels.at:49"
( $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-layer3-tunnels.at:49"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_88
#AT_START_89
at_fn_group_banner 89 'system-layer3-tunnels.at:52' \
  "layer3 - ping over GRE" "                         " 6
at_xfail=no
(
  $as_echo "89. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init


   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-layer3-tunnels.at:53" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-layer3-tunnels.at:53"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:53: 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-layer3-tunnels.at:53"
( $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-layer3-tunnels.at:53"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:53: 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-layer3-tunnels.at:53"
( $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-layer3-tunnels.at:53"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:53: 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-layer3-tunnels.at:53"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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-layer3-tunnels.at:53"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:53: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-layer3-tunnels.at:53"
( $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-layer3-tunnels.at:53"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:53: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-layer3-tunnels.at:53"
( $at_check_trace; ovs-vswitchd --disable-system --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-layer3-tunnels.at:53"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:53: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-layer3-tunnels.at:53"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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-layer3-tunnels.at:53"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-layer3-tunnels.at:53" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-layer3-tunnels.at:53"
fi

   { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:53: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  -- set Bridge br0 other-config:hwaddr=\"00:12:34:56:78:bb\" "
at_fn_check_prepare_trace "system-layer3-tunnels.at:53"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  -- set Bridge br0 other-config:hwaddr="00:12:34:56:78:bb"
) >>"$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-layer3-tunnels.at:53"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


$as_echo "system-layer3-tunnels.at:54" >"$at_check_line_file"
(! ip link add foo type gre help 2>&1 | grep "gre " >/dev/null) \
  && at_fn_check_skip 77 "$at_srcdir/system-layer3-tunnels.at:54"
     $as_echo "system-layer3-tunnels.at:54" >"$at_check_line_file"
(systemctl status firewalld 2>&1 | grep running > /dev/null) \
  && at_fn_check_skip 77 "$at_srcdir/system-layer3-tunnels.at:54"
$as_echo "system-layer3-tunnels.at:55" >"$at_check_line_file"
(! ip route help 2>&1 |grep encap >/dev/null) \
  && at_fn_check_skip 77 "$at_srcdir/system-layer3-tunnels.at:55"

ovs-vsctl add-br br-underlay -- set Bridge br-underlay datapath_type="netdev" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --

ip netns del at_ns0



                { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:59: ip netns add at_ns0 || return 77"
at_fn_check_prepare_trace "system-layer3-tunnels.at:59"
( $at_check_trace; ip netns add at_ns0 || 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-layer3-tunnels.at:59"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del at_ns0


'
                ip netns exec at_ns0 sysctl -w net.netfilter.nf_conntrack_helper=0




 { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:62: ip link add p0 type veth peer name ovs-p0 || return 77"
at_fn_check_prepare_trace "system-layer3-tunnels.at:62"
( $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-layer3-tunnels.at:62"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:62: ethtool -K p0 tx off"
at_fn_check_prepare_trace "system-layer3-tunnels.at:62"
( $at_check_trace; ethtool -K p0 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-layer3-tunnels.at:62"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:62: ip link set p0 netns at_ns0"
at_fn_check_prepare_trace "system-layer3-tunnels.at:62"
( $at_check_trace; ip link set p0 netns at_ns0
) >>"$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-layer3-tunnels.at:62"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:62: ip link set dev ovs-p0 up"
at_fn_check_prepare_trace "system-layer3-tunnels.at:62"
( $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-layer3-tunnels.at:62"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:62: ovs-vsctl add-port br-underlay ovs-p0 -- \\
                set interface ovs-p0 external-ids:iface-id=\"p0\""
at_fn_check_prepare_notrace 'an embedded newline' "system-layer3-tunnels.at:62"
( $at_check_trace; ovs-vsctl add-port br-underlay ovs-p0 -- \
                set interface ovs-p0 external-ids:iface-id="p0"
) >>"$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-layer3-tunnels.at:62"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:62: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add \"172.31.1.1/24\" dev p0
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-layer3-tunnels.at:62"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add "172.31.1.1/24" dev p0
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-layer3-tunnels.at:62"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:62: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-layer3-tunnels.at:62"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 up
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-layer3-tunnels.at:62"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:62: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-layer3-tunnels.at:62"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev p0 address
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-layer3-tunnels.at:62"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:62: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-layer3-tunnels.at:62"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add default via
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-layer3-tunnels.at:62"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-p0'


{ set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:63: ip addr add dev br-underlay \"172.31.1.100/24\""
at_fn_check_prepare_trace "system-layer3-tunnels.at:63"
( $at_check_trace; ip addr add dev br-underlay "172.31.1.100/24"
) >>"$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-layer3-tunnels.at:63"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:64: ip link set dev br-underlay up"
at_fn_check_prepare_trace "system-layer3-tunnels.at:64"
( $at_check_trace; ip link set dev br-underlay 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-layer3-tunnels.at:64"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:68: ovs-vsctl add-port br0 at_gre0 -- \\
              set int at_gre0 type=gre options:remote_ip=172.31.1.1 options:packet_type=legacy_l3"
at_fn_check_prepare_notrace 'an embedded newline' "system-layer3-tunnels.at:68"
( $at_check_trace; ovs-vsctl add-port br0 at_gre0 -- \
              set int at_gre0 type=gre options:remote_ip=172.31.1.1 options:packet_type=legacy_l3
) >>"$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-layer3-tunnels.at:68"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:68: ip addr add dev br0 10.1.1.2/24"
at_fn_check_prepare_trace "system-layer3-tunnels.at:68"
( $at_check_trace; ip addr add dev br0 10.1.1.2/24
) >>"$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-layer3-tunnels.at:68"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:68: ip link set dev br0 up"
at_fn_check_prepare_trace "system-layer3-tunnels.at:68"
( $at_check_trace; ip link set dev br0 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-layer3-tunnels.at:68"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:68: ip link set dev br0 mtu 1450"
at_fn_check_prepare_trace "system-layer3-tunnels.at:68"
( $at_check_trace; ip link set dev br0 mtu 1450
) >>"$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-layer3-tunnels.at:68"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    on_exit 'ip addr del dev br0 10.1.1.2/24'


{ set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:70: ip neigh add 10.1.1.1 lladdr 00:12:34:56:78:aa dev br0"
at_fn_check_prepare_trace "system-layer3-tunnels.at:70"
( $at_check_trace; ip neigh add 10.1.1.1 lladdr 00:12:34:56:78:aa dev br0
) >>"$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-layer3-tunnels.at:70"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

 { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:71: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add dev at_gre1 type gre remote 172.31.1.100
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-layer3-tunnels.at:71"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link add dev at_gre1 type gre remote 172.31.1.100
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-layer3-tunnels.at:71"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:72: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev at_gre1 10.1.1.1/24
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-layer3-tunnels.at:72"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip addr add dev at_gre1 10.1.1.1/24
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-layer3-tunnels.at:72"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:73: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev at_gre1 mtu 1450 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-layer3-tunnels.at:73"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip link set dev at_gre1 mtu 1450 up
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-layer3-tunnels.at:73"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:74: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add 10.1.1.2/32 encap ip id 0 dst 172.31.1.100 dev at_gre1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-layer3-tunnels.at:74"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ip route add 10.1.1.2/32 encap ip id 0 dst 172.31.1.100 dev at_gre1
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-layer3-tunnels.at:74"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:76: ovs-ofctl add-flow br-underlay \"actions=normal\""
at_fn_check_prepare_trace "system-layer3-tunnels.at:76"
( $at_check_trace; ovs-ofctl add-flow br-underlay "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-layer3-tunnels.at:76"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:79: ovs-ofctl add-flow br0 \"priority=1 action=drop\""
at_fn_check_prepare_trace "system-layer3-tunnels.at:79"
( $at_check_trace; ovs-ofctl add-flow br0 "priority=1 action=drop"
) >>"$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-layer3-tunnels.at:79"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:80: ovs-ofctl add-flow br0 \"priority=100 ip,nw_dst=10.1.1.1 action=output:at_gre0\""
at_fn_check_prepare_trace "system-layer3-tunnels.at:80"
( $at_check_trace; ovs-ofctl add-flow br0 "priority=100 ip,nw_dst=10.1.1.1 action=output:at_gre0"
) >>"$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-layer3-tunnels.at:80"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:81: ovs-ofctl add-flow br0 \"priority=100 ip,nw_dst=10.1.1.2 action=mod_dl_src:00:12:34:56:78:aa,mod_dl_dst:00:12:34:56:78:bb,local\""
at_fn_check_prepare_trace "system-layer3-tunnels.at:81"
( $at_check_trace; ovs-ofctl add-flow br0 "priority=100 ip,nw_dst=10.1.1.2 action=mod_dl_src:00:12:34:56:78:aa,mod_dl_dst:00:12:34:56:78:bb,local"
) >>"$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-layer3-tunnels.at:81"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs_wait_cond () {
    ip netns exec at_ns0 ping -c 1 10.1.1.2
}
if ovs_wait; then :
else

    $as_echo "system-layer3-tunnels.at:83" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-layer3-tunnels.at:83"
fi


 { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:86: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 172.31.1.100 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-layer3-tunnels.at:86"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 172.31.1.100 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-layer3-tunnels.at:86"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



 { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:91: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.1.1.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-layer3-tunnels.at:91"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 10.1.1.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-layer3-tunnels.at:91"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


 { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:94: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 3200 -q -c 3 -i 0.3 -w 2 10.1.1.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-layer3-tunnels.at:94"
( $at_check_trace; ip netns exec at_ns0 sh << NS_EXEC_HEREDOC
ping -s 3200 -q -c 3 -i 0.3 -w 2 10.1.1.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-layer3-tunnels.at:94"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:98: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-layer3-tunnels.at:98"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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-layer3-tunnels.at:98"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:98: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-layer3-tunnels.at:98"
( $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-layer3-tunnels.at:98"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:98: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-layer3-tunnels.at:98"
( $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-layer3-tunnels.at:98"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-layer3-tunnels.at:98" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-layer3-tunnels.at:98"
fi

   { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:98: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-layer3-tunnels.at:98"
( $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-layer3-tunnels.at:98"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:98: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-layer3-tunnels.at:98"
( $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-layer3-tunnels.at:98"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-layer3-tunnels.at:98" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-layer3-tunnels.at:98"
fi

   { set +x
$as_echo "$at_srcdir/system-layer3-tunnels.at:98: :; "
at_fn_check_prepare_trace "system-layer3-tunnels.at:98"
( $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-layer3-tunnels.at:98"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_89
#AT_START_90
at_fn_group_banner 90 'system-ovn.at:3' \
  "ovn -- 2 LRs connected via LS, gateway router, SNAT and DNAT" "" 7
at_xfail=no
(
  $as_echo "90. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init



$as_echo "system-ovn.at:6" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-ovn.at:6"


ovn_start

   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:9" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:9"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-ovn.at:9: 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-ovn.at:9"
( $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-ovn.at:9"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:9: 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-ovn.at:9"
( $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-ovn.at:9"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-ovn.at:9: 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-ovn.at:9"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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-ovn.at:9"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-ovn.at:9: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-ovn.at:9"
( $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-ovn.at:9"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:9: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-ovn.at:9"
( $at_check_trace; ovs-vswitchd --disable-system --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-ovn.at:9"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-ovn.at:9: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:9"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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-ovn.at:9"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:9" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:9"
fi

   { set +x
$as_echo "$at_srcdir/system-ovn.at:9: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-ovn.at:9"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-ovn.at:9"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl add-br br-int -- set Bridge br-int datapath_type="netdev" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --

# Set external-ids in br-int needed for ovn-controller
ovs-vsctl \
        -- set Open_vSwitch . external-ids:system-id=hv1 \
        -- set Open_vSwitch . external-ids:ovn-remote=unix:$ovs_base/ovn-sb/ovn-sb.sock \
        -- set Open_vSwitch . external-ids:ovn-encap-type=geneve \
        -- set Open_vSwitch . external-ids:ovn-encap-ip=169.0.0.1 \
        -- set bridge br-int fail-mode=secure other-config:disable-in-band=true

# Start ovn-controller
start_daemon ovn-controller

# Logical network:
# Two LRs - R1 and R2 that are connected to each other via LS "join"
# in 20.0.0.0/24 network. R1 has switchess foo (192.168.1.0/24) and
# bar (192.168.2.0/24) connected to it. R2 has alice (172.16.1.0/24) connected
# to it.  R2 is a gateway router on which we add NAT rules.
#
#    foo -- R1 -- join - R2 -- alice
#           |
#    bar ----

ovn-nbctl create Logical_Router name=R1
ovn-nbctl create Logical_Router name=R2 options:chassis=hv1

ovn-nbctl ls-add foo
ovn-nbctl ls-add bar
ovn-nbctl ls-add alice
ovn-nbctl ls-add join

# Connect foo to R1
ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24
ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \
    type=router options:router-port=foo addresses=\"00:00:01:01:02:03\"

# Connect bar to R1
ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 192.168.2.1/24
ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \
    type=router options:router-port=bar addresses=\"00:00:01:01:02:04\"

# Connect alice to R2
ovn-nbctl lrp-add R2 alice 00:00:02:01:02:03 172.16.1.1/24
ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \
    type=router options:router-port=alice addresses=\"00:00:02:01:02:03\"

# Connect R1 to join
ovn-nbctl lrp-add R1 R1_join 00:00:04:01:02:03 20.0.0.1/24
ovn-nbctl lsp-add join r1-join -- set Logical_Switch_Port r1-join \
    type=router options:router-port=R1_join addresses='"00:00:04:01:02:03"'

# Connect R2 to join
ovn-nbctl lrp-add R2 R2_join 00:00:04:01:02:04 20.0.0.2/24
ovn-nbctl lsp-add join r2-join -- set Logical_Switch_Port r2-join \
    type=router options:router-port=R2_join addresses='"00:00:04:01:02:04"'

# Static routes.
ovn-nbctl lr-route-add R1 172.16.1.0/24 20.0.0.2
ovn-nbctl lr-route-add R2 192.168.0.0/16 20.0.0.1

# Logical port 'foo1' in switch 'foo'.
ip netns del foo1



                { set +x
$as_echo "$at_srcdir/system-ovn.at:71: ip netns add foo1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:71"
( $at_check_trace; ip netns add foo1 || 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-ovn.at:71"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del foo1


'
                ip netns exec foo1 sysctl -w net.netfilter.nf_conntrack_helper=0



 { set +x
$as_echo "$at_srcdir/system-ovn.at:72: ip link add foo1 type veth peer name ovs-foo1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:72"
( $at_check_trace; ip link add foo1 type veth peer name ovs-foo1 || 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-ovn.at:72"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:72: ethtool -K foo1 tx off"
at_fn_check_prepare_trace "system-ovn.at:72"
( $at_check_trace; ethtool -K foo1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:72"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:72: ip link set foo1 netns foo1"
at_fn_check_prepare_trace "system-ovn.at:72"
( $at_check_trace; ip link set foo1 netns foo1
) >>"$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-ovn.at:72"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:72: ip link set dev ovs-foo1 up"
at_fn_check_prepare_trace "system-ovn.at:72"
( $at_check_trace; ip link set dev ovs-foo1 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-ovn.at:72"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:72: ovs-vsctl add-port br-int ovs-foo1 -- \\
                set interface ovs-foo1 external-ids:iface-id=\"foo1\""
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:72"
( $at_check_trace; ovs-vsctl add-port br-int ovs-foo1 -- \
                set interface ovs-foo1 external-ids:iface-id="foo1"
) >>"$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-ovn.at:72"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-ovn.at:72: ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip addr add \"192.168.1.2/24\" dev foo1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:72"
( $at_check_trace; ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip addr add "192.168.1.2/24" dev foo1
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-ovn.at:72"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-ovn.at:72: ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip link set dev foo1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:72"
( $at_check_trace; ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip link set dev foo1 up
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-ovn.at:72"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""f0:00:00:01:02:03""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:72: ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip link set dev foo1 address \"f0:00:00:01:02:03\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:72"
( $at_check_trace; ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip link set dev foo1 address "f0:00:00:01:02:03"
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-ovn.at:72"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n "\
         "192.168.1.1""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:72: ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip route add default via \\
         \"192.168.1.1\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:72"
( $at_check_trace; ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip route add default via \
         "192.168.1.1"
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-ovn.at:72"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-foo1'


ovn-nbctl lsp-add foo foo1 \
-- lsp-set-addresses foo1 "f0:00:00:01:02:03 192.168.1.2"

# Logical port 'alice1' in switch 'alice'.
ip netns del alice1



                { set +x
$as_echo "$at_srcdir/system-ovn.at:78: ip netns add alice1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:78"
( $at_check_trace; ip netns add alice1 || 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-ovn.at:78"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del alice1


'
                ip netns exec alice1 sysctl -w net.netfilter.nf_conntrack_helper=0



 { set +x
$as_echo "$at_srcdir/system-ovn.at:79: ip link add alice1 type veth peer name ovs-alice1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:79"
( $at_check_trace; ip link add alice1 type veth peer name ovs-alice1 || 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-ovn.at:79"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:79: ethtool -K alice1 tx off"
at_fn_check_prepare_trace "system-ovn.at:79"
( $at_check_trace; ethtool -K alice1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:79"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:79: ip link set alice1 netns alice1"
at_fn_check_prepare_trace "system-ovn.at:79"
( $at_check_trace; ip link set alice1 netns alice1
) >>"$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-ovn.at:79"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:79: ip link set dev ovs-alice1 up"
at_fn_check_prepare_trace "system-ovn.at:79"
( $at_check_trace; ip link set dev ovs-alice1 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-ovn.at:79"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:79: ovs-vsctl add-port br-int ovs-alice1 -- \\
                set interface ovs-alice1 external-ids:iface-id=\"alice1\""
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:79"
( $at_check_trace; ovs-vsctl add-port br-int ovs-alice1 -- \
                set interface ovs-alice1 external-ids:iface-id="alice1"
) >>"$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-ovn.at:79"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-ovn.at:79: ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip addr add \"172.16.1.2/24\" dev alice1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:79"
( $at_check_trace; ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip addr add "172.16.1.2/24" dev alice1
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-ovn.at:79"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-ovn.at:79: ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip link set dev alice1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:79"
( $at_check_trace; ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip link set dev alice1 up
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-ovn.at:79"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""f0:00:00:01:02:04""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:79: ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip link set dev alice1 address \"f0:00:00:01:02:04\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:79"
( $at_check_trace; ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip link set dev alice1 address "f0:00:00:01:02:04"
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-ovn.at:79"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n "\
         "172.16.1.1""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:79: ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip route add default via \\
         \"172.16.1.1\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:79"
( $at_check_trace; ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip route add default via \
         "172.16.1.1"
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-ovn.at:79"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-alice1'


ovn-nbctl lsp-add alice alice1 \
-- lsp-set-addresses alice1 "f0:00:00:01:02:04 172.16.1.2"

# Logical port 'bar1' in switch 'bar'.
ip netns del bar1



                { set +x
$as_echo "$at_srcdir/system-ovn.at:85: ip netns add bar1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:85"
( $at_check_trace; ip netns add bar1 || 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-ovn.at:85"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del bar1


'
                ip netns exec bar1 sysctl -w net.netfilter.nf_conntrack_helper=0



 { set +x
$as_echo "$at_srcdir/system-ovn.at:86: ip link add bar1 type veth peer name ovs-bar1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:86"
( $at_check_trace; ip link add bar1 type veth peer name ovs-bar1 || 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-ovn.at:86"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:86: ethtool -K bar1 tx off"
at_fn_check_prepare_trace "system-ovn.at:86"
( $at_check_trace; ethtool -K bar1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:86"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:86: ip link set bar1 netns bar1"
at_fn_check_prepare_trace "system-ovn.at:86"
( $at_check_trace; ip link set bar1 netns bar1
) >>"$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-ovn.at:86"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:86: ip link set dev ovs-bar1 up"
at_fn_check_prepare_trace "system-ovn.at:86"
( $at_check_trace; ip link set dev ovs-bar1 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-ovn.at:86"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:86: ovs-vsctl add-port br-int ovs-bar1 -- \\
                set interface ovs-bar1 external-ids:iface-id=\"bar1\""
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:86"
( $at_check_trace; ovs-vsctl add-port br-int ovs-bar1 -- \
                set interface ovs-bar1 external-ids:iface-id="bar1"
) >>"$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-ovn.at:86"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-ovn.at:86: ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip addr add \"192.168.2.2/24\" dev bar1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:86"
( $at_check_trace; ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip addr add "192.168.2.2/24" dev bar1
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-ovn.at:86"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-ovn.at:86: ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip link set dev bar1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:86"
( $at_check_trace; ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip link set dev bar1 up
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-ovn.at:86"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""f0:00:00:01:02:05""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:86: ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip link set dev bar1 address \"f0:00:00:01:02:05\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:86"
( $at_check_trace; ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip link set dev bar1 address "f0:00:00:01:02:05"
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-ovn.at:86"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n "\
"192.168.2.1""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:86: ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip route add default via \\
\"192.168.2.1\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:86"
( $at_check_trace; ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip route add default via \
"192.168.2.1"
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-ovn.at:86"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-bar1'


ovn-nbctl lsp-add bar bar1 \
-- lsp-set-addresses bar1 "f0:00:00:01:02:05 192.168.2.2"

# Add a DNAT rule.
ovn-nbctl -- --id=@nat create nat type="dnat" logical_ip=192.168.1.2 \
    external_ip=30.0.0.2 -- add logical_router R2 nat @nat

# Add a SNAT rule
ovn-nbctl -- --id=@nat create nat type="snat" logical_ip=192.168.2.2 \
    external_ip=30.0.0.1 -- add logical_router R2 nat @nat

# wait for ovn-controller to catch up.
ovn-nbctl --wait=hv sync
ovs_wait_cond () {
    ovs-ofctl dump-flows br-int | grep 'nat(src=30.0.0.1)'
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:101" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:101"
fi


# 'alice1' should be able to ping 'foo1' directly.
 { set +x
$as_echo "$at_srcdir/system-ovn.at:104: ip netns exec alice1 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 192.168.1.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:104"
( $at_check_trace; ip netns exec alice1 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 192.168.1.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-ovn.at:104"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# North-South DNAT: 'alice1' should also be able to ping 'foo1' via 30.0.0.2
 { set +x
$as_echo "$at_srcdir/system-ovn.at:110: ip netns exec alice1 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 30.0.0.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:110"
( $at_check_trace; ip netns exec alice1 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 30.0.0.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-ovn.at:110"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# Check conntrack entries.
{ set +x
$as_echo "$at_srcdir/system-ovn.at:116: ovs-appctl dpctl/dump-conntrack | grep \"dst=172.16.1.2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \\
sed -e 's/zone=[0-9]*/zone=<cleared>/'"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:116"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=172.16.1.2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \
sed -e 's/zone=[0-9]*/zone=<cleared>/'
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "icmp,orig=(src=172.16.1.2,dst=30.0.0.2,id=<cleared>,type=8,code=0),reply=(src=192.168.1.2,dst=172.16.1.2,id=<cleared>,type=0,code=0),zone=<cleared>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:116"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# South-North SNAT: 'bar1' pings 'alice1'. But 'alice1' receives traffic
# from 30.0.0.1
 { set +x
$as_echo "$at_srcdir/system-ovn.at:123: ip netns exec bar1 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 172.16.1.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:123"
( $at_check_trace; ip netns exec bar1 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 172.16.1.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-ovn.at:123"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# We verify that SNAT indeed happened via 'dump-conntrack' command.
{ set +x
$as_echo "$at_srcdir/system-ovn.at:129: ovs-appctl dpctl/dump-conntrack | grep \"dst=30.0.0.1\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \\
sed -e 's/zone=[0-9]*/zone=<cleared>/'"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:129"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=30.0.0.1" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \
sed -e 's/zone=[0-9]*/zone=<cleared>/'
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "icmp,orig=(src=192.168.2.2,dst=172.16.1.2,id=<cleared>,type=8,code=0),reply=(src=172.16.1.2,dst=30.0.0.1,id=<cleared>,type=0,code=0),zone=<cleared>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:129"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Add static routes to handle east-west NAT.
ovn-nbctl lr-route-add R1 30.0.0.0/24 20.0.0.2

# wait for ovn-controller to catch up.
ovn-nbctl --wait=hv sync

# Flush conntrack entries for easier output parsing of next test.
{ set +x
$as_echo "$at_srcdir/system-ovn.at:141: ovs-appctl dpctl/flush-conntrack"
at_fn_check_prepare_trace "system-ovn.at:141"
( $at_check_trace; ovs-appctl dpctl/flush-conntrack
) >>"$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-ovn.at:141"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# East-west DNAT and SNAT: 'bar1' pings 30.0.0.2. 'foo1' receives it.
 { set +x
$as_echo "$at_srcdir/system-ovn.at:144: ip netns exec bar1 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 30.0.0.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:144"
( $at_check_trace; ip netns exec bar1 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 30.0.0.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-ovn.at:144"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# As we have a static route that sends all packets with destination
# 30.0.0.2 to R2, it hits the DNAT rule and converts 30.0.0.2 to 192.168.1.2
{ set +x
$as_echo "$at_srcdir/system-ovn.at:151: ovs-appctl dpctl/dump-conntrack | grep \"dst=30.0.0.2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \\
sed -e 's/zone=[0-9]*/zone=<cleared>/'"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:151"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=30.0.0.2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \
sed -e 's/zone=[0-9]*/zone=<cleared>/'
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "icmp,orig=(src=192.168.2.2,dst=30.0.0.2,id=<cleared>,type=8,code=0),reply=(src=192.168.1.2,dst=192.168.2.2,id=<cleared>,type=0,code=0),zone=<cleared>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:151"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# As we have a SNAT rule that converts 192.168.2.2 to 30.0.0.1, the source is
# SNATted and 'foo1' receives it.
{ set +x
$as_echo "$at_srcdir/system-ovn.at:158: ovs-appctl dpctl/dump-conntrack | grep \"dst=30.0.0.1\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \\
sed -e 's/zone=[0-9]*/zone=<cleared>/'"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:158"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=30.0.0.1" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \
sed -e 's/zone=[0-9]*/zone=<cleared>/'
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "icmp,orig=(src=192.168.2.2,dst=192.168.1.2,id=<cleared>,type=8,code=0),reply=(src=192.168.1.2,dst=30.0.0.1,id=<cleared>,type=0,code=0),zone=<cleared>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:158"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-ovn.at:163: test -e \$OVS_RUNDIR/ovn-controller.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovn-controller.pid" "system-ovn.at:163"
( $at_check_trace; test -e $OVS_RUNDIR/ovn-controller.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-ovn.at:163"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovn-controller.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:163: ovs-appctl -t ovn-controller exit"
at_fn_check_prepare_trace "system-ovn.at:163"
( $at_check_trace; ovs-appctl -t ovn-controller 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-ovn.at:163"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:163" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:163"
fi


as ovn-sb
{ set +x
$as_echo "$at_srcdir/system-ovn.at:166: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-ovn.at:166"
( $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-ovn.at:166"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:166: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-ovn.at:166"
( $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-ovn.at:166"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:166" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:166"
fi


as ovn-nb
{ set +x
$as_echo "$at_srcdir/system-ovn.at:169: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-ovn.at:169"
( $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-ovn.at:169"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:169: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-ovn.at:169"
( $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-ovn.at:169"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:169" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:169"
fi


as northd
{ set +x
$as_echo "$at_srcdir/system-ovn.at:172: test -e \$OVS_RUNDIR/ovn-northd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovn-northd.pid" "system-ovn.at:172"
( $at_check_trace; test -e $OVS_RUNDIR/ovn-northd.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-ovn.at:172"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovn-northd.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:172: ovs-appctl -t ovn-northd exit"
at_fn_check_prepare_trace "system-ovn.at:172"
( $at_check_trace; ovs-appctl -t ovn-northd 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-ovn.at:172"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:172" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:172"
fi


as
{ set +x
$as_echo "$at_srcdir/system-ovn.at:175: check_logs \"/failed to query port patch-.*/d
/connection dropped.*/d\"\";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:175"
( $at_check_trace; check_logs "/failed to query port patch-.*/d
/connection dropped.*/d"";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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-ovn.at:175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-ovn.at:175: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-ovn.at:175"
( $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-ovn.at:175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:175: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-ovn.at:175"
( $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-ovn.at:175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:175" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:175"
fi

   { set +x
$as_echo "$at_srcdir/system-ovn.at:175: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-ovn.at:175"
( $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-ovn.at:175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:175: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-ovn.at:175"
( $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-ovn.at:175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:175" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:175"
fi

   { set +x
$as_echo "$at_srcdir/system-ovn.at:175: :; "
at_fn_check_prepare_trace "system-ovn.at:175"
( $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-ovn.at:175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_90
#AT_START_91
at_fn_group_banner 91 'system-ovn.at:179' \
  "ovn -- 2 LRs connected via LS, gateway router, easy SNAT" "" 7
at_xfail=no
(
  $as_echo "91. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init



$as_echo "system-ovn.at:182" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-ovn.at:182"


ovn_start

   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:185" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:185"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-ovn.at:185: 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-ovn.at:185"
( $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-ovn.at:185"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:185: 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-ovn.at:185"
( $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-ovn.at:185"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-ovn.at:185: 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-ovn.at:185"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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-ovn.at:185"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-ovn.at:185: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-ovn.at:185"
( $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-ovn.at:185"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:185: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-ovn.at:185"
( $at_check_trace; ovs-vswitchd --disable-system --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-ovn.at:185"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-ovn.at:185: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:185"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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-ovn.at:185"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:185" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:185"
fi

   { set +x
$as_echo "$at_srcdir/system-ovn.at:185: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-ovn.at:185"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-ovn.at:185"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl add-br br-int -- set Bridge br-int datapath_type="netdev" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --

# Set external-ids in br-int needed for ovn-controller
ovs-vsctl \
        -- set Open_vSwitch . external-ids:system-id=hv1 \
        -- set Open_vSwitch . external-ids:ovn-remote=unix:$ovs_base/ovn-sb/ovn-sb.sock \
        -- set Open_vSwitch . external-ids:ovn-encap-type=geneve \
        -- set Open_vSwitch . external-ids:ovn-encap-ip=169.0.0.1 \
        -- set bridge br-int fail-mode=secure other-config:disable-in-band=true

# Start ovn-controller
start_daemon ovn-controller

# Logical network:
# Two LRs - R1 and R2 that are connected to each other via LS "join"
# in 20.0.0.0/24 network. R1 has switchess foo (192.168.1.0/24) connected
# to it.  R2 has alice (172.16.1.0/24) connected to it.
# R2 is a gateway router on which we add NAT rules.
#
#    foo -- R1 -- join - R2 -- alice

ovn-nbctl lr-add R1
ovn-nbctl lr-add R2 -- set Logical_Router R2 options:chassis=hv1

ovn-nbctl ls-add foo
ovn-nbctl ls-add alice
ovn-nbctl ls-add join

ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24
ovn-nbctl lrp-add R2 alice 00:00:02:01:02:03 172.16.1.1/24
ovn-nbctl lrp-add R1 R1_join 00:00:04:01:02:03 20.0.0.1/24
ovn-nbctl lrp-add R2 R2_join 00:00:04:01:02:04 20.0.0.2/24

# Connect foo to R1
ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \
    type=router options:router-port=foo addresses=\"00:00:01:01:02:03\"

# Connect alice to R2
ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \
    type=router options:router-port=alice addresses=\"00:00:02:01:02:03\"

# Connect R1 to join
ovn-nbctl lsp-add join r1-join -- set Logical_Switch_Port r1-join \
    type=router options:router-port=R1_join addresses='"00:00:04:01:02:03"'

# Connect R2 to join
ovn-nbctl lsp-add join r2-join -- set Logical_Switch_Port r2-join \
    type=router options:router-port=R2_join addresses='"00:00:04:01:02:04"'

# Static routes.
ovn-nbctl lr-route-add R1 172.16.1.0/24 20.0.0.2
ovn-nbctl lr-route-add R2 192.168.0.0/16 20.0.0.1

# Logical port 'foo1' in switch 'foo'.
ip netns del foo1



                { set +x
$as_echo "$at_srcdir/system-ovn.at:240: ip netns add foo1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:240"
( $at_check_trace; ip netns add foo1 || 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-ovn.at:240"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del foo1


'
                ip netns exec foo1 sysctl -w net.netfilter.nf_conntrack_helper=0



 { set +x
$as_echo "$at_srcdir/system-ovn.at:241: ip link add foo1 type veth peer name ovs-foo1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:241"
( $at_check_trace; ip link add foo1 type veth peer name ovs-foo1 || 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-ovn.at:241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:241: ethtool -K foo1 tx off"
at_fn_check_prepare_trace "system-ovn.at:241"
( $at_check_trace; ethtool -K foo1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:241: ip link set foo1 netns foo1"
at_fn_check_prepare_trace "system-ovn.at:241"
( $at_check_trace; ip link set foo1 netns foo1
) >>"$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-ovn.at:241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:241: ip link set dev ovs-foo1 up"
at_fn_check_prepare_trace "system-ovn.at:241"
( $at_check_trace; ip link set dev ovs-foo1 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-ovn.at:241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:241: ovs-vsctl add-port br-int ovs-foo1 -- \\
                set interface ovs-foo1 external-ids:iface-id=\"foo1\""
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:241"
( $at_check_trace; ovs-vsctl add-port br-int ovs-foo1 -- \
                set interface ovs-foo1 external-ids:iface-id="foo1"
) >>"$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-ovn.at:241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-ovn.at:241: ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip addr add \"192.168.1.2/24\" dev foo1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:241"
( $at_check_trace; ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip addr add "192.168.1.2/24" dev foo1
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-ovn.at:241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-ovn.at:241: ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip link set dev foo1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:241"
( $at_check_trace; ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip link set dev foo1 up
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-ovn.at:241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""f0:00:00:01:02:03""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:241: ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip link set dev foo1 address \"f0:00:00:01:02:03\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:241"
( $at_check_trace; ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip link set dev foo1 address "f0:00:00:01:02:03"
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-ovn.at:241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n "\
         "192.168.1.1""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:241: ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip route add default via \\
         \"192.168.1.1\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:241"
( $at_check_trace; ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip route add default via \
         "192.168.1.1"
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-ovn.at:241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-foo1'


ovn-nbctl lsp-add foo foo1 \
-- lsp-set-addresses foo1 "f0:00:00:01:02:03 192.168.1.2"

# Logical port 'alice1' in switch 'alice'.
ip netns del alice1



                { set +x
$as_echo "$at_srcdir/system-ovn.at:247: ip netns add alice1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:247"
( $at_check_trace; ip netns add alice1 || 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-ovn.at:247"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del alice1


'
                ip netns exec alice1 sysctl -w net.netfilter.nf_conntrack_helper=0



 { set +x
$as_echo "$at_srcdir/system-ovn.at:248: ip link add alice1 type veth peer name ovs-alice1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:248"
( $at_check_trace; ip link add alice1 type veth peer name ovs-alice1 || 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-ovn.at:248"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:248: ethtool -K alice1 tx off"
at_fn_check_prepare_trace "system-ovn.at:248"
( $at_check_trace; ethtool -K alice1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:248"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:248: ip link set alice1 netns alice1"
at_fn_check_prepare_trace "system-ovn.at:248"
( $at_check_trace; ip link set alice1 netns alice1
) >>"$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-ovn.at:248"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:248: ip link set dev ovs-alice1 up"
at_fn_check_prepare_trace "system-ovn.at:248"
( $at_check_trace; ip link set dev ovs-alice1 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-ovn.at:248"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:248: ovs-vsctl add-port br-int ovs-alice1 -- \\
                set interface ovs-alice1 external-ids:iface-id=\"alice1\""
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:248"
( $at_check_trace; ovs-vsctl add-port br-int ovs-alice1 -- \
                set interface ovs-alice1 external-ids:iface-id="alice1"
) >>"$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-ovn.at:248"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-ovn.at:248: ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip addr add \"172.16.1.2/24\" dev alice1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:248"
( $at_check_trace; ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip addr add "172.16.1.2/24" dev alice1
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-ovn.at:248"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-ovn.at:248: ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip link set dev alice1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:248"
( $at_check_trace; ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip link set dev alice1 up
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-ovn.at:248"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""f0:00:00:01:02:04""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:248: ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip link set dev alice1 address \"f0:00:00:01:02:04\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:248"
( $at_check_trace; ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip link set dev alice1 address "f0:00:00:01:02:04"
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-ovn.at:248"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n "\
         "172.16.1.1""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:248: ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip route add default via \\
         \"172.16.1.1\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:248"
( $at_check_trace; ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip route add default via \
         "172.16.1.1"
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-ovn.at:248"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-alice1'


ovn-nbctl lsp-add alice alice1 \
-- lsp-set-addresses alice1 "f0:00:00:01:02:04 172.16.1.2"

# Add a SNAT rule
ovn-nbctl -- --id=@nat create nat type="snat" logical_ip=192.168.1.2 \
    external_ip=172.16.1.1 -- add logical_router R2 nat @nat

ovn-nbctl --wait=hv sync
ovs_wait_cond () {
    ovs-ofctl dump-flows br-int | grep 'nat(src=172.16.1.1)'
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:258" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:258"
fi


# South-North SNAT: 'foo1' pings 'alice1'. But 'alice1' receives traffic
# from 172.16.1.1
 { set +x
$as_echo "$at_srcdir/system-ovn.at:262: ip netns exec foo1 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 172.16.1.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:262"
( $at_check_trace; ip netns exec foo1 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 172.16.1.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-ovn.at:262"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# We verify that SNAT indeed happened via 'dump-conntrack' command.
{ set +x
$as_echo "$at_srcdir/system-ovn.at:268: ovs-appctl dpctl/dump-conntrack | grep \"dst=172.16.1.1\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \\
sed -e 's/zone=[0-9]*/zone=<cleared>/'"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:268"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=172.16.1.1" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \
sed -e 's/zone=[0-9]*/zone=<cleared>/'
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "icmp,orig=(src=192.168.1.2,dst=172.16.1.2,id=<cleared>,type=8,code=0),reply=(src=172.16.1.2,dst=172.16.1.1,id=<cleared>,type=0,code=0),zone=<cleared>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:268"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-ovn.at:273: test -e \$OVS_RUNDIR/ovn-controller.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovn-controller.pid" "system-ovn.at:273"
( $at_check_trace; test -e $OVS_RUNDIR/ovn-controller.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-ovn.at:273"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovn-controller.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:273: ovs-appctl -t ovn-controller exit"
at_fn_check_prepare_trace "system-ovn.at:273"
( $at_check_trace; ovs-appctl -t ovn-controller 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-ovn.at:273"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:273" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:273"
fi


as ovn-sb
{ set +x
$as_echo "$at_srcdir/system-ovn.at:276: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-ovn.at:276"
( $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-ovn.at:276"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:276: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-ovn.at:276"
( $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-ovn.at:276"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:276" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:276"
fi


as ovn-nb
{ set +x
$as_echo "$at_srcdir/system-ovn.at:279: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-ovn.at:279"
( $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-ovn.at:279"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:279: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-ovn.at:279"
( $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-ovn.at:279"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:279" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:279"
fi


as northd
{ set +x
$as_echo "$at_srcdir/system-ovn.at:282: test -e \$OVS_RUNDIR/ovn-northd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovn-northd.pid" "system-ovn.at:282"
( $at_check_trace; test -e $OVS_RUNDIR/ovn-northd.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-ovn.at:282"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovn-northd.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:282: ovs-appctl -t ovn-northd exit"
at_fn_check_prepare_trace "system-ovn.at:282"
( $at_check_trace; ovs-appctl -t ovn-northd 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-ovn.at:282"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:282" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:282"
fi


as
{ set +x
$as_echo "$at_srcdir/system-ovn.at:285: check_logs \"/failed to query port patch-.*/d
/connection dropped.*/d\"\";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:285"
( $at_check_trace; check_logs "/failed to query port patch-.*/d
/connection dropped.*/d"";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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-ovn.at:285"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-ovn.at:285: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-ovn.at:285"
( $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-ovn.at:285"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:285: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-ovn.at:285"
( $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-ovn.at:285"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:285" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:285"
fi

   { set +x
$as_echo "$at_srcdir/system-ovn.at:285: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-ovn.at:285"
( $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-ovn.at:285"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:285: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-ovn.at:285"
( $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-ovn.at:285"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:285" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:285"
fi

   { set +x
$as_echo "$at_srcdir/system-ovn.at:285: :; "
at_fn_check_prepare_trace "system-ovn.at:285"
( $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-ovn.at:285"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_91
#AT_START_92
at_fn_group_banner 92 'system-ovn.at:289' \
  "ovn -- multiple gateway routers, SNAT and DNAT" " " 7
at_xfail=no
(
  $as_echo "92. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init



$as_echo "system-ovn.at:292" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-ovn.at:292"


ovn_start

   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:295" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:295"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-ovn.at:295: 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-ovn.at:295"
( $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-ovn.at:295"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:295: 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-ovn.at:295"
( $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-ovn.at:295"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-ovn.at:295: 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-ovn.at:295"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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-ovn.at:295"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-ovn.at:295: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-ovn.at:295"
( $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-ovn.at:295"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:295: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-ovn.at:295"
( $at_check_trace; ovs-vswitchd --disable-system --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-ovn.at:295"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-ovn.at:295: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:295"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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-ovn.at:295"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:295" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:295"
fi

   { set +x
$as_echo "$at_srcdir/system-ovn.at:295: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-ovn.at:295"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-ovn.at:295"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl add-br br-int -- set Bridge br-int datapath_type="netdev" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --

# Set external-ids in br-int needed for ovn-controller
ovs-vsctl \
        -- set Open_vSwitch . external-ids:system-id=hv1 \
        -- set Open_vSwitch . external-ids:ovn-remote=unix:$ovs_base/ovn-sb/ovn-sb.sock \
        -- set Open_vSwitch . external-ids:ovn-encap-type=geneve \
        -- set Open_vSwitch . external-ids:ovn-encap-ip=169.0.0.1 \
        -- set bridge br-int fail-mode=secure other-config:disable-in-band=true

# Start ovn-controller
start_daemon ovn-controller

# Logical network:
# Three LRs - R1, R2 and R3 that are connected to each other via LS "join"
# in 20.0.0.0/24 network. R1 has switchess foo (192.168.1.0/24) and
# bar (192.168.2.0/24) connected to it. R2 has alice (172.16.1.0/24) connected
# to it.  R3 has bob (172.16.1.0/24) connected to it. Note how both alice and
# bob have the same subnet behind it.  We are trying to simulate external
# network via those 2 switches. In real world the switch ports of these
# switches will have addresses set as "unknown" to make them learning switches.
# Or those switches will be "localnet" ones.
#
#    foo -- R1 -- join - R2 -- alice
#           |          |
#    bar ----          - R3 --- bob

ovn-nbctl create Logical_Router name=R1
ovn-nbctl create Logical_Router name=R2 options:chassis=hv1
ovn-nbctl create Logical_Router name=R3 options:chassis=hv1

ovn-nbctl ls-add foo
ovn-nbctl ls-add bar
ovn-nbctl ls-add alice
ovn-nbctl ls-add bob
ovn-nbctl ls-add join

# Connect foo to R1
ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24
ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \
    type=router options:router-port=foo addresses=\"00:00:01:01:02:03\"

# Connect bar to R1
ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 192.168.2.1/24
ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \
    type=router options:router-port=bar addresses=\"00:00:01:01:02:04\"

# Connect alice to R2
ovn-nbctl lrp-add R2 alice 00:00:02:01:02:03 172.16.1.1/24
ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \
    type=router options:router-port=alice addresses=\"00:00:02:01:02:03\"

# Connect bob to R3
ovn-nbctl lrp-add R3 bob 00:00:03:01:02:03 172.16.1.2/24
ovn-nbctl lsp-add bob rp-bob -- set Logical_Switch_Port rp-bob \
    type=router options:router-port=bob addresses=\"00:00:03:01:02:03\"

# Connect R1 to join
ovn-nbctl lrp-add R1 R1_join 00:00:04:01:02:03 20.0.0.1/24
ovn-nbctl lsp-add join r1-join -- set Logical_Switch_Port r1-join \
    type=router options:router-port=R1_join addresses='"00:00:04:01:02:03"'

# Connect R2 to join
ovn-nbctl lrp-add R2 R2_join 00:00:04:01:02:04 20.0.0.2/24
ovn-nbctl lsp-add join r2-join -- set Logical_Switch_Port r2-join \
    type=router options:router-port=R2_join addresses='"00:00:04:01:02:04"'

# Connect R3 to join
ovn-nbctl lrp-add R3 R3_join 00:00:04:01:02:05 20.0.0.3/24
ovn-nbctl lsp-add join r3-join -- set Logical_Switch_Port r3-join \
    type=router options:router-port=R3_join addresses='"00:00:04:01:02:05"'

# Install static routes with source ip address as the policy for routing.
# We want traffic from 'foo' to go via R2 and traffic of 'bar' to go via R3.
ovn-nbctl --policy="src-ip" lr-route-add R1 192.168.1.0/24 20.0.0.2
ovn-nbctl --policy="src-ip" lr-route-add R1 192.168.2.0/24 20.0.0.3

# Static routes.
ovn-nbctl lr-route-add R2 192.168.0.0/16 20.0.0.1
ovn-nbctl lr-route-add R3 192.168.0.0/16 20.0.0.1

# For gateway routers R2 and R3, set a force SNAT rule.
ovn-nbctl set logical_router R2 options:dnat_force_snat_ip=20.0.0.2
ovn-nbctl set logical_router R3 options:dnat_force_snat_ip=20.0.0.3

# Logical port 'foo1' in switch 'foo'.
ip netns del foo1



                { set +x
$as_echo "$at_srcdir/system-ovn.at:382: ip netns add foo1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:382"
( $at_check_trace; ip netns add foo1 || 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-ovn.at:382"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del foo1


'
                ip netns exec foo1 sysctl -w net.netfilter.nf_conntrack_helper=0



 { set +x
$as_echo "$at_srcdir/system-ovn.at:383: ip link add foo1 type veth peer name ovs-foo1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:383"
( $at_check_trace; ip link add foo1 type veth peer name ovs-foo1 || 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-ovn.at:383"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:383: ethtool -K foo1 tx off"
at_fn_check_prepare_trace "system-ovn.at:383"
( $at_check_trace; ethtool -K foo1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:383"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:383: ip link set foo1 netns foo1"
at_fn_check_prepare_trace "system-ovn.at:383"
( $at_check_trace; ip link set foo1 netns foo1
) >>"$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-ovn.at:383"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:383: ip link set dev ovs-foo1 up"
at_fn_check_prepare_trace "system-ovn.at:383"
( $at_check_trace; ip link set dev ovs-foo1 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-ovn.at:383"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:383: ovs-vsctl add-port br-int ovs-foo1 -- \\
                set interface ovs-foo1 external-ids:iface-id=\"foo1\""
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:383"
( $at_check_trace; ovs-vsctl add-port br-int ovs-foo1 -- \
                set interface ovs-foo1 external-ids:iface-id="foo1"
) >>"$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-ovn.at:383"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-ovn.at:383: ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip addr add \"192.168.1.2/24\" dev foo1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:383"
( $at_check_trace; ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip addr add "192.168.1.2/24" dev foo1
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-ovn.at:383"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-ovn.at:383: ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip link set dev foo1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:383"
( $at_check_trace; ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip link set dev foo1 up
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-ovn.at:383"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""f0:00:00:01:02:03""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:383: ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip link set dev foo1 address \"f0:00:00:01:02:03\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:383"
( $at_check_trace; ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip link set dev foo1 address "f0:00:00:01:02:03"
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-ovn.at:383"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n "\
         "192.168.1.1""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:383: ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip route add default via \\
         \"192.168.1.1\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:383"
( $at_check_trace; ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip route add default via \
         "192.168.1.1"
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-ovn.at:383"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-foo1'


ovn-nbctl lsp-add foo foo1 \
-- lsp-set-addresses foo1 "f0:00:00:01:02:03 192.168.1.2"

# Logical port 'alice1' in switch 'alice'.
ip netns del alice1



                { set +x
$as_echo "$at_srcdir/system-ovn.at:389: ip netns add alice1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:389"
( $at_check_trace; ip netns add alice1 || 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-ovn.at:389"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del alice1


'
                ip netns exec alice1 sysctl -w net.netfilter.nf_conntrack_helper=0



 { set +x
$as_echo "$at_srcdir/system-ovn.at:390: ip link add alice1 type veth peer name ovs-alice1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:390"
( $at_check_trace; ip link add alice1 type veth peer name ovs-alice1 || 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-ovn.at:390"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:390: ethtool -K alice1 tx off"
at_fn_check_prepare_trace "system-ovn.at:390"
( $at_check_trace; ethtool -K alice1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:390"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:390: ip link set alice1 netns alice1"
at_fn_check_prepare_trace "system-ovn.at:390"
( $at_check_trace; ip link set alice1 netns alice1
) >>"$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-ovn.at:390"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:390: ip link set dev ovs-alice1 up"
at_fn_check_prepare_trace "system-ovn.at:390"
( $at_check_trace; ip link set dev ovs-alice1 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-ovn.at:390"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:390: ovs-vsctl add-port br-int ovs-alice1 -- \\
                set interface ovs-alice1 external-ids:iface-id=\"alice1\""
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:390"
( $at_check_trace; ovs-vsctl add-port br-int ovs-alice1 -- \
                set interface ovs-alice1 external-ids:iface-id="alice1"
) >>"$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-ovn.at:390"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-ovn.at:390: ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip addr add \"172.16.1.3/24\" dev alice1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:390"
( $at_check_trace; ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip addr add "172.16.1.3/24" dev alice1
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-ovn.at:390"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-ovn.at:390: ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip link set dev alice1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:390"
( $at_check_trace; ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip link set dev alice1 up
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-ovn.at:390"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""f0:00:00:01:02:04""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:390: ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip link set dev alice1 address \"f0:00:00:01:02:04\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:390"
( $at_check_trace; ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip link set dev alice1 address "f0:00:00:01:02:04"
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-ovn.at:390"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n "\
         "172.16.1.1""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:390: ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip route add default via \\
         \"172.16.1.1\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:390"
( $at_check_trace; ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip route add default via \
         "172.16.1.1"
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-ovn.at:390"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-alice1'


ovn-nbctl lsp-add alice alice1 \
-- lsp-set-addresses alice1 "f0:00:00:01:02:04 172.16.1.3"

# Logical port 'bar1' in switch 'bar'.
ip netns del bar1



                { set +x
$as_echo "$at_srcdir/system-ovn.at:396: ip netns add bar1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:396"
( $at_check_trace; ip netns add bar1 || 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-ovn.at:396"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del bar1


'
                ip netns exec bar1 sysctl -w net.netfilter.nf_conntrack_helper=0



 { set +x
$as_echo "$at_srcdir/system-ovn.at:397: ip link add bar1 type veth peer name ovs-bar1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:397"
( $at_check_trace; ip link add bar1 type veth peer name ovs-bar1 || 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-ovn.at:397"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:397: ethtool -K bar1 tx off"
at_fn_check_prepare_trace "system-ovn.at:397"
( $at_check_trace; ethtool -K bar1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:397"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:397: ip link set bar1 netns bar1"
at_fn_check_prepare_trace "system-ovn.at:397"
( $at_check_trace; ip link set bar1 netns bar1
) >>"$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-ovn.at:397"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:397: ip link set dev ovs-bar1 up"
at_fn_check_prepare_trace "system-ovn.at:397"
( $at_check_trace; ip link set dev ovs-bar1 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-ovn.at:397"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:397: ovs-vsctl add-port br-int ovs-bar1 -- \\
                set interface ovs-bar1 external-ids:iface-id=\"bar1\""
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:397"
( $at_check_trace; ovs-vsctl add-port br-int ovs-bar1 -- \
                set interface ovs-bar1 external-ids:iface-id="bar1"
) >>"$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-ovn.at:397"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-ovn.at:397: ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip addr add \"192.168.2.2/24\" dev bar1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:397"
( $at_check_trace; ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip addr add "192.168.2.2/24" dev bar1
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-ovn.at:397"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-ovn.at:397: ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip link set dev bar1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:397"
( $at_check_trace; ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip link set dev bar1 up
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-ovn.at:397"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""f0:00:00:01:02:05""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:397: ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip link set dev bar1 address \"f0:00:00:01:02:05\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:397"
( $at_check_trace; ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip link set dev bar1 address "f0:00:00:01:02:05"
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-ovn.at:397"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n "\
"192.168.2.1""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:397: ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip route add default via \\
\"192.168.2.1\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:397"
( $at_check_trace; ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip route add default via \
"192.168.2.1"
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-ovn.at:397"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-bar1'


ovn-nbctl lsp-add bar bar1 \
-- lsp-set-addresses bar1 "f0:00:00:01:02:05 192.168.2.2"

# Logical port 'bob1' in switch 'bob'.
ip netns del bob1



                { set +x
$as_echo "$at_srcdir/system-ovn.at:403: ip netns add bob1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:403"
( $at_check_trace; ip netns add bob1 || 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-ovn.at:403"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del bob1


'
                ip netns exec bob1 sysctl -w net.netfilter.nf_conntrack_helper=0



 { set +x
$as_echo "$at_srcdir/system-ovn.at:404: ip link add bob1 type veth peer name ovs-bob1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:404"
( $at_check_trace; ip link add bob1 type veth peer name ovs-bob1 || 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-ovn.at:404"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:404: ethtool -K bob1 tx off"
at_fn_check_prepare_trace "system-ovn.at:404"
( $at_check_trace; ethtool -K bob1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:404"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:404: ip link set bob1 netns bob1"
at_fn_check_prepare_trace "system-ovn.at:404"
( $at_check_trace; ip link set bob1 netns bob1
) >>"$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-ovn.at:404"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:404: ip link set dev ovs-bob1 up"
at_fn_check_prepare_trace "system-ovn.at:404"
( $at_check_trace; ip link set dev ovs-bob1 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-ovn.at:404"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:404: ovs-vsctl add-port br-int ovs-bob1 -- \\
                set interface ovs-bob1 external-ids:iface-id=\"bob1\""
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:404"
( $at_check_trace; ovs-vsctl add-port br-int ovs-bob1 -- \
                set interface ovs-bob1 external-ids:iface-id="bob1"
) >>"$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-ovn.at:404"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-ovn.at:404: ip netns exec bob1 sh << NS_EXEC_HEREDOC
ip addr add \"172.16.1.4/24\" dev bob1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:404"
( $at_check_trace; ip netns exec bob1 sh << NS_EXEC_HEREDOC
ip addr add "172.16.1.4/24" dev bob1
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-ovn.at:404"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-ovn.at:404: ip netns exec bob1 sh << NS_EXEC_HEREDOC
ip link set dev bob1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:404"
( $at_check_trace; ip netns exec bob1 sh << NS_EXEC_HEREDOC
ip link set dev bob1 up
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-ovn.at:404"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""f0:00:00:01:02:06""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:404: ip netns exec bob1 sh << NS_EXEC_HEREDOC
ip link set dev bob1 address \"f0:00:00:01:02:06\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:404"
( $at_check_trace; ip netns exec bob1 sh << NS_EXEC_HEREDOC
ip link set dev bob1 address "f0:00:00:01:02:06"
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-ovn.at:404"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n "\
         "172.16.1.2""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:404: ip netns exec bob1 sh << NS_EXEC_HEREDOC
ip route add default via \\
         \"172.16.1.2\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:404"
( $at_check_trace; ip netns exec bob1 sh << NS_EXEC_HEREDOC
ip route add default via \
         "172.16.1.2"
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-ovn.at:404"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-bob1'


ovn-nbctl lsp-add bob bob1 \
-- lsp-set-addresses bob1 "f0:00:00:01:02:06 172.16.1.4"

# Router R2
# Add a DNAT rule.
ovn-nbctl -- --id=@nat create nat type="dnat" logical_ip=192.168.1.2 \
    external_ip=30.0.0.2 -- add logical_router R2 nat @nat

# Add a SNAT rule
ovn-nbctl -- --id=@nat create nat type="snat" logical_ip=192.168.1.2 \
    external_ip=30.0.0.1 -- add logical_router R2 nat @nat

# Router R3
# Add a DNAT rule.
ovn-nbctl -- --id=@nat create nat type="dnat" logical_ip=192.168.1.2 \
    external_ip=30.0.0.3 -- add logical_router R3 nat @nat

# Add a SNAT rule
ovn-nbctl -- --id=@nat create nat type="snat" logical_ip=192.168.2.2 \
    external_ip=30.0.0.4 -- add logical_router R3 nat @nat

# wait for ovn-controller to catch up.
ovn-nbctl --wait=hv sync
ovs_wait_cond () {
    ovs-ofctl dump-flows br-int | grep 'nat(src=30.0.0.4)'
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:429" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:429"
fi


# North-South DNAT: 'alice1' should be able to ping 'foo1' via 30.0.0.2
 { set +x
$as_echo "$at_srcdir/system-ovn.at:432: ip netns exec alice1 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 30.0.0.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:432"
( $at_check_trace; ip netns exec alice1 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 30.0.0.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-ovn.at:432"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# Check conntrack entries.
{ set +x
$as_echo "$at_srcdir/system-ovn.at:438: ovs-appctl dpctl/dump-conntrack | grep \"dst=172.16.1.3\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \\
sed -e 's/zone=[0-9]*/zone=<cleared>/'"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:438"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=172.16.1.3" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \
sed -e 's/zone=[0-9]*/zone=<cleared>/'
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "icmp,orig=(src=172.16.1.3,dst=30.0.0.2,id=<cleared>,type=8,code=0),reply=(src=192.168.1.2,dst=172.16.1.3,id=<cleared>,type=0,code=0),zone=<cleared>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:438"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# But foo1 should receive traffic from 20.0.0.2
{ set +x
$as_echo "$at_srcdir/system-ovn.at:444: ovs-appctl dpctl/dump-conntrack | grep \"dst=20.0.0.2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \\
sed -e 's/zone=[0-9]*/zone=<cleared>/'"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:444"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=20.0.0.2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \
sed -e 's/zone=[0-9]*/zone=<cleared>/'
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "icmp,orig=(src=172.16.1.3,dst=192.168.1.2,id=<cleared>,type=8,code=0),reply=(src=192.168.1.2,dst=20.0.0.2,id=<cleared>,type=0,code=0),zone=<cleared>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:444"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# North-South DNAT: 'bob1' should be able to ping 'foo1' via 30.0.0.3
 { set +x
$as_echo "$at_srcdir/system-ovn.at:450: ip netns exec bob1 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 30.0.0.3 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:450"
( $at_check_trace; ip netns exec bob1 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 30.0.0.3 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-ovn.at:450"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# Check conntrack entries.
{ set +x
$as_echo "$at_srcdir/system-ovn.at:456: ovs-appctl dpctl/dump-conntrack | grep \"dst=172.16.1.4\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \\
sed -e 's/zone=[0-9]*/zone=<cleared>/'"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:456"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=172.16.1.4" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \
sed -e 's/zone=[0-9]*/zone=<cleared>/'
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "icmp,orig=(src=172.16.1.4,dst=30.0.0.3,id=<cleared>,type=8,code=0),reply=(src=192.168.1.2,dst=172.16.1.4,id=<cleared>,type=0,code=0),zone=<cleared>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:456"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# But foo1 should receive traffic from 20.0.0.3
{ set +x
$as_echo "$at_srcdir/system-ovn.at:462: ovs-appctl dpctl/dump-conntrack | grep \"dst=20.0.0.3\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \\
sed -e 's/zone=[0-9]*/zone=<cleared>/'"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:462"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=20.0.0.3" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \
sed -e 's/zone=[0-9]*/zone=<cleared>/'
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "icmp,orig=(src=172.16.1.4,dst=192.168.1.2,id=<cleared>,type=8,code=0),reply=(src=192.168.1.2,dst=20.0.0.3,id=<cleared>,type=0,code=0),zone=<cleared>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:462"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# South-North SNAT: 'bar1' pings 'bob1'. But 'bob1' receives traffic
# from 30.0.0.4
 { set +x
$as_echo "$at_srcdir/system-ovn.at:469: ip netns exec bar1 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 172.16.1.4 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:469"
( $at_check_trace; ip netns exec bar1 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 172.16.1.4 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-ovn.at:469"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# We verify that SNAT indeed happened via 'dump-conntrack' command.
{ set +x
$as_echo "$at_srcdir/system-ovn.at:475: ovs-appctl dpctl/dump-conntrack | grep \"dst=30.0.0.4\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \\
sed -e 's/zone=[0-9]*/zone=<cleared>/'"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:475"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=30.0.0.4" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \
sed -e 's/zone=[0-9]*/zone=<cleared>/'
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "icmp,orig=(src=192.168.2.2,dst=172.16.1.4,id=<cleared>,type=8,code=0),reply=(src=172.16.1.4,dst=30.0.0.4,id=<cleared>,type=0,code=0),zone=<cleared>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:475"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# South-North SNAT: 'foo1' pings 'alice1'. But 'alice1' receives traffic
# from 30.0.0.1
 { set +x
$as_echo "$at_srcdir/system-ovn.at:482: ip netns exec foo1 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 172.16.1.3 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:482"
( $at_check_trace; ip netns exec foo1 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 172.16.1.3 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-ovn.at:482"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# We verify that SNAT indeed happened via 'dump-conntrack' command.
{ set +x
$as_echo "$at_srcdir/system-ovn.at:488: ovs-appctl dpctl/dump-conntrack | grep \"dst=30.0.0.1\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \\
sed -e 's/zone=[0-9]*/zone=<cleared>/'"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:488"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=30.0.0.1" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \
sed -e 's/zone=[0-9]*/zone=<cleared>/'
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "icmp,orig=(src=192.168.1.2,dst=172.16.1.3,id=<cleared>,type=8,code=0),reply=(src=172.16.1.3,dst=30.0.0.1,id=<cleared>,type=0,code=0),zone=<cleared>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:488"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-ovn.at:493: test -e \$OVS_RUNDIR/ovn-controller.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovn-controller.pid" "system-ovn.at:493"
( $at_check_trace; test -e $OVS_RUNDIR/ovn-controller.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-ovn.at:493"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovn-controller.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:493: ovs-appctl -t ovn-controller exit"
at_fn_check_prepare_trace "system-ovn.at:493"
( $at_check_trace; ovs-appctl -t ovn-controller 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-ovn.at:493"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:493" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:493"
fi


as ovn-sb
{ set +x
$as_echo "$at_srcdir/system-ovn.at:496: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-ovn.at:496"
( $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-ovn.at:496"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:496: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-ovn.at:496"
( $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-ovn.at:496"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:496" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:496"
fi


as ovn-nb
{ set +x
$as_echo "$at_srcdir/system-ovn.at:499: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-ovn.at:499"
( $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-ovn.at:499"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:499: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-ovn.at:499"
( $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-ovn.at:499"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:499" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:499"
fi


as northd
{ set +x
$as_echo "$at_srcdir/system-ovn.at:502: test -e \$OVS_RUNDIR/ovn-northd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovn-northd.pid" "system-ovn.at:502"
( $at_check_trace; test -e $OVS_RUNDIR/ovn-northd.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-ovn.at:502"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovn-northd.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:502: ovs-appctl -t ovn-northd exit"
at_fn_check_prepare_trace "system-ovn.at:502"
( $at_check_trace; ovs-appctl -t ovn-northd 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-ovn.at:502"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:502" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:502"
fi


as
{ set +x
$as_echo "$at_srcdir/system-ovn.at:505: check_logs \"/failed to query port patch-.*/d
/connection dropped.*/d\"\";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:505"
( $at_check_trace; check_logs "/failed to query port patch-.*/d
/connection dropped.*/d"";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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-ovn.at:505"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-ovn.at:505: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-ovn.at:505"
( $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-ovn.at:505"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:505: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-ovn.at:505"
( $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-ovn.at:505"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:505" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:505"
fi

   { set +x
$as_echo "$at_srcdir/system-ovn.at:505: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-ovn.at:505"
( $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-ovn.at:505"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:505: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-ovn.at:505"
( $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-ovn.at:505"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:505" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:505"
fi

   { set +x
$as_echo "$at_srcdir/system-ovn.at:505: :; "
at_fn_check_prepare_trace "system-ovn.at:505"
( $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-ovn.at:505"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_92
#AT_START_93
at_fn_group_banner 93 'system-ovn.at:509' \
  "ovn -- load-balancing" "                          " 7
at_xfail=no
(
  $as_echo "93. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init



$as_echo "system-ovn.at:512" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-ovn.at:512"


ovn_start

   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:515" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:515"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-ovn.at:515: 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-ovn.at:515"
( $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-ovn.at:515"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:515: 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-ovn.at:515"
( $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-ovn.at:515"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-ovn.at:515: 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-ovn.at:515"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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-ovn.at:515"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-ovn.at:515: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-ovn.at:515"
( $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-ovn.at:515"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:515: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-ovn.at:515"
( $at_check_trace; ovs-vswitchd --disable-system --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-ovn.at:515"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-ovn.at:515: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:515"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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-ovn.at:515"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:515" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:515"
fi

   { set +x
$as_echo "$at_srcdir/system-ovn.at:515: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-ovn.at:515"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-ovn.at:515"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl add-br br-int -- set Bridge br-int datapath_type="netdev" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --

# Set external-ids in br-int needed for ovn-controller
ovs-vsctl \
        -- set Open_vSwitch . external-ids:system-id=hv1 \
        -- set Open_vSwitch . external-ids:ovn-remote=unix:$ovs_base/ovn-sb/ovn-sb.sock \
        -- set Open_vSwitch . external-ids:ovn-encap-type=geneve \
        -- set Open_vSwitch . external-ids:ovn-encap-ip=169.0.0.1 \
        -- set bridge br-int fail-mode=secure other-config:disable-in-band=true

# Start ovn-controller
start_daemon ovn-controller

# Logical network:
# 2 logical switches "foo" (192.168.1.0/24) and "bar" (172.16.1.0/24)
# connected to a router R1.
# foo has foo1 to act as a client.
# bar has bar1, bar2, bar3 to act as servers.
#
# Loadbalancer VIPs in 30.0.0.0/24 network.

ovn-nbctl create Logical_Router name=R1
ovn-nbctl ls-add foo
ovn-nbctl ls-add bar

# Connect foo to R1
ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24
ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \
    type=router options:router-port=foo addresses=\"00:00:01:01:02:03\"

# Connect bar to R1
ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 172.16.1.1/24
ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \
    type=router options:router-port=bar addresses=\"00:00:01:01:02:04\"

# Create logical port 'foo1' in switch 'foo'.
ip netns del foo1



                { set +x
$as_echo "$at_srcdir/system-ovn.at:552: ip netns add foo1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:552"
( $at_check_trace; ip netns add foo1 || 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-ovn.at:552"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del foo1


'
                ip netns exec foo1 sysctl -w net.netfilter.nf_conntrack_helper=0



 { set +x
$as_echo "$at_srcdir/system-ovn.at:553: ip link add foo1 type veth peer name ovs-foo1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:553"
( $at_check_trace; ip link add foo1 type veth peer name ovs-foo1 || 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-ovn.at:553"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:553: ethtool -K foo1 tx off"
at_fn_check_prepare_trace "system-ovn.at:553"
( $at_check_trace; ethtool -K foo1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:553"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:553: ip link set foo1 netns foo1"
at_fn_check_prepare_trace "system-ovn.at:553"
( $at_check_trace; ip link set foo1 netns foo1
) >>"$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-ovn.at:553"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:553: ip link set dev ovs-foo1 up"
at_fn_check_prepare_trace "system-ovn.at:553"
( $at_check_trace; ip link set dev ovs-foo1 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-ovn.at:553"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:553: ovs-vsctl add-port br-int ovs-foo1 -- \\
                set interface ovs-foo1 external-ids:iface-id=\"foo1\""
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:553"
( $at_check_trace; ovs-vsctl add-port br-int ovs-foo1 -- \
                set interface ovs-foo1 external-ids:iface-id="foo1"
) >>"$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-ovn.at:553"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-ovn.at:553: ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip addr add \"192.168.1.2/24\" dev foo1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:553"
( $at_check_trace; ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip addr add "192.168.1.2/24" dev foo1
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-ovn.at:553"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-ovn.at:553: ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip link set dev foo1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:553"
( $at_check_trace; ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip link set dev foo1 up
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-ovn.at:553"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""f0:00:00:01:02:03""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:553: ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip link set dev foo1 address \"f0:00:00:01:02:03\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:553"
( $at_check_trace; ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip link set dev foo1 address "f0:00:00:01:02:03"
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-ovn.at:553"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n "\
         "192.168.1.1""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:553: ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip route add default via \\
         \"192.168.1.1\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:553"
( $at_check_trace; ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip route add default via \
         "192.168.1.1"
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-ovn.at:553"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-foo1'


ovn-nbctl lsp-add foo foo1 \
-- lsp-set-addresses foo1 "f0:00:00:01:02:03 192.168.1.2"

# Create logical ports 'bar1', 'bar2', 'bar3' in switch 'bar'.
ip netns del bar1



                { set +x
$as_echo "$at_srcdir/system-ovn.at:559: ip netns add bar1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:559"
( $at_check_trace; ip netns add bar1 || 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-ovn.at:559"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del bar1


'
                ip netns exec bar1 sysctl -w net.netfilter.nf_conntrack_helper=0



 { set +x
$as_echo "$at_srcdir/system-ovn.at:560: ip link add bar1 type veth peer name ovs-bar1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:560"
( $at_check_trace; ip link add bar1 type veth peer name ovs-bar1 || 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-ovn.at:560"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:560: ethtool -K bar1 tx off"
at_fn_check_prepare_trace "system-ovn.at:560"
( $at_check_trace; ethtool -K bar1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:560"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:560: ip link set bar1 netns bar1"
at_fn_check_prepare_trace "system-ovn.at:560"
( $at_check_trace; ip link set bar1 netns bar1
) >>"$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-ovn.at:560"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:560: ip link set dev ovs-bar1 up"
at_fn_check_prepare_trace "system-ovn.at:560"
( $at_check_trace; ip link set dev ovs-bar1 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-ovn.at:560"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:560: ovs-vsctl add-port br-int ovs-bar1 -- \\
                set interface ovs-bar1 external-ids:iface-id=\"bar1\""
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:560"
( $at_check_trace; ovs-vsctl add-port br-int ovs-bar1 -- \
                set interface ovs-bar1 external-ids:iface-id="bar1"
) >>"$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-ovn.at:560"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-ovn.at:560: ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip addr add \"172.16.1.2/24\" dev bar1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:560"
( $at_check_trace; ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip addr add "172.16.1.2/24" dev bar1
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-ovn.at:560"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-ovn.at:560: ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip link set dev bar1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:560"
( $at_check_trace; ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip link set dev bar1 up
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-ovn.at:560"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""f0:00:0f:01:02:03""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:560: ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip link set dev bar1 address \"f0:00:0f:01:02:03\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:560"
( $at_check_trace; ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip link set dev bar1 address "f0:00:0f:01:02:03"
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-ovn.at:560"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n "\
         "172.16.1.1""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:560: ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip route add default via \\
         \"172.16.1.1\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:560"
( $at_check_trace; ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip route add default via \
         "172.16.1.1"
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-ovn.at:560"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-bar1'


ovn-nbctl lsp-add bar bar1 \
-- lsp-set-addresses bar1 "f0:00:0f:01:02:03 172.16.1.2"

ip netns del bar2



                { set +x
$as_echo "$at_srcdir/system-ovn.at:565: ip netns add bar2 || return 77"
at_fn_check_prepare_trace "system-ovn.at:565"
( $at_check_trace; ip netns add bar2 || 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-ovn.at:565"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del bar2


'
                ip netns exec bar2 sysctl -w net.netfilter.nf_conntrack_helper=0



 { set +x
$as_echo "$at_srcdir/system-ovn.at:566: ip link add bar2 type veth peer name ovs-bar2 || return 77"
at_fn_check_prepare_trace "system-ovn.at:566"
( $at_check_trace; ip link add bar2 type veth peer name ovs-bar2 || 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-ovn.at:566"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:566: ethtool -K bar2 tx off"
at_fn_check_prepare_trace "system-ovn.at:566"
( $at_check_trace; ethtool -K bar2 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:566"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:566: ip link set bar2 netns bar2"
at_fn_check_prepare_trace "system-ovn.at:566"
( $at_check_trace; ip link set bar2 netns bar2
) >>"$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-ovn.at:566"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:566: ip link set dev ovs-bar2 up"
at_fn_check_prepare_trace "system-ovn.at:566"
( $at_check_trace; ip link set dev ovs-bar2 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-ovn.at:566"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:566: ovs-vsctl add-port br-int ovs-bar2 -- \\
                set interface ovs-bar2 external-ids:iface-id=\"bar2\""
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:566"
( $at_check_trace; ovs-vsctl add-port br-int ovs-bar2 -- \
                set interface ovs-bar2 external-ids:iface-id="bar2"
) >>"$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-ovn.at:566"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-ovn.at:566: ip netns exec bar2 sh << NS_EXEC_HEREDOC
ip addr add \"172.16.1.3/24\" dev bar2
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:566"
( $at_check_trace; ip netns exec bar2 sh << NS_EXEC_HEREDOC
ip addr add "172.16.1.3/24" dev bar2
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-ovn.at:566"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-ovn.at:566: ip netns exec bar2 sh << NS_EXEC_HEREDOC
ip link set dev bar2 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:566"
( $at_check_trace; ip netns exec bar2 sh << NS_EXEC_HEREDOC
ip link set dev bar2 up
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-ovn.at:566"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""f0:00:0f:01:02:04""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:566: ip netns exec bar2 sh << NS_EXEC_HEREDOC
ip link set dev bar2 address \"f0:00:0f:01:02:04\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:566"
( $at_check_trace; ip netns exec bar2 sh << NS_EXEC_HEREDOC
ip link set dev bar2 address "f0:00:0f:01:02:04"
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-ovn.at:566"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n "\
         "172.16.1.1""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:566: ip netns exec bar2 sh << NS_EXEC_HEREDOC
ip route add default via \\
         \"172.16.1.1\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:566"
( $at_check_trace; ip netns exec bar2 sh << NS_EXEC_HEREDOC
ip route add default via \
         "172.16.1.1"
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-ovn.at:566"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-bar2'


ovn-nbctl lsp-add bar bar2 \
-- lsp-set-addresses bar2 "f0:00:0f:01:02:04 172.16.1.3"

ip netns del bar3



                { set +x
$as_echo "$at_srcdir/system-ovn.at:571: ip netns add bar3 || return 77"
at_fn_check_prepare_trace "system-ovn.at:571"
( $at_check_trace; ip netns add bar3 || 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-ovn.at:571"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del bar3


'
                ip netns exec bar3 sysctl -w net.netfilter.nf_conntrack_helper=0



 { set +x
$as_echo "$at_srcdir/system-ovn.at:572: ip link add bar3 type veth peer name ovs-bar3 || return 77"
at_fn_check_prepare_trace "system-ovn.at:572"
( $at_check_trace; ip link add bar3 type veth peer name ovs-bar3 || 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-ovn.at:572"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:572: ethtool -K bar3 tx off"
at_fn_check_prepare_trace "system-ovn.at:572"
( $at_check_trace; ethtool -K bar3 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:572"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:572: ip link set bar3 netns bar3"
at_fn_check_prepare_trace "system-ovn.at:572"
( $at_check_trace; ip link set bar3 netns bar3
) >>"$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-ovn.at:572"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:572: ip link set dev ovs-bar3 up"
at_fn_check_prepare_trace "system-ovn.at:572"
( $at_check_trace; ip link set dev ovs-bar3 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-ovn.at:572"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:572: ovs-vsctl add-port br-int ovs-bar3 -- \\
                set interface ovs-bar3 external-ids:iface-id=\"bar3\""
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:572"
( $at_check_trace; ovs-vsctl add-port br-int ovs-bar3 -- \
                set interface ovs-bar3 external-ids:iface-id="bar3"
) >>"$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-ovn.at:572"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-ovn.at:572: ip netns exec bar3 sh << NS_EXEC_HEREDOC
ip addr add \"172.16.1.4/24\" dev bar3
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:572"
( $at_check_trace; ip netns exec bar3 sh << NS_EXEC_HEREDOC
ip addr add "172.16.1.4/24" dev bar3
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-ovn.at:572"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-ovn.at:572: ip netns exec bar3 sh << NS_EXEC_HEREDOC
ip link set dev bar3 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:572"
( $at_check_trace; ip netns exec bar3 sh << NS_EXEC_HEREDOC
ip link set dev bar3 up
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-ovn.at:572"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""f0:00:0f:01:02:05""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:572: ip netns exec bar3 sh << NS_EXEC_HEREDOC
ip link set dev bar3 address \"f0:00:0f:01:02:05\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:572"
( $at_check_trace; ip netns exec bar3 sh << NS_EXEC_HEREDOC
ip link set dev bar3 address "f0:00:0f:01:02:05"
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-ovn.at:572"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n "\
         "172.16.1.1""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:572: ip netns exec bar3 sh << NS_EXEC_HEREDOC
ip route add default via \\
         \"172.16.1.1\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:572"
( $at_check_trace; ip netns exec bar3 sh << NS_EXEC_HEREDOC
ip route add default via \
         "172.16.1.1"
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-ovn.at:572"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-bar3'


ovn-nbctl lsp-add bar bar3 \
-- lsp-set-addresses bar3 "f0:00:0f:01:02:05 172.16.1.4"

# Config OVN load-balancer with a VIP.
uuid=`ovn-nbctl  create load_balancer vips:30.0.0.1="172.16.1.2,172.16.1.3,172.16.1.4"`
ovn-nbctl set logical_switch foo load_balancer=$uuid

# Create another load-balancer with another VIP.
uuid=`ovn-nbctl create load_balancer vips:30.0.0.3="172.16.1.2,172.16.1.3,172.16.1.4"`
ovn-nbctl add logical_switch foo load_balancer $uuid

# Config OVN load-balancer with another VIP (this time with ports).
ovn-nbctl set load_balancer $uuid vips:'"30.0.0.2:8000"'='"172.16.1.2:80,172.16.1.3:80,172.16.1.4:80"'

# Wait for ovn-controller to catch up.
ovn-nbctl --wait=hv sync
ovs_wait_cond () {
    ovs-ofctl -O OpenFlow13 dump-groups br-int | \
grep 'nat(dst=172.16.1.4:80)'
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:590" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:590"
fi


# Start webservers in 'bar1', 'bar2' and 'bar3'.
PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec bar1 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec bar1 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:594" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:594"
fi



PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec bar2 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec bar2 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:595" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:595"
fi



PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec bar3 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec bar3 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:596" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:596"
fi




for i in `seq 1 20`; do
    echo Request $i
     { set +x
$as_echo "$at_srcdir/system-ovn.at:601: ip netns exec foo1 sh << NS_EXEC_HEREDOC
wget 30.0.0.1 -t 5 -T 1 --retry-connrefused -v -o wget\$i.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:601"
( $at_check_trace; ip netns exec foo1 sh << NS_EXEC_HEREDOC
wget 30.0.0.1 -t 5 -T 1 --retry-connrefused -v -o wget$i.log
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-ovn.at:601"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


done

{ set +x
$as_echo "$at_srcdir/system-ovn.at:605: ovs-appctl dpctl/dump-conntrack | grep \"dst=30.0.0.1\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \\
sed -e 's/zone=[0-9]*/zone=<cleared>/'"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:605"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=30.0.0.1" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \
sed -e 's/zone=[0-9]*/zone=<cleared>/'
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=192.168.1.2,dst=30.0.0.1,sport=<cleared>,dport=<cleared>),reply=(src=172.16.1.2,dst=192.168.1.2,sport=<cleared>,dport=<cleared>),zone=<cleared>,protoinfo=(state=<cleared>)
tcp,orig=(src=192.168.1.2,dst=30.0.0.1,sport=<cleared>,dport=<cleared>),reply=(src=172.16.1.3,dst=192.168.1.2,sport=<cleared>,dport=<cleared>),zone=<cleared>,protoinfo=(state=<cleared>)
tcp,orig=(src=192.168.1.2,dst=30.0.0.1,sport=<cleared>,dport=<cleared>),reply=(src=172.16.1.4,dst=192.168.1.2,sport=<cleared>,dport=<cleared>),zone=<cleared>,protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:605"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


for i in `seq 1 20`; do
    echo Request $i
     { set +x
$as_echo "$at_srcdir/system-ovn.at:615: ip netns exec foo1 sh << NS_EXEC_HEREDOC
wget 30.0.0.3 -t 5 -T 1 --retry-connrefused -v -o wget\$i.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:615"
( $at_check_trace; ip netns exec foo1 sh << NS_EXEC_HEREDOC
wget 30.0.0.3 -t 5 -T 1 --retry-connrefused -v -o wget$i.log
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-ovn.at:615"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


done

{ set +x
$as_echo "$at_srcdir/system-ovn.at:619: ovs-appctl dpctl/dump-conntrack | grep \"dst=30.0.0.3\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \\
sed -e 's/zone=[0-9]*/zone=<cleared>/'"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:619"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=30.0.0.3" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \
sed -e 's/zone=[0-9]*/zone=<cleared>/'
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=192.168.1.2,dst=30.0.0.3,sport=<cleared>,dport=<cleared>),reply=(src=172.16.1.2,dst=192.168.1.2,sport=<cleared>,dport=<cleared>),zone=<cleared>,protoinfo=(state=<cleared>)
tcp,orig=(src=192.168.1.2,dst=30.0.0.3,sport=<cleared>,dport=<cleared>),reply=(src=172.16.1.3,dst=192.168.1.2,sport=<cleared>,dport=<cleared>),zone=<cleared>,protoinfo=(state=<cleared>)
tcp,orig=(src=192.168.1.2,dst=30.0.0.3,sport=<cleared>,dport=<cleared>),reply=(src=172.16.1.4,dst=192.168.1.2,sport=<cleared>,dport=<cleared>),zone=<cleared>,protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:619"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


for i in `seq 1 20`; do
    echo Request $i
     { set +x
$as_echo "$at_srcdir/system-ovn.at:629: ip netns exec foo1 sh << NS_EXEC_HEREDOC
wget 30.0.0.2:8000 -t 5 -T 1 --retry-connrefused -v -o wget\$i.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:629"
( $at_check_trace; ip netns exec foo1 sh << NS_EXEC_HEREDOC
wget 30.0.0.2:8000 -t 5 -T 1 --retry-connrefused -v -o wget$i.log
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-ovn.at:629"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


done

{ set +x
$as_echo "$at_srcdir/system-ovn.at:633: ovs-appctl dpctl/dump-conntrack | grep \"dst=30.0.0.2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \\
sed -e 's/zone=[0-9]*/zone=<cleared>/'"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:633"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=30.0.0.2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \
sed -e 's/zone=[0-9]*/zone=<cleared>/'
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=192.168.1.2,dst=30.0.0.2,sport=<cleared>,dport=<cleared>),reply=(src=172.16.1.2,dst=192.168.1.2,sport=<cleared>,dport=<cleared>),zone=<cleared>,protoinfo=(state=<cleared>)
tcp,orig=(src=192.168.1.2,dst=30.0.0.2,sport=<cleared>,dport=<cleared>),reply=(src=172.16.1.3,dst=192.168.1.2,sport=<cleared>,dport=<cleared>),zone=<cleared>,protoinfo=(state=<cleared>)
tcp,orig=(src=192.168.1.2,dst=30.0.0.2,sport=<cleared>,dport=<cleared>),reply=(src=172.16.1.4,dst=192.168.1.2,sport=<cleared>,dport=<cleared>),zone=<cleared>,protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:633"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-ovn.at:641: test -e \$OVS_RUNDIR/ovn-controller.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovn-controller.pid" "system-ovn.at:641"
( $at_check_trace; test -e $OVS_RUNDIR/ovn-controller.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-ovn.at:641"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovn-controller.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:641: ovs-appctl -t ovn-controller exit"
at_fn_check_prepare_trace "system-ovn.at:641"
( $at_check_trace; ovs-appctl -t ovn-controller 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-ovn.at:641"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:641" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:641"
fi


as ovn-sb
{ set +x
$as_echo "$at_srcdir/system-ovn.at:644: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-ovn.at:644"
( $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-ovn.at:644"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:644: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-ovn.at:644"
( $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-ovn.at:644"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:644" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:644"
fi


as ovn-nb
{ set +x
$as_echo "$at_srcdir/system-ovn.at:647: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-ovn.at:647"
( $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-ovn.at:647"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:647: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-ovn.at:647"
( $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-ovn.at:647"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:647" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:647"
fi


as northd
{ set +x
$as_echo "$at_srcdir/system-ovn.at:650: test -e \$OVS_RUNDIR/ovn-northd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovn-northd.pid" "system-ovn.at:650"
( $at_check_trace; test -e $OVS_RUNDIR/ovn-northd.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-ovn.at:650"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovn-northd.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:650: ovs-appctl -t ovn-northd exit"
at_fn_check_prepare_trace "system-ovn.at:650"
( $at_check_trace; ovs-appctl -t ovn-northd 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-ovn.at:650"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:650" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:650"
fi


as
{ set +x
$as_echo "$at_srcdir/system-ovn.at:653: check_logs \"/failed to query port patch-.*/d\"\";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:653"
( $at_check_trace; check_logs "/failed to query port patch-.*/d"";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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-ovn.at:653"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-ovn.at:653: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-ovn.at:653"
( $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-ovn.at:653"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:653: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-ovn.at:653"
( $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-ovn.at:653"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:653" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:653"
fi

   { set +x
$as_echo "$at_srcdir/system-ovn.at:653: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-ovn.at:653"
( $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-ovn.at:653"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:653: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-ovn.at:653"
( $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-ovn.at:653"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:653" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:653"
fi

   { set +x
$as_echo "$at_srcdir/system-ovn.at:653: :; "
at_fn_check_prepare_trace "system-ovn.at:653"
( $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-ovn.at:653"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_93
#AT_START_94
at_fn_group_banner 94 'system-ovn.at:656' \
  "ovn -- load-balancing - same subnet." "           " 7
at_xfail=no
(
  $as_echo "94. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init



$as_echo "system-ovn.at:659" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-ovn.at:659"


ovn_start

   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:662" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:662"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-ovn.at:662: 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-ovn.at:662"
( $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-ovn.at:662"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:662: 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-ovn.at:662"
( $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-ovn.at:662"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-ovn.at:662: 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-ovn.at:662"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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-ovn.at:662"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-ovn.at:662: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-ovn.at:662"
( $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-ovn.at:662"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:662: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-ovn.at:662"
( $at_check_trace; ovs-vswitchd --disable-system --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-ovn.at:662"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-ovn.at:662: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:662"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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-ovn.at:662"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:662" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:662"
fi

   { set +x
$as_echo "$at_srcdir/system-ovn.at:662: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-ovn.at:662"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-ovn.at:662"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl add-br br-int -- set Bridge br-int datapath_type="netdev" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --

# Set external-ids in br-int needed for ovn-controller
ovs-vsctl \
        -- set Open_vSwitch . external-ids:system-id=hv1 \
        -- set Open_vSwitch . external-ids:ovn-remote=unix:$ovs_base/ovn-sb/ovn-sb.sock \
        -- set Open_vSwitch . external-ids:ovn-encap-type=geneve \
        -- set Open_vSwitch . external-ids:ovn-encap-ip=169.0.0.1 \
        -- set bridge br-int fail-mode=secure other-config:disable-in-band=true

# Start ovn-controller
start_daemon ovn-controller

# Logical network:
# 1 logical switch "foo" (192.168.1.0/24) connected to router R1.
# foo has foo1, foo2, foo3, foo4 as logical ports.
#
# Loadbalancer VIPs in 30.0.0.0/24 network. Router is needed for default
# gateway. We will test load-balancing with foo1 as a client and foo2, foo3 and
# foo4 as servers.

ovn-nbctl create Logical_Router name=R1
ovn-nbctl ls-add foo

# Connect foo to R1
ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24
ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \
    type=router options:router-port=foo addresses=\"00:00:01:01:02:03\"

# Create logical port 'foo1', 'foo2', 'foo3' and 'foo4' in switch 'foo'.
ip netns del foo1



                { set +x
$as_echo "$at_srcdir/system-ovn.at:693: ip netns add foo1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:693"
( $at_check_trace; ip netns add foo1 || 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-ovn.at:693"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del foo1


'
                ip netns exec foo1 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del foo2



                { set +x
$as_echo "$at_srcdir/system-ovn.at:693: ip netns add foo2 || return 77"
at_fn_check_prepare_trace "system-ovn.at:693"
( $at_check_trace; ip netns add foo2 || 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-ovn.at:693"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del foo2


'
                ip netns exec foo2 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del foo3



                { set +x
$as_echo "$at_srcdir/system-ovn.at:693: ip netns add foo3 || return 77"
at_fn_check_prepare_trace "system-ovn.at:693"
( $at_check_trace; ip netns add foo3 || 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-ovn.at:693"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del foo3


'
                ip netns exec foo3 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del foo4



                { set +x
$as_echo "$at_srcdir/system-ovn.at:693: ip netns add foo4 || return 77"
at_fn_check_prepare_trace "system-ovn.at:693"
( $at_check_trace; ip netns add foo4 || 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-ovn.at:693"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del foo4


'
                ip netns exec foo4 sysctl -w net.netfilter.nf_conntrack_helper=0



for i in `seq 1 4`; do
    j=`expr $i + 1`
     { set +x
$as_echo "$at_srcdir/system-ovn.at:696: ip link add foo\$i type veth peer name ovs-foo\$i || return 77"
at_fn_check_prepare_dynamic "ip link add foo$i type veth peer name ovs-foo$i || return 77" "system-ovn.at:696"
( $at_check_trace; ip link add foo$i type veth peer name ovs-foo$i || 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-ovn.at:696"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:696: ethtool -K foo\$i tx off"
at_fn_check_prepare_dynamic "ethtool -K foo$i tx off" "system-ovn.at:696"
( $at_check_trace; ethtool -K foo$i tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:696"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:696: ip link set foo\$i netns foo\$i"
at_fn_check_prepare_dynamic "ip link set foo$i netns foo$i" "system-ovn.at:696"
( $at_check_trace; ip link set foo$i netns foo$i
) >>"$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-ovn.at:696"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:696: ip link set dev ovs-foo\$i up"
at_fn_check_prepare_dynamic "ip link set dev ovs-foo$i up" "system-ovn.at:696"
( $at_check_trace; ip link set dev ovs-foo$i 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-ovn.at:696"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:696: ovs-vsctl add-port br-int ovs-foo\$i -- \\
                set interface ovs-foo\$i external-ids:iface-id=\"foo\$i\""
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:696"
( $at_check_trace; ovs-vsctl add-port br-int ovs-foo$i -- \
                set interface ovs-foo$i external-ids:iface-id="foo$i"
) >>"$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-ovn.at:696"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-ovn.at:696: ip netns exec foo\$i sh << NS_EXEC_HEREDOC
ip addr add \"192.168.1.\$j/24\" dev foo\$i
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:696"
( $at_check_trace; ip netns exec foo$i sh << NS_EXEC_HEREDOC
ip addr add "192.168.1.$j/24" dev foo$i
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-ovn.at:696"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-ovn.at:696: ip netns exec foo\$i sh << NS_EXEC_HEREDOC
ip link set dev foo\$i up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:696"
( $at_check_trace; ip netns exec foo$i sh << NS_EXEC_HEREDOC
ip link set dev foo$i up
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-ovn.at:696"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""f0:00:00:01:02:0$j""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:696: ip netns exec foo\$i sh << NS_EXEC_HEREDOC
ip link set dev foo\$i address \"f0:00:00:01:02:0\$j\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:696"
( $at_check_trace; ip netns exec foo$i sh << NS_EXEC_HEREDOC
ip link set dev foo$i address "f0:00:00:01:02:0$j"
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-ovn.at:696"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n "\
             "192.168.1.1""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:696: ip netns exec foo\$i sh << NS_EXEC_HEREDOC
ip route add default via \\
             \"192.168.1.1\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:696"
( $at_check_trace; ip netns exec foo$i sh << NS_EXEC_HEREDOC
ip route add default via \
             "192.168.1.1"
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-ovn.at:696"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-foo$i'


    ovn-nbctl lsp-add foo foo$i \
        -- lsp-set-addresses foo$i "f0:00:00:01:02:0$j 192.168.1.$j"
done

# Config OVN load-balancer with a VIP.
uuid=`ovn-nbctl  create load_balancer vips:30.0.0.1="192.168.1.3,192.168.1.4,192.168.1.5"`
ovn-nbctl set logical_switch foo load_balancer=$uuid

# Config OVN load-balancer with another VIP (this time with ports).
ovn-nbctl set load_balancer $uuid vips:'"30.0.0.2:8000"'='"192.168.1.3:80,192.168.1.4:80,192.168.1.5:80"'

# Wait for ovn-controller to catch up.
ovn-nbctl --wait=hv sync
ovs_wait_cond () {
    ovs-ofctl -O OpenFlow13 dump-groups br-int | \
grep 'nat(dst=192.168.1.5:80)'
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:711" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:711"
fi


# Start webservers in 'foo2', 'foo3' and 'foo4'.
PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec foo2 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec foo2 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:715" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:715"
fi



PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec foo3 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec foo3 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:716" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:716"
fi



PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec foo4 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec foo4 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:717" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:717"
fi




for i in `seq 1 20`; do
    echo Request $i
     { set +x
$as_echo "$at_srcdir/system-ovn.at:722: ip netns exec foo1 sh << NS_EXEC_HEREDOC
wget 30.0.0.1 -t 5 -T 1 --retry-connrefused -v -o wget\$i.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:722"
( $at_check_trace; ip netns exec foo1 sh << NS_EXEC_HEREDOC
wget 30.0.0.1 -t 5 -T 1 --retry-connrefused -v -o wget$i.log
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-ovn.at:722"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


done

{ set +x
$as_echo "$at_srcdir/system-ovn.at:726: ovs-appctl dpctl/dump-conntrack | grep \"dst=30.0.0.1\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \\
sed -e 's/zone=[0-9]*/zone=<cleared>/'"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:726"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=30.0.0.1" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \
sed -e 's/zone=[0-9]*/zone=<cleared>/'
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=192.168.1.2,dst=30.0.0.1,sport=<cleared>,dport=<cleared>),reply=(src=192.168.1.3,dst=192.168.1.2,sport=<cleared>,dport=<cleared>),zone=<cleared>,protoinfo=(state=<cleared>)
tcp,orig=(src=192.168.1.2,dst=30.0.0.1,sport=<cleared>,dport=<cleared>),reply=(src=192.168.1.4,dst=192.168.1.2,sport=<cleared>,dport=<cleared>),zone=<cleared>,protoinfo=(state=<cleared>)
tcp,orig=(src=192.168.1.2,dst=30.0.0.1,sport=<cleared>,dport=<cleared>),reply=(src=192.168.1.5,dst=192.168.1.2,sport=<cleared>,dport=<cleared>),zone=<cleared>,protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:726"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


for i in `seq 1 20`; do
    echo Request $i
     { set +x
$as_echo "$at_srcdir/system-ovn.at:736: ip netns exec foo1 sh << NS_EXEC_HEREDOC
wget 30.0.0.2:8000 -t 5 -T 1 --retry-connrefused -v -o wget\$i.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:736"
( $at_check_trace; ip netns exec foo1 sh << NS_EXEC_HEREDOC
wget 30.0.0.2:8000 -t 5 -T 1 --retry-connrefused -v -o wget$i.log
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-ovn.at:736"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


done

{ set +x
$as_echo "$at_srcdir/system-ovn.at:740: ovs-appctl dpctl/dump-conntrack | grep \"dst=30.0.0.2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \\
sed -e 's/zone=[0-9]*/zone=<cleared>/'"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:740"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=30.0.0.2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \
sed -e 's/zone=[0-9]*/zone=<cleared>/'
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=192.168.1.2,dst=30.0.0.2,sport=<cleared>,dport=<cleared>),reply=(src=192.168.1.3,dst=192.168.1.2,sport=<cleared>,dport=<cleared>),zone=<cleared>,protoinfo=(state=<cleared>)
tcp,orig=(src=192.168.1.2,dst=30.0.0.2,sport=<cleared>,dport=<cleared>),reply=(src=192.168.1.4,dst=192.168.1.2,sport=<cleared>,dport=<cleared>),zone=<cleared>,protoinfo=(state=<cleared>)
tcp,orig=(src=192.168.1.2,dst=30.0.0.2,sport=<cleared>,dport=<cleared>),reply=(src=192.168.1.5,dst=192.168.1.2,sport=<cleared>,dport=<cleared>),zone=<cleared>,protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:740"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/system-ovn.at:748: test -e \$OVS_RUNDIR/ovn-controller.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovn-controller.pid" "system-ovn.at:748"
( $at_check_trace; test -e $OVS_RUNDIR/ovn-controller.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-ovn.at:748"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovn-controller.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:748: ovs-appctl -t ovn-controller exit"
at_fn_check_prepare_trace "system-ovn.at:748"
( $at_check_trace; ovs-appctl -t ovn-controller 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-ovn.at:748"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:748" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:748"
fi


as ovn-sb
{ set +x
$as_echo "$at_srcdir/system-ovn.at:751: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-ovn.at:751"
( $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-ovn.at:751"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:751: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-ovn.at:751"
( $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-ovn.at:751"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:751" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:751"
fi


as ovn-nb
{ set +x
$as_echo "$at_srcdir/system-ovn.at:754: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-ovn.at:754"
( $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-ovn.at:754"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:754: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-ovn.at:754"
( $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-ovn.at:754"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:754" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:754"
fi


as northd
{ set +x
$as_echo "$at_srcdir/system-ovn.at:757: test -e \$OVS_RUNDIR/ovn-northd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovn-northd.pid" "system-ovn.at:757"
( $at_check_trace; test -e $OVS_RUNDIR/ovn-northd.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-ovn.at:757"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovn-northd.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:757: ovs-appctl -t ovn-northd exit"
at_fn_check_prepare_trace "system-ovn.at:757"
( $at_check_trace; ovs-appctl -t ovn-northd 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-ovn.at:757"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:757" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:757"
fi


as
{ set +x
$as_echo "$at_srcdir/system-ovn.at:760: check_logs \"/failed to query port patch-.*/d\"\";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:760"
( $at_check_trace; check_logs "/failed to query port patch-.*/d"";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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-ovn.at:760"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-ovn.at:760: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-ovn.at:760"
( $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-ovn.at:760"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:760: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-ovn.at:760"
( $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-ovn.at:760"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:760" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:760"
fi

   { set +x
$as_echo "$at_srcdir/system-ovn.at:760: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-ovn.at:760"
( $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-ovn.at:760"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:760: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-ovn.at:760"
( $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-ovn.at:760"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:760" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:760"
fi

   { set +x
$as_echo "$at_srcdir/system-ovn.at:760: :; "
at_fn_check_prepare_trace "system-ovn.at:760"
( $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-ovn.at:760"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_94
#AT_START_95
at_fn_group_banner 95 'system-ovn.at:763' \
  "ovn -- load balancing in gateway router" "        " 7
at_xfail=no
(
  $as_echo "95. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init



$as_echo "system-ovn.at:766" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-ovn.at:766"


ovn_start

   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:769" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:769"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-ovn.at:769: 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-ovn.at:769"
( $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-ovn.at:769"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:769: 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-ovn.at:769"
( $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-ovn.at:769"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-ovn.at:769: 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-ovn.at:769"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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-ovn.at:769"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-ovn.at:769: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-ovn.at:769"
( $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-ovn.at:769"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:769: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-ovn.at:769"
( $at_check_trace; ovs-vswitchd --disable-system --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-ovn.at:769"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-ovn.at:769: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:769"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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-ovn.at:769"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:769" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:769"
fi

   { set +x
$as_echo "$at_srcdir/system-ovn.at:769: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-ovn.at:769"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-ovn.at:769"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl add-br br-int -- set Bridge br-int datapath_type="netdev" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --

# Set external-ids in br-int needed for ovn-controller
ovs-vsctl \
        -- set Open_vSwitch . external-ids:system-id=hv1 \
        -- set Open_vSwitch . external-ids:ovn-remote=unix:$ovs_base/ovn-sb/ovn-sb.sock \
        -- set Open_vSwitch . external-ids:ovn-encap-type=geneve \
        -- set Open_vSwitch . external-ids:ovn-encap-ip=169.0.0.1 \
        -- set bridge br-int fail-mode=secure other-config:disable-in-band=true

# Start ovn-controller
start_daemon ovn-controller

# Logical network:
# Two LRs - R1 and R2 that are connected to each other via LS "join"
# in 20.0.0.0/24 network. R1 has switchess foo (192.168.1.0/24) and
# bar (192.168.2.0/24) connected to it. R2 has alice (172.16.1.0/24) connected
# to it.  R2 is a gateway router on which we add load-balancing rules.
#
#    foo -- R1 -- join - R2 -- alice
#           |
#    bar ----

ovn-nbctl create Logical_Router name=R1
ovn-nbctl create Logical_Router name=R2 options:chassis=hv1

ovn-nbctl ls-add foo
ovn-nbctl ls-add bar
ovn-nbctl ls-add alice
ovn-nbctl ls-add join

# Connect foo to R1
ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24
ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \
    type=router options:router-port=foo addresses=\"00:00:01:01:02:03\"

# Connect bar to R1
ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 192.168.2.1/24
ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \
    type=router options:router-port=bar addresses=\"00:00:01:01:02:04\"

# Connect alice to R2
ovn-nbctl lrp-add R2 alice 00:00:02:01:02:03 172.16.1.1/24
ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \
    type=router options:router-port=alice addresses=\"00:00:02:01:02:03\"

# Connect R1 to join
ovn-nbctl lrp-add R1 R1_join 00:00:04:01:02:03 20.0.0.1/24
ovn-nbctl lsp-add join r1-join -- set Logical_Switch_Port r1-join \
    type=router options:router-port=R1_join addresses='"00:00:04:01:02:03"'

# Connect R2 to join
ovn-nbctl lrp-add R2 R2_join 00:00:04:01:02:04 20.0.0.2/24
ovn-nbctl lsp-add join r2-join -- set Logical_Switch_Port r2-join \
    type=router options:router-port=R2_join addresses='"00:00:04:01:02:04"'

# Static routes.
ovn-nbctl lr-route-add R1 172.16.1.0/24 20.0.0.2
ovn-nbctl lr-route-add R2 192.168.0.0/16 20.0.0.1

# Logical port 'foo1' in switch 'foo'.
ip netns del foo1



                { set +x
$as_echo "$at_srcdir/system-ovn.at:831: ip netns add foo1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:831"
( $at_check_trace; ip netns add foo1 || 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-ovn.at:831"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del foo1


'
                ip netns exec foo1 sysctl -w net.netfilter.nf_conntrack_helper=0



 { set +x
$as_echo "$at_srcdir/system-ovn.at:832: ip link add foo1 type veth peer name ovs-foo1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:832"
( $at_check_trace; ip link add foo1 type veth peer name ovs-foo1 || 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-ovn.at:832"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:832: ethtool -K foo1 tx off"
at_fn_check_prepare_trace "system-ovn.at:832"
( $at_check_trace; ethtool -K foo1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:832"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:832: ip link set foo1 netns foo1"
at_fn_check_prepare_trace "system-ovn.at:832"
( $at_check_trace; ip link set foo1 netns foo1
) >>"$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-ovn.at:832"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:832: ip link set dev ovs-foo1 up"
at_fn_check_prepare_trace "system-ovn.at:832"
( $at_check_trace; ip link set dev ovs-foo1 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-ovn.at:832"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:832: ovs-vsctl add-port br-int ovs-foo1 -- \\
                set interface ovs-foo1 external-ids:iface-id=\"foo1\""
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:832"
( $at_check_trace; ovs-vsctl add-port br-int ovs-foo1 -- \
                set interface ovs-foo1 external-ids:iface-id="foo1"
) >>"$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-ovn.at:832"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-ovn.at:832: ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip addr add \"192.168.1.2/24\" dev foo1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:832"
( $at_check_trace; ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip addr add "192.168.1.2/24" dev foo1
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-ovn.at:832"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-ovn.at:832: ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip link set dev foo1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:832"
( $at_check_trace; ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip link set dev foo1 up
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-ovn.at:832"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""f0:00:00:01:02:03""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:832: ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip link set dev foo1 address \"f0:00:00:01:02:03\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:832"
( $at_check_trace; ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip link set dev foo1 address "f0:00:00:01:02:03"
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-ovn.at:832"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n "\
         "192.168.1.1""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:832: ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip route add default via \\
         \"192.168.1.1\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:832"
( $at_check_trace; ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip route add default via \
         "192.168.1.1"
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-ovn.at:832"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-foo1'


ovn-nbctl lsp-add foo foo1 \
-- lsp-set-addresses foo1 "f0:00:00:01:02:03 192.168.1.2"

# Logical port 'alice1' in switch 'alice'.
ip netns del alice1



                { set +x
$as_echo "$at_srcdir/system-ovn.at:838: ip netns add alice1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:838"
( $at_check_trace; ip netns add alice1 || 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-ovn.at:838"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del alice1


'
                ip netns exec alice1 sysctl -w net.netfilter.nf_conntrack_helper=0



 { set +x
$as_echo "$at_srcdir/system-ovn.at:839: ip link add alice1 type veth peer name ovs-alice1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:839"
( $at_check_trace; ip link add alice1 type veth peer name ovs-alice1 || 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-ovn.at:839"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:839: ethtool -K alice1 tx off"
at_fn_check_prepare_trace "system-ovn.at:839"
( $at_check_trace; ethtool -K alice1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:839"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:839: ip link set alice1 netns alice1"
at_fn_check_prepare_trace "system-ovn.at:839"
( $at_check_trace; ip link set alice1 netns alice1
) >>"$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-ovn.at:839"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:839: ip link set dev ovs-alice1 up"
at_fn_check_prepare_trace "system-ovn.at:839"
( $at_check_trace; ip link set dev ovs-alice1 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-ovn.at:839"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:839: ovs-vsctl add-port br-int ovs-alice1 -- \\
                set interface ovs-alice1 external-ids:iface-id=\"alice1\""
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:839"
( $at_check_trace; ovs-vsctl add-port br-int ovs-alice1 -- \
                set interface ovs-alice1 external-ids:iface-id="alice1"
) >>"$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-ovn.at:839"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-ovn.at:839: ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip addr add \"172.16.1.2/24\" dev alice1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:839"
( $at_check_trace; ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip addr add "172.16.1.2/24" dev alice1
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-ovn.at:839"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-ovn.at:839: ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip link set dev alice1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:839"
( $at_check_trace; ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip link set dev alice1 up
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-ovn.at:839"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""f0:00:00:01:02:04""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:839: ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip link set dev alice1 address \"f0:00:00:01:02:04\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:839"
( $at_check_trace; ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip link set dev alice1 address "f0:00:00:01:02:04"
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-ovn.at:839"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n "\
         "172.16.1.1""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:839: ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip route add default via \\
         \"172.16.1.1\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:839"
( $at_check_trace; ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip route add default via \
         "172.16.1.1"
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-ovn.at:839"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-alice1'


ovn-nbctl lsp-add alice alice1 \
-- lsp-set-addresses alice1 "f0:00:00:01:02:04 172.16.1.2"

# Logical port 'bar1' in switch 'bar'.
ip netns del bar1



                { set +x
$as_echo "$at_srcdir/system-ovn.at:845: ip netns add bar1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:845"
( $at_check_trace; ip netns add bar1 || 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-ovn.at:845"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del bar1


'
                ip netns exec bar1 sysctl -w net.netfilter.nf_conntrack_helper=0



 { set +x
$as_echo "$at_srcdir/system-ovn.at:846: ip link add bar1 type veth peer name ovs-bar1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:846"
( $at_check_trace; ip link add bar1 type veth peer name ovs-bar1 || 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-ovn.at:846"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:846: ethtool -K bar1 tx off"
at_fn_check_prepare_trace "system-ovn.at:846"
( $at_check_trace; ethtool -K bar1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:846"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:846: ip link set bar1 netns bar1"
at_fn_check_prepare_trace "system-ovn.at:846"
( $at_check_trace; ip link set bar1 netns bar1
) >>"$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-ovn.at:846"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:846: ip link set dev ovs-bar1 up"
at_fn_check_prepare_trace "system-ovn.at:846"
( $at_check_trace; ip link set dev ovs-bar1 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-ovn.at:846"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:846: ovs-vsctl add-port br-int ovs-bar1 -- \\
                set interface ovs-bar1 external-ids:iface-id=\"bar1\""
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:846"
( $at_check_trace; ovs-vsctl add-port br-int ovs-bar1 -- \
                set interface ovs-bar1 external-ids:iface-id="bar1"
) >>"$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-ovn.at:846"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-ovn.at:846: ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip addr add \"192.168.2.2/24\" dev bar1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:846"
( $at_check_trace; ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip addr add "192.168.2.2/24" dev bar1
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-ovn.at:846"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-ovn.at:846: ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip link set dev bar1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:846"
( $at_check_trace; ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip link set dev bar1 up
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-ovn.at:846"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""f0:00:00:01:02:05""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:846: ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip link set dev bar1 address \"f0:00:00:01:02:05\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:846"
( $at_check_trace; ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip link set dev bar1 address "f0:00:00:01:02:05"
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-ovn.at:846"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n "\
"192.168.2.1""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:846: ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip route add default via \\
\"192.168.2.1\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:846"
( $at_check_trace; ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip route add default via \
"192.168.2.1"
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-ovn.at:846"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-bar1'


ovn-nbctl lsp-add bar bar1 \
-- lsp-set-addresses bar1 "f0:00:00:01:02:05 192.168.2.2"

# Config OVN load-balancer with a VIP.
uuid=`ovn-nbctl  create load_balancer vips:30.0.0.1="192.168.1.2,192.168.2.2"`
ovn-nbctl set logical_router R2 load_balancer=$uuid

# Config OVN load-balancer with another VIP (this time with ports).
ovn-nbctl set load_balancer $uuid vips:'"30.0.0.2:8000"'='"192.168.1.2:80,192.168.2.2:80"'

# Wait for ovn-controller to catch up.
ovn-nbctl --wait=hv sync
ovs_wait_cond () {
    ovs-ofctl -O OpenFlow13 dump-groups br-int | \
grep 'nat(dst=192.168.2.2:80)'
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:860" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:860"
fi


# Start webservers in 'foo1', 'bar1'.
PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec foo1 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec foo1 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:864" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:864"
fi



PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec bar1 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec bar1 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:865" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:865"
fi




for i in `seq 1 20`; do
    echo Request $i
     { set +x
$as_echo "$at_srcdir/system-ovn.at:870: ip netns exec alice1 sh << NS_EXEC_HEREDOC
wget 30.0.0.1 -t 5 -T 1 --retry-connrefused -v -o wget\$i.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:870"
( $at_check_trace; ip netns exec alice1 sh << NS_EXEC_HEREDOC
wget 30.0.0.1 -t 5 -T 1 --retry-connrefused -v -o wget$i.log
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-ovn.at:870"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


done

{ set +x
$as_echo "$at_srcdir/system-ovn.at:874: ovs-appctl dpctl/dump-conntrack | grep \"dst=30.0.0.1\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq |
sed -e 's/zone=[0-9]*/zone=<cleared>/'"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:874"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=30.0.0.1" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq |
sed -e 's/zone=[0-9]*/zone=<cleared>/'
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=172.16.1.2,dst=30.0.0.1,sport=<cleared>,dport=<cleared>),reply=(src=192.168.1.2,dst=172.16.1.2,sport=<cleared>,dport=<cleared>),zone=<cleared>,protoinfo=(state=<cleared>)
tcp,orig=(src=172.16.1.2,dst=30.0.0.1,sport=<cleared>,dport=<cleared>),reply=(src=192.168.2.2,dst=172.16.1.2,sport=<cleared>,dport=<cleared>),zone=<cleared>,protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:874"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


for i in `seq 1 20`; do
    echo Request $i
     { set +x
$as_echo "$at_srcdir/system-ovn.at:883: ip netns exec alice1 sh << NS_EXEC_HEREDOC
wget 30.0.0.2:8000 -t 5 -T 1 --retry-connrefused -v -o wget\$i.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:883"
( $at_check_trace; ip netns exec alice1 sh << NS_EXEC_HEREDOC
wget 30.0.0.2:8000 -t 5 -T 1 --retry-connrefused -v -o wget$i.log
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-ovn.at:883"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


done

{ set +x
$as_echo "$at_srcdir/system-ovn.at:887: ovs-appctl dpctl/dump-conntrack | grep \"dst=30.0.0.2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq |
sed -e 's/zone=[0-9]*/zone=<cleared>/'"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:887"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=30.0.0.2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq |
sed -e 's/zone=[0-9]*/zone=<cleared>/'
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=172.16.1.2,dst=30.0.0.2,sport=<cleared>,dport=<cleared>),reply=(src=192.168.1.2,dst=172.16.1.2,sport=<cleared>,dport=<cleared>),zone=<cleared>,protoinfo=(state=<cleared>)
tcp,orig=(src=172.16.1.2,dst=30.0.0.2,sport=<cleared>,dport=<cleared>),reply=(src=192.168.2.2,dst=172.16.1.2,sport=<cleared>,dport=<cleared>),zone=<cleared>,protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:887"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-ovn.at:893: test -e \$OVS_RUNDIR/ovn-controller.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovn-controller.pid" "system-ovn.at:893"
( $at_check_trace; test -e $OVS_RUNDIR/ovn-controller.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-ovn.at:893"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovn-controller.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:893: ovs-appctl -t ovn-controller exit"
at_fn_check_prepare_trace "system-ovn.at:893"
( $at_check_trace; ovs-appctl -t ovn-controller 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-ovn.at:893"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:893" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:893"
fi


as ovn-sb
{ set +x
$as_echo "$at_srcdir/system-ovn.at:896: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-ovn.at:896"
( $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-ovn.at:896"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:896: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-ovn.at:896"
( $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-ovn.at:896"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:896" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:896"
fi


as ovn-nb
{ set +x
$as_echo "$at_srcdir/system-ovn.at:899: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-ovn.at:899"
( $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-ovn.at:899"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:899: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-ovn.at:899"
( $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-ovn.at:899"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:899" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:899"
fi


as northd
{ set +x
$as_echo "$at_srcdir/system-ovn.at:902: test -e \$OVS_RUNDIR/ovn-northd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovn-northd.pid" "system-ovn.at:902"
( $at_check_trace; test -e $OVS_RUNDIR/ovn-northd.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-ovn.at:902"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovn-northd.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:902: ovs-appctl -t ovn-northd exit"
at_fn_check_prepare_trace "system-ovn.at:902"
( $at_check_trace; ovs-appctl -t ovn-northd 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-ovn.at:902"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:902" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:902"
fi


as
{ set +x
$as_echo "$at_srcdir/system-ovn.at:905: check_logs \"/failed to query port patch-.*/d
/connection dropped.*/d\"\";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:905"
( $at_check_trace; check_logs "/failed to query port patch-.*/d
/connection dropped.*/d"";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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-ovn.at:905"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-ovn.at:905: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-ovn.at:905"
( $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-ovn.at:905"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:905: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-ovn.at:905"
( $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-ovn.at:905"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:905" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:905"
fi

   { set +x
$as_echo "$at_srcdir/system-ovn.at:905: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-ovn.at:905"
( $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-ovn.at:905"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:905: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-ovn.at:905"
( $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-ovn.at:905"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:905" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:905"
fi

   { set +x
$as_echo "$at_srcdir/system-ovn.at:905: :; "
at_fn_check_prepare_trace "system-ovn.at:905"
( $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-ovn.at:905"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_95
#AT_START_96
at_fn_group_banner 96 'system-ovn.at:909' \
  "ovn -- multiple gateway routers, load-balancing" "" 7
at_xfail=no
(
  $as_echo "96. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init



$as_echo "system-ovn.at:912" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-ovn.at:912"


ovn_start

   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:915" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:915"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-ovn.at:915: 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-ovn.at:915"
( $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-ovn.at:915"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:915: 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-ovn.at:915"
( $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-ovn.at:915"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-ovn.at:915: 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-ovn.at:915"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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-ovn.at:915"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-ovn.at:915: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-ovn.at:915"
( $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-ovn.at:915"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:915: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-ovn.at:915"
( $at_check_trace; ovs-vswitchd --disable-system --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-ovn.at:915"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-ovn.at:915: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:915"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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-ovn.at:915"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:915" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:915"
fi

   { set +x
$as_echo "$at_srcdir/system-ovn.at:915: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-ovn.at:915"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-ovn.at:915"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl add-br br-int -- set Bridge br-int datapath_type="netdev" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --

# Set external-ids in br-int needed for ovn-controller
ovs-vsctl \
        -- set Open_vSwitch . external-ids:system-id=hv1 \
        -- set Open_vSwitch . external-ids:ovn-remote=unix:$ovs_base/ovn-sb/ovn-sb.sock \
        -- set Open_vSwitch . external-ids:ovn-encap-type=geneve \
        -- set Open_vSwitch . external-ids:ovn-encap-ip=169.0.0.1 \
        -- set bridge br-int fail-mode=secure other-config:disable-in-band=true

# Start ovn-controller
start_daemon ovn-controller

# Logical network:
# Three LRs - R1, R2 and R3 that are connected to each other via LS "join"
# in 20.0.0.0/24 network. R1 has switchess foo (192.168.1.0/24) and
# bar (192.168.2.0/24) connected to it. R2 has alice (172.16.1.0/24) connected
# to it.  R3 has bob (172.16.1.0/24) connected to it. Note how both alice and
# bob have the same subnet behind it.  We are trying to simulate external
# network via those 2 switches. In real world the switch ports of these
# switches will have addresses set as "unknown" to make them learning switches.
# Or those switches will be "localnet" ones.
#
#    foo -- R1 -- join - R2 -- alice
#           |          |
#    bar ----          - R3 --- bob

ovn-nbctl create Logical_Router name=R1
ovn-nbctl create Logical_Router name=R2 options:chassis=hv1
ovn-nbctl create Logical_Router name=R3 options:chassis=hv1

ovn-nbctl ls-add foo
ovn-nbctl ls-add bar
ovn-nbctl ls-add alice
ovn-nbctl ls-add bob
ovn-nbctl ls-add join

# Connect foo to R1
ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24
ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \
    type=router options:router-port=foo addresses=\"00:00:01:01:02:03\"

# Connect bar to R1
ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 192.168.2.1/24
ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \
    type=router options:router-port=bar addresses=\"00:00:01:01:02:04\"

# Connect alice to R2
ovn-nbctl lrp-add R2 alice 00:00:02:01:02:03 172.16.1.1/24
ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \
    type=router options:router-port=alice addresses=\"00:00:02:01:02:03\"

# Connect bob to R3
ovn-nbctl lrp-add R3 bob 00:00:03:01:02:03 172.16.1.2/24
ovn-nbctl lsp-add bob rp-bob -- set Logical_Switch_Port rp-bob \
    type=router options:router-port=bob addresses=\"00:00:03:01:02:03\"

# Connect R1 to join
ovn-nbctl lrp-add R1 R1_join 00:00:04:01:02:03 20.0.0.1/24
ovn-nbctl lsp-add join r1-join -- set Logical_Switch_Port r1-join \
    type=router options:router-port=R1_join addresses='"00:00:04:01:02:03"'

# Connect R2 to join
ovn-nbctl lrp-add R2 R2_join 00:00:04:01:02:04 20.0.0.2/24
ovn-nbctl lsp-add join r2-join -- set Logical_Switch_Port r2-join \
    type=router options:router-port=R2_join addresses='"00:00:04:01:02:04"'

# Connect R3 to join
ovn-nbctl lrp-add R3 R3_join 00:00:04:01:02:05 20.0.0.3/24
ovn-nbctl lsp-add join r3-join -- set Logical_Switch_Port r3-join \
    type=router options:router-port=R3_join addresses='"00:00:04:01:02:05"'

# Install static routes with source ip address as the policy for routing.
# We want traffic from 'foo' to go via R2 and traffic of 'bar' to go via R3.
ovn-nbctl --policy="src-ip" lr-route-add R1 192.168.1.0/24 20.0.0.2
ovn-nbctl --policy="src-ip" lr-route-add R1 192.168.2.0/24 20.0.0.3

# Static routes.
ovn-nbctl lr-route-add R2 192.168.0.0/16 20.0.0.1
ovn-nbctl lr-route-add R3 192.168.0.0/16 20.0.0.1

# For gateway routers R2 and R3, set a force SNAT rule.
ovn-nbctl set logical_router R2 options:lb_force_snat_ip=20.0.0.2
ovn-nbctl set logical_router R3 options:lb_force_snat_ip=20.0.0.3

# Logical port 'foo1' in switch 'foo'.
ip netns del foo1



                { set +x
$as_echo "$at_srcdir/system-ovn.at:1002: ip netns add foo1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:1002"
( $at_check_trace; ip netns add foo1 || 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-ovn.at:1002"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del foo1


'
                ip netns exec foo1 sysctl -w net.netfilter.nf_conntrack_helper=0



 { set +x
$as_echo "$at_srcdir/system-ovn.at:1003: ip link add foo1 type veth peer name ovs-foo1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:1003"
( $at_check_trace; ip link add foo1 type veth peer name ovs-foo1 || 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-ovn.at:1003"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:1003: ethtool -K foo1 tx off"
at_fn_check_prepare_trace "system-ovn.at:1003"
( $at_check_trace; ethtool -K foo1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:1003"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:1003: ip link set foo1 netns foo1"
at_fn_check_prepare_trace "system-ovn.at:1003"
( $at_check_trace; ip link set foo1 netns foo1
) >>"$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-ovn.at:1003"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:1003: ip link set dev ovs-foo1 up"
at_fn_check_prepare_trace "system-ovn.at:1003"
( $at_check_trace; ip link set dev ovs-foo1 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-ovn.at:1003"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:1003: ovs-vsctl add-port br-int ovs-foo1 -- \\
                set interface ovs-foo1 external-ids:iface-id=\"foo1\""
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1003"
( $at_check_trace; ovs-vsctl add-port br-int ovs-foo1 -- \
                set interface ovs-foo1 external-ids:iface-id="foo1"
) >>"$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-ovn.at:1003"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-ovn.at:1003: ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip addr add \"192.168.1.2/24\" dev foo1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1003"
( $at_check_trace; ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip addr add "192.168.1.2/24" dev foo1
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-ovn.at:1003"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-ovn.at:1003: ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip link set dev foo1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1003"
( $at_check_trace; ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip link set dev foo1 up
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-ovn.at:1003"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""f0:00:00:01:02:03""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:1003: ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip link set dev foo1 address \"f0:00:00:01:02:03\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1003"
( $at_check_trace; ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip link set dev foo1 address "f0:00:00:01:02:03"
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-ovn.at:1003"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n "\
         "192.168.1.1""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:1003: ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip route add default via \\
         \"192.168.1.1\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1003"
( $at_check_trace; ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip route add default via \
         "192.168.1.1"
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-ovn.at:1003"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-foo1'


ovn-nbctl lsp-add foo foo1 \
-- lsp-set-addresses foo1 "f0:00:00:01:02:03 192.168.1.2"

# Logical port 'alice1' in switch 'alice'.
ip netns del alice1



                { set +x
$as_echo "$at_srcdir/system-ovn.at:1009: ip netns add alice1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:1009"
( $at_check_trace; ip netns add alice1 || 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-ovn.at:1009"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del alice1


'
                ip netns exec alice1 sysctl -w net.netfilter.nf_conntrack_helper=0



 { set +x
$as_echo "$at_srcdir/system-ovn.at:1010: ip link add alice1 type veth peer name ovs-alice1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:1010"
( $at_check_trace; ip link add alice1 type veth peer name ovs-alice1 || 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-ovn.at:1010"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:1010: ethtool -K alice1 tx off"
at_fn_check_prepare_trace "system-ovn.at:1010"
( $at_check_trace; ethtool -K alice1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:1010"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:1010: ip link set alice1 netns alice1"
at_fn_check_prepare_trace "system-ovn.at:1010"
( $at_check_trace; ip link set alice1 netns alice1
) >>"$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-ovn.at:1010"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:1010: ip link set dev ovs-alice1 up"
at_fn_check_prepare_trace "system-ovn.at:1010"
( $at_check_trace; ip link set dev ovs-alice1 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-ovn.at:1010"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:1010: ovs-vsctl add-port br-int ovs-alice1 -- \\
                set interface ovs-alice1 external-ids:iface-id=\"alice1\""
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1010"
( $at_check_trace; ovs-vsctl add-port br-int ovs-alice1 -- \
                set interface ovs-alice1 external-ids:iface-id="alice1"
) >>"$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-ovn.at:1010"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-ovn.at:1010: ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip addr add \"172.16.1.3/24\" dev alice1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1010"
( $at_check_trace; ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip addr add "172.16.1.3/24" dev alice1
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-ovn.at:1010"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-ovn.at:1010: ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip link set dev alice1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1010"
( $at_check_trace; ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip link set dev alice1 up
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-ovn.at:1010"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""f0:00:00:01:02:04""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:1010: ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip link set dev alice1 address \"f0:00:00:01:02:04\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1010"
( $at_check_trace; ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip link set dev alice1 address "f0:00:00:01:02:04"
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-ovn.at:1010"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n "\
         "172.16.1.1""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:1010: ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip route add default via \\
         \"172.16.1.1\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1010"
( $at_check_trace; ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip route add default via \
         "172.16.1.1"
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-ovn.at:1010"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-alice1'


ovn-nbctl lsp-add alice alice1 \
-- lsp-set-addresses alice1 "f0:00:00:01:02:04 172.16.1.3"

# Logical port 'bar1' in switch 'bar'.
ip netns del bar1



                { set +x
$as_echo "$at_srcdir/system-ovn.at:1016: ip netns add bar1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:1016"
( $at_check_trace; ip netns add bar1 || 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-ovn.at:1016"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del bar1


'
                ip netns exec bar1 sysctl -w net.netfilter.nf_conntrack_helper=0



 { set +x
$as_echo "$at_srcdir/system-ovn.at:1017: ip link add bar1 type veth peer name ovs-bar1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:1017"
( $at_check_trace; ip link add bar1 type veth peer name ovs-bar1 || 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-ovn.at:1017"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:1017: ethtool -K bar1 tx off"
at_fn_check_prepare_trace "system-ovn.at:1017"
( $at_check_trace; ethtool -K bar1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:1017"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:1017: ip link set bar1 netns bar1"
at_fn_check_prepare_trace "system-ovn.at:1017"
( $at_check_trace; ip link set bar1 netns bar1
) >>"$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-ovn.at:1017"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:1017: ip link set dev ovs-bar1 up"
at_fn_check_prepare_trace "system-ovn.at:1017"
( $at_check_trace; ip link set dev ovs-bar1 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-ovn.at:1017"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:1017: ovs-vsctl add-port br-int ovs-bar1 -- \\
                set interface ovs-bar1 external-ids:iface-id=\"bar1\""
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1017"
( $at_check_trace; ovs-vsctl add-port br-int ovs-bar1 -- \
                set interface ovs-bar1 external-ids:iface-id="bar1"
) >>"$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-ovn.at:1017"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-ovn.at:1017: ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip addr add \"192.168.2.2/24\" dev bar1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1017"
( $at_check_trace; ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip addr add "192.168.2.2/24" dev bar1
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-ovn.at:1017"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-ovn.at:1017: ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip link set dev bar1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1017"
( $at_check_trace; ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip link set dev bar1 up
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-ovn.at:1017"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""f0:00:00:01:02:05""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:1017: ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip link set dev bar1 address \"f0:00:00:01:02:05\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1017"
( $at_check_trace; ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip link set dev bar1 address "f0:00:00:01:02:05"
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-ovn.at:1017"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n "\
"192.168.2.1""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:1017: ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip route add default via \\
\"192.168.2.1\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1017"
( $at_check_trace; ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip route add default via \
"192.168.2.1"
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-ovn.at:1017"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-bar1'


ovn-nbctl lsp-add bar bar1 \
-- lsp-set-addresses bar1 "f0:00:00:01:02:05 192.168.2.2"

# Logical port 'bob1' in switch 'bob'.
ip netns del bob1



                { set +x
$as_echo "$at_srcdir/system-ovn.at:1023: ip netns add bob1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:1023"
( $at_check_trace; ip netns add bob1 || 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-ovn.at:1023"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del bob1


'
                ip netns exec bob1 sysctl -w net.netfilter.nf_conntrack_helper=0



 { set +x
$as_echo "$at_srcdir/system-ovn.at:1024: ip link add bob1 type veth peer name ovs-bob1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:1024"
( $at_check_trace; ip link add bob1 type veth peer name ovs-bob1 || 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-ovn.at:1024"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:1024: ethtool -K bob1 tx off"
at_fn_check_prepare_trace "system-ovn.at:1024"
( $at_check_trace; ethtool -K bob1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:1024"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:1024: ip link set bob1 netns bob1"
at_fn_check_prepare_trace "system-ovn.at:1024"
( $at_check_trace; ip link set bob1 netns bob1
) >>"$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-ovn.at:1024"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:1024: ip link set dev ovs-bob1 up"
at_fn_check_prepare_trace "system-ovn.at:1024"
( $at_check_trace; ip link set dev ovs-bob1 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-ovn.at:1024"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:1024: ovs-vsctl add-port br-int ovs-bob1 -- \\
                set interface ovs-bob1 external-ids:iface-id=\"bob1\""
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1024"
( $at_check_trace; ovs-vsctl add-port br-int ovs-bob1 -- \
                set interface ovs-bob1 external-ids:iface-id="bob1"
) >>"$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-ovn.at:1024"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-ovn.at:1024: ip netns exec bob1 sh << NS_EXEC_HEREDOC
ip addr add \"172.16.1.4/24\" dev bob1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1024"
( $at_check_trace; ip netns exec bob1 sh << NS_EXEC_HEREDOC
ip addr add "172.16.1.4/24" dev bob1
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-ovn.at:1024"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-ovn.at:1024: ip netns exec bob1 sh << NS_EXEC_HEREDOC
ip link set dev bob1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1024"
( $at_check_trace; ip netns exec bob1 sh << NS_EXEC_HEREDOC
ip link set dev bob1 up
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-ovn.at:1024"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""f0:00:00:01:02:06""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:1024: ip netns exec bob1 sh << NS_EXEC_HEREDOC
ip link set dev bob1 address \"f0:00:00:01:02:06\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1024"
( $at_check_trace; ip netns exec bob1 sh << NS_EXEC_HEREDOC
ip link set dev bob1 address "f0:00:00:01:02:06"
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-ovn.at:1024"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n "\
         "172.16.1.2""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:1024: ip netns exec bob1 sh << NS_EXEC_HEREDOC
ip route add default via \\
         \"172.16.1.2\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1024"
( $at_check_trace; ip netns exec bob1 sh << NS_EXEC_HEREDOC
ip route add default via \
         "172.16.1.2"
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-ovn.at:1024"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-bob1'


ovn-nbctl lsp-add bob bob1 \
-- lsp-set-addresses bob1 "f0:00:00:01:02:06 172.16.1.4"

# Config OVN load-balancer with a VIP.
uuid=`ovn-nbctl  create load_balancer vips:30.0.0.1="192.168.1.2,192.168.2.2"`
ovn-nbctl set logical_router R2 load_balancer=$uuid
ovn-nbctl set logical_router R3 load_balancer=$uuid

# Wait for ovn-controller to catch up.
ovn-nbctl --wait=hv sync
ovs_wait_cond () {
    ovs-ofctl -O OpenFlow13 dump-groups br-int | \
grep 'nat(dst=192.168.2.2)'
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:1036" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:1036"
fi


# Start webservers in 'foo1', 'bar1'.
PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec foo1 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec foo1 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:1040" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:1040"
fi



PIDFILE=$(mktemp httpXXX.pid)
    ip netns exec bar1 $PYTHON $srcdir/test-l7.py http & echo $! > $PIDFILE
     echo "kill \`cat $PIDFILE\`" >> cleanup



        PROTO=$(echo http | sed -e 's/\([a-zA-Z]*\).*/\1/')
    ovs_wait_cond () {
    ip netns exec bar1 sh << NS_EXEC_HEREDOC
netstat -l | grep $PROTO
NS_EXEC_HEREDOC
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:1041" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:1041"
fi




for i in `seq 1 20`; do
    echo Request $i
     { set +x
$as_echo "$at_srcdir/system-ovn.at:1046: ip netns exec alice1 sh << NS_EXEC_HEREDOC
wget 30.0.0.1 -t 5 -T 1 --retry-connrefused -v -o wget\$i.log
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1046"
( $at_check_trace; ip netns exec alice1 sh << NS_EXEC_HEREDOC
wget 30.0.0.1 -t 5 -T 1 --retry-connrefused -v -o wget$i.log
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-ovn.at:1046"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


done

{ set +x
$as_echo "$at_srcdir/system-ovn.at:1050: ovs-appctl dpctl/dump-conntrack | grep \"dst=30.0.0.1\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq |
sed -e 's/zone=[0-9]*/zone=<cleared>/'"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1050"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=30.0.0.1" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq |
sed -e 's/zone=[0-9]*/zone=<cleared>/'
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=172.16.1.3,dst=30.0.0.1,sport=<cleared>,dport=<cleared>),reply=(src=192.168.1.2,dst=172.16.1.3,sport=<cleared>,dport=<cleared>),zone=<cleared>,protoinfo=(state=<cleared>)
tcp,orig=(src=172.16.1.3,dst=30.0.0.1,sport=<cleared>,dport=<cleared>),reply=(src=192.168.2.2,dst=172.16.1.3,sport=<cleared>,dport=<cleared>),zone=<cleared>,protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:1050"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-ovn.at:1057: ovs-appctl dpctl/dump-conntrack | grep \"dst=20.0.0\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq |
sed -e 's/zone=[0-9]*/zone=<cleared>/'"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1057"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=20.0.0" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq |
sed -e 's/zone=[0-9]*/zone=<cleared>/'
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "tcp,orig=(src=172.16.1.3,dst=192.168.1.2,sport=<cleared>,dport=<cleared>),reply=(src=192.168.1.2,dst=20.0.0.2,sport=<cleared>,dport=<cleared>),zone=<cleared>,protoinfo=(state=<cleared>)
tcp,orig=(src=172.16.1.3,dst=192.168.2.2,sport=<cleared>,dport=<cleared>),reply=(src=192.168.2.2,dst=20.0.0.2,sport=<cleared>,dport=<cleared>),zone=<cleared>,protoinfo=(state=<cleared>)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:1057"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-ovn.at:1062: test -e \$OVS_RUNDIR/ovn-controller.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovn-controller.pid" "system-ovn.at:1062"
( $at_check_trace; test -e $OVS_RUNDIR/ovn-controller.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-ovn.at:1062"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovn-controller.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:1062: ovs-appctl -t ovn-controller exit"
at_fn_check_prepare_trace "system-ovn.at:1062"
( $at_check_trace; ovs-appctl -t ovn-controller 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-ovn.at:1062"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:1062" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:1062"
fi


as ovn-sb
{ set +x
$as_echo "$at_srcdir/system-ovn.at:1065: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-ovn.at:1065"
( $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-ovn.at:1065"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:1065: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-ovn.at:1065"
( $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-ovn.at:1065"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:1065" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:1065"
fi


as ovn-nb
{ set +x
$as_echo "$at_srcdir/system-ovn.at:1068: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-ovn.at:1068"
( $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-ovn.at:1068"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:1068: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-ovn.at:1068"
( $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-ovn.at:1068"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:1068" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:1068"
fi


as northd
{ set +x
$as_echo "$at_srcdir/system-ovn.at:1071: test -e \$OVS_RUNDIR/ovn-northd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovn-northd.pid" "system-ovn.at:1071"
( $at_check_trace; test -e $OVS_RUNDIR/ovn-northd.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-ovn.at:1071"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovn-northd.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:1071: ovs-appctl -t ovn-northd exit"
at_fn_check_prepare_trace "system-ovn.at:1071"
( $at_check_trace; ovs-appctl -t ovn-northd 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-ovn.at:1071"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:1071" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:1071"
fi


as
{ set +x
$as_echo "$at_srcdir/system-ovn.at:1074: check_logs \"/failed to query port patch-.*/d
/connection dropped.*/d\"\";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1074"
( $at_check_trace; check_logs "/failed to query port patch-.*/d
/connection dropped.*/d"";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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-ovn.at:1074"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-ovn.at:1074: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-ovn.at:1074"
( $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-ovn.at:1074"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:1074: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-ovn.at:1074"
( $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-ovn.at:1074"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:1074" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:1074"
fi

   { set +x
$as_echo "$at_srcdir/system-ovn.at:1074: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-ovn.at:1074"
( $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-ovn.at:1074"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:1074: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-ovn.at:1074"
( $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-ovn.at:1074"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:1074" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:1074"
fi

   { set +x
$as_echo "$at_srcdir/system-ovn.at:1074: :; "
at_fn_check_prepare_trace "system-ovn.at:1074"
( $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-ovn.at:1074"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_96
#AT_START_97
at_fn_group_banner 97 'system-ovn.at:1078' \
  "ovn -- DNAT and SNAT on distributed router - N/S" "" 7
at_xfail=no
(
  $as_echo "97. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init



$as_echo "system-ovn.at:1081" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-ovn.at:1081"


ovn_start

   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:1084" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:1084"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-ovn.at:1084: 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-ovn.at:1084"
( $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-ovn.at:1084"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:1084: 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-ovn.at:1084"
( $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-ovn.at:1084"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-ovn.at:1084: 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-ovn.at:1084"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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-ovn.at:1084"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-ovn.at:1084: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-ovn.at:1084"
( $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-ovn.at:1084"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:1084: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-ovn.at:1084"
( $at_check_trace; ovs-vswitchd --disable-system --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-ovn.at:1084"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-ovn.at:1084: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1084"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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-ovn.at:1084"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:1084" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:1084"
fi

   { set +x
$as_echo "$at_srcdir/system-ovn.at:1084: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-ovn.at:1084"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-ovn.at:1084"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl add-br br-int -- set Bridge br-int datapath_type="netdev" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --

# Set external-ids in br-int needed for ovn-controller
ovs-vsctl \
        -- set Open_vSwitch . external-ids:system-id=hv1 \
        -- set Open_vSwitch . external-ids:ovn-remote=unix:$ovs_base/ovn-sb/ovn-sb.sock \
        -- set Open_vSwitch . external-ids:ovn-encap-type=geneve \
        -- set Open_vSwitch . external-ids:ovn-encap-ip=169.0.0.1 \
        -- set bridge br-int fail-mode=secure other-config:disable-in-band=true

# Start ovn-controller
start_daemon ovn-controller

# Logical network:
# One LR R1 with switches foo (192.168.1.0/24), bar (192.168.2.0/24),
# and alice (172.16.1.0/24) connected to it.  The port between R1 and
# alice is the router gateway port where the R1 NAT rules are applied.
#
#    foo -- R1 -- alice
#           |
#    bar ----

ovn-nbctl lr-add R1

ovn-nbctl ls-add foo
ovn-nbctl ls-add bar
ovn-nbctl ls-add alice

ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24
ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 192.168.2.1/24
ovn-nbctl lrp-add R1 alice 00:00:02:01:02:03 172.16.1.1/24 \
    -- set Logical_Router_Port alice options:redirect-chassis=hv1

# Connect foo to R1
ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \
    type=router options:router-port=foo \
    -- lsp-set-addresses rp-foo router

# Connect bar to R1
ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \
    type=router options:router-port=bar \
    -- lsp-set-addresses rp-bar router

# Connect alice to R1
ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \
    type=router options:router-port=alice \
    -- lsp-set-addresses rp-alice router

# Logical port 'foo1' in switch 'foo'.
ip netns del foo1



                { set +x
$as_echo "$at_srcdir/system-ovn.at:1134: ip netns add foo1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:1134"
( $at_check_trace; ip netns add foo1 || 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-ovn.at:1134"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del foo1


'
                ip netns exec foo1 sysctl -w net.netfilter.nf_conntrack_helper=0



 { set +x
$as_echo "$at_srcdir/system-ovn.at:1135: ip link add foo1 type veth peer name ovs-foo1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:1135"
( $at_check_trace; ip link add foo1 type veth peer name ovs-foo1 || 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-ovn.at:1135"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:1135: ethtool -K foo1 tx off"
at_fn_check_prepare_trace "system-ovn.at:1135"
( $at_check_trace; ethtool -K foo1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:1135"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:1135: ip link set foo1 netns foo1"
at_fn_check_prepare_trace "system-ovn.at:1135"
( $at_check_trace; ip link set foo1 netns foo1
) >>"$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-ovn.at:1135"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:1135: ip link set dev ovs-foo1 up"
at_fn_check_prepare_trace "system-ovn.at:1135"
( $at_check_trace; ip link set dev ovs-foo1 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-ovn.at:1135"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:1135: ovs-vsctl add-port br-int ovs-foo1 -- \\
                set interface ovs-foo1 external-ids:iface-id=\"foo1\""
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1135"
( $at_check_trace; ovs-vsctl add-port br-int ovs-foo1 -- \
                set interface ovs-foo1 external-ids:iface-id="foo1"
) >>"$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-ovn.at:1135"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-ovn.at:1135: ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip addr add \"192.168.1.2/24\" dev foo1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1135"
( $at_check_trace; ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip addr add "192.168.1.2/24" dev foo1
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-ovn.at:1135"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-ovn.at:1135: ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip link set dev foo1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1135"
( $at_check_trace; ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip link set dev foo1 up
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-ovn.at:1135"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""f0:00:00:01:02:03""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:1135: ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip link set dev foo1 address \"f0:00:00:01:02:03\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1135"
( $at_check_trace; ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip link set dev foo1 address "f0:00:00:01:02:03"
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-ovn.at:1135"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n "\
         "192.168.1.1""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:1135: ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip route add default via \\
         \"192.168.1.1\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1135"
( $at_check_trace; ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip route add default via \
         "192.168.1.1"
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-ovn.at:1135"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-foo1'


ovn-nbctl lsp-add foo foo1 \
-- lsp-set-addresses foo1 "f0:00:00:01:02:03 192.168.1.2"

# Logical port 'foo2' in switch 'foo'.
ip netns del foo2



                { set +x
$as_echo "$at_srcdir/system-ovn.at:1141: ip netns add foo2 || return 77"
at_fn_check_prepare_trace "system-ovn.at:1141"
( $at_check_trace; ip netns add foo2 || 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-ovn.at:1141"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del foo2


'
                ip netns exec foo2 sysctl -w net.netfilter.nf_conntrack_helper=0



 { set +x
$as_echo "$at_srcdir/system-ovn.at:1142: ip link add foo2 type veth peer name ovs-foo2 || return 77"
at_fn_check_prepare_trace "system-ovn.at:1142"
( $at_check_trace; ip link add foo2 type veth peer name ovs-foo2 || 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-ovn.at:1142"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:1142: ethtool -K foo2 tx off"
at_fn_check_prepare_trace "system-ovn.at:1142"
( $at_check_trace; ethtool -K foo2 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:1142"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:1142: ip link set foo2 netns foo2"
at_fn_check_prepare_trace "system-ovn.at:1142"
( $at_check_trace; ip link set foo2 netns foo2
) >>"$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-ovn.at:1142"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:1142: ip link set dev ovs-foo2 up"
at_fn_check_prepare_trace "system-ovn.at:1142"
( $at_check_trace; ip link set dev ovs-foo2 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-ovn.at:1142"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:1142: ovs-vsctl add-port br-int ovs-foo2 -- \\
                set interface ovs-foo2 external-ids:iface-id=\"foo2\""
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1142"
( $at_check_trace; ovs-vsctl add-port br-int ovs-foo2 -- \
                set interface ovs-foo2 external-ids:iface-id="foo2"
) >>"$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-ovn.at:1142"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-ovn.at:1142: ip netns exec foo2 sh << NS_EXEC_HEREDOC
ip addr add \"192.168.1.3/24\" dev foo2
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1142"
( $at_check_trace; ip netns exec foo2 sh << NS_EXEC_HEREDOC
ip addr add "192.168.1.3/24" dev foo2
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-ovn.at:1142"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-ovn.at:1142: ip netns exec foo2 sh << NS_EXEC_HEREDOC
ip link set dev foo2 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1142"
( $at_check_trace; ip netns exec foo2 sh << NS_EXEC_HEREDOC
ip link set dev foo2 up
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-ovn.at:1142"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""f0:00:00:01:02:06""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:1142: ip netns exec foo2 sh << NS_EXEC_HEREDOC
ip link set dev foo2 address \"f0:00:00:01:02:06\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1142"
( $at_check_trace; ip netns exec foo2 sh << NS_EXEC_HEREDOC
ip link set dev foo2 address "f0:00:00:01:02:06"
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-ovn.at:1142"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n "\
         "192.168.1.1""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:1142: ip netns exec foo2 sh << NS_EXEC_HEREDOC
ip route add default via \\
         \"192.168.1.1\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1142"
( $at_check_trace; ip netns exec foo2 sh << NS_EXEC_HEREDOC
ip route add default via \
         "192.168.1.1"
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-ovn.at:1142"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-foo2'


ovn-nbctl lsp-add foo foo2 \
-- lsp-set-addresses foo2 "f0:00:00:01:02:06 192.168.1.3"

# Logical port 'bar1' in switch 'bar'.
ip netns del bar1



                { set +x
$as_echo "$at_srcdir/system-ovn.at:1148: ip netns add bar1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:1148"
( $at_check_trace; ip netns add bar1 || 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-ovn.at:1148"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del bar1


'
                ip netns exec bar1 sysctl -w net.netfilter.nf_conntrack_helper=0



 { set +x
$as_echo "$at_srcdir/system-ovn.at:1149: ip link add bar1 type veth peer name ovs-bar1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:1149"
( $at_check_trace; ip link add bar1 type veth peer name ovs-bar1 || 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-ovn.at:1149"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:1149: ethtool -K bar1 tx off"
at_fn_check_prepare_trace "system-ovn.at:1149"
( $at_check_trace; ethtool -K bar1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:1149"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:1149: ip link set bar1 netns bar1"
at_fn_check_prepare_trace "system-ovn.at:1149"
( $at_check_trace; ip link set bar1 netns bar1
) >>"$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-ovn.at:1149"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:1149: ip link set dev ovs-bar1 up"
at_fn_check_prepare_trace "system-ovn.at:1149"
( $at_check_trace; ip link set dev ovs-bar1 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-ovn.at:1149"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:1149: ovs-vsctl add-port br-int ovs-bar1 -- \\
                set interface ovs-bar1 external-ids:iface-id=\"bar1\""
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1149"
( $at_check_trace; ovs-vsctl add-port br-int ovs-bar1 -- \
                set interface ovs-bar1 external-ids:iface-id="bar1"
) >>"$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-ovn.at:1149"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-ovn.at:1149: ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip addr add \"192.168.2.2/24\" dev bar1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1149"
( $at_check_trace; ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip addr add "192.168.2.2/24" dev bar1
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-ovn.at:1149"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-ovn.at:1149: ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip link set dev bar1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1149"
( $at_check_trace; ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip link set dev bar1 up
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-ovn.at:1149"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""f0:00:00:01:02:04""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:1149: ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip link set dev bar1 address \"f0:00:00:01:02:04\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1149"
( $at_check_trace; ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip link set dev bar1 address "f0:00:00:01:02:04"
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-ovn.at:1149"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n "\
         "192.168.2.1""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:1149: ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip route add default via \\
         \"192.168.2.1\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1149"
( $at_check_trace; ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip route add default via \
         "192.168.2.1"
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-ovn.at:1149"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-bar1'


ovn-nbctl lsp-add bar bar1 \
-- lsp-set-addresses bar1 "f0:00:00:01:02:04 192.168.2.2"

# Logical port 'alice1' in switch 'alice'.
ip netns del alice1



                { set +x
$as_echo "$at_srcdir/system-ovn.at:1155: ip netns add alice1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:1155"
( $at_check_trace; ip netns add alice1 || 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-ovn.at:1155"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del alice1


'
                ip netns exec alice1 sysctl -w net.netfilter.nf_conntrack_helper=0



 { set +x
$as_echo "$at_srcdir/system-ovn.at:1156: ip link add alice1 type veth peer name ovs-alice1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:1156"
( $at_check_trace; ip link add alice1 type veth peer name ovs-alice1 || 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-ovn.at:1156"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:1156: ethtool -K alice1 tx off"
at_fn_check_prepare_trace "system-ovn.at:1156"
( $at_check_trace; ethtool -K alice1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:1156"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:1156: ip link set alice1 netns alice1"
at_fn_check_prepare_trace "system-ovn.at:1156"
( $at_check_trace; ip link set alice1 netns alice1
) >>"$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-ovn.at:1156"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:1156: ip link set dev ovs-alice1 up"
at_fn_check_prepare_trace "system-ovn.at:1156"
( $at_check_trace; ip link set dev ovs-alice1 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-ovn.at:1156"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:1156: ovs-vsctl add-port br-int ovs-alice1 -- \\
                set interface ovs-alice1 external-ids:iface-id=\"alice1\""
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1156"
( $at_check_trace; ovs-vsctl add-port br-int ovs-alice1 -- \
                set interface ovs-alice1 external-ids:iface-id="alice1"
) >>"$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-ovn.at:1156"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-ovn.at:1156: ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip addr add \"172.16.1.2/24\" dev alice1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1156"
( $at_check_trace; ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip addr add "172.16.1.2/24" dev alice1
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-ovn.at:1156"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-ovn.at:1156: ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip link set dev alice1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1156"
( $at_check_trace; ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip link set dev alice1 up
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-ovn.at:1156"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""f0:00:00:01:02:05""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:1156: ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip link set dev alice1 address \"f0:00:00:01:02:05\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1156"
( $at_check_trace; ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip link set dev alice1 address "f0:00:00:01:02:05"
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-ovn.at:1156"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n "\
         "172.16.1.1""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:1156: ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip route add default via \\
         \"172.16.1.1\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1156"
( $at_check_trace; ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip route add default via \
         "172.16.1.1"
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-ovn.at:1156"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-alice1'


ovn-nbctl lsp-add alice alice1 \
-- lsp-set-addresses alice1 "f0:00:00:01:02:05 172.16.1.2"

# Add DNAT rules
{ set +x
$as_echo "$at_srcdir/system-ovn.at:1162: ovn-nbctl lr-nat-add R1 dnat_and_snat 172.16.1.3 192.168.1.2 foo1 00:00:02:02:03:04"
at_fn_check_prepare_trace "system-ovn.at:1162"
( $at_check_trace; ovn-nbctl lr-nat-add R1 dnat_and_snat 172.16.1.3 192.168.1.2 foo1 00:00:02:02:03:04
) >>"$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-ovn.at:1162"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-ovn.at:1163: ovn-nbctl lr-nat-add R1 dnat_and_snat 172.16.1.4 192.168.1.3 foo2 00:00:02:02:03:05"
at_fn_check_prepare_trace "system-ovn.at:1163"
( $at_check_trace; ovn-nbctl lr-nat-add R1 dnat_and_snat 172.16.1.4 192.168.1.3 foo2 00:00:02:02:03:05
) >>"$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-ovn.at:1163"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Add a SNAT rule
{ set +x
$as_echo "$at_srcdir/system-ovn.at:1166: ovn-nbctl lr-nat-add R1 snat 172.16.1.1 192.168.0.0/16"
at_fn_check_prepare_trace "system-ovn.at:1166"
( $at_check_trace; ovn-nbctl lr-nat-add R1 snat 172.16.1.1 192.168.0.0/16
) >>"$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-ovn.at:1166"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovn-nbctl --wait=hv sync
ovs_wait_cond () {
    ovs-ofctl dump-flows br-int | grep 'nat(src=172.16.1.1)'
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:1169" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:1169"
fi


# North-South DNAT: 'alice1' pings 'foo1' using 172.16.1.3.
 { set +x
$as_echo "$at_srcdir/system-ovn.at:1172: ip netns exec alice1 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 172.16.1.3 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1172"
( $at_check_trace; ip netns exec alice1 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 172.16.1.3 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-ovn.at:1172"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# We verify that DNAT indeed happened via 'dump-conntrack' command.
{ set +x
$as_echo "$at_srcdir/system-ovn.at:1178: ovs-appctl dpctl/dump-conntrack | grep \"dst=172.16.1.3\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \\
sed -e 's/zone=[0-9]*/zone=<cleared>/'"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1178"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=172.16.1.3" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \
sed -e 's/zone=[0-9]*/zone=<cleared>/'
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "icmp,orig=(src=172.16.1.2,dst=172.16.1.3,id=<cleared>,type=8,code=0),reply=(src=192.168.1.2,dst=172.16.1.2,id=<cleared>,type=0,code=0),zone=<cleared>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:1178"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# South-North SNAT: 'foo2' pings 'alice1'. But 'alice1' receives traffic
# from 172.16.1.4
 { set +x
$as_echo "$at_srcdir/system-ovn.at:1185: ip netns exec foo2 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 172.16.1.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1185"
( $at_check_trace; ip netns exec foo2 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 172.16.1.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-ovn.at:1185"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# We verify that SNAT indeed happened via 'dump-conntrack' command.
{ set +x
$as_echo "$at_srcdir/system-ovn.at:1191: ovs-appctl dpctl/dump-conntrack | grep \"dst=172.16.1.4\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \\
sed -e 's/zone=[0-9]*/zone=<cleared>/'"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1191"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=172.16.1.4" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \
sed -e 's/zone=[0-9]*/zone=<cleared>/'
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "icmp,orig=(src=192.168.1.3,dst=172.16.1.2,id=<cleared>,type=8,code=0),reply=(src=172.16.1.2,dst=172.16.1.4,id=<cleared>,type=0,code=0),zone=<cleared>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:1191"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# South-North SNAT: 'bar1' pings 'alice1'. But 'alice1' receives traffic
# from 172.16.1.1
 { set +x
$as_echo "$at_srcdir/system-ovn.at:1198: ip netns exec bar1 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 172.16.1.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1198"
( $at_check_trace; ip netns exec bar1 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 172.16.1.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-ovn.at:1198"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# We verify that SNAT indeed happened via 'dump-conntrack' command.
{ set +x
$as_echo "$at_srcdir/system-ovn.at:1204: ovs-appctl dpctl/dump-conntrack | grep \"dst=172.16.1.1\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \\
sed -e 's/zone=[0-9]*/zone=<cleared>/'"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1204"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=172.16.1.1" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \
sed -e 's/zone=[0-9]*/zone=<cleared>/'
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "icmp,orig=(src=192.168.2.2,dst=172.16.1.2,id=<cleared>,type=8,code=0),reply=(src=172.16.1.2,dst=172.16.1.1,id=<cleared>,type=0,code=0),zone=<cleared>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:1204"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-ovn.at:1209: test -e \$OVS_RUNDIR/ovn-controller.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovn-controller.pid" "system-ovn.at:1209"
( $at_check_trace; test -e $OVS_RUNDIR/ovn-controller.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-ovn.at:1209"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovn-controller.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:1209: ovs-appctl -t ovn-controller exit"
at_fn_check_prepare_trace "system-ovn.at:1209"
( $at_check_trace; ovs-appctl -t ovn-controller 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-ovn.at:1209"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:1209" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:1209"
fi


as ovn-sb
{ set +x
$as_echo "$at_srcdir/system-ovn.at:1212: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-ovn.at:1212"
( $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-ovn.at:1212"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:1212: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-ovn.at:1212"
( $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-ovn.at:1212"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:1212" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:1212"
fi


as ovn-nb
{ set +x
$as_echo "$at_srcdir/system-ovn.at:1215: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-ovn.at:1215"
( $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-ovn.at:1215"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:1215: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-ovn.at:1215"
( $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-ovn.at:1215"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:1215" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:1215"
fi


as northd
{ set +x
$as_echo "$at_srcdir/system-ovn.at:1218: test -e \$OVS_RUNDIR/ovn-northd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovn-northd.pid" "system-ovn.at:1218"
( $at_check_trace; test -e $OVS_RUNDIR/ovn-northd.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-ovn.at:1218"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovn-northd.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:1218: ovs-appctl -t ovn-northd exit"
at_fn_check_prepare_trace "system-ovn.at:1218"
( $at_check_trace; ovs-appctl -t ovn-northd 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-ovn.at:1218"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:1218" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:1218"
fi


as
{ set +x
$as_echo "$at_srcdir/system-ovn.at:1221: check_logs \"/failed to query port patch-.*/d
/connection dropped.*/d\"\";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1221"
( $at_check_trace; check_logs "/failed to query port patch-.*/d
/connection dropped.*/d"";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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-ovn.at:1221"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-ovn.at:1221: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-ovn.at:1221"
( $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-ovn.at:1221"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:1221: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-ovn.at:1221"
( $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-ovn.at:1221"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:1221" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:1221"
fi

   { set +x
$as_echo "$at_srcdir/system-ovn.at:1221: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-ovn.at:1221"
( $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-ovn.at:1221"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:1221: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-ovn.at:1221"
( $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-ovn.at:1221"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:1221" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:1221"
fi

   { set +x
$as_echo "$at_srcdir/system-ovn.at:1221: :; "
at_fn_check_prepare_trace "system-ovn.at:1221"
( $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-ovn.at:1221"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_97
#AT_START_98
at_fn_group_banner 98 'system-ovn.at:1225' \
  "ovn -- DNAT and SNAT on distributed router - E/W" "" 7
at_xfail=no
(
  $as_echo "98. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init



$as_echo "system-ovn.at:1228" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-ovn.at:1228"


ovn_start

   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:1231" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:1231"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-ovn.at:1231: 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-ovn.at:1231"
( $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-ovn.at:1231"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:1231: 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-ovn.at:1231"
( $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-ovn.at:1231"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-ovn.at:1231: 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-ovn.at:1231"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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-ovn.at:1231"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-ovn.at:1231: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-ovn.at:1231"
( $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-ovn.at:1231"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:1231: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-ovn.at:1231"
( $at_check_trace; ovs-vswitchd --disable-system --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-ovn.at:1231"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-ovn.at:1231: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1231"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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-ovn.at:1231"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:1231" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:1231"
fi

   { set +x
$as_echo "$at_srcdir/system-ovn.at:1231: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-ovn.at:1231"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-ovn.at:1231"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl add-br br-int -- set Bridge br-int datapath_type="netdev" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --

# Set external-ids in br-int needed for ovn-controller
ovs-vsctl \
        -- set Open_vSwitch . external-ids:system-id=hv1 \
        -- set Open_vSwitch . external-ids:ovn-remote=unix:$ovs_base/ovn-sb/ovn-sb.sock \
        -- set Open_vSwitch . external-ids:ovn-encap-type=geneve \
        -- set Open_vSwitch . external-ids:ovn-encap-ip=169.0.0.1 \
        -- set bridge br-int fail-mode=secure other-config:disable-in-band=true

# Start ovn-controller
start_daemon ovn-controller

# Logical network:
# One LR R1 with switches foo (192.168.1.0/24), bar (192.168.2.0/24),
# and alice (172.16.1.0/24) connected to it.  The port between R1 and
# alice is the router gateway port where the R1 NAT rules are applied.
#
#    foo -- R1 -- alice
#           |
#    bar ----

ovn-nbctl lr-add R1

ovn-nbctl ls-add foo
ovn-nbctl ls-add bar
ovn-nbctl ls-add alice

ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24
ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 192.168.2.1/24
ovn-nbctl lrp-add R1 alice 00:00:02:01:02:03 172.16.1.1/24 \
    -- set Logical_Router_Port alice options:redirect-chassis=hv1

# Connect foo to R1
ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \
    type=router options:router-port=foo \
    -- lsp-set-addresses rp-foo router

# Connect bar to R1
ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \
    type=router options:router-port=bar \
    -- lsp-set-addresses rp-bar router

# Connect alice to R1
ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \
    type=router options:router-port=alice \
    -- lsp-set-addresses rp-alice router

# Logical port 'foo1' in switch 'foo'.
ip netns del foo1



                { set +x
$as_echo "$at_srcdir/system-ovn.at:1281: ip netns add foo1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:1281"
( $at_check_trace; ip netns add foo1 || 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-ovn.at:1281"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del foo1


'
                ip netns exec foo1 sysctl -w net.netfilter.nf_conntrack_helper=0



 { set +x
$as_echo "$at_srcdir/system-ovn.at:1282: ip link add foo1 type veth peer name ovs-foo1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:1282"
( $at_check_trace; ip link add foo1 type veth peer name ovs-foo1 || 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-ovn.at:1282"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:1282: ethtool -K foo1 tx off"
at_fn_check_prepare_trace "system-ovn.at:1282"
( $at_check_trace; ethtool -K foo1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:1282"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:1282: ip link set foo1 netns foo1"
at_fn_check_prepare_trace "system-ovn.at:1282"
( $at_check_trace; ip link set foo1 netns foo1
) >>"$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-ovn.at:1282"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:1282: ip link set dev ovs-foo1 up"
at_fn_check_prepare_trace "system-ovn.at:1282"
( $at_check_trace; ip link set dev ovs-foo1 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-ovn.at:1282"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:1282: ovs-vsctl add-port br-int ovs-foo1 -- \\
                set interface ovs-foo1 external-ids:iface-id=\"foo1\""
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1282"
( $at_check_trace; ovs-vsctl add-port br-int ovs-foo1 -- \
                set interface ovs-foo1 external-ids:iface-id="foo1"
) >>"$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-ovn.at:1282"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-ovn.at:1282: ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip addr add \"192.168.1.2/24\" dev foo1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1282"
( $at_check_trace; ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip addr add "192.168.1.2/24" dev foo1
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-ovn.at:1282"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-ovn.at:1282: ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip link set dev foo1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1282"
( $at_check_trace; ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip link set dev foo1 up
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-ovn.at:1282"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""f0:00:00:01:02:03""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:1282: ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip link set dev foo1 address \"f0:00:00:01:02:03\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1282"
( $at_check_trace; ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip link set dev foo1 address "f0:00:00:01:02:03"
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-ovn.at:1282"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n "\
         "192.168.1.1""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:1282: ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip route add default via \\
         \"192.168.1.1\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1282"
( $at_check_trace; ip netns exec foo1 sh << NS_EXEC_HEREDOC
ip route add default via \
         "192.168.1.1"
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-ovn.at:1282"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-foo1'


ovn-nbctl lsp-add foo foo1 \
-- lsp-set-addresses foo1 "f0:00:00:01:02:03 192.168.1.2"

# Logical port 'foo2' in switch 'foo'.
ip netns del foo2



                { set +x
$as_echo "$at_srcdir/system-ovn.at:1288: ip netns add foo2 || return 77"
at_fn_check_prepare_trace "system-ovn.at:1288"
( $at_check_trace; ip netns add foo2 || 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-ovn.at:1288"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del foo2


'
                ip netns exec foo2 sysctl -w net.netfilter.nf_conntrack_helper=0



 { set +x
$as_echo "$at_srcdir/system-ovn.at:1289: ip link add foo2 type veth peer name ovs-foo2 || return 77"
at_fn_check_prepare_trace "system-ovn.at:1289"
( $at_check_trace; ip link add foo2 type veth peer name ovs-foo2 || 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-ovn.at:1289"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:1289: ethtool -K foo2 tx off"
at_fn_check_prepare_trace "system-ovn.at:1289"
( $at_check_trace; ethtool -K foo2 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:1289"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:1289: ip link set foo2 netns foo2"
at_fn_check_prepare_trace "system-ovn.at:1289"
( $at_check_trace; ip link set foo2 netns foo2
) >>"$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-ovn.at:1289"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:1289: ip link set dev ovs-foo2 up"
at_fn_check_prepare_trace "system-ovn.at:1289"
( $at_check_trace; ip link set dev ovs-foo2 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-ovn.at:1289"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:1289: ovs-vsctl add-port br-int ovs-foo2 -- \\
                set interface ovs-foo2 external-ids:iface-id=\"foo2\""
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1289"
( $at_check_trace; ovs-vsctl add-port br-int ovs-foo2 -- \
                set interface ovs-foo2 external-ids:iface-id="foo2"
) >>"$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-ovn.at:1289"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-ovn.at:1289: ip netns exec foo2 sh << NS_EXEC_HEREDOC
ip addr add \"192.168.1.3/24\" dev foo2
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1289"
( $at_check_trace; ip netns exec foo2 sh << NS_EXEC_HEREDOC
ip addr add "192.168.1.3/24" dev foo2
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-ovn.at:1289"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-ovn.at:1289: ip netns exec foo2 sh << NS_EXEC_HEREDOC
ip link set dev foo2 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1289"
( $at_check_trace; ip netns exec foo2 sh << NS_EXEC_HEREDOC
ip link set dev foo2 up
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-ovn.at:1289"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""f0:00:00:01:02:06""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:1289: ip netns exec foo2 sh << NS_EXEC_HEREDOC
ip link set dev foo2 address \"f0:00:00:01:02:06\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1289"
( $at_check_trace; ip netns exec foo2 sh << NS_EXEC_HEREDOC
ip link set dev foo2 address "f0:00:00:01:02:06"
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-ovn.at:1289"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n "\
         "192.168.1.1""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:1289: ip netns exec foo2 sh << NS_EXEC_HEREDOC
ip route add default via \\
         \"192.168.1.1\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1289"
( $at_check_trace; ip netns exec foo2 sh << NS_EXEC_HEREDOC
ip route add default via \
         "192.168.1.1"
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-ovn.at:1289"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-foo2'


ovn-nbctl lsp-add foo foo2 \
-- lsp-set-addresses foo2 "f0:00:00:01:02:06 192.168.1.3"

# Logical port 'bar1' in switch 'bar'.
ip netns del bar1



                { set +x
$as_echo "$at_srcdir/system-ovn.at:1295: ip netns add bar1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:1295"
( $at_check_trace; ip netns add bar1 || 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-ovn.at:1295"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del bar1


'
                ip netns exec bar1 sysctl -w net.netfilter.nf_conntrack_helper=0



 { set +x
$as_echo "$at_srcdir/system-ovn.at:1296: ip link add bar1 type veth peer name ovs-bar1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:1296"
( $at_check_trace; ip link add bar1 type veth peer name ovs-bar1 || 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-ovn.at:1296"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:1296: ethtool -K bar1 tx off"
at_fn_check_prepare_trace "system-ovn.at:1296"
( $at_check_trace; ethtool -K bar1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:1296"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:1296: ip link set bar1 netns bar1"
at_fn_check_prepare_trace "system-ovn.at:1296"
( $at_check_trace; ip link set bar1 netns bar1
) >>"$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-ovn.at:1296"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:1296: ip link set dev ovs-bar1 up"
at_fn_check_prepare_trace "system-ovn.at:1296"
( $at_check_trace; ip link set dev ovs-bar1 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-ovn.at:1296"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:1296: ovs-vsctl add-port br-int ovs-bar1 -- \\
                set interface ovs-bar1 external-ids:iface-id=\"bar1\""
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1296"
( $at_check_trace; ovs-vsctl add-port br-int ovs-bar1 -- \
                set interface ovs-bar1 external-ids:iface-id="bar1"
) >>"$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-ovn.at:1296"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-ovn.at:1296: ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip addr add \"192.168.2.2/24\" dev bar1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1296"
( $at_check_trace; ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip addr add "192.168.2.2/24" dev bar1
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-ovn.at:1296"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-ovn.at:1296: ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip link set dev bar1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1296"
( $at_check_trace; ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip link set dev bar1 up
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-ovn.at:1296"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""f0:00:00:01:02:04""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:1296: ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip link set dev bar1 address \"f0:00:00:01:02:04\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1296"
( $at_check_trace; ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip link set dev bar1 address "f0:00:00:01:02:04"
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-ovn.at:1296"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n "\
         "192.168.2.1""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:1296: ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip route add default via \\
         \"192.168.2.1\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1296"
( $at_check_trace; ip netns exec bar1 sh << NS_EXEC_HEREDOC
ip route add default via \
         "192.168.2.1"
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-ovn.at:1296"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-bar1'


ovn-nbctl lsp-add bar bar1 \
-- lsp-set-addresses bar1 "f0:00:00:01:02:04 192.168.2.2"

# Logical port 'alice1' in switch 'alice'.
ip netns del alice1



                { set +x
$as_echo "$at_srcdir/system-ovn.at:1302: ip netns add alice1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:1302"
( $at_check_trace; ip netns add alice1 || 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-ovn.at:1302"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del alice1


'
                ip netns exec alice1 sysctl -w net.netfilter.nf_conntrack_helper=0



 { set +x
$as_echo "$at_srcdir/system-ovn.at:1303: ip link add alice1 type veth peer name ovs-alice1 || return 77"
at_fn_check_prepare_trace "system-ovn.at:1303"
( $at_check_trace; ip link add alice1 type veth peer name ovs-alice1 || 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-ovn.at:1303"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:1303: ethtool -K alice1 tx off"
at_fn_check_prepare_trace "system-ovn.at:1303"
( $at_check_trace; ethtool -K alice1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:1303"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-ovn.at:1303: ip link set alice1 netns alice1"
at_fn_check_prepare_trace "system-ovn.at:1303"
( $at_check_trace; ip link set alice1 netns alice1
) >>"$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-ovn.at:1303"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:1303: ip link set dev ovs-alice1 up"
at_fn_check_prepare_trace "system-ovn.at:1303"
( $at_check_trace; ip link set dev ovs-alice1 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-ovn.at:1303"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-ovn.at:1303: ovs-vsctl add-port br-int ovs-alice1 -- \\
                set interface ovs-alice1 external-ids:iface-id=\"alice1\""
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1303"
( $at_check_trace; ovs-vsctl add-port br-int ovs-alice1 -- \
                set interface ovs-alice1 external-ids:iface-id="alice1"
) >>"$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-ovn.at:1303"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-ovn.at:1303: ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip addr add \"172.16.1.2/24\" dev alice1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1303"
( $at_check_trace; ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip addr add "172.16.1.2/24" dev alice1
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-ovn.at:1303"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-ovn.at:1303: ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip link set dev alice1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1303"
( $at_check_trace; ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip link set dev alice1 up
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-ovn.at:1303"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n ""f0:00:00:01:02:05""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:1303: ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip link set dev alice1 address \"f0:00:00:01:02:05\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1303"
( $at_check_trace; ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip link set dev alice1 address "f0:00:00:01:02:05"
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-ovn.at:1303"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n "\
         "172.16.1.1""; then
         { set +x
$as_echo "$at_srcdir/system-ovn.at:1303: ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip route add default via \\
         \"172.16.1.1\"
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1303"
( $at_check_trace; ip netns exec alice1 sh << NS_EXEC_HEREDOC
ip route add default via \
         "172.16.1.1"
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-ovn.at:1303"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-alice1'


ovn-nbctl lsp-add alice alice1 \
-- lsp-set-addresses alice1 "f0:00:00:01:02:05 172.16.1.2"

# Add DNAT rules
{ set +x
$as_echo "$at_srcdir/system-ovn.at:1309: ovn-nbctl lr-nat-add R1 dnat_and_snat 172.16.1.3 192.168.1.2 foo1 00:00:02:02:03:04"
at_fn_check_prepare_trace "system-ovn.at:1309"
( $at_check_trace; ovn-nbctl lr-nat-add R1 dnat_and_snat 172.16.1.3 192.168.1.2 foo1 00:00:02:02:03:04
) >>"$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-ovn.at:1309"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-ovn.at:1310: ovn-nbctl lr-nat-add R1 dnat_and_snat 172.16.1.4 192.168.2.2 bar1 00:00:02:02:03:05"
at_fn_check_prepare_trace "system-ovn.at:1310"
( $at_check_trace; ovn-nbctl lr-nat-add R1 dnat_and_snat 172.16.1.4 192.168.2.2 bar1 00:00:02:02:03:05
) >>"$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-ovn.at:1310"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Add a SNAT rule
{ set +x
$as_echo "$at_srcdir/system-ovn.at:1313: ovn-nbctl lr-nat-add R1 snat 172.16.1.1 192.168.0.0/16"
at_fn_check_prepare_trace "system-ovn.at:1313"
( $at_check_trace; ovn-nbctl lr-nat-add R1 snat 172.16.1.1 192.168.0.0/16
) >>"$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-ovn.at:1313"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovn-nbctl --wait=hv sync
ovs_wait_cond () {
    ovs-ofctl dump-flows br-int | grep 'nat(src=172.16.1.1)'
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:1316" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:1316"
fi


echo "------ hv dump ------"
ovs-ofctl show br-int
ovs-ofctl dump-flows br-int
echo "---------------------"

# East-West No NAT: 'foo1' pings 'bar1' using 192.168.2.2.
 { set +x
$as_echo "$at_srcdir/system-ovn.at:1324: ip netns exec foo1 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 192.168.2.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1324"
( $at_check_trace; ip netns exec foo1 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 192.168.2.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-ovn.at:1324"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# We verify that no NAT happened via 'dump-conntrack' command.
{ set +x
$as_echo "$at_srcdir/system-ovn.at:1330: ovs-appctl dpctl/dump-conntrack | grep \"dst=192.168.2.2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \\
sed -e 's/zone=[0-9]*/zone=<cleared>/' | wc -l"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1330"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=192.168.2.2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \
sed -e 's/zone=[0-9]*/zone=<cleared>/' | wc -l
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:1330"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# East-West No NAT: 'foo2' pings 'bar1' using 192.168.2.2.
 { set +x
$as_echo "$at_srcdir/system-ovn.at:1335: ip netns exec foo2 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 192.168.2.2 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1335"
( $at_check_trace; ip netns exec foo2 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 192.168.2.2 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-ovn.at:1335"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# We verify that no NAT happened via 'dump-conntrack' command.
{ set +x
$as_echo "$at_srcdir/system-ovn.at:1341: ovs-appctl dpctl/dump-conntrack | grep \"dst=192.168.2.2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \\
sed -e 's/zone=[0-9]*/zone=<cleared>/' | wc -l"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1341"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=192.168.2.2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \
sed -e 's/zone=[0-9]*/zone=<cleared>/' | wc -l
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:1341"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# East-West No NAT: 'bar1' pings 'foo2' using 192.168.1.3.
 { set +x
$as_echo "$at_srcdir/system-ovn.at:1346: ip netns exec bar1 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 192.168.1.3 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1346"
( $at_check_trace; ip netns exec bar1 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 192.168.1.3 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-ovn.at:1346"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# We verify that no NAT happened via 'dump-conntrack' command.
{ set +x
$as_echo "$at_srcdir/system-ovn.at:1352: ovs-appctl dpctl/dump-conntrack | grep \"dst=192.168.2.2\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \\
sed -e 's/zone=[0-9]*/zone=<cleared>/' | wc -l"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1352"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=192.168.2.2" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \
sed -e 's/zone=[0-9]*/zone=<cleared>/' | wc -l
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:1352"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# East-West NAT: 'foo1' pings 'bar1' using 172.16.1.4.
 { set +x
$as_echo "$at_srcdir/system-ovn.at:1357: ip netns exec foo1 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 172.16.1.4 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1357"
( $at_check_trace; ip netns exec foo1 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 172.16.1.4 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-ovn.at:1357"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# Check conntrack entries.  First SNAT of 'foo1' address happens.
# Then DNAT of 'bar1' address happens (listed first below).
{ set +x
$as_echo "$at_srcdir/system-ovn.at:1364: ovs-appctl dpctl/dump-conntrack | grep \"dst=172.16.1.3\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \\
sed -e 's/zone=[0-9]*/zone=<cleared>/'"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1364"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=172.16.1.3" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \
sed -e 's/zone=[0-9]*/zone=<cleared>/'
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "icmp,orig=(src=172.16.1.3,dst=172.16.1.4,id=<cleared>,type=8,code=0),reply=(src=192.168.2.2,dst=172.16.1.3,id=<cleared>,type=0,code=0),zone=<cleared>
icmp,orig=(src=192.168.1.2,dst=172.16.1.4,id=<cleared>,type=8,code=0),reply=(src=172.16.1.4,dst=172.16.1.3,id=<cleared>,type=0,code=0),zone=<cleared>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:1364"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# East-West NAT: 'foo2' pings 'bar1' using 172.16.1.4.
 { set +x
$as_echo "$at_srcdir/system-ovn.at:1371: ip netns exec foo2 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 172.16.1.4 | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1371"
( $at_check_trace; ip netns exec foo2 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 172.16.1.4 | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-ovn.at:1371"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# Check conntrack entries.  First SNAT of 'foo2' address happens.
# Then DNAT of 'bar1' address happens (listed first below).
{ set +x
$as_echo "$at_srcdir/system-ovn.at:1378: ovs-appctl dpctl/dump-conntrack | grep \"dst=172.16.1.1\" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \\
sed -e 's/zone=[0-9]*/zone=<cleared>/'"
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1378"
( $at_check_trace; ovs-appctl dpctl/dump-conntrack | grep "dst=172.16.1.1" | sed -e 's/port=[0-9]*/port=<cleared>/g' -e 's/id=[0-9]*/id=<cleared>/g' -e 's/state=[0-9_A-Z]*/state=<cleared>/g' | sort | uniq | \
sed -e 's/zone=[0-9]*/zone=<cleared>/'
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "icmp,orig=(src=172.16.1.1,dst=172.16.1.4,id=<cleared>,type=8,code=0),reply=(src=192.168.2.2,dst=172.16.1.1,id=<cleared>,type=0,code=0),zone=<cleared>
icmp,orig=(src=192.168.1.3,dst=172.16.1.4,id=<cleared>,type=8,code=0),reply=(src=172.16.1.4,dst=172.16.1.1,id=<cleared>,type=0,code=0),zone=<cleared>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-ovn.at:1378"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-ovn.at:1384: test -e \$OVS_RUNDIR/ovn-controller.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovn-controller.pid" "system-ovn.at:1384"
( $at_check_trace; test -e $OVS_RUNDIR/ovn-controller.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-ovn.at:1384"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovn-controller.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:1384: ovs-appctl -t ovn-controller exit"
at_fn_check_prepare_trace "system-ovn.at:1384"
( $at_check_trace; ovs-appctl -t ovn-controller 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-ovn.at:1384"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:1384" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:1384"
fi


as ovn-sb
{ set +x
$as_echo "$at_srcdir/system-ovn.at:1387: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-ovn.at:1387"
( $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-ovn.at:1387"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:1387: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-ovn.at:1387"
( $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-ovn.at:1387"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:1387" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:1387"
fi


as ovn-nb
{ set +x
$as_echo "$at_srcdir/system-ovn.at:1390: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-ovn.at:1390"
( $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-ovn.at:1390"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:1390: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-ovn.at:1390"
( $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-ovn.at:1390"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:1390" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:1390"
fi


as northd
{ set +x
$as_echo "$at_srcdir/system-ovn.at:1393: test -e \$OVS_RUNDIR/ovn-northd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovn-northd.pid" "system-ovn.at:1393"
( $at_check_trace; test -e $OVS_RUNDIR/ovn-northd.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-ovn.at:1393"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovn-northd.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:1393: ovs-appctl -t ovn-northd exit"
at_fn_check_prepare_trace "system-ovn.at:1393"
( $at_check_trace; ovs-appctl -t ovn-northd 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-ovn.at:1393"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:1393" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:1393"
fi


as
{ set +x
$as_echo "$at_srcdir/system-ovn.at:1396: check_logs \"/failed to query port patch-.*/d
/connection dropped.*/d\"\";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-ovn.at:1396"
( $at_check_trace; check_logs "/failed to query port patch-.*/d
/connection dropped.*/d"";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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-ovn.at:1396"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-ovn.at:1396: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-ovn.at:1396"
( $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-ovn.at:1396"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:1396: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-ovn.at:1396"
( $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-ovn.at:1396"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:1396" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:1396"
fi

   { set +x
$as_echo "$at_srcdir/system-ovn.at:1396: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-ovn.at:1396"
( $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-ovn.at:1396"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-ovn.at:1396: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-ovn.at:1396"
( $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-ovn.at:1396"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-ovn.at:1396" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-ovn.at:1396"
fi

   { set +x
$as_echo "$at_srcdir/system-ovn.at:1396: :; "
at_fn_check_prepare_trace "system-ovn.at:1396"
( $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-ovn.at:1396"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_98
#AT_START_99
at_fn_group_banner 99 'system-userspace-packet-type-aware.at:3' \
  "ptap - triangle bridge setup with L2 and L3 GRE tunnels" "" 8
at_xfail=no
(
  $as_echo "99. $at_setup_line: testing $at_desc ..."
  $at_traceon

ovs_init


########################
# GRE tunneling test setup for PTAP bridge
#
#     192.168.10.10           192.168.10.20             192.168.10.30
#          n1                       n2                        n3
#          |ovs-n1                  |ovs-n2                   |ovs-n3
#   +------o------+          +------o------+           +------o------+
#   |    br-in1   |          |    br-in2   |           |    br-in3   |
#   |             |          |   (PTAP)    |           |             |
#   +------o------+          +------o------+           +------o------+
#         gre                      gre                       gre
#   10.0.0.1                (10.0.0.2)                (10.0.0.3)
#  (20.0.0.1)                20.0.0.2                 (20.0.0.3)
#  (30.0.0.1) LOCAL         (30.0.0.2) LOCAL           30.0.0.3  LOCAL
#   +-----------o-+          +-----------o-+           +-----------o-+
#   |    br-p1    |          |    br-p2    |           |    br-p3    |
#   +------o------+          +------o------+           +------o------+
#     p1-0 |                        | p2-0                    | p3-0
#     p0-1 |                        | p0-2                    | p0-3
#       +--o------------------------o-------------------------o--+
#       |                          br0                           |
#       +--------------------------------------------------------+
#"
#   GRE tunnel ports:
#      No     Bridge      Name        Packet-type Remote bridge & ports
#     -----------------------------------------------------------------------
#      1020   br-in1      gre-12      l2          br-in2 2010 (ptap)
#      1021   br-in1      gre-12_l3   l3                same
#      1030   br-in1      gre-13      l2          br-in3 3010 (l2)
#      2010   br-in2      gre-21      ptap        br-in1 1020 (l2), 1021 (l3)
#      2030   br-in2      gre-23      ptap        br-in3 3020 (l2), 3021 (l3)
#      3010   br-in1      gre-31      l2          br-in1 1030 (l2)
#      3020   br-in1      gre-32      l2          br-in2 2010 (ptap)
#      3021   br-in1      gre-32_l3   l3                same


$as_echo "system-userspace-packet-type-aware.at:41" >"$at_check_line_file"
(test $HAVE_NC = no) \
  && at_fn_check_skip 77 "$at_srcdir/system-userspace-packet-type-aware.at:41"

   ovs_wait_cond () {
    if ip link show ovs-netdev; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-userspace-packet-type-aware.at:42" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-userspace-packet-type-aware.at:42"
fi

      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:42: 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-userspace-packet-type-aware.at:42"
( $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-userspace-packet-type-aware.at:42"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:42: 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-userspace-packet-type-aware.at:42"
( $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-userspace-packet-type-aware.at:42"
$at_failed && at_fn_log_failure
$at_traceon; }

   on_exit "kill `cat ovsdb-server.pid`"
   { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:42: 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-userspace-packet-type-aware.at:42"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$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-userspace-packet-type-aware.at:42"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:42: ovs-vsctl --no-wait init "
at_fn_check_prepare_trace "system-userspace-packet-type-aware.at:42"
( $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-userspace-packet-type-aware.at:42"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:42: ovs-vswitchd --disable-system --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl"
at_fn_check_prepare_trace "system-userspace-packet-type-aware.at:42"
( $at_check_trace; ovs-vswitchd --disable-system --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-userspace-packet-type-aware.at:42"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`"
   { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:42: sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'"
at_fn_check_prepare_notrace 'an embedded newline' "system-userspace-packet-type-aware.at:42"
( $at_check_trace; sed < stderr '
/ovs_numa|INFO|Discovered /d
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/netdev_linux|INFO|.*device has unknown hardware address family/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d
/dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable/d
/netdev: Flow API/d
/tc: Using policy/d'
) >>"$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-userspace-packet-type-aware.at:42"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      ovs_wait_cond () {
    if ip link show br0; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-userspace-packet-type-aware.at:42" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-userspace-packet-type-aware.at:42"
fi

   { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:42: ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=\"netdev\" protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure  --  "
at_fn_check_prepare_trace "system-userspace-packet-type-aware.at:42"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type="netdev" 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-userspace-packet-type-aware.at:42"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



HWADDR_BRP1=aa:55:00:00:00:01
HWADDR_BRP2=aa:55:00:00:00:02
HWADDR_BRP3=aa:55:00:00:00:03

{ set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:49: ip link add p1-0 type veth peer name p0-1"
at_fn_check_prepare_trace "system-userspace-packet-type-aware.at:49"
( $at_check_trace; ip link add p1-0 type veth peer name p0-1
) >>"$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-userspace-packet-type-aware.at:49"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:50: ip link set p1-0 up"
at_fn_check_prepare_trace "system-userspace-packet-type-aware.at:50"
( $at_check_trace; ip link set p1-0 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-userspace-packet-type-aware.at:50"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:51: ip link set p0-1 up"
at_fn_check_prepare_trace "system-userspace-packet-type-aware.at:51"
( $at_check_trace; ip link set p0-1 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-userspace-packet-type-aware.at:51"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:52: ip link set dev p1-0 mtu 3300"
at_fn_check_prepare_trace "system-userspace-packet-type-aware.at:52"
( $at_check_trace; ip link set dev p1-0 mtu 3300
) >>"$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-userspace-packet-type-aware.at:52"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:53: ip link set dev p0-1 mtu 3300"
at_fn_check_prepare_trace "system-userspace-packet-type-aware.at:53"
( $at_check_trace; ip link set dev p0-1 mtu 3300
) >>"$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-userspace-packet-type-aware.at:53"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

on_exit 'ip link del p0-1'

{ set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:56: ip link add p2-0 type veth peer name p0-2"
at_fn_check_prepare_trace "system-userspace-packet-type-aware.at:56"
( $at_check_trace; ip link add p2-0 type veth peer name p0-2
) >>"$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-userspace-packet-type-aware.at:56"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:57: ip link set p2-0 up"
at_fn_check_prepare_trace "system-userspace-packet-type-aware.at:57"
( $at_check_trace; ip link set p2-0 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-userspace-packet-type-aware.at:57"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:58: ip link set p0-2 up"
at_fn_check_prepare_trace "system-userspace-packet-type-aware.at:58"
( $at_check_trace; ip link set p0-2 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-userspace-packet-type-aware.at:58"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:59: ip link set dev p2-0 mtu 3300"
at_fn_check_prepare_trace "system-userspace-packet-type-aware.at:59"
( $at_check_trace; ip link set dev p2-0 mtu 3300
) >>"$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-userspace-packet-type-aware.at:59"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:60: ip link set dev p0-2 mtu 3300"
at_fn_check_prepare_trace "system-userspace-packet-type-aware.at:60"
( $at_check_trace; ip link set dev p0-2 mtu 3300
) >>"$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-userspace-packet-type-aware.at:60"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

on_exit 'ip link del p0-2'

{ set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:63: ip link add p3-0 type veth peer name p0-3"
at_fn_check_prepare_trace "system-userspace-packet-type-aware.at:63"
( $at_check_trace; ip link add p3-0 type veth peer name p0-3
) >>"$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-userspace-packet-type-aware.at:63"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:64: ip link set p3-0 up"
at_fn_check_prepare_trace "system-userspace-packet-type-aware.at:64"
( $at_check_trace; ip link set p3-0 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-userspace-packet-type-aware.at:64"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:65: ip link set p0-3 up"
at_fn_check_prepare_trace "system-userspace-packet-type-aware.at:65"
( $at_check_trace; ip link set p0-3 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-userspace-packet-type-aware.at:65"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:66: ip link set dev p3-0 mtu 3300"
at_fn_check_prepare_trace "system-userspace-packet-type-aware.at:66"
( $at_check_trace; ip link set dev p3-0 mtu 3300
) >>"$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-userspace-packet-type-aware.at:66"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:67: ip link set dev p0-3 mtu 3300"
at_fn_check_prepare_trace "system-userspace-packet-type-aware.at:67"
( $at_check_trace; ip link set dev p0-3 mtu 3300
) >>"$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-userspace-packet-type-aware.at:67"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

on_exit 'ip link del p0-3'

# Setup bridge infrastructure
{ set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:71:
    ovs-vsctl add-br br-in1 -- \\
        set bridge br-in1 datapath_type=netdev fail-mode=standalone
    ovs-vsctl add-br br-in2 -- \\
        set bridge br-in2 datapath_type=netdev fail-mode=standalone
    ovs-vsctl add-br br-in3 -- \\
        set bridge br-in3 datapath_type=netdev fail-mode=standalone
    ovs-vsctl add-br br-p1 -- \\
        set bridge br-p1 datapath_type=netdev fail-mode=standalone other-config:hwaddr=\$HWADDR_BRP1
    ovs-vsctl add-br br-p2 -- \\
        set bridge br-p2 datapath_type=netdev fail-mode=standalone other-config:hwaddr=\$HWADDR_BRP2
    ovs-vsctl add-br br-p3 -- \\
        set bridge br-p3 datapath_type=netdev fail-mode=standalone other-config:hwaddr=\$HWADDR_BRP3

    ovs-vsctl add-port br-p1 p1-0 -- set interface p1-0 ofport_request=2
    ovs-vsctl add-port br-p2 p2-0 -- set interface p2-0 ofport_request=2
    ovs-vsctl add-port br-p3 p3-0 -- set interface p3-0 ofport_request=2
    ovs-vsctl add-port br0 p0-1 -- set interface p0-1 ofport_request=10
    ovs-vsctl add-port br0 p0-2 -- set interface p0-2 ofport_request=20
    ovs-vsctl add-port br0 p0-3 -- set interface p0-3 ofport_request=30

    # Populate the MAC table of br0
    ovs-ofctl del-flows br0
    ovs-ofctl add-flow br0 dl_dst=\$HWADDR_BRP1,actions=10
    ovs-ofctl add-flow br0 dl_dst=\$HWADDR_BRP2,actions=20
    ovs-ofctl add-flow br0 dl_dst=\$HWADDR_BRP3,actions=30

    ovs-ofctl del-flows br-in1
    ovs-ofctl del-flows br-in2
    ovs-ofctl del-flows br-in3
    ovs-ofctl del-flows br-p1
    ovs-ofctl del-flows br-p2
    ovs-ofctl del-flows br-p3
"
at_fn_check_prepare_notrace 'an embedded newline' "system-userspace-packet-type-aware.at:71"
( $at_check_trace;
    ovs-vsctl add-br br-in1 -- \
        set bridge br-in1 datapath_type=netdev fail-mode=standalone
    ovs-vsctl add-br br-in2 -- \
        set bridge br-in2 datapath_type=netdev fail-mode=standalone
    ovs-vsctl add-br br-in3 -- \
        set bridge br-in3 datapath_type=netdev fail-mode=standalone
    ovs-vsctl add-br br-p1 -- \
        set bridge br-p1 datapath_type=netdev fail-mode=standalone other-config:hwaddr=$HWADDR_BRP1
    ovs-vsctl add-br br-p2 -- \
        set bridge br-p2 datapath_type=netdev fail-mode=standalone other-config:hwaddr=$HWADDR_BRP2
    ovs-vsctl add-br br-p3 -- \
        set bridge br-p3 datapath_type=netdev fail-mode=standalone other-config:hwaddr=$HWADDR_BRP3

    ovs-vsctl add-port br-p1 p1-0 -- set interface p1-0 ofport_request=2
    ovs-vsctl add-port br-p2 p2-0 -- set interface p2-0 ofport_request=2
    ovs-vsctl add-port br-p3 p3-0 -- set interface p3-0 ofport_request=2
    ovs-vsctl add-port br0 p0-1 -- set interface p0-1 ofport_request=10
    ovs-vsctl add-port br0 p0-2 -- set interface p0-2 ofport_request=20
    ovs-vsctl add-port br0 p0-3 -- set interface p0-3 ofport_request=30

    # Populate the MAC table of br0
    ovs-ofctl del-flows br0
    ovs-ofctl add-flow br0 dl_dst=$HWADDR_BRP1,actions=10
    ovs-ofctl add-flow br0 dl_dst=$HWADDR_BRP2,actions=20
    ovs-ofctl add-flow br0 dl_dst=$HWADDR_BRP3,actions=30

    ovs-ofctl del-flows br-in1
    ovs-ofctl del-flows br-in2
    ovs-ofctl del-flows br-in3
    ovs-ofctl del-flows br-p1
    ovs-ofctl del-flows br-p2
    ovs-ofctl del-flows br-p3

) >>"$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-userspace-packet-type-aware.at:71"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


### Setup GRE tunnels
{ set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:107:
    ovs-vsctl add-port br-in1 gre12 -- \\
        set interface gre12 type=gre options:remote_ip=10.0.0.2 ofport_request=1020
    ovs-vsctl add-port br-in1 gre12_l3 -- \\
        set interface gre12_l3 type=gre options:remote_ip=10.0.0.2 ofport_request=1021 options:packet_type=legacy_l3
    ovs-vsctl add-port br-in1 gre13 -- \\
        set interface gre13 type=gre options:remote_ip=10.0.0.3 ofport_request=1030

    ovs-vsctl add-port br-in2 gre21 -- \\
        set interface gre21 type=gre options:remote_ip=20.0.0.1 ofport_request=2010 options:packet_type=ptap
    ovs-vsctl add-port br-in2 gre23 -- \\
        set interface gre23 type=gre options:remote_ip=20.0.0.3 ofport_request=2030 options:packet_type=ptap

    ovs-vsctl add-port br-in3 gre31 -- \\
        set interface gre31 type=gre options:remote_ip=30.0.0.1 ofport_request=3010
    ovs-vsctl add-port br-in3 gre32 -- \\
        set interface gre32 type=gre options:remote_ip=30.0.0.2 ofport_request=3020
    ovs-vsctl add-port br-in3 gre32_l3 -- \\
        set interface gre32_l3 type=gre options:remote_ip=30.0.0.2 ofport_request=3021 options:packet_type=legacy_l3
"
at_fn_check_prepare_notrace 'an embedded newline' "system-userspace-packet-type-aware.at:107"
( $at_check_trace;
    ovs-vsctl add-port br-in1 gre12 -- \
        set interface gre12 type=gre options:remote_ip=10.0.0.2 ofport_request=1020
    ovs-vsctl add-port br-in1 gre12_l3 -- \
        set interface gre12_l3 type=gre options:remote_ip=10.0.0.2 ofport_request=1021 options:packet_type=legacy_l3
    ovs-vsctl add-port br-in1 gre13 -- \
        set interface gre13 type=gre options:remote_ip=10.0.0.3 ofport_request=1030

    ovs-vsctl add-port br-in2 gre21 -- \
        set interface gre21 type=gre options:remote_ip=20.0.0.1 ofport_request=2010 options:packet_type=ptap
    ovs-vsctl add-port br-in2 gre23 -- \
        set interface gre23 type=gre options:remote_ip=20.0.0.3 ofport_request=2030 options:packet_type=ptap

    ovs-vsctl add-port br-in3 gre31 -- \
        set interface gre31 type=gre options:remote_ip=30.0.0.1 ofport_request=3010
    ovs-vsctl add-port br-in3 gre32 -- \
        set interface gre32 type=gre options:remote_ip=30.0.0.2 ofport_request=3020
    ovs-vsctl add-port br-in3 gre32_l3 -- \
        set interface gre32_l3 type=gre options:remote_ip=30.0.0.2 ofport_request=3021 options:packet_type=legacy_l3

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-userspace-packet-type-aware.at:107"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:128:
    ip addr add 10.0.0.1/24 dev br-p1
    ip link set br-p1 up
"
at_fn_check_prepare_notrace 'an embedded newline' "system-userspace-packet-type-aware.at:128"
( $at_check_trace;
    ip addr add 10.0.0.1/24 dev br-p1
    ip link set br-p1 up

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-userspace-packet-type-aware.at:128"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:133:
    ovs-appctl ovs/route/add 10.0.0.0/24 br-p1
    ovs-appctl tnl/arp/set br-p1 10.0.0.1 \$HWADDR_BRP1
    ovs-appctl tnl/arp/set br-p1 10.0.0.2 \$HWADDR_BRP2
    ovs-appctl tnl/arp/set br-p1 10.0.0.3 \$HWADDR_BRP3
"
at_fn_check_prepare_notrace 'an embedded newline' "system-userspace-packet-type-aware.at:133"
( $at_check_trace;
    ovs-appctl ovs/route/add 10.0.0.0/24 br-p1
    ovs-appctl tnl/arp/set br-p1 10.0.0.1 $HWADDR_BRP1
    ovs-appctl tnl/arp/set br-p1 10.0.0.2 $HWADDR_BRP2
    ovs-appctl tnl/arp/set br-p1 10.0.0.3 $HWADDR_BRP3

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-userspace-packet-type-aware.at:133"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:140:
    ip addr add 20.0.0.2/24 dev br-p2
    ip link set br-p2 up
"
at_fn_check_prepare_notrace 'an embedded newline' "system-userspace-packet-type-aware.at:140"
( $at_check_trace;
    ip addr add 20.0.0.2/24 dev br-p2
    ip link set br-p2 up

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-userspace-packet-type-aware.at:140"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:145:
    ovs-appctl ovs/route/add 20.0.0.0/24 br-p2
    ovs-appctl tnl/arp/set br-p2 20.0.0.1 \$HWADDR_BRP1
    ovs-appctl tnl/arp/set br-p2 20.0.0.2 \$HWADDR_BRP2
    ovs-appctl tnl/arp/set br-p2 20.0.0.3 \$HWADDR_BRP3
"
at_fn_check_prepare_notrace 'an embedded newline' "system-userspace-packet-type-aware.at:145"
( $at_check_trace;
    ovs-appctl ovs/route/add 20.0.0.0/24 br-p2
    ovs-appctl tnl/arp/set br-p2 20.0.0.1 $HWADDR_BRP1
    ovs-appctl tnl/arp/set br-p2 20.0.0.2 $HWADDR_BRP2
    ovs-appctl tnl/arp/set br-p2 20.0.0.3 $HWADDR_BRP3

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-userspace-packet-type-aware.at:145"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:152:
    ip addr add 30.0.0.3/24 dev br-p3
    ip link set br-p3 up
"
at_fn_check_prepare_notrace 'an embedded newline' "system-userspace-packet-type-aware.at:152"
( $at_check_trace;
    ip addr add 30.0.0.3/24 dev br-p3
    ip link set br-p3 up

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-userspace-packet-type-aware.at:152"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:157:
    ovs-appctl ovs/route/add 30.0.0.0/24 br-p3
    ovs-appctl tnl/arp/set br-p3 30.0.0.1 \$HWADDR_BRP1
    ovs-appctl tnl/arp/set br-p3 30.0.0.2 \$HWADDR_BRP2
    ovs-appctl tnl/arp/set br-p3 30.0.0.3 \$HWADDR_BRP3
"
at_fn_check_prepare_notrace 'an embedded newline' "system-userspace-packet-type-aware.at:157"
( $at_check_trace;
    ovs-appctl ovs/route/add 30.0.0.0/24 br-p3
    ovs-appctl tnl/arp/set br-p3 30.0.0.1 $HWADDR_BRP1
    ovs-appctl tnl/arp/set br-p3 30.0.0.2 $HWADDR_BRP2
    ovs-appctl tnl/arp/set br-p3 30.0.0.3 $HWADDR_BRP3

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-userspace-packet-type-aware.at:157"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:164:
    ovs-appctl ovs/route/show | grep User:
"
at_fn_check_prepare_notrace 'an embedded newline' "system-userspace-packet-type-aware.at:164"
( $at_check_trace;
    ovs-appctl ovs/route/show | grep User:

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "User: 10.0.0.0/24 dev br-p1 SRC 10.0.0.1
User: 20.0.0.0/24 dev br-p2 SRC 20.0.0.2
User: 30.0.0.0/24 dev br-p3 SRC 30.0.0.3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-userspace-packet-type-aware.at:164"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:172:
    ovs-appctl tnl/neigh/show | grep br-p | sort
"
at_fn_check_prepare_notrace 'an embedded newline' "system-userspace-packet-type-aware.at:172"
( $at_check_trace;
    ovs-appctl tnl/neigh/show | grep br-p | sort

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-userspace-packet-type-aware.at:172"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



### Flows in br-p<x>to twist TEP IP addresses in tunnel IP headers
{ set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:178:
    ovs-ofctl add-flow br-p1 in_port:LOCAL,actions=2
    ovs-ofctl add-flow br-p1 in_port:2,ip,nw_dst:20.0.0.1,actions=mod_nw_dst:10.0.0.1,mod_nw_src:10.0.0.2,LOCAL
    ovs-ofctl add-flow br-p1 in_port:2,ip,nw_dst:30.0.0.1,actions=mod_nw_dst:10.0.0.1,mod_nw_src:10.0.0.3,LOCAL

    ovs-ofctl add-flow br-p2 in_port:LOCAL,actions=2
    ovs-ofctl add-flow br-p2 in_port:2,ip,nw_dst:10.0.0.2,actions=mod_nw_dst:20.0.0.2,mod_nw_src:20.0.0.1,LOCAL
    ovs-ofctl add-flow br-p2 in_port:2,ip,nw_dst:30.0.0.2,actions=mod_nw_dst:20.0.0.2,mod_nw_src:20.0.0.3,LOCAL

    ovs-ofctl add-flow br-p3 in_port:LOCAL,actions=2
    ovs-ofctl add-flow br-p3 in_port:2,ip,nw_dst:10.0.0.3,actions=mod_nw_dst:30.0.0.3,mod_nw_src:30.0.0.1,LOCAL
    ovs-ofctl add-flow br-p3 in_port:2,ip,nw_dst:20.0.0.3,actions=mod_nw_dst:30.0.0.3,mod_nw_src:30.0.0.2,LOCAL
"
at_fn_check_prepare_notrace 'an embedded newline' "system-userspace-packet-type-aware.at:178"
( $at_check_trace;
    ovs-ofctl add-flow br-p1 in_port:LOCAL,actions=2
    ovs-ofctl add-flow br-p1 in_port:2,ip,nw_dst:20.0.0.1,actions=mod_nw_dst:10.0.0.1,mod_nw_src:10.0.0.2,LOCAL
    ovs-ofctl add-flow br-p1 in_port:2,ip,nw_dst:30.0.0.1,actions=mod_nw_dst:10.0.0.1,mod_nw_src:10.0.0.3,LOCAL

    ovs-ofctl add-flow br-p2 in_port:LOCAL,actions=2
    ovs-ofctl add-flow br-p2 in_port:2,ip,nw_dst:10.0.0.2,actions=mod_nw_dst:20.0.0.2,mod_nw_src:20.0.0.1,LOCAL
    ovs-ofctl add-flow br-p2 in_port:2,ip,nw_dst:30.0.0.2,actions=mod_nw_dst:20.0.0.2,mod_nw_src:20.0.0.3,LOCAL

    ovs-ofctl add-flow br-p3 in_port:LOCAL,actions=2
    ovs-ofctl add-flow br-p3 in_port:2,ip,nw_dst:10.0.0.3,actions=mod_nw_dst:30.0.0.3,mod_nw_src:30.0.0.1,LOCAL
    ovs-ofctl add-flow br-p3 in_port:2,ip,nw_dst:20.0.0.3,actions=mod_nw_dst:30.0.0.3,mod_nw_src:30.0.0.2,LOCAL

) >>"$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-userspace-packet-type-aware.at:178"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Strips 'n_packets=...' from ovs-ofctl output.
strip_n_packets () {
    sed 's/n_packets=[0-9]*, //'
}

# Strips 'n_bytes=...' from ovs-ofctl output.
strip_n_bytes () {
    sed 's/n_bytes=[0-9]*, //'
}

{ set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:202:
    ovs-ofctl dump-flows br-p1 | ofctl_strip | strip_n_packets | strip_n_bytes | sort | grep actions
    ovs-ofctl dump-flows br-p2 | ofctl_strip | strip_n_packets | strip_n_bytes | sort | grep actions
    ovs-ofctl dump-flows br-p3 | ofctl_strip | strip_n_packets | strip_n_bytes | sort | grep actions
"
at_fn_check_prepare_notrace 'an embedded newline' "system-userspace-packet-type-aware.at:202"
( $at_check_trace;
    ovs-ofctl dump-flows br-p1 | ofctl_strip | strip_n_packets | strip_n_bytes | sort | grep actions
    ovs-ofctl dump-flows br-p2 | ofctl_strip | strip_n_packets | strip_n_bytes | sort | grep actions
    ovs-ofctl dump-flows br-p3 | ofctl_strip | strip_n_packets | strip_n_bytes | sort | grep actions

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " in_port=LOCAL actions=output:2
 ip,in_port=2,nw_dst=20.0.0.1 actions=mod_nw_dst:10.0.0.1,mod_nw_src:10.0.0.2,LOCAL
 ip,in_port=2,nw_dst=30.0.0.1 actions=mod_nw_dst:10.0.0.1,mod_nw_src:10.0.0.3,LOCAL
 in_port=LOCAL actions=output:2
 ip,in_port=2,nw_dst=10.0.0.2 actions=mod_nw_dst:20.0.0.2,mod_nw_src:20.0.0.1,LOCAL
 ip,in_port=2,nw_dst=30.0.0.2 actions=mod_nw_dst:20.0.0.2,mod_nw_src:20.0.0.3,LOCAL
 in_port=LOCAL actions=output:2
 ip,in_port=2,nw_dst=10.0.0.3 actions=mod_nw_dst:30.0.0.3,mod_nw_src:30.0.0.1,LOCAL
 ip,in_port=2,nw_dst=20.0.0.3 actions=mod_nw_dst:30.0.0.3,mod_nw_src:30.0.0.2,LOCAL
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-userspace-packet-type-aware.at:202"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


### Setup test ports for traffic injection
N1_IP=192.168.10.10
N2_IP=192.168.10.20
N3_IP=192.168.10.30
N1_MAC=aa:55:aa:55:00:01
N2_MAC=aa:55:aa:55:00:02
N3_MAC=aa:55:aa:55:00:03
N1_OFPORT=10
N2_OFPORT=20
N3_OFPORT=30

ip netns del ns1



                { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:229: ip netns add ns1 || return 77"
at_fn_check_prepare_trace "system-userspace-packet-type-aware.at:229"
( $at_check_trace; ip netns add ns1 || 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-userspace-packet-type-aware.at:229"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del ns1


'
                ip netns exec ns1 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del ns2



                { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:229: ip netns add ns2 || return 77"
at_fn_check_prepare_trace "system-userspace-packet-type-aware.at:229"
( $at_check_trace; ip netns add ns2 || 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-userspace-packet-type-aware.at:229"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del ns2


'
                ip netns exec ns2 sysctl -w net.netfilter.nf_conntrack_helper=0
               ip netns del ns3



                { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:229: ip netns add ns3 || return 77"
at_fn_check_prepare_trace "system-userspace-packet-type-aware.at:229"
( $at_check_trace; ip netns add ns3 || 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-userspace-packet-type-aware.at:229"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

                on_exit 'ip netns del ns3


'
                ip netns exec ns3 sysctl -w net.netfilter.nf_conntrack_helper=0



 { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:230: ip link add n1 type veth peer name ovs-n1 || return 77"
at_fn_check_prepare_trace "system-userspace-packet-type-aware.at:230"
( $at_check_trace; ip link add n1 type veth peer name ovs-n1 || 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-userspace-packet-type-aware.at:230"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:230: ethtool -K n1 tx off"
at_fn_check_prepare_trace "system-userspace-packet-type-aware.at:230"
( $at_check_trace; ethtool -K n1 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-userspace-packet-type-aware.at:230"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:230: ip link set n1 netns ns1"
at_fn_check_prepare_trace "system-userspace-packet-type-aware.at:230"
( $at_check_trace; ip link set n1 netns ns1
) >>"$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-userspace-packet-type-aware.at:230"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:230: ip link set dev ovs-n1 up"
at_fn_check_prepare_trace "system-userspace-packet-type-aware.at:230"
( $at_check_trace; ip link set dev ovs-n1 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-userspace-packet-type-aware.at:230"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:230: ovs-vsctl add-port br-in1 ovs-n1 -- \\
                set interface ovs-n1 external-ids:iface-id=\"n1\""
at_fn_check_prepare_notrace 'an embedded newline' "system-userspace-packet-type-aware.at:230"
( $at_check_trace; ovs-vsctl add-port br-in1 ovs-n1 -- \
                set interface ovs-n1 external-ids:iface-id="n1"
) >>"$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-userspace-packet-type-aware.at:230"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:230: ip netns exec ns1 sh << NS_EXEC_HEREDOC
ip addr add \"\$N1_IP/24\" dev n1
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-userspace-packet-type-aware.at:230"
( $at_check_trace; ip netns exec ns1 sh << NS_EXEC_HEREDOC
ip addr add "$N1_IP/24" dev n1
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-userspace-packet-type-aware.at:230"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:230: ip netns exec ns1 sh << NS_EXEC_HEREDOC
ip link set dev n1 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-userspace-packet-type-aware.at:230"
( $at_check_trace; ip netns exec ns1 sh << NS_EXEC_HEREDOC
ip link set dev n1 up
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-userspace-packet-type-aware.at:230"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n "$N1_MAC"; then
         { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:230: ip netns exec ns1 sh << NS_EXEC_HEREDOC
ip link set dev n1 address \$N1_MAC
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-userspace-packet-type-aware.at:230"
( $at_check_trace; ip netns exec ns1 sh << NS_EXEC_HEREDOC
ip link set dev n1 address $N1_MAC
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-userspace-packet-type-aware.at:230"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:230: ip netns exec ns1 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-userspace-packet-type-aware.at:230"
( $at_check_trace; ip netns exec ns1 sh << NS_EXEC_HEREDOC
ip route add default via
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-userspace-packet-type-aware.at:230"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-n1'


 { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:231: ip link add n2 type veth peer name ovs-n2 || return 77"
at_fn_check_prepare_trace "system-userspace-packet-type-aware.at:231"
( $at_check_trace; ip link add n2 type veth peer name ovs-n2 || 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-userspace-packet-type-aware.at:231"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:231: ethtool -K n2 tx off"
at_fn_check_prepare_trace "system-userspace-packet-type-aware.at:231"
( $at_check_trace; ethtool -K n2 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-userspace-packet-type-aware.at:231"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:231: ip link set n2 netns ns2"
at_fn_check_prepare_trace "system-userspace-packet-type-aware.at:231"
( $at_check_trace; ip link set n2 netns ns2
) >>"$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-userspace-packet-type-aware.at:231"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:231: ip link set dev ovs-n2 up"
at_fn_check_prepare_trace "system-userspace-packet-type-aware.at:231"
( $at_check_trace; ip link set dev ovs-n2 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-userspace-packet-type-aware.at:231"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:231: ovs-vsctl add-port br-in2 ovs-n2 -- \\
                set interface ovs-n2 external-ids:iface-id=\"n2\""
at_fn_check_prepare_notrace 'an embedded newline' "system-userspace-packet-type-aware.at:231"
( $at_check_trace; ovs-vsctl add-port br-in2 ovs-n2 -- \
                set interface ovs-n2 external-ids:iface-id="n2"
) >>"$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-userspace-packet-type-aware.at:231"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:231: ip netns exec ns2 sh << NS_EXEC_HEREDOC
ip addr add \"\$N2_IP/24\" dev n2
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-userspace-packet-type-aware.at:231"
( $at_check_trace; ip netns exec ns2 sh << NS_EXEC_HEREDOC
ip addr add "$N2_IP/24" dev n2
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-userspace-packet-type-aware.at:231"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:231: ip netns exec ns2 sh << NS_EXEC_HEREDOC
ip link set dev n2 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-userspace-packet-type-aware.at:231"
( $at_check_trace; ip netns exec ns2 sh << NS_EXEC_HEREDOC
ip link set dev n2 up
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-userspace-packet-type-aware.at:231"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n "$N2_MAC"; then
         { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:231: ip netns exec ns2 sh << NS_EXEC_HEREDOC
ip link set dev n2 address \$N2_MAC
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-userspace-packet-type-aware.at:231"
( $at_check_trace; ip netns exec ns2 sh << NS_EXEC_HEREDOC
ip link set dev n2 address $N2_MAC
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-userspace-packet-type-aware.at:231"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:231: ip netns exec ns2 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-userspace-packet-type-aware.at:231"
( $at_check_trace; ip netns exec ns2 sh << NS_EXEC_HEREDOC
ip route add default via
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-userspace-packet-type-aware.at:231"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-n2'


 { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:232: ip link add n3 type veth peer name ovs-n3 || return 77"
at_fn_check_prepare_trace "system-userspace-packet-type-aware.at:232"
( $at_check_trace; ip link add n3 type veth peer name ovs-n3 || 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-userspace-packet-type-aware.at:232"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:232: ethtool -K n3 tx off"
at_fn_check_prepare_trace "system-userspace-packet-type-aware.at:232"
( $at_check_trace; ethtool -K n3 tx off
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/system-userspace-packet-type-aware.at:232"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:232: ip link set n3 netns ns3"
at_fn_check_prepare_trace "system-userspace-packet-type-aware.at:232"
( $at_check_trace; ip link set n3 netns ns3
) >>"$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-userspace-packet-type-aware.at:232"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:232: ip link set dev ovs-n3 up"
at_fn_check_prepare_trace "system-userspace-packet-type-aware.at:232"
( $at_check_trace; ip link set dev ovs-n3 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-userspace-packet-type-aware.at:232"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:232: ovs-vsctl add-port br-in3 ovs-n3 -- \\
                set interface ovs-n3 external-ids:iface-id=\"n3\""
at_fn_check_prepare_notrace 'an embedded newline' "system-userspace-packet-type-aware.at:232"
( $at_check_trace; ovs-vsctl add-port br-in3 ovs-n3 -- \
                set interface ovs-n3 external-ids:iface-id="n3"
) >>"$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-userspace-packet-type-aware.at:232"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

       { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:232: ip netns exec ns3 sh << NS_EXEC_HEREDOC
ip addr add \"\$N3_IP/24\" dev n3
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-userspace-packet-type-aware.at:232"
( $at_check_trace; ip netns exec ns3 sh << NS_EXEC_HEREDOC
ip addr add "$N3_IP/24" dev n3
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-userspace-packet-type-aware.at:232"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


       { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:232: ip netns exec ns3 sh << NS_EXEC_HEREDOC
ip link set dev n3 up
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-userspace-packet-type-aware.at:232"
( $at_check_trace; ip netns exec ns3 sh << NS_EXEC_HEREDOC
ip link set dev n3 up
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-userspace-packet-type-aware.at:232"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      if test -n "$N3_MAC"; then
         { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:232: ip netns exec ns3 sh << NS_EXEC_HEREDOC
ip link set dev n3 address \$N3_MAC
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-userspace-packet-type-aware.at:232"
( $at_check_trace; ip netns exec ns3 sh << NS_EXEC_HEREDOC
ip link set dev n3 address $N3_MAC
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-userspace-packet-type-aware.at:232"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      if test -n ""; then
         { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:232: ip netns exec ns3 sh << NS_EXEC_HEREDOC
ip route add default via
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-userspace-packet-type-aware.at:232"
( $at_check_trace; ip netns exec ns3 sh << NS_EXEC_HEREDOC
ip route add default via
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-userspace-packet-type-aware.at:232"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      fi
      on_exit 'ip link del ovs-n3'



ip netns exec ns1 sh << NS_EXEC_HEREDOC
arp -s $N2_IP $N2_MAC
NS_EXEC_HEREDOC
ip netns exec ns1 sh << NS_EXEC_HEREDOC
arp -s $N3_IP $N3_MAC
NS_EXEC_HEREDOC

ip netns exec ns2 sh << NS_EXEC_HEREDOC
arp -s $N1_IP $N1_MAC
NS_EXEC_HEREDOC
ip netns exec ns2 sh << NS_EXEC_HEREDOC
arp -s $N3_IP $N3_MAC
NS_EXEC_HEREDOC

ip netns exec ns3 sh << NS_EXEC_HEREDOC
arp -s $N2_IP $N2_MAC
NS_EXEC_HEREDOC
ip netns exec ns3 sh << NS_EXEC_HEREDOC
arp -s $N1_IP $N1_MAC
NS_EXEC_HEREDOC

{ set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:243:
    ovs-vsctl set interface ovs-n1 ofport_request=\$N1_OFPORT
    ovs-vsctl set interface ovs-n2 ofport_request=\$N2_OFPORT
    ovs-vsctl set interface ovs-n3 ofport_request=\$N3_OFPORT
"
at_fn_check_prepare_notrace 'an embedded newline' "system-userspace-packet-type-aware.at:243"
( $at_check_trace;
    ovs-vsctl set interface ovs-n1 ofport_request=$N1_OFPORT
    ovs-vsctl set interface ovs-n2 ofport_request=$N2_OFPORT
    ovs-vsctl set interface ovs-n3 ofport_request=$N3_OFPORT

) >>"$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-userspace-packet-type-aware.at:243"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


#N1_DPPORT=$(ovs-appctl dpif/show | grep "n1 10" | sed 's|.*/\([[0-9]]*\):.*|\1|')
#N2_DPPORT=$(ovs-appctl dpif/show | grep "n2 20" | sed 's|.*/\([[0-9]]*\):.*|\1|')
#N3_DPPORT=$(ovs-appctl dpif/show | grep "n3 30" | sed 's|.*/\([[0-9]]*\):.*|\1|')

### Verify datapath configuration
{ set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:254:
    ovs-appctl dpif/show | grep -v hit | sed 's/\\t/    /g'
"
at_fn_check_prepare_notrace 'an embedded newline' "system-userspace-packet-type-aware.at:254"
( $at_check_trace;
    ovs-appctl dpif/show | grep -v hit | sed 's/\t/    /g'

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "    br-in1:
        br-in1 65534/2: (tap)
        gre12 1020/14: (gre: remote_ip=10.0.0.2)
        gre12_l3 1021/14: (gre: packet_type=legacy_l3, remote_ip=10.0.0.2)
        gre13 1030/14: (gre: remote_ip=10.0.0.3)
        ovs-n1 10/15: (system)
    br-in2:
        br-in2 65534/3: (tap)
        gre21 2010/14: (gre: packet_type=ptap, remote_ip=20.0.0.1)
        gre23 2030/14: (gre: packet_type=ptap, remote_ip=20.0.0.3)
        ovs-n2 20/16: (system)
    br-in3:
        br-in3 65534/4: (tap)
        gre31 3010/14: (gre: remote_ip=30.0.0.1)
        gre32 3020/14: (gre: remote_ip=30.0.0.2)
        gre32_l3 3021/14: (gre: packet_type=legacy_l3, remote_ip=30.0.0.2)
        ovs-n3 30/17: (system)
    br-p1:
        br-p1 65534/5: (tap)
        p1-0 2/8: (system)
    br-p2:
        br-p2 65534/6: (tap)
        p2-0 2/9: (system)
    br-p3:
        br-p3 65534/7: (tap)
        p3-0 2/10: (system)
    br0:
        br0 65534/1: (tap)
        p0-1 10/11: (system)
        p0-2 20/12: (system)
        p0-3 30/13: (system)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-userspace-packet-type-aware.at:254"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


### Test L3 forwarding flows
{ set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:291:
    ovs-ofctl add-flow br-in1 ip,nw_dst=\$N1_IP,actions=mod_dl_dst:\$N1_MAC,\$N1_OFPORT # Local route to N1
    ovs-ofctl add-flow br-in1 ip,nw_dst=\$N2_IP,actions=1020 # Route to N2 via the L2 tunnel to br-in2
    ovs-ofctl add-flow br-in1 ip,nw_dst=\$N3_IP,actions=1030 # Route to N3 direct through L2 tunnel

    ovs-ofctl add-flow br-in2 ip,nw_dst=\$N2_IP,actions=mod_dl_dst:\$N2_MAC,\$N2_OFPORT # Local route to N2 for ethernet packets
    ovs-ofctl add-flow br-in2 ip,nw_dst=\$N1_IP,actions=2010 # Route to N1 for ethernet packet
    ovs-ofctl add-flow br-in2 packet_type=\\(1,0x800\\),nw_dst=\$N1_IP,actions=2010 # Route to N1 for IP packets
    ovs-ofctl add-flow br-in2 ip,nw_dst=\$N3_IP,actions=2010 # Indirect route to N3 via br-in1 for ethernet packet
    ovs-ofctl add-flow br-in2 packet_type=\\(1,0x800\\),nw_dst=\$N3_IP,actions=2030 # Direct route to N3 for IP packets

    ovs-ofctl add-flow br-in3 ip,nw_dst=\$N3_IP,actions=mod_dl_dst:\$N3_MAC,\$N3_OFPORT # Local route to N1
    ovs-ofctl add-flow br-in3 ip,nw_dst=\$N2_IP,actions=3020 # Route to N2 via the L2 tunnel
    ovs-ofctl add-flow br-in3 ip,nw_dst=\$N1_IP,actions=3021 # Route to N1 via br-in2 through L3 tunnel
"
at_fn_check_prepare_notrace 'an embedded newline' "system-userspace-packet-type-aware.at:291"
( $at_check_trace;
    ovs-ofctl add-flow br-in1 ip,nw_dst=$N1_IP,actions=mod_dl_dst:$N1_MAC,$N1_OFPORT # Local route to N1
    ovs-ofctl add-flow br-in1 ip,nw_dst=$N2_IP,actions=1020 # Route to N2 via the L2 tunnel to br-in2
    ovs-ofctl add-flow br-in1 ip,nw_dst=$N3_IP,actions=1030 # Route to N3 direct through L2 tunnel

    ovs-ofctl add-flow br-in2 ip,nw_dst=$N2_IP,actions=mod_dl_dst:$N2_MAC,$N2_OFPORT # Local route to N2 for ethernet packets
    ovs-ofctl add-flow br-in2 ip,nw_dst=$N1_IP,actions=2010 # Route to N1 for ethernet packet
    ovs-ofctl add-flow br-in2 packet_type=\(1,0x800\),nw_dst=$N1_IP,actions=2010 # Route to N1 for IP packets
    ovs-ofctl add-flow br-in2 ip,nw_dst=$N3_IP,actions=2010 # Indirect route to N3 via br-in1 for ethernet packet
    ovs-ofctl add-flow br-in2 packet_type=\(1,0x800\),nw_dst=$N3_IP,actions=2030 # Direct route to N3 for IP packets

    ovs-ofctl add-flow br-in3 ip,nw_dst=$N3_IP,actions=mod_dl_dst:$N3_MAC,$N3_OFPORT # Local route to N1
    ovs-ofctl add-flow br-in3 ip,nw_dst=$N2_IP,actions=3020 # Route to N2 via the L2 tunnel
    ovs-ofctl add-flow br-in3 ip,nw_dst=$N1_IP,actions=3021 # Route to N1 via br-in2 through L3 tunnel

) >>"$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-userspace-packet-type-aware.at:291"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:307:
    ovs-ofctl dump-flows br-in1 | ofctl_strip | strip_n_packets | strip_n_bytes | sort | grep actions
"
at_fn_check_prepare_notrace 'an embedded newline' "system-userspace-packet-type-aware.at:307"
( $at_check_trace;
    ovs-ofctl dump-flows br-in1 | ofctl_strip | strip_n_packets | strip_n_bytes | sort | grep actions

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " ip,nw_dst=192.168.10.10 actions=mod_dl_dst:aa:55:aa:55:00:01,output:10
 ip,nw_dst=192.168.10.20 actions=output:1020
 ip,nw_dst=192.168.10.30 actions=output:1030
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-userspace-packet-type-aware.at:307"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:315:
    ovs-ofctl dump-flows br-in2 | ofctl_strip | strip_n_packets | strip_n_bytes | sort | grep actions
"
at_fn_check_prepare_notrace 'an embedded newline' "system-userspace-packet-type-aware.at:315"
( $at_check_trace;
    ovs-ofctl dump-flows br-in2 | ofctl_strip | strip_n_packets | strip_n_bytes | sort | grep actions

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " ip,nw_dst=192.168.10.10 actions=output:2010
 ip,nw_dst=192.168.10.20 actions=mod_dl_dst:aa:55:aa:55:00:02,output:20
 ip,nw_dst=192.168.10.30 actions=output:2010
 packet_type=(1,0x800),nw_dst=192.168.10.10 actions=output:2010
 packet_type=(1,0x800),nw_dst=192.168.10.30 actions=output:2030
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-userspace-packet-type-aware.at:315"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:325:
    ovs-ofctl dump-flows br-in3 | ofctl_strip | strip_n_packets | strip_n_bytes | sort | grep actions
"
at_fn_check_prepare_notrace 'an embedded newline' "system-userspace-packet-type-aware.at:325"
( $at_check_trace;
    ovs-ofctl dump-flows br-in3 | ofctl_strip | strip_n_packets | strip_n_bytes | sort | grep actions

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " ip,nw_dst=192.168.10.10 actions=output:3021
 ip,nw_dst=192.168.10.20 actions=output:3020
 ip,nw_dst=192.168.10.30 actions=mod_dl_dst:aa:55:aa:55:00:03,output:30
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-userspace-packet-type-aware.at:325"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# Clear up megaflow cache
sleep 10

# Ping between N1 and N3, via the L2 GRE tunnel between br-in1 and br-in3
 { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:338: ip netns exec ns1 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 \$N3_IP | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-userspace-packet-type-aware.at:338"
( $at_check_trace; ip netns exec ns1 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 $N3_IP | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-userspace-packet-type-aware.at:338"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



sleep 1

{ set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:344:
    ovs-appctl dpctl/dump-flows | strip_used | grep -v ipv6 | grep -v arp |sort
"
at_fn_check_prepare_notrace 'an embedded newline' "system-userspace-packet-type-aware.at:344"
( $at_check_trace;
    ovs-appctl dpctl/dump-flows | strip_used | grep -v ipv6 | grep -v arp |sort

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "flow-dump from non-dpdk interfaces:
recirc_id(0),in_port(10),packet_type(ns=0,id=0),eth(dst=aa:55:00:00:00:03),eth_type(0x0800),ipv4(src=10.0.0.1,dst=10.0.0.3,proto=47,frag=no), packets:2, bytes:272, used:0.0s, actions:set(ipv4(src=30.0.0.1,dst=30.0.0.3)),tnl_pop(14)
recirc_id(0),in_port(11),packet_type(ns=0,id=0),eth(dst=aa:55:00:00:00:03),eth_type(0x0800),ipv4(frag=no), packets:2, bytes:272, used:0.0s, actions:13
recirc_id(0),in_port(12),packet_type(ns=0,id=0),eth(dst=aa:55:00:00:00:01),eth_type(0x0800),ipv4(frag=no), packets:2, bytes:244, used:0.0s, actions:11
recirc_id(0),in_port(13),packet_type(ns=0,id=0),eth(dst=aa:55:00:00:00:02),eth_type(0x0800),ipv4(frag=no), packets:2, bytes:244, used:0.0s, actions:12
recirc_id(0),in_port(15),packet_type(ns=0,id=0),eth_type(0x0800),ipv4(dst=192.168.10.30,tos=0/0x3,frag=no), packets:2, bytes:196, used:0.0s, actions:clone(tnl_push(tnl_port(14),header(size=38,type=3,eth(dst=aa:55:00:00:00:03,src=aa:55:00:00:00:01,dl_type=0x0800),ipv4(src=10.0.0.1,dst=10.0.0.3,proto=47,tos=0,ttl=64,frag=0x4000),gre((flags=0x0,proto=0x6558))),out_port(5)),8)
recirc_id(0),in_port(17),packet_type(ns=0,id=0),eth_type(0x0800),ipv4(dst=192.168.10.10,tos=0/0x3,frag=no), packets:2, bytes:196, used:0.0s, actions:pop_eth,clone(tnl_push(tnl_port(14),header(size=38,type=3,eth(dst=aa:55:00:00:00:02,src=aa:55:00:00:00:03,dl_type=0x0800),ipv4(src=30.0.0.3,dst=30.0.0.2,proto=47,tos=0,ttl=64,frag=0x4000),gre((flags=0x0,proto=0x800))),out_port(7)),10)
recirc_id(0),in_port(8),packet_type(ns=0,id=0),eth(dst=aa:55:00:00:00:01),eth_type(0x0800),ipv4(src=20.0.0.2,dst=20.0.0.1,proto=47,frag=no), packets:2, bytes:244, used:0.0s, actions:set(ipv4(src=10.0.0.2,dst=10.0.0.1)),tnl_pop(14)
recirc_id(0),in_port(9),packet_type(ns=0,id=0),eth(dst=aa:55:00:00:00:02),eth_type(0x0800),ipv4(src=30.0.0.3,dst=30.0.0.2,proto=47,frag=no), packets:2, bytes:244, used:0.0s, actions:set(ipv4(src=20.0.0.3,dst=20.0.0.2)),tnl_pop(14)
tunnel(src=10.0.0.2,dst=10.0.0.1,flags(-df-csum)),recirc_id(0),in_port(14),packet_type(ns=1,id=0x800),ipv4(dst=192.168.10.10,frag=no), packets:2, bytes:168, used:0.0s, actions:push_eth(src=00:00:00:00:00:00,dst=aa:55:aa:55:00:01),15
tunnel(src=20.0.0.3,dst=20.0.0.2,flags(-df-csum)),recirc_id(0),in_port(14),packet_type(ns=1,id=0x800),ipv4(dst=192.168.10.10,tos=0/0x3,frag=no), packets:2, bytes:168, used:0.0s, actions:clone(tnl_push(tnl_port(14),header(size=38,type=3,eth(dst=aa:55:00:00:00:01,src=aa:55:00:00:00:02,dl_type=0x0800),ipv4(src=20.0.0.2,dst=20.0.0.1,proto=47,tos=0,ttl=64,frag=0x4000),gre((flags=0x0,proto=0x800))),out_port(6)),9)
tunnel(src=30.0.0.1,dst=30.0.0.3,flags(-df-csum)),recirc_id(0),in_port(14),packet_type(ns=0,id=0),eth(dst=aa:55:aa:55:00:03),eth_type(0x0800),ipv4(dst=192.168.10.30,frag=no), packets:2, bytes:196, used:0.0s, actions:17
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-userspace-packet-type-aware.at:344"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Clear up megaflow cache
sleep 10

# Ping between N1 and N2, via the L2 GRE tunnel between br-in1 and br-in2
 { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:364: ip netns exec ns1 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 \$N2_IP | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-userspace-packet-type-aware.at:364"
( $at_check_trace; ip netns exec ns1 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 $N2_IP | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-userspace-packet-type-aware.at:364"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



sleep 1

{ set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:370:
    ovs-appctl dpctl/dump-flows | strip_used | grep -v ipv6 | grep -v arp | sort
"
at_fn_check_prepare_notrace 'an embedded newline' "system-userspace-packet-type-aware.at:370"
( $at_check_trace;
    ovs-appctl dpctl/dump-flows | strip_used | grep -v ipv6 | grep -v arp | sort

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "flow-dump from non-dpdk interfaces:
recirc_id(0),in_port(11),packet_type(ns=0,id=0),eth(dst=aa:55:00:00:00:02),eth_type(0x0800),ipv4(frag=no), packets:2, bytes:272, used:0.0s, actions:12
recirc_id(0),in_port(12),packet_type(ns=0,id=0),eth(dst=aa:55:00:00:00:01),eth_type(0x0800),ipv4(frag=no), packets:2, bytes:272, used:0.0s, actions:11
recirc_id(0),in_port(15),packet_type(ns=0,id=0),eth_type(0x0800),ipv4(dst=192.168.10.20,tos=0/0x3,frag=no), packets:2, bytes:196, used:0.0s, actions:clone(tnl_push(tnl_port(14),header(size=38,type=3,eth(dst=aa:55:00:00:00:02,src=aa:55:00:00:00:01,dl_type=0x0800),ipv4(src=10.0.0.1,dst=10.0.0.2,proto=47,tos=0,ttl=64,frag=0x4000),gre((flags=0x0,proto=0x6558))),out_port(5)),8)
recirc_id(0),in_port(16),packet_type(ns=0,id=0),eth_type(0x0800),ipv4(dst=192.168.10.10,tos=0/0x3,frag=no), packets:2, bytes:196, used:0.0s, actions:clone(tnl_push(tnl_port(14),header(size=38,type=3,eth(dst=aa:55:00:00:00:01,src=aa:55:00:00:00:02,dl_type=0x0800),ipv4(src=20.0.0.2,dst=20.0.0.1,proto=47,tos=0,ttl=64,frag=0x4000),gre((flags=0x0,proto=0x6558))),out_port(6)),9)
recirc_id(0),in_port(8),packet_type(ns=0,id=0),eth(dst=aa:55:00:00:00:01),eth_type(0x0800),ipv4(src=20.0.0.2,dst=20.0.0.1,proto=47,frag=no), packets:2, bytes:272, used:0.0s, actions:set(ipv4(src=10.0.0.2,dst=10.0.0.1)),tnl_pop(14)
recirc_id(0),in_port(9),packet_type(ns=0,id=0),eth(dst=aa:55:00:00:00:02),eth_type(0x0800),ipv4(src=10.0.0.1,dst=10.0.0.2,proto=47,frag=no), packets:2, bytes:272, used:0.0s, actions:set(ipv4(src=20.0.0.1,dst=20.0.0.2)),tnl_pop(14)
tunnel(src=10.0.0.2,dst=10.0.0.1,flags(-df-csum)),recirc_id(0),in_port(14),packet_type(ns=0,id=0),eth(dst=aa:55:aa:55:00:01),eth_type(0x0800),ipv4(dst=192.168.10.10,frag=no), packets:2, bytes:196, used:0.0s, actions:15
tunnel(src=20.0.0.1,dst=20.0.0.2,flags(-df-csum)),recirc_id(0),in_port(14),packet_type(ns=0,id=0),eth(dst=aa:55:aa:55:00:02),eth_type(0x0800),ipv4(dst=192.168.10.20,frag=no), packets:2, bytes:196, used:0.0s, actions:16
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-userspace-packet-type-aware.at:370"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Clear up megaflow cache
sleep 10

# Ping between N3 and N2, via the L3 GRE tunnel between br-in3 and br-in2
 { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:387: ip netns exec ns3 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 \$N1_IP | grep \"transmitted\" | sed 's/time.*ms\$/time 0ms/'
NS_EXEC_HEREDOC"
at_fn_check_prepare_notrace 'an embedded newline' "system-userspace-packet-type-aware.at:387"
( $at_check_trace; ip netns exec ns3 sh << NS_EXEC_HEREDOC
ping -q -c 3 -i 0.3 -w 2 $N1_IP | grep "transmitted" | sed 's/time.*ms$/time 0ms/'
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=:
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-userspace-packet-type-aware.at:387"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



sleep 1

{ set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:393:
    ovs-appctl dpctl/dump-flows | strip_used | grep -v ipv6 | grep -v arp | sort
"
at_fn_check_prepare_notrace 'an embedded newline' "system-userspace-packet-type-aware.at:393"
( $at_check_trace;
    ovs-appctl dpctl/dump-flows | strip_used | grep -v ipv6 | grep -v arp | sort

) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "flow-dump from non-dpdk interfaces:
recirc_id(0),in_port(10),packet_type(ns=0,id=0),eth(dst=aa:55:00:00:00:03),eth_type(0x0800),ipv4(src=10.0.0.1,dst=10.0.0.3,proto=47,frag=no), packets:2, bytes:272, used:0.0s, actions:set(ipv4(src=30.0.0.1,dst=30.0.0.3)),tnl_pop(14)
recirc_id(0),in_port(11),packet_type(ns=0,id=0),eth(dst=aa:55:00:00:00:03),eth_type(0x0800),ipv4(frag=no), packets:2, bytes:272, used:0.0s, actions:13
recirc_id(0),in_port(12),packet_type(ns=0,id=0),eth(dst=aa:55:00:00:00:01),eth_type(0x0800),ipv4(frag=no), packets:2, bytes:244, used:0.0s, actions:11
recirc_id(0),in_port(13),packet_type(ns=0,id=0),eth(dst=aa:55:00:00:00:02),eth_type(0x0800),ipv4(frag=no), packets:2, bytes:244, used:0.0s, actions:12
recirc_id(0),in_port(15),packet_type(ns=0,id=0),eth_type(0x0800),ipv4(dst=192.168.10.30,tos=0/0x3,frag=no), packets:2, bytes:196, used:0.0s, actions:clone(tnl_push(tnl_port(14),header(size=38,type=3,eth(dst=aa:55:00:00:00:03,src=aa:55:00:00:00:01,dl_type=0x0800),ipv4(src=10.0.0.1,dst=10.0.0.3,proto=47,tos=0,ttl=64,frag=0x4000),gre((flags=0x0,proto=0x6558))),out_port(5)),8)
recirc_id(0),in_port(17),packet_type(ns=0,id=0),eth_type(0x0800),ipv4(dst=192.168.10.10,tos=0/0x3,frag=no), packets:2, bytes:196, used:0.0s, actions:pop_eth,clone(tnl_push(tnl_port(14),header(size=38,type=3,eth(dst=aa:55:00:00:00:02,src=aa:55:00:00:00:03,dl_type=0x0800),ipv4(src=30.0.0.3,dst=30.0.0.2,proto=47,tos=0,ttl=64,frag=0x4000),gre((flags=0x0,proto=0x800))),out_port(7)),10)
recirc_id(0),in_port(8),packet_type(ns=0,id=0),eth(dst=aa:55:00:00:00:01),eth_type(0x0800),ipv4(src=20.0.0.2,dst=20.0.0.1,proto=47,frag=no), packets:2, bytes:244, used:0.0s, actions:set(ipv4(src=10.0.0.2,dst=10.0.0.1)),tnl_pop(14)
recirc_id(0),in_port(9),packet_type(ns=0,id=0),eth(dst=aa:55:00:00:00:02),eth_type(0x0800),ipv4(src=30.0.0.3,dst=30.0.0.2,proto=47,frag=no), packets:2, bytes:244, used:0.0s, actions:set(ipv4(src=20.0.0.3,dst=20.0.0.2)),tnl_pop(14)
tunnel(src=10.0.0.2,dst=10.0.0.1,flags(-df-csum)),recirc_id(0),in_port(14),packet_type(ns=1,id=0x800),ipv4(dst=192.168.10.10,frag=no), packets:2, bytes:168, used:0.0s, actions:push_eth(src=00:00:00:00:00:00,dst=aa:55:aa:55:00:01),15
tunnel(src=20.0.0.3,dst=20.0.0.2,flags(-df-csum)),recirc_id(0),in_port(14),packet_type(ns=1,id=0x800),ipv4(dst=192.168.10.10,tos=0/0x3,frag=no), packets:2, bytes:168, used:0.0s, actions:clone(tnl_push(tnl_port(14),header(size=38,type=3,eth(dst=aa:55:00:00:00:01,src=aa:55:00:00:00:02,dl_type=0x0800),ipv4(src=20.0.0.2,dst=20.0.0.1,proto=47,tos=0,ttl=64,frag=0x4000),gre((flags=0x0,proto=0x800))),out_port(6)),9)
tunnel(src=30.0.0.1,dst=30.0.0.3,flags(-df-csum)),recirc_id(0),in_port(14),packet_type(ns=0,id=0),eth(dst=aa:55:aa:55:00:03),eth_type(0x0800),ipv4(dst=192.168.10.30,frag=no), packets:2, bytes:196, used:0.0s, actions:17
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/system-userspace-packet-type-aware.at:393"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:409: check_logs \";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d\""
at_fn_check_prepare_notrace 'an embedded newline' "system-userspace-packet-type-aware.at:409"
( $at_check_trace; check_logs ";/netdev_linux.*obtaining netdev stats via vport failed/d
/dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"
) >>"$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-userspace-packet-type-aware.at:409"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:409: test -e \$OVS_RUNDIR/ovs-vswitchd.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovs-vswitchd.pid" "system-userspace-packet-type-aware.at:409"
( $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-userspace-packet-type-aware.at:409"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovs-vswitchd.pid)
   { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:409: ovs-appctl -t ovs-vswitchd exit --cleanup"
at_fn_check_prepare_trace "system-userspace-packet-type-aware.at:409"
( $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-userspace-packet-type-aware.at:409"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-userspace-packet-type-aware.at:409" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-userspace-packet-type-aware.at:409"
fi

   { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:409: test -e \$OVS_RUNDIR/ovsdb-server.pid"
at_fn_check_prepare_dynamic "test -e $OVS_RUNDIR/ovsdb-server.pid" "system-userspace-packet-type-aware.at:409"
( $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-userspace-packet-type-aware.at:409"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   TMPPID=$(cat $OVS_RUNDIR/ovsdb-server.pid)
   { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:409: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "system-userspace-packet-type-aware.at:409"
( $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-userspace-packet-type-aware.at:409"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   ovs_wait_cond () {
    if kill -0 $TMPPID 2>/dev/null; then return 1; else return 0; fi
}
if ovs_wait; then :
else

    $as_echo "system-userspace-packet-type-aware.at:409" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/system-userspace-packet-type-aware.at:409"
fi

   { set +x
$as_echo "$at_srcdir/system-userspace-packet-type-aware.at:409: :; "
at_fn_check_prepare_trace "system-userspace-packet-type-aware.at:409"
( $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-userspace-packet-type-aware.at:409"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_99
