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

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
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -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();
}
+6 −6
Original line number Diff line number Diff line
/* 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
@@ -11,15 +11,15 @@

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))