[ovs-dev] tests: Skip testcases using nc under check-afxdp.
diff mbox series

Message ID 1572645065-130301-1-git-send-email-u9012063@gmail.com
State New
Headers show
Series
  • [ovs-dev] tests: Skip testcases using nc under check-afxdp.
Related show

Commit Message

William Tu Nov. 1, 2019, 9:51 p.m. UTC
AF_XDP veth does not support TCP with namespaces. This patch skips them.

Signed-off-by: William Tu <u9012063@gmail.com>
---
v1:
  - Tested-at: https://travis-ci.org/williamtu/ovs-travis/builds/606194550
  - make check-afxdp all pass on my machine, but cirrus, it is still unstable,
    observe 1 failed at:
    https://cirrus-ci.com/task/6597038589870080
---
 tests/system-afxdp-macros.at     |  7 +++++++
 tests/system-kmod-macros.at      |  8 ++++++++
 tests/system-traffic.at          | 18 +++++++++---------
 tests/system-userspace-macros.at |  8 ++++++++
 4 files changed, 32 insertions(+), 9 deletions(-)

Comments

Ilya Maximets Nov. 1, 2019, 10:10 p.m. UTC | #1
On 01.11.2019 22:51, William Tu wrote:
> AF_XDP veth does not support TCP with namespaces. This patch skips them.
> 
> Signed-off-by: William Tu <u9012063@gmail.com>
> ---
> v1:
>    - Tested-at: https://travis-ci.org/williamtu/ovs-travis/builds/606194550
>    - make check-afxdp all pass on my machine, but cirrus, it is still unstable,
>      observe 1 failed at:
>      https://cirrus-ci.com/task/6597038589870080
> ---
>   tests/system-afxdp-macros.at     |  7 +++++++
>   tests/system-kmod-macros.at      |  8 ++++++++
>   tests/system-traffic.at          | 18 +++++++++---------
>   tests/system-userspace-macros.at |  8 ++++++++
>   4 files changed, 32 insertions(+), 9 deletions(-)
> 
> diff --git a/tests/system-afxdp-macros.at b/tests/system-afxdp-macros.at
> index f0683c0a901b..27c220998355 100644
> --- a/tests/system-afxdp-macros.at
> +++ b/tests/system-afxdp-macros.at
> @@ -37,3 +37,10 @@ m4_define([CONFIGURE_VETH_OFFLOADS],
>   #
>   m4_define([OVS_START_L7],
>      [AT_SKIP_IF([:])])
> +
> +# OVS_CHECK_NC()
> +#
> +# Check if comman nc is available. Always skip because
> +# AF_XDP veth does not support TCP with namespaces.
> +m4_define([OVS_CHECK_NC],
> +    [AT_SKIP_IF([:])])

Most of the tests uses 'nc -u' generating UDP traffic and works fine.
We should not skip them.  There are only 2 tests that are failing now.
Both uses 'nc' without '-u' option, i.e. generates TCP traffic.
Only these tests should be skipped.

Best regards, Ilya Maximets.
William Tu Nov. 1, 2019, 10:36 p.m. UTC | #2
On Fri, Nov 1, 2019 at 3:10 PM Ilya Maximets <i.maximets@ovn.org> wrote:
>
>
>
> On 01.11.2019 22:51, William Tu wrote:
> > AF_XDP veth does not support TCP with namespaces. This patch skips them.
> >
> > Signed-off-by: William Tu <u9012063@gmail.com>
> > ---
> > v1:
> >    - Tested-at: https://travis-ci.org/williamtu/ovs-travis/builds/606194550
> >    - make check-afxdp all pass on my machine, but cirrus, it is still unstable,
> >      observe 1 failed at:
> >      https://cirrus-ci.com/task/6597038589870080
> > ---
> >   tests/system-afxdp-macros.at     |  7 +++++++
> >   tests/system-kmod-macros.at      |  8 ++++++++
> >   tests/system-traffic.at          | 18 +++++++++---------
> >   tests/system-userspace-macros.at |  8 ++++++++
> >   4 files changed, 32 insertions(+), 9 deletions(-)
> >
> > diff --git a/tests/system-afxdp-macros.at b/tests/system-afxdp-macros.at
> > index f0683c0a901b..27c220998355 100644
> > --- a/tests/system-afxdp-macros.at
> > +++ b/tests/system-afxdp-macros.at
> > @@ -37,3 +37,10 @@ m4_define([CONFIGURE_VETH_OFFLOADS],
> >   #
> >   m4_define([OVS_START_L7],
> >      [AT_SKIP_IF([:])])
> > +
> > +# OVS_CHECK_NC()
> > +#
> > +# Check if comman nc is available. Always skip because
> > +# AF_XDP veth does not support TCP with namespaces.
> > +m4_define([OVS_CHECK_NC],
> > +    [AT_SKIP_IF([:])])
>
> Most of the tests uses 'nc -u' generating UDP traffic and works fine.
> We should not skip them.  There are only 2 tests that are failing now.
> Both uses 'nc' without '-u' option, i.e. generates TCP traffic.
> Only these tests should be skipped.

OK, thanks.
In this case, I'm thinking about adding a new macro, ex:
OVS_SKIP_AFXDP in all tests at system-traffic.at that use
TCP with nc.

Regards,
William

Patch
diff mbox series

diff --git a/tests/system-afxdp-macros.at b/tests/system-afxdp-macros.at
index f0683c0a901b..27c220998355 100644
--- a/tests/system-afxdp-macros.at
+++ b/tests/system-afxdp-macros.at
@@ -37,3 +37,10 @@  m4_define([CONFIGURE_VETH_OFFLOADS],
 #
 m4_define([OVS_START_L7],
    [AT_SKIP_IF([:])])
+
+# OVS_CHECK_NC()
+#
+# Check if comman nc is available. Always skip because
+# AF_XDP veth does not support TCP with namespaces.
+m4_define([OVS_CHECK_NC],
+    [AT_SKIP_IF([:])])
diff --git a/tests/system-kmod-macros.at b/tests/system-kmod-macros.at
index 9e89aec43734..5b610f5517ec 100644
--- a/tests/system-kmod-macros.at
+++ b/tests/system-kmod-macros.at
@@ -211,3 +211,11 @@  m4_define([VSCTL_ADD_DATAPATH_TABLE],
 # or necessary for the userspace datapath as it is checking for a kernel
 # specific regression.
 m4_define([CHECK_L3L4_CONNTRACK_REASM])
+
+# OVS_CHECK_NC()
+#
+# Check if comman nc is available.
+m4_define([OVS_CHECK_NC],
+[
+    AT_SKIP_IF([test $HAVE_NC = no])
+])
diff --git a/tests/system-traffic.at b/tests/system-traffic.at
index 870a05efe04c..d3214696aff1 100644
--- a/tests/system-traffic.at
+++ b/tests/system-traffic.at
@@ -993,7 +993,7 @@  NS_CHECK_EXEC([at_ns1], [ping -q -c 3 -i 0.3 -w 2 10.1.1.1 | FORMAT_PING], [0],
 OVS_TRAFFIC_VSWITCHD_STOP
 AT_CLEANUP
 AT_SETUP([datapath - basic truncate action])
-AT_SKIP_IF([test $HAVE_NC = no])
+OVS_CHECK_NC()
 OVS_TRAFFIC_VSWITCHD_START()
 AT_CHECK([ovs-ofctl del-flows br0])
 
@@ -1109,7 +1109,7 @@  dnl   br-underlay: with IP: 172.31.1.100
 dnl   ns0: connect to br-underlay, with IP: 10.1.1.1
 AT_SETUP([datapath - truncate and output to gre tunnel by simulated packets])
 OVS_CHECK_MIN_KERNEL(3, 10)
-AT_SKIP_IF([test $HAVE_NC = no])
+OVS_CHECK_NC()
 OVS_TRAFFIC_VSWITCHD_START()
 
 ADD_BR([br-underlay], [set bridge br-underlay other-config:hwaddr=\"02:90:8c:a8:a1:49\"])
@@ -1240,7 +1240,7 @@  dnl   ns1: connect to br0, with IP:10.1.1.2
 dnl   br-underlay: with IP: 172.31.1.100
 dnl   ns0: connect to br-underlay, with IP: 10.1.1.1
 AT_SETUP([datapath - truncate and output to gre tunnel])
-AT_SKIP_IF([test $HAVE_NC = no])
+OVS_CHECK_NC()
 OVS_CHECK_KERNEL_EXCL(3, 10, 4, 15)
 OVS_CHECK_GRE()
 OVS_TRAFFIC_VSWITCHD_START()
@@ -2252,7 +2252,7 @@  OVS_TRAFFIC_VSWITCHD_STOP
 AT_CLEANUP
 
 AT_SETUP([conntrack - ICMP related])
-AT_SKIP_IF([test $HAVE_NC = no])
+OVS_CHECK_NC()
 CHECK_CONNTRACK()
 OVS_TRAFFIC_VSWITCHD_START()
 
@@ -2288,7 +2288,7 @@  OVS_TRAFFIC_VSWITCHD_STOP
 AT_CLEANUP
 
 AT_SETUP([conntrack - ICMP related to original direction])
-AT_SKIP_IF([test $HAVE_NC = no])
+OVS_CHECK_NC()
 CHECK_CONNTRACK()
 OVS_TRAFFIC_VSWITCHD_START()
 
@@ -4417,7 +4417,7 @@  OVS_TRAFFIC_VSWITCHD_STOP
 AT_CLEANUP
 
 AT_SETUP([conntrack - ICMP related with NAT])
-AT_SKIP_IF([test $HAVE_NC = no])
+OVS_CHECK_NC()
 AT_SKIP_IF([test $HAVE_TCPDUMP = no])
 CHECK_CONNTRACK()
 CHECK_CONNTRACK_NAT()
@@ -5571,7 +5571,7 @@  AT_CLEANUP
 
 
 AT_SETUP([conntrack - DNAT load balancing with NC])
-AT_SKIP_IF([test $HAVE_NC = no])
+OVS_CHECK_NC()
 CHECK_CONNTRACK()
 CHECK_CONNTRACK_NAT()
 OVS_TRAFFIC_VSWITCHD_START()
@@ -5659,7 +5659,7 @@  OVS_TRAFFIC_VSWITCHD_STOP
 AT_CLEANUP
 
 AT_SETUP([conntrack - floating IP])
-AT_SKIP_IF([test $HAVE_NC = no])
+OVS_CHECK_NC()
 CHECK_CONNTRACK()
 OVS_TRAFFIC_VSWITCHD_START()
 OVS_CHECK_CT_CLEAR()
@@ -5734,7 +5734,7 @@  AT_CLEANUP
 AT_SETUP([conntrack - negative test for recirculation optimization])
 dnl This test will fail if 'conn' caching is being used, because the tuple
 dnl has been changed outside of conntrack.
-AT_SKIP_IF([test $HAVE_NC = no])
+OVS_CHECK_NC()
 CHECK_CONNTRACK()
 OVS_TRAFFIC_VSWITCHD_START()
 OVS_CHECK_CT_CLEAR()
diff --git a/tests/system-userspace-macros.at b/tests/system-userspace-macros.at
index a419f30c1563..9e9787429f6f 100644
--- a/tests/system-userspace-macros.at
+++ b/tests/system-userspace-macros.at
@@ -323,3 +323,11 @@  m4_define([CHECK_L3L4_CONNTRACK_REASM],
 [
     AT_SKIP_IF([:])
 ])
+
+# OVS_CHECK_NC()
+#
+# Check if comman nc is available.
+m4_define([OVS_CHECK_NC],
+[
+    AT_SKIP_IF([test $HAVE_NC = no])
+])