summaryrefslogtreecommitdiffstats
path: root/tools/testing/selftests/bpf/test_queue_stack_map.h
diff options
context:
space:
mode:
authorAndrii Nakryiko <andriin@fb.com>2019-10-15 23:00:50 -0700
committerAlexei Starovoitov <ast@kernel.org>2019-10-17 12:15:08 -0700
commit5ac93074b581984d67926d48b2c601b12b35a0f9 (patch)
tree1a070f5aee309e50b5727bc00121dd26c95efbe9 /tools/testing/selftests/bpf/test_queue_stack_map.h
parent74b5a5968fe8742205a86234bb99d493bcd5ecee (diff)
downloadtalos-op-linux-5ac93074b581984d67926d48b2c601b12b35a0f9.tar.gz
talos-op-linux-5ac93074b581984d67926d48b2c601b12b35a0f9.zip
selftests/bpf: Move test_queue_stack_map.h into progs/ where it belongs
test_queue_stack_map.h is used only from BPF programs. Thus it should be part of progs/ subdir. An added benefit of moving it there is that new TEST_RUNNER_DEFINE_RULES macro-rule will properly capture dependency on this header for all BPF objects and trigger re-build, if it changes. Signed-off-by: Andrii Nakryiko <andriin@fb.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org> Link: https://lore.kernel.org/bpf/20191016060051.2024182-7-andriin@fb.com
Diffstat (limited to 'tools/testing/selftests/bpf/test_queue_stack_map.h')
-rw-r--r--tools/testing/selftests/bpf/test_queue_stack_map.h59
1 files changed, 0 insertions, 59 deletions
diff --git a/tools/testing/selftests/bpf/test_queue_stack_map.h b/tools/testing/selftests/bpf/test_queue_stack_map.h
deleted file mode 100644
index 0e014d3b2b36..000000000000
--- a/tools/testing/selftests/bpf/test_queue_stack_map.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-// Copyright (c) 2018 Politecnico di Torino
-#include <stddef.h>
-#include <string.h>
-#include <linux/bpf.h>
-#include <linux/if_ether.h>
-#include <linux/ip.h>
-#include <linux/pkt_cls.h>
-#include "bpf_helpers.h"
-
-int _version SEC("version") = 1;
-
-struct {
- __uint(type, MAP_TYPE);
- __uint(max_entries, 32);
- __uint(map_flags, 0);
- __uint(key_size, 0);
- __uint(value_size, sizeof(__u32));
-} map_in SEC(".maps");
-
-struct {
- __uint(type, MAP_TYPE);
- __uint(max_entries, 32);
- __uint(map_flags, 0);
- __uint(key_size, 0);
- __uint(value_size, sizeof(__u32));
-} map_out SEC(".maps");
-
-SEC("test")
-int _test(struct __sk_buff *skb)
-{
- void *data_end = (void *)(long)skb->data_end;
- void *data = (void *)(long)skb->data;
- struct ethhdr *eth = (struct ethhdr *)(data);
- __u32 value;
- int err;
-
- if (eth + 1 > data_end)
- return TC_ACT_SHOT;
-
- struct iphdr *iph = (struct iphdr *)(eth + 1);
-
- if (iph + 1 > data_end)
- return TC_ACT_SHOT;
-
- err = bpf_map_pop_elem(&map_in, &value);
- if (err)
- return TC_ACT_SHOT;
-
- iph->daddr = value;
-
- err = bpf_map_push_elem(&map_out, &iph->saddr, 0);
- if (err)
- return TC_ACT_SHOT;
-
- return TC_ACT_OK;
-}
-
-char _license[] SEC("license") = "GPL";
OpenPOWER on IntegriCloud