selftests/bpf: Adjust BPF selftest for xdp_adjust_tail
authorJesper Dangaard Brouer <brouer@redhat.com>
Thu, 14 May 2020 10:51:40 +0000 (12:51 +0200)
committerAlexei Starovoitov <ast@kernel.org>
Fri, 15 May 2020 04:21:57 +0000 (21:21 -0700)
Current selftest for BPF-helper xdp_adjust_tail only shrink tail.
Make it more clear that this is a shrink test case.

Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/158945350058.97035.17280775016196207372.stgit@firesoul
tools/testing/selftests/bpf/prog_tests/xdp_adjust_tail.c
tools/testing/selftests/bpf/progs/test_xdp_adjust_tail_shrink.c [moved from tools/testing/selftests/bpf/progs/test_adjust_tail.c with 70% similarity]

index 6c8ca1c..a76dd81 100644 (file)
@@ -2,9 +2,9 @@
 #include <test_progs.h>
 #include <network_helpers.h>
 
-void test_xdp_adjust_tail(void)
+void test_xdp_adjust_tail_shrink(void)
 {
-       const char *file = "./test_adjust_tail.o";
+       const char *file = "./test_xdp_adjust_tail_shrink.o";
        struct bpf_object *obj;
        char buf[128];
        __u32 duration, retval, size;
@@ -28,3 +28,8 @@ void test_xdp_adjust_tail(void)
              err, errno, retval, size);
        bpf_object__close(obj);
 }
+
+void test_xdp_adjust_tail(void)
+{
+       test_xdp_adjust_tail_shrink();
+}
@@ -1,5 +1,5 @@
-/* SPDX-License-Identifier: GPL-2.0
- * Copyright (c) 2018 Facebook
+// SPDX-License-Identifier: GPL-2.0
+/* Copyright (c) 2018 Facebook
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of version 2 of the GNU General Public
 
 int _version SEC("version") = 1;
 
-SEC("xdp_adjust_tail")
-int _xdp_adjust_tail(struct xdp_md *xdp)
+SEC("xdp_adjust_tail_shrink")
+int _xdp_adjust_tail_shrink(struct xdp_md *xdp)
 {
        void *data_end = (void *)(long)xdp->data_end;
        void *data = (void *)(long)xdp->data;
        int offset = 0;
 
-       if (data_end - data == 54)
-               offset = 256;
+       if (data_end - data == 54) /* sizeof(pkt_v4) */
+               offset = 256; /* shrink too much */
        else
                offset = 20;
        if (bpf_xdp_adjust_tail(xdp, 0 - offset))