libbpf: introduce bpf_map_lookup_elem_flags()
Introduce int bpf_map_lookup_elem_flags(int fd, const void *key, void *value, __u64 flags) helper to lookup array/hash/cgroup_local_storage elements with BPF_F_LOCK flag. Signed-off-by: Alexei Starovoitov <ast@kernel.org> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
This commit is contained in:
committed by
Daniel Borkmann
parent
e44ac9a22b
commit
df5d22facd
@@ -368,6 +368,19 @@ int bpf_map_lookup_elem(int fd, const void *key, void *value)
|
|||||||
return sys_bpf(BPF_MAP_LOOKUP_ELEM, &attr, sizeof(attr));
|
return sys_bpf(BPF_MAP_LOOKUP_ELEM, &attr, sizeof(attr));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int bpf_map_lookup_elem_flags(int fd, const void *key, void *value, __u64 flags)
|
||||||
|
{
|
||||||
|
union bpf_attr attr;
|
||||||
|
|
||||||
|
bzero(&attr, sizeof(attr));
|
||||||
|
attr.map_fd = fd;
|
||||||
|
attr.key = ptr_to_u64(key);
|
||||||
|
attr.value = ptr_to_u64(value);
|
||||||
|
attr.flags = flags;
|
||||||
|
|
||||||
|
return sys_bpf(BPF_MAP_LOOKUP_ELEM, &attr, sizeof(attr));
|
||||||
|
}
|
||||||
|
|
||||||
int bpf_map_lookup_and_delete_elem(int fd, const void *key, void *value)
|
int bpf_map_lookup_and_delete_elem(int fd, const void *key, void *value)
|
||||||
{
|
{
|
||||||
union bpf_attr attr;
|
union bpf_attr attr;
|
||||||
|
|||||||
@@ -110,6 +110,8 @@ LIBBPF_API int bpf_map_update_elem(int fd, const void *key, const void *value,
|
|||||||
__u64 flags);
|
__u64 flags);
|
||||||
|
|
||||||
LIBBPF_API int bpf_map_lookup_elem(int fd, const void *key, void *value);
|
LIBBPF_API int bpf_map_lookup_elem(int fd, const void *key, void *value);
|
||||||
|
LIBBPF_API int bpf_map_lookup_elem_flags(int fd, const void *key, void *value,
|
||||||
|
__u64 flags);
|
||||||
LIBBPF_API int bpf_map_lookup_and_delete_elem(int fd, const void *key,
|
LIBBPF_API int bpf_map_lookup_and_delete_elem(int fd, const void *key,
|
||||||
void *value);
|
void *value);
|
||||||
LIBBPF_API int bpf_map_delete_elem(int fd, const void *key);
|
LIBBPF_API int bpf_map_delete_elem(int fd, const void *key);
|
||||||
|
|||||||
@@ -130,4 +130,5 @@ LIBBPF_0.0.2 {
|
|||||||
bpf_probe_helper;
|
bpf_probe_helper;
|
||||||
bpf_probe_map_type;
|
bpf_probe_map_type;
|
||||||
bpf_probe_prog_type;
|
bpf_probe_prog_type;
|
||||||
|
bpf_map_lookup_elem_flags;
|
||||||
} LIBBPF_0.0.1;
|
} LIBBPF_0.0.1;
|
||||||
|
|||||||
Reference in New Issue
Block a user