mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-26 12:34:41 +08:00
selftests/bpf: Improve inner_map test coverage.
Check that hash and array inner maps are properly initialized. Signed-off-by: Alexei Starovoitov <ast@kernel.org> Signed-off-by: Andrii Nakryiko <andrii@kernel.org> Acked-by: Andrii Nakryiko <andrii@kernel.org> Link: https://lore.kernel.org/bpf/20211201181040.23337-14-alexei.starovoitov@gmail.com
This commit is contained in:
parent
bc5f75da97
commit
d82fa9b708
@ -334,9 +334,11 @@ static inline int check_lpm_trie(void)
|
||||
return 1;
|
||||
}
|
||||
|
||||
#define INNER_MAX_ENTRIES 1234
|
||||
|
||||
struct inner_map {
|
||||
__uint(type, BPF_MAP_TYPE_ARRAY);
|
||||
__uint(max_entries, 1);
|
||||
__uint(max_entries, INNER_MAX_ENTRIES);
|
||||
__type(key, __u32);
|
||||
__type(value, __u32);
|
||||
} inner_map SEC(".maps");
|
||||
@ -348,7 +350,7 @@ struct {
|
||||
__type(value, __u32);
|
||||
__array(values, struct {
|
||||
__uint(type, BPF_MAP_TYPE_ARRAY);
|
||||
__uint(max_entries, 1);
|
||||
__uint(max_entries, INNER_MAX_ENTRIES);
|
||||
__type(key, __u32);
|
||||
__type(value, __u32);
|
||||
});
|
||||
@ -360,8 +362,13 @@ static inline int check_array_of_maps(void)
|
||||
{
|
||||
struct bpf_array *array_of_maps = (struct bpf_array *)&m_array_of_maps;
|
||||
struct bpf_map *map = (struct bpf_map *)&m_array_of_maps;
|
||||
struct bpf_array *inner_map;
|
||||
int key = 0;
|
||||
|
||||
VERIFY(check_default(&array_of_maps->map, map));
|
||||
inner_map = bpf_map_lookup_elem(array_of_maps, &key);
|
||||
VERIFY(inner_map != 0);
|
||||
VERIFY(inner_map->map.max_entries == INNER_MAX_ENTRIES);
|
||||
|
||||
return 1;
|
||||
}
|
||||
@ -382,8 +389,13 @@ static inline int check_hash_of_maps(void)
|
||||
{
|
||||
struct bpf_htab *hash_of_maps = (struct bpf_htab *)&m_hash_of_maps;
|
||||
struct bpf_map *map = (struct bpf_map *)&m_hash_of_maps;
|
||||
struct bpf_htab *inner_map;
|
||||
int key = 2;
|
||||
|
||||
VERIFY(check_default(&hash_of_maps->map, map));
|
||||
inner_map = bpf_map_lookup_elem(hash_of_maps, &key);
|
||||
VERIFY(inner_map != 0);
|
||||
VERIFY(inner_map->map.max_entries == INNER_MAX_ENTRIES);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user