On Sun, 2018-10-21 at 16:09 -0400, Willem de Bruijn wrote: > On Fri, Oct 19, 2018 at 10:31 AM Paolo Abeni <pab...@redhat.com> wrote: > > > > Extends the existing udp programs to allow checking for proper > > GRO aggregation/GSO size, and run the tests via a shell script, using > > a veth pair with XDP program attached to trigger the GRO code path. > > > > Signed-off-by: Paolo Abeni <pab...@redhat.com> > > --- > > tools/testing/selftests/net/Makefile | 2 +- > > tools/testing/selftests/net/udpgro.sh | 144 ++++++++++++++++++ > > tools/testing/selftests/net/udpgro_bench.sh | 8 +- > > tools/testing/selftests/net/udpgso_bench.sh | 2 +- > > tools/testing/selftests/net/udpgso_bench_rx.c | 125 +++++++++++++-- > > tools/testing/selftests/net/udpgso_bench_tx.c | 22 ++- > > 6 files changed, 281 insertions(+), 22 deletions(-) > > create mode 100755 tools/testing/selftests/net/udpgro.sh > > > > diff --git a/tools/testing/selftests/net/udpgro.sh > > b/tools/testing/selftests/net/udpgro.sh > > + run_test "no GRO chk cmsg" "${ipv4_args} -M 10 -s 1400" "-4 -n 10 > > -l 1400 -S -1" > > + run_test "no GRO chk cmsg" "${ipv6_args} -M 10 -s 1400" "-n 10 -l > > 1400 -S -1" > > why expected segment size -1 in these two?
I was unable to come up with a self-explaining option name/syntax. '-1' really means 'no UDP_SEGMENT cmsg'. Since the receiver did not enable UDP_GRO, should not receive such cmsg. > > > diff --git a/tools/testing/selftests/net/udpgso_bench_tx.c > > b/tools/testing/selftests/net/udpgso_bench_tx.c > > static void usage(const char *filepath) > > { > > - error(1, 0, "Usage: %s [-46cmStuz] [-C cpu] [-D dst ip] [-l secs] > > [-p port] [-s sendsize]", > > + error(1, 0, "Usage: %s [-46cmtuz] [-C cpu] [-D dst ip] [-l secs] > > [-m messagenr] [-p port] [-s sendsize] [-S gsosize]", > > filepath); > > missing -M Will add in next iteration. Additional node: in the current test implementation, 'no GRO chk cmsg' sometimes wrongly returns a failure. I'll try to address it in the next iteration (it's a test issue in the code I added, not a kernel one). Cheers, Paolo