diff options
author | Martin KaFai Lau <kafai@fb.com> | 2017-03-22 13:00:35 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-03-22 18:45:45 -0400 |
commit | fb30d4b71214aa1811e997f8f753b14b46d5b912 (patch) | |
tree | a546eefbd355792aa544c0f220b38bab4493b1aa /tools/lib/bpf/bpf.c | |
parent | bcc6b1b7ebf857a9fe56202e2be3361131588c15 (diff) |
bpf: Add tests for map-in-map
Test cases for array of maps and hash of maps.
Signed-off-by: Martin KaFai Lau <kafai@fb.com>
Acked-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'tools/lib/bpf/bpf.c')
-rw-r--r-- | tools/lib/bpf/bpf.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/tools/lib/bpf/bpf.c b/tools/lib/bpf/bpf.c index 207c2eeddab0..9b58d20e8c93 100644 --- a/tools/lib/bpf/bpf.c +++ b/tools/lib/bpf/bpf.c | |||
@@ -69,6 +69,23 @@ int bpf_create_map(enum bpf_map_type map_type, int key_size, | |||
69 | return sys_bpf(BPF_MAP_CREATE, &attr, sizeof(attr)); | 69 | return sys_bpf(BPF_MAP_CREATE, &attr, sizeof(attr)); |
70 | } | 70 | } |
71 | 71 | ||
72 | int bpf_create_map_in_map(enum bpf_map_type map_type, int key_size, | ||
73 | int inner_map_fd, int max_entries, __u32 map_flags) | ||
74 | { | ||
75 | union bpf_attr attr; | ||
76 | |||
77 | memset(&attr, '\0', sizeof(attr)); | ||
78 | |||
79 | attr.map_type = map_type; | ||
80 | attr.key_size = key_size; | ||
81 | attr.value_size = 4; | ||
82 | attr.inner_map_fd = inner_map_fd; | ||
83 | attr.max_entries = max_entries; | ||
84 | attr.map_flags = map_flags; | ||
85 | |||
86 | return sys_bpf(BPF_MAP_CREATE, &attr, sizeof(attr)); | ||
87 | } | ||
88 | |||
72 | int bpf_load_program(enum bpf_prog_type type, const struct bpf_insn *insns, | 89 | int bpf_load_program(enum bpf_prog_type type, const struct bpf_insn *insns, |
73 | size_t insns_cnt, const char *license, | 90 | size_t insns_cnt, const char *license, |
74 | __u32 kern_version, char *log_buf, size_t log_buf_sz) | 91 | __u32 kern_version, char *log_buf, size_t log_buf_sz) |