Lines Matching refs:key

35 	long long key, next_key, first_key, value;  in test_hashmap()  local
38 fd = bpf_map_create(BPF_MAP_TYPE_HASH, NULL, sizeof(key), sizeof(value), 2, &map_opts); in test_hashmap()
44 key = 1; in test_hashmap()
47 assert(bpf_map_update_elem(fd, &key, &value, BPF_ANY) == 0); in test_hashmap()
51 assert(bpf_map_update_elem(fd, &key, &value, BPF_NOEXIST) < 0 && in test_hashmap()
56 assert(bpf_map_update_elem(fd, &key, &value, -1) < 0 && in test_hashmap()
60 assert(bpf_map_lookup_elem(fd, &key, &value) == 0 && value == 1234); in test_hashmap()
62 key = 2; in test_hashmap()
65 assert(bpf_map_update_elem(fd, &key, &value, BPF_ANY) == 0); in test_hashmap()
68 assert(bpf_map_lookup_and_delete_elem(fd, &key, &value) == 0 && value == 1234); in test_hashmap()
71 assert(bpf_map_lookup_elem(fd, &key, &value) < 0 && errno == ENOENT); in test_hashmap()
74 assert(bpf_map_update_elem(fd, &key, &value, BPF_EXIST) < 0 && in test_hashmap()
79 assert(bpf_map_update_elem(fd, &key, &value, BPF_NOEXIST) == 0); in test_hashmap()
84 key = 0; in test_hashmap()
85 assert(bpf_map_update_elem(fd, &key, &value, BPF_NOEXIST) < 0 && in test_hashmap()
89 key = 1; in test_hashmap()
90 assert(bpf_map_update_elem(fd, &key, &value, BPF_EXIST) == 0); in test_hashmap()
91 key = 2; in test_hashmap()
92 assert(bpf_map_update_elem(fd, &key, &value, BPF_ANY) == 0); in test_hashmap()
93 key = 3; in test_hashmap()
94 assert(bpf_map_update_elem(fd, &key, &value, BPF_NOEXIST) < 0 && in test_hashmap()
98 key = 0; in test_hashmap()
99 assert(bpf_map_delete_elem(fd, &key) < 0 && errno == ENOENT); in test_hashmap()
104 assert(bpf_map_get_next_key(fd, &key, &next_key) == 0 && in test_hashmap()
113 key = 1; in test_hashmap()
114 assert(bpf_map_delete_elem(fd, &key) == 0); in test_hashmap()
115 key = 2; in test_hashmap()
116 assert(bpf_map_delete_elem(fd, &key) == 0); in test_hashmap()
117 assert(bpf_map_delete_elem(fd, &key) < 0 && errno == ENOENT); in test_hashmap()
119 key = 0; in test_hashmap()
123 assert(bpf_map_get_next_key(fd, &key, &next_key) < 0 && in test_hashmap()
152 long long key, next_key, first_key; in test_hashmap_percpu() local
156 fd = bpf_map_create(BPF_MAP_TYPE_PERCPU_HASH, NULL, sizeof(key), in test_hashmap_percpu()
166 key = 1; in test_hashmap_percpu()
168 assert(!(expected_key_mask & key)); in test_hashmap_percpu()
169 assert(bpf_map_update_elem(fd, &key, value, BPF_ANY) == 0); in test_hashmap_percpu()
172 assert(bpf_map_lookup_and_delete_elem(fd, &key, value) == 0 && in test_hashmap_percpu()
179 assert(bpf_map_update_elem(fd, &key, value, BPF_NOEXIST) == 0); in test_hashmap_percpu()
180 expected_key_mask |= key; in test_hashmap_percpu()
183 assert(bpf_map_update_elem(fd, &key, value, BPF_NOEXIST) < 0 && in test_hashmap_percpu()
188 assert(bpf_map_update_elem(fd, &key, value, -1) < 0 && in test_hashmap_percpu()
195 assert(bpf_map_lookup_elem(fd, &key, value) == 0 && in test_hashmap_percpu()
198 key = 2; in test_hashmap_percpu()
200 assert(bpf_map_lookup_elem(fd, &key, value) < 0 && errno == ENOENT); in test_hashmap_percpu()
203 assert(bpf_map_update_elem(fd, &key, value, BPF_EXIST) < 0 && in test_hashmap_percpu()
208 assert(!(expected_key_mask & key)); in test_hashmap_percpu()
209 assert(bpf_map_update_elem(fd, &key, value, BPF_NOEXIST) == 0); in test_hashmap_percpu()
210 expected_key_mask |= key; in test_hashmap_percpu()
215 key = 0; in test_hashmap_percpu()
216 assert(bpf_map_update_elem(fd, &key, value, BPF_NOEXIST) < 0 && in test_hashmap_percpu()
220 assert(bpf_map_delete_elem(fd, &key) < 0 && errno == ENOENT); in test_hashmap_percpu()
225 while (!bpf_map_get_next_key(fd, &key, &next_key)) { in test_hashmap_percpu()
238 key = next_key; in test_hashmap_percpu()
243 key = 1; in test_hashmap_percpu()
244 assert(bpf_map_update_elem(fd, &key, value, BPF_EXIST) == 0); in test_hashmap_percpu()
247 key = 1; in test_hashmap_percpu()
248 assert(bpf_map_delete_elem(fd, &key) == 0); in test_hashmap_percpu()
249 key = 2; in test_hashmap_percpu()
250 assert(bpf_map_delete_elem(fd, &key) == 0); in test_hashmap_percpu()
251 assert(bpf_map_delete_elem(fd, &key) < 0 && errno == ENOENT); in test_hashmap_percpu()
253 key = 0; in test_hashmap_percpu()
257 assert(bpf_map_get_next_key(fd, &key, &next_key) < 0 && in test_hashmap_percpu()
267 long long key, value[VALUE_SIZE] = {}; in helper_fill_hashmap() local
269 fd = bpf_map_create(BPF_MAP_TYPE_HASH, NULL, sizeof(key), sizeof(value), in helper_fill_hashmap()
276 key = i; value[0] = key; in helper_fill_hashmap()
277 ret = bpf_map_update_elem(fd, &key, value, BPF_NOEXIST); in helper_fill_hashmap()
289 long long key, value[VALUE_SIZE], next_key; in test_hashmap_walk() local
294 for (i = 0; bpf_map_get_next_key(fd, !i ? NULL : &key, in test_hashmap_walk()
296 key = next_key; in test_hashmap_walk()
297 assert(bpf_map_lookup_elem(fd, &key, value) == 0); in test_hashmap_walk()
302 assert(bpf_map_get_next_key(fd, NULL, &key) == 0); in test_hashmap_walk()
304 next_key_valid = bpf_map_get_next_key(fd, &key, &next_key) == 0; in test_hashmap_walk()
305 assert(bpf_map_lookup_elem(fd, &key, value) == 0); in test_hashmap_walk()
307 assert(bpf_map_update_elem(fd, &key, value, BPF_EXIST) == 0); in test_hashmap_walk()
308 key = next_key; in test_hashmap_walk()
313 for (i = 0; bpf_map_get_next_key(fd, !i ? NULL : &key, in test_hashmap_walk()
315 key = next_key; in test_hashmap_walk()
316 assert(bpf_map_lookup_elem(fd, &key, value) == 0); in test_hashmap_walk()
317 assert(value[0] - 1 == key); in test_hashmap_walk()
327 long long key, next_first, next_second; in test_hashmap_zero_seed() local
336 void *key_ptr = !i ? NULL : &key; in test_hashmap_zero_seed()
349 key = next_first; in test_hashmap_zero_seed()
359 int key, next_key, fd; in test_arraymap() local
362 fd = bpf_map_create(BPF_MAP_TYPE_ARRAY, NULL, sizeof(key), sizeof(value), 2, NULL); in test_arraymap()
368 key = 1; in test_arraymap()
371 assert(bpf_map_update_elem(fd, &key, &value, BPF_ANY) == 0); in test_arraymap()
374 assert(bpf_map_update_elem(fd, &key, &value, BPF_NOEXIST) < 0 && in test_arraymap()
378 assert(bpf_map_lookup_elem(fd, &key, &value) == 0 && value == 1234); in test_arraymap()
380 key = 0; in test_arraymap()
382 assert(bpf_map_lookup_elem(fd, &key, &value) == 0 && value == 0); in test_arraymap()
387 key = 2; in test_arraymap()
388 assert(bpf_map_update_elem(fd, &key, &value, BPF_EXIST) < 0 && in test_arraymap()
392 assert(bpf_map_lookup_elem(fd, &key, &value) < 0 && errno == ENOENT); in test_arraymap()
397 assert(bpf_map_get_next_key(fd, &key, &next_key) == 0 && in test_arraymap()
405 key = 1; in test_arraymap()
406 assert(bpf_map_delete_elem(fd, &key) < 0 && errno == EINVAL); in test_arraymap()
415 int key, next_key, fd, i; in test_arraymap_percpu() local
417 fd = bpf_map_create(BPF_MAP_TYPE_PERCPU_ARRAY, NULL, sizeof(key), in test_arraymap_percpu()
427 key = 1; in test_arraymap_percpu()
429 assert(bpf_map_update_elem(fd, &key, values, BPF_ANY) == 0); in test_arraymap_percpu()
432 assert(bpf_map_update_elem(fd, &key, values, BPF_NOEXIST) < 0 && in test_arraymap_percpu()
436 assert(bpf_map_lookup_elem(fd, &key, values) == 0 && in test_arraymap_percpu()
439 key = 0; in test_arraymap_percpu()
441 assert(bpf_map_lookup_elem(fd, &key, values) == 0 && in test_arraymap_percpu()
446 key = 2; in test_arraymap_percpu()
447 assert(bpf_map_update_elem(fd, &key, values, BPF_EXIST) < 0 && in test_arraymap_percpu()
451 assert(bpf_map_lookup_elem(fd, &key, values) < 0 && errno == ENOENT); in test_arraymap_percpu()
456 assert(bpf_map_get_next_key(fd, &key, &next_key) == 0 && in test_arraymap_percpu()
464 key = 1; in test_arraymap_percpu()
465 assert(bpf_map_delete_elem(fd, &key) < 0 && errno == EINVAL); in test_arraymap_percpu()
478 int key, fd, i; in test_arraymap_percpu_many_keys() local
480 fd = bpf_map_create(BPF_MAP_TYPE_PERCPU_ARRAY, NULL, sizeof(key), in test_arraymap_percpu_many_keys()
491 for (key = 0; key < nr_keys; key++) in test_arraymap_percpu_many_keys()
492 assert(bpf_map_update_elem(fd, &key, values, BPF_ANY) == 0); in test_arraymap_percpu_many_keys()
494 for (key = 0; key < nr_keys; key++) { in test_arraymap_percpu_many_keys()
498 assert(bpf_map_lookup_elem(fd, &key, values) == 0); in test_arraymap_percpu_many_keys()
510 __u32 key, value; in test_devmap() local
512 fd = bpf_map_create(BPF_MAP_TYPE_DEVMAP, NULL, sizeof(key), sizeof(value), 2, NULL); in test_devmap()
524 __u32 key, value; in test_devmap_hash() local
526 fd = bpf_map_create(BPF_MAP_TYPE_DEVMAP_HASH, NULL, sizeof(key), sizeof(value), 2, NULL); in test_devmap_hash()
666 __u32 key, value; in test_sockmap() local
735 sizeof(key), sizeof(value), in test_sockmap()
1311 } key; in test_map_large() local
1314 fd = bpf_map_create(BPF_MAP_TYPE_HASH, NULL, sizeof(key), sizeof(value), in test_map_large()
1322 key = (struct bigkey) { .c = i }; in test_map_large()
1325 assert(bpf_map_update_elem(fd, &key, &value, BPF_NOEXIST) == 0); in test_map_large()
1328 key.c = -1; in test_map_large()
1329 assert(bpf_map_update_elem(fd, &key, &value, BPF_NOEXIST) < 0 && in test_map_large()
1333 assert(bpf_map_get_next_key(fd, NULL, &key) == 0); in test_map_large()
1334 key.c = -1; in test_map_large()
1336 assert(bpf_map_get_next_key(fd, &key, &key) == 0); in test_map_large()
1337 assert(bpf_map_get_next_key(fd, &key, &key) < 0 && errno == ENOENT); in test_map_large()
1339 key.c = 0; in test_map_large()
1340 assert(bpf_map_lookup_elem(fd, &key, &value) == 0 && value == 0); in test_map_large()
1341 key.a = 1; in test_map_large()
1342 assert(bpf_map_lookup_elem(fd, &key, &value) < 0 && errno == ENOENT); in test_map_large()
1405 int map_update_retriable(int map_fd, const void *key, const void *value, int flags, int attempts, in map_update_retriable() argument
1410 while (bpf_map_update_elem(map_fd, key, value, flags)) { in map_update_retriable()
1424 static int map_delete_retriable(int map_fd, const void *key, int attempts) in map_delete_retriable() argument
1428 while (bpf_map_delete_elem(map_fd, key)) { in map_delete_retriable()
1446 int i, key, value, err; in test_update_delete() local
1451 key = value = i; in test_update_delete()
1454 err = map_update_retriable(fd, &key, &value, BPF_NOEXIST, MAP_RETRIES, in test_update_delete()
1459 err = map_update_retriable(fd, &key, &value, BPF_EXIST, MAP_RETRIES, in test_update_delete()
1465 err = map_delete_retriable(fd, &key, MAP_RETRIES); in test_update_delete()
1475 int i, fd, key = 0, value = 0, j = 0; in test_map_parallel() local
1478 fd = bpf_map_create(BPF_MAP_TYPE_HASH, NULL, sizeof(key), sizeof(value), in test_map_parallel()
1497 assert(bpf_map_update_elem(fd, &key, &value, BPF_NOEXIST) < 0 && in test_map_parallel()
1501 assert(bpf_map_get_next_key(fd, NULL, &key) == 0); in test_map_parallel()
1502 key = -1; in test_map_parallel()
1504 assert(bpf_map_get_next_key(fd, &key, &key) == 0); in test_map_parallel()
1505 assert(bpf_map_get_next_key(fd, &key, &key) < 0 && errno == ENOENT); in test_map_parallel()
1509 key = MAP_SIZE - i - 1; in test_map_parallel()
1511 assert(bpf_map_lookup_elem(fd, &key, &value) == 0 && in test_map_parallel()
1512 value == key); in test_map_parallel()
1520 key = -1; in test_map_parallel()
1521 assert(bpf_map_get_next_key(fd, NULL, &key) < 0 && errno == ENOENT); in test_map_parallel()
1522 assert(bpf_map_get_next_key(fd, &key, &key) < 0 && errno == ENOENT); in test_map_parallel()
1524 key = 0; in test_map_parallel()
1525 bpf_map_delete_elem(fd, &key); in test_map_parallel()
1533 int fd, key = 0, value = 0; in test_map_rdonly() local
1538 fd = bpf_map_create(BPF_MAP_TYPE_HASH, NULL, sizeof(key), sizeof(value), in test_map_rdonly()
1547 key = 1; in test_map_rdonly()
1550 assert(bpf_map_update_elem(fd, &key, &value, BPF_ANY) < 0 && in test_map_rdonly()
1554 assert(bpf_map_lookup_elem(fd, &key, &value) < 0 && errno == ENOENT); in test_map_rdonly()
1555 assert(bpf_map_get_next_key(fd, &key, &value) < 0 && errno == ENOENT); in test_map_rdonly()
1562 int fd, key = 0, value = 0; in test_map_wronly_hash() local
1567 fd = bpf_map_create(BPF_MAP_TYPE_HASH, NULL, sizeof(key), sizeof(value), in test_map_wronly_hash()
1576 key = 1; in test_map_wronly_hash()
1579 assert(bpf_map_update_elem(fd, &key, &value, BPF_ANY) == 0); in test_map_wronly_hash()
1582 assert(bpf_map_lookup_elem(fd, &key, &value) < 0 && errno == EPERM); in test_map_wronly_hash()
1583 assert(bpf_map_get_next_key(fd, &key, &value) < 0 && errno == EPERM); in test_map_wronly_hash()