| /linux/tools/testing/selftests/bpf/progs/ |
| H A 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() 122 struct bpf_map *inner_map; in BPF_PROG() local 126 inner_map = bpf_map_lookup_elem(&outer_arr, &array_key); in BPF_PROG() 127 if (!inner_map) in BPF_PROG() [all …]
|
| H A 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 …]
|
| H A D | lsm.c | 56 struct inner_map { struct 61 } inner_map SEC(".maps"); 68 __array(values, struct inner_map); 70 .values = { [0] = &inner_map }, 77 __array(values, struct inner_map); 79 .values = { [0] = &inner_map }, 115 struct inner_map *inner_map; in BPF_PROG() 144 inner_map = bpf_map_lookup_elem(&outer_arr, &key); in BPF_PROG() 145 if (inner_map) { in BPF_PROG() 113 struct inner_map *inner_map; BPF_PROG() local [all...] |
| H A D | access_map_in_map.c | 14 } inner_map SEC(".maps"); 24 [0] = &inner_map, 36 [0] = &inner_map, 47 void *inner_map; in acc_map_in_map() local 54 inner_map = bpf_map_lookup_elem(outer_map, &key); in acc_map_in_map() 55 if (inner_map) in acc_map_in_map() 60 inner_map = bpf_map_lookup_elem(outer_map, &key); in acc_map_in_map() 61 if (!inner_map) in acc_map_in_map() 66 bpf_map_update_elem(inner_map, &key, &value, 0); in acc_map_in_map()
|
| H A 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()
|
| H A 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()
|
| H A 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()
|
| H A D | verifier_map_lookup_refine.c | 10 struct inner_map { struct 15 } inner_map SEC(".maps"); 21 __array(values, struct inner_map); 23 .values = { [0] = &inner_map },
|
| H A D | test_spin_lock_fail.c | 358 void *inner_map; in nest_lock_different_inner_value() local 360 inner_map = bpf_map_lookup_elem(&map_of_maps, &inner_key); in nest_lock_different_inner_value() 361 if (!inner_map) in nest_lock_different_inner_value() 363 bpf_for_each_map_elem(inner_map, lock_different_value, &ctx, 0); in nest_lock_different_inner_value() 371 void *inner_map; in callback_inner_map_value_lock_identity() local 373 inner_map = bpf_map_lookup_elem(&map_of_maps, &inner_key); in callback_inner_map_value_lock_identity() 374 if (!inner_map) in callback_inner_map_value_lock_identity() 376 bpf_for_each_map_elem(inner_map, nest_lock_different_inner_value, NULL, 0); in callback_inner_map_value_lock_identity()
|
| H A D | jeq_infer_not_null_fail.c | 25 struct bpf_map *inner_map = map->inner_map_meta; in jeq_infer_not_null_ptr_to_btfid() local 42 : [inner_map] "r"(inner_map), [val] "r"(val) in jeq_infer_not_null_ptr_to_btfid()
|
| H A D | map_ptr_kern.c | 344 struct inner_map { struct 349 } inner_map SEC(".maps"); 363 .values = { (void *)&inner_map, 0, 0, 0, 0, 0, 0, 0, 0 }, 370 struct bpf_array *inner_map; in check_array_of_maps() local 374 inner_map = bpf_map_lookup_elem(array_of_maps, &key); in check_array_of_maps() 375 VERIFY(inner_map != NULL); in check_array_of_maps() 376 VERIFY(inner_map->map.max_entries == INNER_MAX_ENTRIES); in check_array_of_maps() 386 __array(values, struct inner_map); 389 [2] = &inner_map, 397 struct bpf_htab *inner_map; in check_hash_of_maps() local [all...] |
| H A D | inner_array_lookup.c | 6 struct inner_map { struct 17 __array(values, struct inner_map);
|
| H A D | linked_list.h | 36 struct array_map inner_map SEC(".maps"); 46 [0] = &inner_map,
|
| H A D | syscall.c | 49 } inner_map SEC(".maps"); 59 [0] = &inner_map,
|
| H A D | linked_list_fail.c | 66 CHECK(inner_map, pop_front, &iv->head); 67 CHECK(inner_map, pop_back, &iv->head); 89 CHECK(inner_map, push_front, &iv->head, &f->node2); 90 CHECK(inner_map, push_back, &iv->head, &f->node2);
|
| /linux/samples/bpf/ |
| H A D | test_map_in_map.bpf.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() 112 void *outer_map, *inner_map; in BPF_KSYSCALL() local 150 inner_map = bpf_map_lookup_elem(outer_map, &port_key); in BPF_KSYSCALL() 151 if (!inner_map) { in BPF_KSYSCALL() 157 ret = do_reg_lookup(inner_map, port_key); in BPF_KSYSCALL() [all …]
|
| /linux/tools/testing/selftests/bpf/benchs/ |
| H A 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/tools/testing/selftests/bpf/prog_tests/ |
| H A D | sockmap_listen.c | 726 struct bpf_map *inner_map, int family, in test_skb_redir_to_connected() argument 732 int sock_map = bpf_map__fd(inner_map); in test_skb_redir_to_connected() 751 struct bpf_map *inner_map, int family, in test_msg_redir_to_connected() argument 756 int sock_map = bpf_map__fd(inner_map); in test_msg_redir_to_connected() 769 struct bpf_map *inner_map, int family, in test_msg_redir_to_connected_with_link() argument 774 int sock_map = bpf_map__fd(inner_map); in test_msg_redir_to_connected_with_link() 846 struct bpf_map *inner_map, int family, in test_skb_redir_to_listening() argument 852 int sock_map = bpf_map__fd(inner_map); in test_skb_redir_to_listening() 871 struct bpf_map *inner_map, int family, in test_msg_redir_to_listening() argument 876 int sock_map = bpf_map__fd(inner_map); in test_msg_redir_to_listening() [all …]
|
| H A D | linked_list.c | 30 TEST(inner_map, 0) 57 TEST(inner_map, push_front) 58 TEST(inner_map, push_back) 59 TEST(inner_map, pop_front) 60 TEST(inner_map, pop_back)
|
| H A D | bloom_filter_map.c | 134 link = bpf_program__attach(skel->progs.inner_map); in test_inner_map()
|
| /linux/Documentation/bpf/ |
| H A D | map_of_maps.rst | 70 struct inner_map { 81 __array(values, struct inner_map);
|
| /linux/tools/bpf/bpftool/Documentation/ |
| H A D | bpftool-map.rst | 30 | **entries** *MAX_ENTRIES* **name** *NAME* [**flags** *FLAGS*] [**inner_map** *MAP*] \ 76 bpftool map create *FILE* type *TYPE* key *KEY_SIZE* value *VALUE_SIZE* entries *MAX_ENTRIES* name *NAME* [flags *FLAGS*] [inner_map *MAP*] [offload_dev *NAME*] 83 To create maps of type array-of-maps or hash-of-maps, the **inner_map**
|
| /linux/tools/testing/selftests/bpf/ |
| H A D | test_bpftool_map.sh | |
| /linux/tools/lib/bpf/ |
| H A D | libbpf.c | 594 struct bpf_map *inner_map; member 2998 map->inner_map = calloc(1, sizeof(*map->inner_map)); in bpf_object__init_user_btf_map() 2999 if (!map->inner_map) in bpf_object__init_user_btf_map() 3001 map->inner_map->fd = create_placeholder_fd(); in bpf_object__init_user_btf_map() 3002 if (map->inner_map->fd < 0) in bpf_object__init_user_btf_map() 3003 return map->inner_map->fd; in bpf_object__init_user_btf_map() 3004 map->inner_map->sec_idx = sec_idx; in bpf_object__init_user_btf_map() 3005 map->inner_map->name = malloc(strlen(map_name) + sizeof(".inner") + 1); in bpf_object__init_user_btf_map() 3006 if (!map->inner_map->name) in bpf_object__init_user_btf_map() 3008 sprintf(map->inner_map->name, "%s.inner", map_name); in bpf_object__init_user_btf_map() [all …]
|
| /linux/kernel/bpf/ |
| H A D | arraymap.c | 1466 struct bpf_map **inner_map = array_map_lookup_elem(map, key); in array_of_map_lookup_elem() local 1468 if (!inner_map) in array_of_map_lookup_elem() 1471 return READ_ONCE(*inner_map); in array_of_map_lookup_elem()
|