Commit 68545fb6 authored by Jesper Dangaard Brouer's avatar Jesper Dangaard Brouer Committed by Alexei Starovoitov

selftests/bpf: Adjust BPF selftest for xdp_adjust_tail

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: default avatarJesper Dangaard Brouer <brouer@redhat.com>
Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/158945350058.97035.17280775016196207372.stgit@firesoul
parent bc56c919
...@@ -2,9 +2,9 @@ ...@@ -2,9 +2,9 @@
#include <test_progs.h> #include <test_progs.h>
#include <network_helpers.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; struct bpf_object *obj;
char buf[128]; char buf[128];
__u32 duration, retval, size; __u32 duration, retval, size;
...@@ -28,3 +28,8 @@ void test_xdp_adjust_tail(void) ...@@ -28,3 +28,8 @@ void test_xdp_adjust_tail(void)
err, errno, retval, size); err, errno, retval, size);
bpf_object__close(obj); bpf_object__close(obj);
} }
void test_xdp_adjust_tail(void)
{
test_xdp_adjust_tail_shrink();
}
/* SPDX-License-Identifier: GPL-2.0 // SPDX-License-Identifier: GPL-2.0
* Copyright (c) 2018 Facebook /* Copyright (c) 2018 Facebook
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of version 2 of the GNU General Public * modify it under the terms of version 2 of the GNU General Public
...@@ -11,15 +11,15 @@ ...@@ -11,15 +11,15 @@
int _version SEC("version") = 1; int _version SEC("version") = 1;
SEC("xdp_adjust_tail") SEC("xdp_adjust_tail_shrink")
int _xdp_adjust_tail(struct xdp_md *xdp) int _xdp_adjust_tail_shrink(struct xdp_md *xdp)
{ {
void *data_end = (void *)(long)xdp->data_end; void *data_end = (void *)(long)xdp->data_end;
void *data = (void *)(long)xdp->data; void *data = (void *)(long)xdp->data;
int offset = 0; int offset = 0;
if (data_end - data == 54) if (data_end - data == 54) /* sizeof(pkt_v4) */
offset = 256; offset = 256; /* shrink too much */
else else
offset = 20; offset = 20;
if (bpf_xdp_adjust_tail(xdp, 0 - offset)) if (bpf_xdp_adjust_tail(xdp, 0 - offset))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment