bpf_map_opsRegular
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 ✅