On Thu, Aug 25, 2016 at 05:33:57PM -0700, Joe Stringer wrote: > On 25 August 2016 at 03:08, Simon Horman <simon.hor...@netronome.com> wrote: > > Please find my working patch below. > > > > From: Simon Horman <ho...@verge.net.au> > > Subject: [PATCH] system-traffic: Exercise GSO > > > > Exercise GSO for: unencapsulated; MPLS; GRE; and MPLS in GRE. > > > > There is scope to extend this testing to other encapsulation formats > > if desired. > > > > This is motivated by a desire to test GRE and MPLS encapsulation in > > the context of L3/VPN (MPLS over non-TEB GRE work). That is not > > tested here but tests for those cases would idealy be based on those in > > this patch. > > > > Signed-off-by: Simon Horman <ho...@verge.net.au> > > I realised that these tests disable TSO, but they don't actually check > if GSO is enabled. Maybe it's safe to assume this, but it's more > explicit to actually look for it in the tests.
Good point, I'll see about checking that. > With particular setups (fedora23 in particular, both kernel and > userspace testsuites) I see this: > > ./system-traffic.at:371: ip netns exec at_ns0 sh << NS_EXEC_HEREDOC > ip route add 10.1.2.0/24 encap mpls 100 via inet 10.1.1.2 dev ns_gre0 > NS_EXEC_HEREDOC > --- /dev/null 2016-08-19 01:28:02.151000000 +0000 > +++ > /home/gitlab-runner/builds/83c49bff/0/root/gitlab-ovs/ovs/tests/system-kmod-testsuite.dir/at-groups/10/stderr > 2016-08-25 17:16:27.324000000 +0000 > @@ -0,0 +1 @@ > +Error: either "to" is duplicate, or "encap" is a garbage. > > I'm guessing the ip tool is a little out of date. We could detect and > skip this with something like: > > AT_SKIP_IF([ip route help 2>&1 | grep encap]) > > in the CHECK_MPLS. Thanks, I'll add something like that. > Hmm, I'm still seeing the bad counts of segments retransmited even > with the diff change on a kernel I have built at bf0f500bd019 ("Merge > tag 'trace-v4.8-1' of > git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace"). > If it's passing on latest net-next then maybe I just need to swap out > that box's kernel for a newer build. I'll try that. It is possible that it is detecting a bug. Which test is failing? At this stage I have mostly added TSO/GSO testing to existing checks. Perhaps it would be better to break them out into separate checks so ping/http can be be checked without considering TSO/GSO which may have some value in situations where TSO/GSO is broken which is actually what I am interested in testing.