bpf_map_ops
Regular
4.4
: ✅struct bpf_map_ops {
struct bpf_map * (*map_alloc)(union bpf_attr *);
void (*map_free)(struct bpf_map *);
int (*map_get_next_key)(struct bpf_map *, void *, void *);
void * (*map_lookup_elem)(struct bpf_map *, void *);
int (*map_update_elem)(struct bpf_map *, void *, void *, u64);
int (*map_delete_elem)(struct bpf_map *, void *);
void * (*map_fd_get_ptr)(struct bpf_map *, int);
void (*map_fd_put_ptr)(void *);
};
4.8
: ✅struct bpf_map_ops {
struct bpf_map * (*map_alloc)(union bpf_attr *);
void (*map_release)(struct bpf_map *, struct file *);
void (*map_free)(struct bpf_map *);
int (*map_get_next_key)(struct bpf_map *, void *, void *);
void * (*map_lookup_elem)(struct bpf_map *, void *);
int (*map_update_elem)(struct bpf_map *, void *, void *, u64);
int (*map_delete_elem)(struct bpf_map *, void *);
void * (*map_fd_get_ptr)(struct bpf_map *, struct file *, int);
void (*map_fd_put_ptr)(void *);
};
4.10
: ✅struct bpf_map_ops {
struct bpf_map * (*map_alloc)(union bpf_attr *);
void (*map_release)(struct bpf_map *, struct file *);
void (*map_free)(struct bpf_map *);
int (*map_get_next_key)(struct bpf_map *, void *, void *);
void * (*map_lookup_elem)(struct bpf_map *, void *);
int (*map_update_elem)(struct bpf_map *, void *, void *, u64);
int (*map_delete_elem)(struct bpf_map *, void *);
void * (*map_fd_get_ptr)(struct bpf_map *, struct file *, int);
void (*map_fd_put_ptr)(void *);
};
4.13
: ✅struct bpf_map_ops {
struct bpf_map * (*map_alloc)(union bpf_attr *);
void (*map_release)(struct bpf_map *, struct file *);
void (*map_free)(struct bpf_map *);
int (*map_get_next_key)(struct bpf_map *, void *, void *);
void * (*map_lookup_elem)(struct bpf_map *, void *);
int (*map_update_elem)(struct bpf_map *, void *, void *, u64);
int (*map_delete_elem)(struct bpf_map *, void *);
void * (*map_fd_get_ptr)(struct bpf_map *, struct file *, int);
void (*map_fd_put_ptr)(void *);
u32 (*map_gen_lookup)(struct bpf_map *, struct bpf_insn *);
u32 (*map_fd_sys_lookup_elem)(void *);
};
4.15
: ✅struct bpf_map_ops {
struct bpf_map * (*map_alloc)(union bpf_attr *);
void (*map_release)(struct bpf_map *, struct file *);
void (*map_free)(struct bpf_map *);
int (*map_get_next_key)(struct bpf_map *, void *, void *);
void * (*map_lookup_elem)(struct bpf_map *, void *);
int (*map_update_elem)(struct bpf_map *, void *, void *, u64);
int (*map_delete_elem)(struct bpf_map *, void *);
void * (*map_fd_get_ptr)(struct bpf_map *, struct file *, int);
void (*map_fd_put_ptr)(void *);
u32 (*map_gen_lookup)(struct bpf_map *, struct bpf_insn *);
u32 (*map_fd_sys_lookup_elem)(void *);
};
4.18
: ✅struct bpf_map_ops {
int (*map_alloc_check)(union bpf_attr *);
struct bpf_map * (*map_alloc)(union bpf_attr *);
void (*map_release)(struct bpf_map *, struct file *);
void (*map_free)(struct bpf_map *);
int (*map_get_next_key)(struct bpf_map *, void *, void *);
void (*map_release_uref)(struct bpf_map *);
void * (*map_lookup_elem)(struct bpf_map *, void *);
int (*map_update_elem)(struct bpf_map *, void *, void *, u64);
int (*map_delete_elem)(struct bpf_map *, void *);
void * (*map_fd_get_ptr)(struct bpf_map *, struct file *, int);
void (*map_fd_put_ptr)(void *);
u32 (*map_gen_lookup)(struct bpf_map *, struct bpf_insn *);
u32 (*map_fd_sys_lookup_elem)(void *);
void (*map_seq_show_elem)(struct bpf_map *, void *, struct seq_file *);
int (*map_check_btf)(const struct bpf_map *, const struct btf *, u32, u32);
};
5.0
: ✅struct bpf_map_ops {
int (*map_alloc_check)(union bpf_attr *);
struct bpf_map * (*map_alloc)(union bpf_attr *);
void (*map_release)(struct bpf_map *, struct file *);
void (*map_free)(struct bpf_map *);
int (*map_get_next_key)(struct bpf_map *, void *, void *);
void (*map_release_uref)(struct bpf_map *);
void * (*map_lookup_elem)(struct bpf_map *, void *);
int (*map_update_elem)(struct bpf_map *, void *, void *, u64);
int (*map_delete_elem)(struct bpf_map *, void *);
int (*map_push_elem)(struct bpf_map *, void *, u64);
int (*map_pop_elem)(struct bpf_map *, void *);
int (*map_peek_elem)(struct bpf_map *, void *);
void * (*map_fd_get_ptr)(struct bpf_map *, struct file *, int);
void (*map_fd_put_ptr)(void *);
u32 (*map_gen_lookup)(struct bpf_map *, struct bpf_insn *);
u32 (*map_fd_sys_lookup_elem)(void *);
void (*map_seq_show_elem)(struct bpf_map *, void *, struct seq_file *);
int (*map_check_btf)(const struct bpf_map *, const struct btf *, const struct btf_type *, const struct btf_type *);
};
5.3
: ✅struct bpf_map_ops {
int (*map_alloc_check)(union bpf_attr *);
struct bpf_map * (*map_alloc)(union bpf_attr *);
void (*map_release)(struct bpf_map *, struct file *);
void (*map_free)(struct bpf_map *);
int (*map_get_next_key)(struct bpf_map *, void *, void *);
void (*map_release_uref)(struct bpf_map *);
void * (*map_lookup_elem_sys_only)(struct bpf_map *, void *);
void * (*map_lookup_elem)(struct bpf_map *, void *);
int (*map_update_elem)(struct bpf_map *, void *, void *, u64);
int (*map_delete_elem)(struct bpf_map *, void *);
int (*map_push_elem)(struct bpf_map *, void *, u64);
int (*map_pop_elem)(struct bpf_map *, void *);
int (*map_peek_elem)(struct bpf_map *, void *);
void * (*map_fd_get_ptr)(struct bpf_map *, struct file *, int);
void (*map_fd_put_ptr)(void *);
u32 (*map_gen_lookup)(struct bpf_map *, struct bpf_insn *);
u32 (*map_fd_sys_lookup_elem)(void *);
void (*map_seq_show_elem)(struct bpf_map *, void *, struct seq_file *);
int (*map_check_btf)(const struct bpf_map *, const struct btf *, const struct btf_type *, const struct btf_type *);
int (*map_direct_value_addr)(const struct bpf_map *, u64 *, u32);
int (*map_direct_value_meta)(const struct bpf_map *, u64, u32 *);
};
5.4
: ✅struct bpf_map_ops {
int (*map_alloc_check)(union bpf_attr *);
struct bpf_map * (*map_alloc)(union bpf_attr *);
void (*map_release)(struct bpf_map *, struct file *);
void (*map_free)(struct bpf_map *);
int (*map_get_next_key)(struct bpf_map *, void *, void *);
void (*map_release_uref)(struct bpf_map *);
void * (*map_lookup_elem_sys_only)(struct bpf_map *, void *);
void * (*map_lookup_elem)(struct bpf_map *, void *);
int (*map_update_elem)(struct bpf_map *, void *, void *, u64);
int (*map_delete_elem)(struct bpf_map *, void *);
int (*map_push_elem)(struct bpf_map *, void *, u64);
int (*map_pop_elem)(struct bpf_map *, void *);
int (*map_peek_elem)(struct bpf_map *, void *);
void * (*map_fd_get_ptr)(struct bpf_map *, struct file *, int);
void (*map_fd_put_ptr)(void *);
u32 (*map_gen_lookup)(struct bpf_map *, struct bpf_insn *);
u32 (*map_fd_sys_lookup_elem)(void *);
void (*map_seq_show_elem)(struct bpf_map *, void *, struct seq_file *);
int (*map_check_btf)(const struct bpf_map *, const struct btf *, const struct btf_type *, const struct btf_type *);
int (*map_direct_value_addr)(const struct bpf_map *, u64 *, u32);
int (*map_direct_value_meta)(const struct bpf_map *, u64, u32 *);
};
5.8
: ✅struct bpf_map_ops {
int (*map_alloc_check)(union bpf_attr *);
struct bpf_map * (*map_alloc)(union bpf_attr *);
void (*map_release)(struct bpf_map *, struct file *);
void (*map_free)(struct bpf_map *);
int (*map_get_next_key)(struct bpf_map *, void *, void *);
void (*map_release_uref)(struct bpf_map *);
void * (*map_lookup_elem_sys_only)(struct bpf_map *, void *);
int (*map_lookup_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *);
int (*map_lookup_and_delete_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *);
int (*map_update_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *);
int (*map_delete_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *);
void * (*map_lookup_elem)(struct bpf_map *, void *);
int (*map_update_elem)(struct bpf_map *, void *, void *, u64);
int (*map_delete_elem)(struct bpf_map *, void *);
int (*map_push_elem)(struct bpf_map *, void *, u64);
int (*map_pop_elem)(struct bpf_map *, void *);
int (*map_peek_elem)(struct bpf_map *, void *);
void * (*map_fd_get_ptr)(struct bpf_map *, struct file *, int);
void (*map_fd_put_ptr)(void *);
u32 (*map_gen_lookup)(struct bpf_map *, struct bpf_insn *);
u32 (*map_fd_sys_lookup_elem)(void *);
void (*map_seq_show_elem)(struct bpf_map *, void *, struct seq_file *);
int (*map_check_btf)(const struct bpf_map *, const struct btf *, const struct btf_type *, const struct btf_type *);
int (*map_poke_track)(struct bpf_map *, struct bpf_prog_aux *);
void (*map_poke_untrack)(struct bpf_map *, struct bpf_prog_aux *);
void (*map_poke_run)(struct bpf_map *, u32, struct bpf_prog *, struct bpf_prog *);
int (*map_direct_value_addr)(const struct bpf_map *, u64 *, u32);
int (*map_direct_value_meta)(const struct bpf_map *, u64, u32 *);
int (*map_mmap)(struct bpf_map *, struct vm_area_struct *);
__poll_t (*map_poll)(struct bpf_map *, struct file *, struct poll_table_struct *);
};
5.11
: ✅struct bpf_map_ops {
int (*map_alloc_check)(union bpf_attr *);
struct bpf_map * (*map_alloc)(union bpf_attr *);
void (*map_release)(struct bpf_map *, struct file *);
void (*map_free)(struct bpf_map *);
int (*map_get_next_key)(struct bpf_map *, void *, void *);
void (*map_release_uref)(struct bpf_map *);
void * (*map_lookup_elem_sys_only)(struct bpf_map *, void *);
int (*map_lookup_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *);
int (*map_lookup_and_delete_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *);
int (*map_update_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *);
int (*map_delete_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *);
void * (*map_lookup_elem)(struct bpf_map *, void *);
int (*map_update_elem)(struct bpf_map *, void *, void *, u64);
int (*map_delete_elem)(struct bpf_map *, void *);
int (*map_push_elem)(struct bpf_map *, void *, u64);
int (*map_pop_elem)(struct bpf_map *, void *);
int (*map_peek_elem)(struct bpf_map *, void *);
void * (*map_fd_get_ptr)(struct bpf_map *, struct file *, int);
void (*map_fd_put_ptr)(void *);
int (*map_gen_lookup)(struct bpf_map *, struct bpf_insn *);
u32 (*map_fd_sys_lookup_elem)(void *);
void (*map_seq_show_elem)(struct bpf_map *, void *, struct seq_file *);
int (*map_check_btf)(const struct bpf_map *, const struct btf *, const struct btf_type *, const struct btf_type *);
int (*map_poke_track)(struct bpf_map *, struct bpf_prog_aux *);
void (*map_poke_untrack)(struct bpf_map *, struct bpf_prog_aux *);
void (*map_poke_run)(struct bpf_map *, u32, struct bpf_prog *, struct bpf_prog *);
int (*map_direct_value_addr)(const struct bpf_map *, u64 *, u32);
int (*map_direct_value_meta)(const struct bpf_map *, u64, u32 *);
int (*map_mmap)(struct bpf_map *, struct vm_area_struct *);
__poll_t (*map_poll)(struct bpf_map *, struct file *, struct poll_table_struct *);
int (*map_local_storage_charge)(struct bpf_local_storage_map *, void *, u32);
void (*map_local_storage_uncharge)(struct bpf_local_storage_map *, void *, u32);
struct bpf_local_storage ** (*map_owner_storage_ptr)(void *);
bool (*map_meta_equal)(const struct bpf_map *, const struct bpf_map *);
const const char * map_btf_name;
int *map_btf_id;
const struct bpf_iter_seq_info *iter_seq_info;
};
5.13
: ✅struct bpf_map_ops {
int (*map_alloc_check)(union bpf_attr *);
struct bpf_map * (*map_alloc)(union bpf_attr *);
void (*map_release)(struct bpf_map *, struct file *);
void (*map_free)(struct bpf_map *);
int (*map_get_next_key)(struct bpf_map *, void *, void *);
void (*map_release_uref)(struct bpf_map *);
void * (*map_lookup_elem_sys_only)(struct bpf_map *, void *);
int (*map_lookup_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *);
int (*map_lookup_and_delete_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *);
int (*map_update_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *);
int (*map_delete_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *);
void * (*map_lookup_elem)(struct bpf_map *, void *);
int (*map_update_elem)(struct bpf_map *, void *, void *, u64);
int (*map_delete_elem)(struct bpf_map *, void *);
int (*map_push_elem)(struct bpf_map *, void *, u64);
int (*map_pop_elem)(struct bpf_map *, void *);
int (*map_peek_elem)(struct bpf_map *, void *);
void * (*map_fd_get_ptr)(struct bpf_map *, struct file *, int);
void (*map_fd_put_ptr)(void *);
int (*map_gen_lookup)(struct bpf_map *, struct bpf_insn *);
u32 (*map_fd_sys_lookup_elem)(void *);
void (*map_seq_show_elem)(struct bpf_map *, void *, struct seq_file *);
int (*map_check_btf)(const struct bpf_map *, const struct btf *, const struct btf_type *, const struct btf_type *);
int (*map_poke_track)(struct bpf_map *, struct bpf_prog_aux *);
void (*map_poke_untrack)(struct bpf_map *, struct bpf_prog_aux *);
void (*map_poke_run)(struct bpf_map *, u32, struct bpf_prog *, struct bpf_prog *);
int (*map_direct_value_addr)(const struct bpf_map *, u64 *, u32);
int (*map_direct_value_meta)(const struct bpf_map *, u64, u32 *);
int (*map_mmap)(struct bpf_map *, struct vm_area_struct *);
__poll_t (*map_poll)(struct bpf_map *, struct file *, struct poll_table_struct *);
int (*map_local_storage_charge)(struct bpf_local_storage_map *, void *, u32);
void (*map_local_storage_uncharge)(struct bpf_local_storage_map *, void *, u32);
struct bpf_local_storage ** (*map_owner_storage_ptr)(void *);
int (*map_redirect)(struct bpf_map *, u32, u64);
bool (*map_meta_equal)(const struct bpf_map *, const struct bpf_map *);
int (*map_set_for_each_callback_args)(struct bpf_verifier_env *, struct bpf_func_state *, struct bpf_func_state *);
int (*map_for_each_callback)(struct bpf_map *, void *, void *, u64);
const const char * map_btf_name;
int *map_btf_id;
const struct bpf_iter_seq_info *iter_seq_info;
};
5.15
: ✅struct bpf_map_ops {
int (*map_alloc_check)(union bpf_attr *);
struct bpf_map * (*map_alloc)(union bpf_attr *);
void (*map_release)(struct bpf_map *, struct file *);
void (*map_free)(struct bpf_map *);
int (*map_get_next_key)(struct bpf_map *, void *, void *);
void (*map_release_uref)(struct bpf_map *);
void * (*map_lookup_elem_sys_only)(struct bpf_map *, void *);
int (*map_lookup_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *);
int (*map_lookup_and_delete_elem)(struct bpf_map *, void *, void *, u64);
int (*map_lookup_and_delete_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *);
int (*map_update_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *);
int (*map_delete_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *);
void * (*map_lookup_elem)(struct bpf_map *, void *);
int (*map_update_elem)(struct bpf_map *, void *, void *, u64);
int (*map_delete_elem)(struct bpf_map *, void *);
int (*map_push_elem)(struct bpf_map *, void *, u64);
int (*map_pop_elem)(struct bpf_map *, void *);
int (*map_peek_elem)(struct bpf_map *, void *);
void * (*map_fd_get_ptr)(struct bpf_map *, struct file *, int);
void (*map_fd_put_ptr)(void *);
int (*map_gen_lookup)(struct bpf_map *, struct bpf_insn *);
u32 (*map_fd_sys_lookup_elem)(void *);
void (*map_seq_show_elem)(struct bpf_map *, void *, struct seq_file *);
int (*map_check_btf)(const struct bpf_map *, const struct btf *, const struct btf_type *, const struct btf_type *);
int (*map_poke_track)(struct bpf_map *, struct bpf_prog_aux *);
void (*map_poke_untrack)(struct bpf_map *, struct bpf_prog_aux *);
void (*map_poke_run)(struct bpf_map *, u32, struct bpf_prog *, struct bpf_prog *);
int (*map_direct_value_addr)(const struct bpf_map *, u64 *, u32);
int (*map_direct_value_meta)(const struct bpf_map *, u64, u32 *);
int (*map_mmap)(struct bpf_map *, struct vm_area_struct *);
__poll_t (*map_poll)(struct bpf_map *, struct file *, struct poll_table_struct *);
int (*map_local_storage_charge)(struct bpf_local_storage_map *, void *, u32);
void (*map_local_storage_uncharge)(struct bpf_local_storage_map *, void *, u32);
struct bpf_local_storage ** (*map_owner_storage_ptr)(void *);
int (*map_redirect)(struct bpf_map *, u32, u64);
bool (*map_meta_equal)(const struct bpf_map *, const struct bpf_map *);
int (*map_set_for_each_callback_args)(struct bpf_verifier_env *, struct bpf_func_state *, struct bpf_func_state *);
int (*map_for_each_callback)(struct bpf_map *, void *, void *, u64);
const const char * map_btf_name;
int *map_btf_id;
const struct bpf_iter_seq_info *iter_seq_info;
};
5.19
: ✅struct bpf_map_ops {
int (*map_alloc_check)(union bpf_attr *);
struct bpf_map * (*map_alloc)(union bpf_attr *);
void (*map_release)(struct bpf_map *, struct file *);
void (*map_free)(struct bpf_map *);
int (*map_get_next_key)(struct bpf_map *, void *, void *);
void (*map_release_uref)(struct bpf_map *);
void * (*map_lookup_elem_sys_only)(struct bpf_map *, void *);
int (*map_lookup_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *);
int (*map_lookup_and_delete_elem)(struct bpf_map *, void *, void *, u64);
int (*map_lookup_and_delete_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *);
int (*map_update_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *);
int (*map_delete_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *);
void * (*map_lookup_elem)(struct bpf_map *, void *);
int (*map_update_elem)(struct bpf_map *, void *, void *, u64);
int (*map_delete_elem)(struct bpf_map *, void *);
int (*map_push_elem)(struct bpf_map *, void *, u64);
int (*map_pop_elem)(struct bpf_map *, void *);
int (*map_peek_elem)(struct bpf_map *, void *);
void * (*map_lookup_percpu_elem)(struct bpf_map *, void *, u32);
void * (*map_fd_get_ptr)(struct bpf_map *, struct file *, int);
void (*map_fd_put_ptr)(void *);
int (*map_gen_lookup)(struct bpf_map *, struct bpf_insn *);
u32 (*map_fd_sys_lookup_elem)(void *);
void (*map_seq_show_elem)(struct bpf_map *, void *, struct seq_file *);
int (*map_check_btf)(const struct bpf_map *, const struct btf *, const struct btf_type *, const struct btf_type *);
int (*map_poke_track)(struct bpf_map *, struct bpf_prog_aux *);
void (*map_poke_untrack)(struct bpf_map *, struct bpf_prog_aux *);
void (*map_poke_run)(struct bpf_map *, u32, struct bpf_prog *, struct bpf_prog *);
int (*map_direct_value_addr)(const struct bpf_map *, u64 *, u32);
int (*map_direct_value_meta)(const struct bpf_map *, u64, u32 *);
int (*map_mmap)(struct bpf_map *, struct vm_area_struct *);
__poll_t (*map_poll)(struct bpf_map *, struct file *, struct poll_table_struct *);
int (*map_local_storage_charge)(struct bpf_local_storage_map *, void *, u32);
void (*map_local_storage_uncharge)(struct bpf_local_storage_map *, void *, u32);
struct bpf_local_storage ** (*map_owner_storage_ptr)(void *);
int (*map_redirect)(struct bpf_map *, u32, u64);
bool (*map_meta_equal)(const struct bpf_map *, const struct bpf_map *);
int (*map_set_for_each_callback_args)(struct bpf_verifier_env *, struct bpf_func_state *, struct bpf_func_state *);
int (*map_for_each_callback)(struct bpf_map *, bpf_callback_t, void *, u64);
int *map_btf_id;
const struct bpf_iter_seq_info *iter_seq_info;
};
6.2
: ✅struct bpf_map_ops {
int (*map_alloc_check)(union bpf_attr *);
struct bpf_map * (*map_alloc)(union bpf_attr *);
void (*map_release)(struct bpf_map *, struct file *);
void (*map_free)(struct bpf_map *);
int (*map_get_next_key)(struct bpf_map *, void *, void *);
void (*map_release_uref)(struct bpf_map *);
void * (*map_lookup_elem_sys_only)(struct bpf_map *, void *);
int (*map_lookup_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *);
int (*map_lookup_and_delete_elem)(struct bpf_map *, void *, void *, u64);
int (*map_lookup_and_delete_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *);
int (*map_update_batch)(struct bpf_map *, struct file *, const union bpf_attr *, union bpf_attr *);
int (*map_delete_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *);
void * (*map_lookup_elem)(struct bpf_map *, void *);
int (*map_update_elem)(struct bpf_map *, void *, void *, u64);
int (*map_delete_elem)(struct bpf_map *, void *);
int (*map_push_elem)(struct bpf_map *, void *, u64);
int (*map_pop_elem)(struct bpf_map *, void *);
int (*map_peek_elem)(struct bpf_map *, void *);
void * (*map_lookup_percpu_elem)(struct bpf_map *, void *, u32);
void * (*map_fd_get_ptr)(struct bpf_map *, struct file *, int);
void (*map_fd_put_ptr)(void *);
int (*map_gen_lookup)(struct bpf_map *, struct bpf_insn *);
u32 (*map_fd_sys_lookup_elem)(void *);
void (*map_seq_show_elem)(struct bpf_map *, void *, struct seq_file *);
int (*map_check_btf)(const struct bpf_map *, const struct btf *, const struct btf_type *, const struct btf_type *);
int (*map_poke_track)(struct bpf_map *, struct bpf_prog_aux *);
void (*map_poke_untrack)(struct bpf_map *, struct bpf_prog_aux *);
void (*map_poke_run)(struct bpf_map *, u32, struct bpf_prog *, struct bpf_prog *);
int (*map_direct_value_addr)(const struct bpf_map *, u64 *, u32);
int (*map_direct_value_meta)(const struct bpf_map *, u64, u32 *);
int (*map_mmap)(struct bpf_map *, struct vm_area_struct *);
__poll_t (*map_poll)(struct bpf_map *, struct file *, struct poll_table_struct *);
int (*map_local_storage_charge)(struct bpf_local_storage_map *, void *, u32);
void (*map_local_storage_uncharge)(struct bpf_local_storage_map *, void *, u32);
struct bpf_local_storage ** (*map_owner_storage_ptr)(void *);
int (*map_redirect)(struct bpf_map *, u64, u64);
bool (*map_meta_equal)(const struct bpf_map *, const struct bpf_map *);
int (*map_set_for_each_callback_args)(struct bpf_verifier_env *, struct bpf_func_state *, struct bpf_func_state *);
int (*map_for_each_callback)(struct bpf_map *, bpf_callback_t, void *, u64);
int *map_btf_id;
const struct bpf_iter_seq_info *iter_seq_info;
};
6.5
: ✅struct bpf_map_ops {
int (*map_alloc_check)(union bpf_attr *);
struct bpf_map * (*map_alloc)(union bpf_attr *);
void (*map_release)(struct bpf_map *, struct file *);
void (*map_free)(struct bpf_map *);
int (*map_get_next_key)(struct bpf_map *, void *, void *);
void (*map_release_uref)(struct bpf_map *);
void * (*map_lookup_elem_sys_only)(struct bpf_map *, void *);
int (*map_lookup_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *);
int (*map_lookup_and_delete_elem)(struct bpf_map *, void *, void *, u64);
int (*map_lookup_and_delete_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *);
int (*map_update_batch)(struct bpf_map *, struct file *, const union bpf_attr *, union bpf_attr *);
int (*map_delete_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *);
void * (*map_lookup_elem)(struct bpf_map *, void *);
long int (*map_update_elem)(struct bpf_map *, void *, void *, u64);
long int (*map_delete_elem)(struct bpf_map *, void *);
long int (*map_push_elem)(struct bpf_map *, void *, u64);
long int (*map_pop_elem)(struct bpf_map *, void *);
long int (*map_peek_elem)(struct bpf_map *, void *);
void * (*map_lookup_percpu_elem)(struct bpf_map *, void *, u32);
void * (*map_fd_get_ptr)(struct bpf_map *, struct file *, int);
void (*map_fd_put_ptr)(void *);
int (*map_gen_lookup)(struct bpf_map *, struct bpf_insn *);
u32 (*map_fd_sys_lookup_elem)(void *);
void (*map_seq_show_elem)(struct bpf_map *, void *, struct seq_file *);
int (*map_check_btf)(const struct bpf_map *, const struct btf *, const struct btf_type *, const struct btf_type *);
int (*map_poke_track)(struct bpf_map *, struct bpf_prog_aux *);
void (*map_poke_untrack)(struct bpf_map *, struct bpf_prog_aux *);
void (*map_poke_run)(struct bpf_map *, u32, struct bpf_prog *, struct bpf_prog *);
int (*map_direct_value_addr)(const struct bpf_map *, u64 *, u32);
int (*map_direct_value_meta)(const struct bpf_map *, u64, u32 *);
int (*map_mmap)(struct bpf_map *, struct vm_area_struct *);
__poll_t (*map_poll)(struct bpf_map *, struct file *, struct poll_table_struct *);
int (*map_local_storage_charge)(struct bpf_local_storage_map *, void *, u32);
void (*map_local_storage_uncharge)(struct bpf_local_storage_map *, void *, u32);
struct bpf_local_storage ** (*map_owner_storage_ptr)(void *);
long int (*map_redirect)(struct bpf_map *, u64, u64);
bool (*map_meta_equal)(const struct bpf_map *, const struct bpf_map *);
int (*map_set_for_each_callback_args)(struct bpf_verifier_env *, struct bpf_func_state *, struct bpf_func_state *);
long int (*map_for_each_callback)(struct bpf_map *, bpf_callback_t, void *, u64);
u64 (*map_mem_usage)(const struct bpf_map *);
int *map_btf_id;
const struct bpf_iter_seq_info *iter_seq_info;
};
6.8
: ✅struct bpf_map_ops {
int (*map_alloc_check)(union bpf_attr *);
struct bpf_map * (*map_alloc)(union bpf_attr *);
void (*map_release)(struct bpf_map *, struct file *);
void (*map_free)(struct bpf_map *);
int (*map_get_next_key)(struct bpf_map *, void *, void *);
void (*map_release_uref)(struct bpf_map *);
void * (*map_lookup_elem_sys_only)(struct bpf_map *, void *);
int (*map_lookup_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *);
int (*map_lookup_and_delete_elem)(struct bpf_map *, void *, void *, u64);
int (*map_lookup_and_delete_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *);
int (*map_update_batch)(struct bpf_map *, struct file *, const union bpf_attr *, union bpf_attr *);
int (*map_delete_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *);
void * (*map_lookup_elem)(struct bpf_map *, void *);
long int (*map_update_elem)(struct bpf_map *, void *, void *, u64);
long int (*map_delete_elem)(struct bpf_map *, void *);
long int (*map_push_elem)(struct bpf_map *, void *, u64);
long int (*map_pop_elem)(struct bpf_map *, void *);
long int (*map_peek_elem)(struct bpf_map *, void *);
void * (*map_lookup_percpu_elem)(struct bpf_map *, void *, u32);
void * (*map_fd_get_ptr)(struct bpf_map *, struct file *, int);
void (*map_fd_put_ptr)(struct bpf_map *, void *, bool);
int (*map_gen_lookup)(struct bpf_map *, struct bpf_insn *);
u32 (*map_fd_sys_lookup_elem)(void *);
void (*map_seq_show_elem)(struct bpf_map *, void *, struct seq_file *);
int (*map_check_btf)(const struct bpf_map *, const struct btf *, const struct btf_type *, const struct btf_type *);
int (*map_poke_track)(struct bpf_map *, struct bpf_prog_aux *);
void (*map_poke_untrack)(struct bpf_map *, struct bpf_prog_aux *);
void (*map_poke_run)(struct bpf_map *, u32, struct bpf_prog *, struct bpf_prog *);
int (*map_direct_value_addr)(const struct bpf_map *, u64 *, u32);
int (*map_direct_value_meta)(const struct bpf_map *, u64, u32 *);
int (*map_mmap)(struct bpf_map *, struct vm_area_struct *);
__poll_t (*map_poll)(struct bpf_map *, struct file *, struct poll_table_struct *);
int (*map_local_storage_charge)(struct bpf_local_storage_map *, void *, u32);
void (*map_local_storage_uncharge)(struct bpf_local_storage_map *, void *, u32);
struct bpf_local_storage ** (*map_owner_storage_ptr)(void *);
long int (*map_redirect)(struct bpf_map *, u64, u64);
bool (*map_meta_equal)(const struct bpf_map *, const struct bpf_map *);
int (*map_set_for_each_callback_args)(struct bpf_verifier_env *, struct bpf_func_state *, struct bpf_func_state *);
long int (*map_for_each_callback)(struct bpf_map *, bpf_callback_t, void *, u64);
u64 (*map_mem_usage)(const struct bpf_map *);
int *map_btf_id;
const struct bpf_iter_seq_info *iter_seq_info;
};
arm64
: ✅struct bpf_map_ops {
int (*map_alloc_check)(union bpf_attr *);
struct bpf_map * (*map_alloc)(union bpf_attr *);
void (*map_release)(struct bpf_map *, struct file *);
void (*map_free)(struct bpf_map *);
int (*map_get_next_key)(struct bpf_map *, void *, void *);
void (*map_release_uref)(struct bpf_map *);
void * (*map_lookup_elem_sys_only)(struct bpf_map *, void *);
void * (*map_lookup_elem)(struct bpf_map *, void *);
int (*map_update_elem)(struct bpf_map *, void *, void *, u64);
int (*map_delete_elem)(struct bpf_map *, void *);
int (*map_push_elem)(struct bpf_map *, void *, u64);
int (*map_pop_elem)(struct bpf_map *, void *);
int (*map_peek_elem)(struct bpf_map *, void *);
void * (*map_fd_get_ptr)(struct bpf_map *, struct file *, int);
void (*map_fd_put_ptr)(void *);
u32 (*map_gen_lookup)(struct bpf_map *, struct bpf_insn *);
u32 (*map_fd_sys_lookup_elem)(void *);
void (*map_seq_show_elem)(struct bpf_map *, void *, struct seq_file *);
int (*map_check_btf)(const struct bpf_map *, const struct btf *, const struct btf_type *, const struct btf_type *);
int (*map_direct_value_addr)(const struct bpf_map *, u64 *, u32);
int (*map_direct_value_meta)(const struct bpf_map *, u64, u32 *);
};
armhf
: ✅struct bpf_map_ops {
int (*map_alloc_check)(union bpf_attr *);
struct bpf_map * (*map_alloc)(union bpf_attr *);
void (*map_release)(struct bpf_map *, struct file *);
void (*map_free)(struct bpf_map *);
int (*map_get_next_key)(struct bpf_map *, void *, void *);
void (*map_release_uref)(struct bpf_map *);
void * (*map_lookup_elem_sys_only)(struct bpf_map *, void *);
void * (*map_lookup_elem)(struct bpf_map *, void *);
int (*map_update_elem)(struct bpf_map *, void *, void *, u64);
int (*map_delete_elem)(struct bpf_map *, void *);
int (*map_push_elem)(struct bpf_map *, void *, u64);
int (*map_pop_elem)(struct bpf_map *, void *);
int (*map_peek_elem)(struct bpf_map *, void *);
void * (*map_fd_get_ptr)(struct bpf_map *, struct file *, int);
void (*map_fd_put_ptr)(void *);
u32 (*map_gen_lookup)(struct bpf_map *, struct bpf_insn *);
u32 (*map_fd_sys_lookup_elem)(void *);
void (*map_seq_show_elem)(struct bpf_map *, void *, struct seq_file *);
int (*map_check_btf)(const struct bpf_map *, const struct btf *, const struct btf_type *, const struct btf_type *);
int (*map_direct_value_addr)(const struct bpf_map *, u64 *, u32);
int (*map_direct_value_meta)(const struct bpf_map *, u64, u32 *);
};
ppc64el
: ✅struct bpf_map_ops {
int (*map_alloc_check)(union bpf_attr *);
struct bpf_map * (*map_alloc)(union bpf_attr *);
void (*map_release)(struct bpf_map *, struct file *);
void (*map_free)(struct bpf_map *);
int (*map_get_next_key)(struct bpf_map *, void *, void *);
void (*map_release_uref)(struct bpf_map *);
void * (*map_lookup_elem_sys_only)(struct bpf_map *, void *);
void * (*map_lookup_elem)(struct bpf_map *, void *);
int (*map_update_elem)(struct bpf_map *, void *, void *, u64);
int (*map_delete_elem)(struct bpf_map *, void *);
int (*map_push_elem)(struct bpf_map *, void *, u64);
int (*map_pop_elem)(struct bpf_map *, void *);
int (*map_peek_elem)(struct bpf_map *, void *);
void * (*map_fd_get_ptr)(struct bpf_map *, struct file *, int);
void (*map_fd_put_ptr)(void *);
u32 (*map_gen_lookup)(struct bpf_map *, struct bpf_insn *);
u32 (*map_fd_sys_lookup_elem)(void *);
void (*map_seq_show_elem)(struct bpf_map *, void *, struct seq_file *);
int (*map_check_btf)(const struct bpf_map *, const struct btf *, const struct btf_type *, const struct btf_type *);
int (*map_direct_value_addr)(const struct bpf_map *, u64 *, u32);
int (*map_direct_value_meta)(const struct bpf_map *, u64, u32 *);
};
riscv64
: ✅struct bpf_map_ops {
int (*map_alloc_check)(union bpf_attr *);
struct bpf_map * (*map_alloc)(union bpf_attr *);
void (*map_release)(struct bpf_map *, struct file *);
void (*map_free)(struct bpf_map *);
int (*map_get_next_key)(struct bpf_map *, void *, void *);
void (*map_release_uref)(struct bpf_map *);
void * (*map_lookup_elem_sys_only)(struct bpf_map *, void *);
void * (*map_lookup_elem)(struct bpf_map *, void *);
int (*map_update_elem)(struct bpf_map *, void *, void *, u64);
int (*map_delete_elem)(struct bpf_map *, void *);
int (*map_push_elem)(struct bpf_map *, void *, u64);
int (*map_pop_elem)(struct bpf_map *, void *);
int (*map_peek_elem)(struct bpf_map *, void *);
void * (*map_fd_get_ptr)(struct bpf_map *, struct file *, int);
void (*map_fd_put_ptr)(void *);
u32 (*map_gen_lookup)(struct bpf_map *, struct bpf_insn *);
u32 (*map_fd_sys_lookup_elem)(void *);
void (*map_seq_show_elem)(struct bpf_map *, void *, struct seq_file *);
int (*map_check_btf)(const struct bpf_map *, const struct btf *, const struct btf_type *, const struct btf_type *);
int (*map_direct_value_addr)(const struct bpf_map *, u64 *, u32);
int (*map_direct_value_meta)(const struct bpf_map *, u64, u32 *);
};
aws
: ✅struct bpf_map_ops {
int (*map_alloc_check)(union bpf_attr *);
struct bpf_map * (*map_alloc)(union bpf_attr *);
void (*map_release)(struct bpf_map *, struct file *);
void (*map_free)(struct bpf_map *);
int (*map_get_next_key)(struct bpf_map *, void *, void *);
void (*map_release_uref)(struct bpf_map *);
void * (*map_lookup_elem_sys_only)(struct bpf_map *, void *);
void * (*map_lookup_elem)(struct bpf_map *, void *);
int (*map_update_elem)(struct bpf_map *, void *, void *, u64);
int (*map_delete_elem)(struct bpf_map *, void *);
int (*map_push_elem)(struct bpf_map *, void *, u64);
int (*map_pop_elem)(struct bpf_map *, void *);
int (*map_peek_elem)(struct bpf_map *, void *);
void * (*map_fd_get_ptr)(struct bpf_map *, struct file *, int);
void (*map_fd_put_ptr)(void *);
u32 (*map_gen_lookup)(struct bpf_map *, struct bpf_insn *);
u32 (*map_fd_sys_lookup_elem)(void *);
void (*map_seq_show_elem)(struct bpf_map *, void *, struct seq_file *);
int (*map_check_btf)(const struct bpf_map *, const struct btf *, const struct btf_type *, const struct btf_type *);
int (*map_direct_value_addr)(const struct bpf_map *, u64 *, u32);
int (*map_direct_value_meta)(const struct bpf_map *, u64, u32 *);
};
azure
: ✅struct bpf_map_ops {
int (*map_alloc_check)(union bpf_attr *);
struct bpf_map * (*map_alloc)(union bpf_attr *);
void (*map_release)(struct bpf_map *, struct file *);
void (*map_free)(struct bpf_map *);
int (*map_get_next_key)(struct bpf_map *, void *, void *);
void (*map_release_uref)(struct bpf_map *);
void * (*map_lookup_elem_sys_only)(struct bpf_map *, void *);
void * (*map_lookup_elem)(struct bpf_map *, void *);
int (*map_update_elem)(struct bpf_map *, void *, void *, u64);
int (*map_delete_elem)(struct bpf_map *, void *);
int (*map_push_elem)(struct bpf_map *, void *, u64);
int (*map_pop_elem)(struct bpf_map *, void *);
int (*map_peek_elem)(struct bpf_map *, void *);
void * (*map_fd_get_ptr)(struct bpf_map *, struct file *, int);
void (*map_fd_put_ptr)(void *);
u32 (*map_gen_lookup)(struct bpf_map *, struct bpf_insn *);
u32 (*map_fd_sys_lookup_elem)(void *);
void (*map_seq_show_elem)(struct bpf_map *, void *, struct seq_file *);
int (*map_check_btf)(const struct bpf_map *, const struct btf *, const struct btf_type *, const struct btf_type *);
int (*map_direct_value_addr)(const struct bpf_map *, u64 *, u32);
int (*map_direct_value_meta)(const struct bpf_map *, u64, u32 *);
};
gcp
: ✅struct bpf_map_ops {
int (*map_alloc_check)(union bpf_attr *);
struct bpf_map * (*map_alloc)(union bpf_attr *);
void (*map_release)(struct bpf_map *, struct file *);
void (*map_free)(struct bpf_map *);
int (*map_get_next_key)(struct bpf_map *, void *, void *);
void (*map_release_uref)(struct bpf_map *);
void * (*map_lookup_elem_sys_only)(struct bpf_map *, void *);
void * (*map_lookup_elem)(struct bpf_map *, void *);
int (*map_update_elem)(struct bpf_map *, void *, void *, u64);
int (*map_delete_elem)(struct bpf_map *, void *);
int (*map_push_elem)(struct bpf_map *, void *, u64);
int (*map_pop_elem)(struct bpf_map *, void *);
int (*map_peek_elem)(struct bpf_map *, void *);
void * (*map_fd_get_ptr)(struct bpf_map *, struct file *, int);
void (*map_fd_put_ptr)(void *);
u32 (*map_gen_lookup)(struct bpf_map *, struct bpf_insn *);
u32 (*map_fd_sys_lookup_elem)(void *);
void (*map_seq_show_elem)(struct bpf_map *, void *, struct seq_file *);
int (*map_check_btf)(const struct bpf_map *, const struct btf *, const struct btf_type *, const struct btf_type *);
int (*map_direct_value_addr)(const struct bpf_map *, u64 *, u32);
int (*map_direct_value_meta)(const struct bpf_map *, u64, u32 *);
};
lowlatency
: ✅struct bpf_map_ops {
int (*map_alloc_check)(union bpf_attr *);
struct bpf_map * (*map_alloc)(union bpf_attr *);
void (*map_release)(struct bpf_map *, struct file *);
void (*map_free)(struct bpf_map *);
int (*map_get_next_key)(struct bpf_map *, void *, void *);
void (*map_release_uref)(struct bpf_map *);
void * (*map_lookup_elem_sys_only)(struct bpf_map *, void *);
void * (*map_lookup_elem)(struct bpf_map *, void *);
int (*map_update_elem)(struct bpf_map *, void *, void *, u64);
int (*map_delete_elem)(struct bpf_map *, void *);
int (*map_push_elem)(struct bpf_map *, void *, u64);
int (*map_pop_elem)(struct bpf_map *, void *);
int (*map_peek_elem)(struct bpf_map *, void *);
void * (*map_fd_get_ptr)(struct bpf_map *, struct file *, int);
void (*map_fd_put_ptr)(void *);
u32 (*map_gen_lookup)(struct bpf_map *, struct bpf_insn *);
u32 (*map_fd_sys_lookup_elem)(void *);
void (*map_seq_show_elem)(struct bpf_map *, void *, struct seq_file *);
int (*map_check_btf)(const struct bpf_map *, const struct btf *, const struct btf_type *, const struct btf_type *);
int (*map_direct_value_addr)(const struct bpf_map *, u64 *, u32);
int (*map_direct_value_meta)(const struct bpf_map *, u64, u32 *);
};
Regular
4.4
and 4.8
⚠️void (*map_release)(struct bpf_map *, struct file *)
void * (*map_fd_get_ptr)(struct bpf_map *, int)
➡️ void * (*map_fd_get_ptr)(struct bpf_map *, struct file *, int)
4.8
and 4.10
✅
4.10
and 4.13
⚠️u32 (*map_gen_lookup)(struct bpf_map *, struct bpf_insn *)
u32 (*map_fd_sys_lookup_elem)(void *)
4.13
and 4.15
✅
4.15
and 4.18
⚠️int (*map_alloc_check)(union bpf_attr *)
void (*map_release_uref)(struct bpf_map *)
void (*map_seq_show_elem)(struct bpf_map *, void *, struct seq_file *)
int (*map_check_btf)(const struct bpf_map *, const struct btf *, u32, u32)
4.18
and 5.0
⚠️int (*map_push_elem)(struct bpf_map *, void *, u64)
int (*map_pop_elem)(struct bpf_map *, void *)
int (*map_peek_elem)(struct bpf_map *, void *)
int (*map_check_btf)(const struct bpf_map *, const struct btf *, u32, u32)
➡️ int (*map_check_btf)(const struct bpf_map *, const struct btf *, const struct btf_type *, const struct btf_type *)
5.0
and 5.3
⚠️void * (*map_lookup_elem_sys_only)(struct bpf_map *, void *)
int (*map_direct_value_addr)(const struct bpf_map *, u64 *, u32)
int (*map_direct_value_meta)(const struct bpf_map *, u64, u32 *)
5.3
and 5.4
✅
5.4
and 5.8
⚠️int (*map_lookup_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *)
int (*map_lookup_and_delete_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *)
int (*map_update_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *)
int (*map_delete_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *)
int (*map_poke_track)(struct bpf_map *, struct bpf_prog_aux *)
void (*map_poke_untrack)(struct bpf_map *, struct bpf_prog_aux *)
void (*map_poke_run)(struct bpf_map *, u32, struct bpf_prog *, struct bpf_prog *)
int (*map_mmap)(struct bpf_map *, struct vm_area_struct *)
__poll_t (*map_poll)(struct bpf_map *, struct file *, struct poll_table_struct *)
5.8
and 5.11
⚠️int (*map_local_storage_charge)(struct bpf_local_storage_map *, void *, u32)
void (*map_local_storage_uncharge)(struct bpf_local_storage_map *, void *, u32)
struct bpf_local_storage ** (*map_owner_storage_ptr)(void *)
bool (*map_meta_equal)(const struct bpf_map *, const struct bpf_map *)
const const char * map_btf_name
int *map_btf_id
const struct bpf_iter_seq_info *iter_seq_info
u32 (*map_gen_lookup)(struct bpf_map *, struct bpf_insn *)
➡️ int (*map_gen_lookup)(struct bpf_map *, struct bpf_insn *)
5.11
and 5.13
⚠️int (*map_redirect)(struct bpf_map *, u32, u64)
int (*map_set_for_each_callback_args)(struct bpf_verifier_env *, struct bpf_func_state *, struct bpf_func_state *)
int (*map_for_each_callback)(struct bpf_map *, void *, void *, u64)
5.13
and 5.15
⚠️int (*map_lookup_and_delete_elem)(struct bpf_map *, void *, void *, u64)
5.15
and 5.19
⚠️void * (*map_lookup_percpu_elem)(struct bpf_map *, void *, u32)
const const char * map_btf_name
int (*map_for_each_callback)(struct bpf_map *, void *, void *, u64)
➡️ int (*map_for_each_callback)(struct bpf_map *, bpf_callback_t, void *, u64)
5.19
and 6.2
⚠️int (*map_update_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *)
➡️ int (*map_update_batch)(struct bpf_map *, struct file *, const union bpf_attr *, union bpf_attr *)
int (*map_redirect)(struct bpf_map *, u32, u64)
➡️ int (*map_redirect)(struct bpf_map *, u64, u64)
6.2
and 6.5
⚠️u64 (*map_mem_usage)(const struct bpf_map *)
int (*map_update_elem)(struct bpf_map *, void *, void *, u64)
➡️ long int (*map_update_elem)(struct bpf_map *, void *, void *, u64)
int (*map_delete_elem)(struct bpf_map *, void *)
➡️ long int (*map_delete_elem)(struct bpf_map *, void *)
int (*map_push_elem)(struct bpf_map *, void *, u64)
➡️ long int (*map_push_elem)(struct bpf_map *, void *, u64)
int (*map_pop_elem)(struct bpf_map *, void *)
➡️ long int (*map_pop_elem)(struct bpf_map *, void *)
int (*map_peek_elem)(struct bpf_map *, void *)
➡️ long int (*map_peek_elem)(struct bpf_map *, void *)
int (*map_redirect)(struct bpf_map *, u64, u64)
➡️ long int (*map_redirect)(struct bpf_map *, u64, u64)
int (*map_for_each_callback)(struct bpf_map *, bpf_callback_t, void *, u64)
➡️ long int (*map_for_each_callback)(struct bpf_map *, bpf_callback_t, void *, u64)
6.5
and 6.8
⚠️void (*map_fd_put_ptr)(void *)
➡️ void (*map_fd_put_ptr)(struct bpf_map *, void *, bool)
amd64
and arm64
✅
amd64
and armhf
✅
amd64
and ppc64el
✅
amd64
and riscv64
✅
generic
and aws
✅
generic
and azure
✅
generic
and gcp
✅
generic
and lowlatency
✅