Merge branch 'Start libbpf 1.0 dev cycle'
Andrii Nakryiko says: ==================== Start preparations for libbpf 1.0 release and as a first test remove bpf_create_map*() APIs. ==================== Acked-by: Yonghong Song <yhs@fb.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org>
This commit is contained in:
Коммит
834650b50e
|
@ -127,7 +127,7 @@ TAGS_PROG := $(if $(shell which etags 2>/dev/null),etags,ctags)
|
||||||
GLOBAL_SYM_COUNT = $(shell readelf -s --wide $(BPF_IN_SHARED) | \
|
GLOBAL_SYM_COUNT = $(shell readelf -s --wide $(BPF_IN_SHARED) | \
|
||||||
cut -d "@" -f1 | sed 's/_v[0-9]_[0-9]_[0-9].*//' | \
|
cut -d "@" -f1 | sed 's/_v[0-9]_[0-9]_[0-9].*//' | \
|
||||||
sed 's/\[.*\]//' | \
|
sed 's/\[.*\]//' | \
|
||||||
awk '/GLOBAL/ && /DEFAULT/ && !/UND/ {print $$NF}' | \
|
awk '/GLOBAL/ && /DEFAULT/ && !/UND|ABS/ {print $$NF}' | \
|
||||||
sort -u | wc -l)
|
sort -u | wc -l)
|
||||||
VERSIONED_SYM_COUNT = $(shell readelf --dyn-syms --wide $(OUTPUT)libbpf.so | \
|
VERSIONED_SYM_COUNT = $(shell readelf --dyn-syms --wide $(OUTPUT)libbpf.so | \
|
||||||
sed 's/\[.*\]//' | \
|
sed 's/\[.*\]//' | \
|
||||||
|
|
|
@ -208,86 +208,6 @@ int bpf_map_create(enum bpf_map_type map_type,
|
||||||
return libbpf_err_errno(fd);
|
return libbpf_err_errno(fd);
|
||||||
}
|
}
|
||||||
|
|
||||||
int bpf_create_map_xattr(const struct bpf_create_map_attr *create_attr)
|
|
||||||
{
|
|
||||||
LIBBPF_OPTS(bpf_map_create_opts, p);
|
|
||||||
|
|
||||||
p.map_flags = create_attr->map_flags;
|
|
||||||
p.numa_node = create_attr->numa_node;
|
|
||||||
p.btf_fd = create_attr->btf_fd;
|
|
||||||
p.btf_key_type_id = create_attr->btf_key_type_id;
|
|
||||||
p.btf_value_type_id = create_attr->btf_value_type_id;
|
|
||||||
p.map_ifindex = create_attr->map_ifindex;
|
|
||||||
if (create_attr->map_type == BPF_MAP_TYPE_STRUCT_OPS)
|
|
||||||
p.btf_vmlinux_value_type_id = create_attr->btf_vmlinux_value_type_id;
|
|
||||||
else
|
|
||||||
p.inner_map_fd = create_attr->inner_map_fd;
|
|
||||||
|
|
||||||
return bpf_map_create(create_attr->map_type, create_attr->name,
|
|
||||||
create_attr->key_size, create_attr->value_size,
|
|
||||||
create_attr->max_entries, &p);
|
|
||||||
}
|
|
||||||
|
|
||||||
int bpf_create_map_node(enum bpf_map_type map_type, const char *name,
|
|
||||||
int key_size, int value_size, int max_entries,
|
|
||||||
__u32 map_flags, int node)
|
|
||||||
{
|
|
||||||
LIBBPF_OPTS(bpf_map_create_opts, opts);
|
|
||||||
|
|
||||||
opts.map_flags = map_flags;
|
|
||||||
if (node >= 0) {
|
|
||||||
opts.numa_node = node;
|
|
||||||
opts.map_flags |= BPF_F_NUMA_NODE;
|
|
||||||
}
|
|
||||||
|
|
||||||
return bpf_map_create(map_type, name, key_size, value_size, max_entries, &opts);
|
|
||||||
}
|
|
||||||
|
|
||||||
int bpf_create_map(enum bpf_map_type map_type, int key_size,
|
|
||||||
int value_size, int max_entries, __u32 map_flags)
|
|
||||||
{
|
|
||||||
LIBBPF_OPTS(bpf_map_create_opts, opts, .map_flags = map_flags);
|
|
||||||
|
|
||||||
return bpf_map_create(map_type, NULL, key_size, value_size, max_entries, &opts);
|
|
||||||
}
|
|
||||||
|
|
||||||
int bpf_create_map_name(enum bpf_map_type map_type, const char *name,
|
|
||||||
int key_size, int value_size, int max_entries,
|
|
||||||
__u32 map_flags)
|
|
||||||
{
|
|
||||||
LIBBPF_OPTS(bpf_map_create_opts, opts, .map_flags = map_flags);
|
|
||||||
|
|
||||||
return bpf_map_create(map_type, name, key_size, value_size, max_entries, &opts);
|
|
||||||
}
|
|
||||||
|
|
||||||
int bpf_create_map_in_map_node(enum bpf_map_type map_type, const char *name,
|
|
||||||
int key_size, int inner_map_fd, int max_entries,
|
|
||||||
__u32 map_flags, int node)
|
|
||||||
{
|
|
||||||
LIBBPF_OPTS(bpf_map_create_opts, opts);
|
|
||||||
|
|
||||||
opts.inner_map_fd = inner_map_fd;
|
|
||||||
opts.map_flags = map_flags;
|
|
||||||
if (node >= 0) {
|
|
||||||
opts.map_flags |= BPF_F_NUMA_NODE;
|
|
||||||
opts.numa_node = node;
|
|
||||||
}
|
|
||||||
|
|
||||||
return bpf_map_create(map_type, name, key_size, 4, max_entries, &opts);
|
|
||||||
}
|
|
||||||
|
|
||||||
int bpf_create_map_in_map(enum bpf_map_type map_type, const char *name,
|
|
||||||
int key_size, int inner_map_fd, int max_entries,
|
|
||||||
__u32 map_flags)
|
|
||||||
{
|
|
||||||
LIBBPF_OPTS(bpf_map_create_opts, opts,
|
|
||||||
.inner_map_fd = inner_map_fd,
|
|
||||||
.map_flags = map_flags,
|
|
||||||
);
|
|
||||||
|
|
||||||
return bpf_map_create(map_type, name, key_size, 4, max_entries, &opts);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void *
|
static void *
|
||||||
alloc_zero_tailing_info(const void *orecord, __u32 cnt,
|
alloc_zero_tailing_info(const void *orecord, __u32 cnt,
|
||||||
__u32 actual_rec_size, __u32 expected_rec_size)
|
__u32 actual_rec_size, __u32 expected_rec_size)
|
||||||
|
|
|
@ -61,48 +61,6 @@ LIBBPF_API int bpf_map_create(enum bpf_map_type map_type,
|
||||||
__u32 max_entries,
|
__u32 max_entries,
|
||||||
const struct bpf_map_create_opts *opts);
|
const struct bpf_map_create_opts *opts);
|
||||||
|
|
||||||
struct bpf_create_map_attr {
|
|
||||||
const char *name;
|
|
||||||
enum bpf_map_type map_type;
|
|
||||||
__u32 map_flags;
|
|
||||||
__u32 key_size;
|
|
||||||
__u32 value_size;
|
|
||||||
__u32 max_entries;
|
|
||||||
__u32 numa_node;
|
|
||||||
__u32 btf_fd;
|
|
||||||
__u32 btf_key_type_id;
|
|
||||||
__u32 btf_value_type_id;
|
|
||||||
__u32 map_ifindex;
|
|
||||||
union {
|
|
||||||
__u32 inner_map_fd;
|
|
||||||
__u32 btf_vmlinux_value_type_id;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
LIBBPF_DEPRECATED_SINCE(0, 7, "use bpf_map_create() instead")
|
|
||||||
LIBBPF_API int bpf_create_map_xattr(const struct bpf_create_map_attr *create_attr);
|
|
||||||
LIBBPF_DEPRECATED_SINCE(0, 7, "use bpf_map_create() instead")
|
|
||||||
LIBBPF_API int bpf_create_map_node(enum bpf_map_type map_type, const char *name,
|
|
||||||
int key_size, int value_size,
|
|
||||||
int max_entries, __u32 map_flags, int node);
|
|
||||||
LIBBPF_DEPRECATED_SINCE(0, 7, "use bpf_map_create() instead")
|
|
||||||
LIBBPF_API int bpf_create_map_name(enum bpf_map_type map_type, const char *name,
|
|
||||||
int key_size, int value_size,
|
|
||||||
int max_entries, __u32 map_flags);
|
|
||||||
LIBBPF_DEPRECATED_SINCE(0, 7, "use bpf_map_create() instead")
|
|
||||||
LIBBPF_API int bpf_create_map(enum bpf_map_type map_type, int key_size,
|
|
||||||
int value_size, int max_entries, __u32 map_flags);
|
|
||||||
LIBBPF_DEPRECATED_SINCE(0, 7, "use bpf_map_create() instead")
|
|
||||||
LIBBPF_API int bpf_create_map_in_map_node(enum bpf_map_type map_type,
|
|
||||||
const char *name, int key_size,
|
|
||||||
int inner_map_fd, int max_entries,
|
|
||||||
__u32 map_flags, int node);
|
|
||||||
LIBBPF_DEPRECATED_SINCE(0, 7, "use bpf_map_create() instead")
|
|
||||||
LIBBPF_API int bpf_create_map_in_map(enum bpf_map_type map_type,
|
|
||||||
const char *name, int key_size,
|
|
||||||
int inner_map_fd, int max_entries,
|
|
||||||
__u32 map_flags);
|
|
||||||
|
|
||||||
struct bpf_prog_load_opts {
|
struct bpf_prog_load_opts {
|
||||||
size_t sz; /* size of this struct for forward/backward compatibility */
|
size_t sz; /* size of this struct for forward/backward compatibility */
|
||||||
|
|
||||||
|
|
|
@ -459,3 +459,7 @@ LIBBPF_0.8.0 {
|
||||||
libbpf_register_prog_handler;
|
libbpf_register_prog_handler;
|
||||||
libbpf_unregister_prog_handler;
|
libbpf_unregister_prog_handler;
|
||||||
} LIBBPF_0.7.0;
|
} LIBBPF_0.7.0;
|
||||||
|
|
||||||
|
LIBBPF_1.0.0 {
|
||||||
|
local: *;
|
||||||
|
};
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#ifndef __LIBBPF_VERSION_H
|
#ifndef __LIBBPF_VERSION_H
|
||||||
#define __LIBBPF_VERSION_H
|
#define __LIBBPF_VERSION_H
|
||||||
|
|
||||||
#define LIBBPF_MAJOR_VERSION 0
|
#define LIBBPF_MAJOR_VERSION 1
|
||||||
#define LIBBPF_MINOR_VERSION 8
|
#define LIBBPF_MINOR_VERSION 0
|
||||||
|
|
||||||
#endif /* __LIBBPF_VERSION_H */
|
#endif /* __LIBBPF_VERSION_H */
|
||||||
|
|
Загрузка…
Ссылка в новой задаче