path: root/samples/bpf/xdp_redirect_map_kern.c
diff options
authorDaniel T. Lee <danieltimlee@gmail.com>2019-11-07 09:51:53 +0900
committerAlexei Starovoitov <ast@kernel.org>2019-11-08 19:21:52 -0800
commit451d1dc886b548d6e18c933adca326c1307023c9 (patch)
treec920619afdfd1f62787fcf94f549b5a1c0ec3537 /samples/bpf/xdp_redirect_map_kern.c
parentafbe3c27d9ae151be33ccd6b05699d3c49dabad2 (diff)
samples: bpf: update map definition to new syntax BTF-defined map
Since, the new syntax of BTF-defined map has been introduced, the syntax for using maps under samples directory are mixed up. For example, some are already using the new syntax, and some are using existing syntax by calling them as 'legacy'. As stated at commit abd29c931459 ("libbpf: allow specifying map definitions using BTF"), the BTF-defined map has more compatablility with extending supported map definition features. The commit doesn't replace all of the map to new BTF-defined map, because some of the samples still use bpf_load instead of libbpf, which can't properly create BTF-defined map. This will only updates the samples which uses libbpf API for loading bpf program. (ex. bpf_prog_load_xattr) Signed-off-by: Daniel T. Lee <danieltimlee@gmail.com> Acked-by: Andrii Nakryiko <andriin@fb.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'samples/bpf/xdp_redirect_map_kern.c')
1 files changed, 12 insertions, 12 deletions
diff --git a/samples/bpf/xdp_redirect_map_kern.c b/samples/bpf/xdp_redirect_map_kern.c
index 740a529ba84f..4631b484c432 100644
--- a/samples/bpf/xdp_redirect_map_kern.c
+++ b/samples/bpf/xdp_redirect_map_kern.c
@@ -19,22 +19,22 @@
#include <linux/ipv6.h>
#include "bpf_helpers.h"
-struct bpf_map_def SEC("maps") tx_port = {
- .key_size = sizeof(int),
- .value_size = sizeof(int),
- .max_entries = 100,
+struct {
+ __uint(type, BPF_MAP_TYPE_DEVMAP);
+ __uint(key_size, sizeof(int));
+ __uint(value_size, sizeof(int));
+ __uint(max_entries, 100);
+} tx_port SEC(".maps");
/* Count RX packets, as XDP bpf_prog doesn't get direct TX-success
* feedback. Redirect TX errors can be caught via a tracepoint.
-struct bpf_map_def SEC("maps") rxcnt = {
- .key_size = sizeof(u32),
- .value_size = sizeof(long),
- .max_entries = 1,
+struct {
+ __uint(type, BPF_MAP_TYPE_PERCPU_ARRAY);
+ __type(key, u32);
+ __type(value, long);
+ __uint(max_entries, 1);
+} rxcnt SEC(".maps");
static void swap_src_dst_mac(void *data)