/linux-6.1.9/kernel/bpf/ |
D | map_in_map.c | 12 struct bpf_map *inner_map, *inner_map_meta; in bpf_map_meta_alloc() local 17 inner_map = __bpf_map_get(f); in bpf_map_meta_alloc() 18 if (IS_ERR(inner_map)) in bpf_map_meta_alloc() 19 return inner_map; in bpf_map_meta_alloc() 22 if (inner_map->inner_map_meta) { in bpf_map_meta_alloc() 27 if (!inner_map->ops->map_meta_equal) { in bpf_map_meta_alloc() 32 if (map_value_has_spin_lock(inner_map)) { in bpf_map_meta_alloc() 39 if (inner_map->ops == &array_map_ops) in bpf_map_meta_alloc() 48 inner_map_meta->map_type = inner_map->map_type; in bpf_map_meta_alloc() 49 inner_map_meta->key_size = inner_map->key_size; in bpf_map_meta_alloc() [all …]
|
D | arraymap.c | 1338 struct bpf_map **inner_map = array_map_lookup_elem(map, key); in array_of_map_lookup_elem() local 1340 if (!inner_map) in array_of_map_lookup_elem() 1343 return READ_ONCE(*inner_map); in array_of_map_lookup_elem()
|
D | hashtab.c | 1794 struct bpf_map **inner_map = value; in __htab_map_lookup_and_delete_batch() local 1797 map_id = map->ops->map_fd_sys_lookup_elem(*inner_map); in __htab_map_lookup_and_delete_batch() 2489 struct bpf_map **inner_map = htab_map_lookup_elem(map, key); in htab_of_map_lookup_elem() local 2491 if (!inner_map) in htab_of_map_lookup_elem() 2494 return READ_ONCE(*inner_map); in htab_of_map_lookup_elem()
|
/linux-6.1.9/tools/testing/selftests/bpf/progs/ |
D | test_btf_map_in_map.c | 6 struct inner_map { struct 89 __array(values, struct inner_map); 126 struct inner_map *inner_map; in handle__sys_enter() local 129 inner_map = bpf_map_lookup_elem(&outer_arr, &key); in handle__sys_enter() 130 if (!inner_map) in handle__sys_enter() 133 bpf_map_update_elem(inner_map, &key, &val, 0); in handle__sys_enter() 135 inner_map = bpf_map_lookup_elem(&outer_hash, &key); in handle__sys_enter() 136 if (!inner_map) in handle__sys_enter() 139 bpf_map_update_elem(inner_map, &key, &val, 0); in handle__sys_enter() 141 inner_map = bpf_map_lookup_elem(&outer_arr_dyn, &key); in handle__sys_enter() [all …]
|
D | lsm.c | 55 struct inner_map { struct 60 } inner_map SEC(".maps"); 67 __array(values, struct inner_map); 69 .values = { [0] = &inner_map }, 76 __array(values, struct inner_map); 78 .values = { [0] = &inner_map }, 112 struct inner_map *inner_map; in BPF_PROG() local 141 inner_map = bpf_map_lookup_elem(&outer_arr, &key); in BPF_PROG() 142 if (inner_map) { in BPF_PROG() 143 value = bpf_map_lookup_elem(inner_map, &key); in BPF_PROG() [all …]
|
D | timer_mim.c | 15 struct inner_map { struct 30 __array(values, struct inner_map); 68 struct bpf_map *inner_map; in BPF_PROG() local 73 inner_map = bpf_map_lookup_elem(&outer_arr, &array_key); in BPF_PROG() 74 if (!inner_map) in BPF_PROG() 77 bpf_map_update_elem(inner_map, &hash_key, &init, 0); in BPF_PROG() 78 val = bpf_map_lookup_elem(inner_map, &hash_key); in BPF_PROG() 82 bpf_timer_init(&val->timer, inner_map, CLOCK_MONOTONIC); in BPF_PROG()
|
D | timer_mim_reject.c | 15 struct inner_map { struct 31 __array(values, struct inner_map); 50 struct bpf_map *inner_map, *inner_map2; in BPF_PROG() local 56 inner_map = bpf_map_lookup_elem(&outer_arr, &array_key); in BPF_PROG() 57 if (!inner_map) in BPF_PROG() 63 bpf_map_update_elem(inner_map, &hash_key, &init, 0); in BPF_PROG() 64 val = bpf_map_lookup_elem(inner_map, &hash_key); in BPF_PROG()
|
D | bloom_filter_map.c | 56 int inner_map(void *ctx) in inner_map() function 58 struct bpf_map *inner_map; in inner_map() local 62 inner_map = bpf_map_lookup_elem(&outer_map, &key); in inner_map() 63 if (!inner_map) { in inner_map() 68 data.map = inner_map; in inner_map()
|
D | local_storage_bench.c | 53 void *map, *inner_map; in do_lookup() local 61 inner_map = bpf_map_lookup_elem(map, &elem); in do_lookup() 62 if (!inner_map) in do_lookup() 67 bpf_map_lookup_elem(inner_map, &idx); in do_lookup() 69 bpf_task_storage_get(inner_map, lctx->task, &idx, in do_lookup()
|
D | map_ptr_kern.c | 339 struct inner_map { struct 344 } inner_map SEC(".maps"); 358 .values = { (void *)&inner_map, 0, 0, 0, 0, 0, 0, 0, 0 }, 365 struct bpf_array *inner_map; in check_array_of_maps() local 369 inner_map = bpf_map_lookup_elem(array_of_maps, &key); in check_array_of_maps() 370 VERIFY(inner_map != NULL); in check_array_of_maps() 371 VERIFY(inner_map->map.max_entries == INNER_MAX_ENTRIES); in check_array_of_maps() 381 __array(values, struct inner_map); 384 [2] = &inner_map, 392 struct bpf_htab *inner_map; in check_hash_of_maps() local [all …]
|
/linux-6.1.9/samples/bpf/ |
D | test_map_in_map_kern.c | 76 static __always_inline int do_reg_lookup(void *inner_map, u32 port) in do_reg_lookup() argument 80 result = bpf_map_lookup_elem(inner_map, &port); in do_reg_lookup() 84 static __always_inline int do_inline_array_lookup(void *inner_map, u32 port) in do_inline_array_lookup() argument 88 if (inner_map != &port_a) in do_inline_array_lookup() 95 static __always_inline int do_inline_hash_lookup(void *inner_map, u32 port) in do_inline_hash_lookup() argument 99 if (inner_map != &port_h) in do_inline_hash_lookup() 113 void *outer_map, *inner_map; in trace_sys_connect() local 154 inner_map = bpf_map_lookup_elem(outer_map, &port_key); in trace_sys_connect() 155 if (!inner_map) { in trace_sys_connect() 161 ret = do_reg_lookup(inner_map, port_key); in trace_sys_connect() [all …]
|
/linux-6.1.9/tools/testing/selftests/bpf/benchs/ |
D | bench_local_storage.c | 117 struct bpf_map *inner_map; in __setup() local 127 inner_map = bpf_map__inner_map(ctx.array_of_maps); in __setup() 128 create_opts.btf_key_type_id = bpf_map__btf_key_type_id(inner_map); in __setup() 129 create_opts.btf_value_type_id = bpf_map__btf_value_type_id(inner_map); in __setup()
|
/linux-6.1.9/tools/testing/selftests/bpf/prog_tests/ |
D | sockmap_listen.c | 1023 struct bpf_map *inner_map, int family, in test_skb_redir_to_connected() argument 1029 int sock_map = bpf_map__fd(inner_map); in test_skb_redir_to_connected() 1048 struct bpf_map *inner_map, int family, in test_msg_redir_to_connected() argument 1053 int sock_map = bpf_map__fd(inner_map); in test_msg_redir_to_connected() 1125 struct bpf_map *inner_map, int family, in test_skb_redir_to_listening() argument 1131 int sock_map = bpf_map__fd(inner_map); in test_skb_redir_to_listening() 1150 struct bpf_map *inner_map, int family, in test_msg_redir_to_listening() argument 1155 int sock_map = bpf_map__fd(inner_map); in test_msg_redir_to_listening() 1614 struct bpf_map *inner_map, int sotype) in unix_skb_redir_to_connected() argument 1618 int sock_map = bpf_map__fd(inner_map); in unix_skb_redir_to_connected() [all …]
|
D | bloom_filter_map.c | 123 link = bpf_program__attach(skel->progs.inner_map); in test_inner_map()
|
/linux-6.1.9/tools/bpf/bpftool/Documentation/ |
D | bpftool-map.rst | 30 | **entries** *MAX_ENTRIES* **name** *NAME* [**flags** *FLAGS*] [**inner_map** *MAP*] \ 76 …SIZE* **entries** *MAX_ENTRIES* **name** *NAME* [**flags** *FLAGS*] [**inner_map** *MAP*] [**dev*… 85 **inner_map** keyword must be used to pass an inner map. The
|
/linux-6.1.9/tools/lib/bpf/ |
D | libbpf.c | 508 struct bpf_map *inner_map; member 2535 map->inner_map = calloc(1, sizeof(*map->inner_map)); in bpf_object__init_user_btf_map() 2536 if (!map->inner_map) in bpf_object__init_user_btf_map() 2538 map->inner_map->fd = -1; in bpf_object__init_user_btf_map() 2539 map->inner_map->sec_idx = sec_idx; in bpf_object__init_user_btf_map() 2540 map->inner_map->name = malloc(strlen(map_name) + sizeof(".inner") + 1); in bpf_object__init_user_btf_map() 2541 if (!map->inner_map->name) in bpf_object__init_user_btf_map() 2543 sprintf(map->inner_map->name, "%s.inner", map_name); in bpf_object__init_user_btf_map() 2545 fill_map_from_def(map->inner_map, &inner_def); in bpf_object__init_user_btf_map() 4391 return map->inner_map; in bpf_map__inner_map() [all …]
|
/linux-6.1.9/tools/bpf/bpftool/bash-completion/ |
D | bpftool | 714 inner_map) 723 inner_map) 739 _bpftool_once_attr 'inner_map'
|