Lines Matching refs:fd
48 int fd; in test_hashmap() local
50 fd = bpf_create_map(BPF_MAP_TYPE_HASH, sizeof(key), sizeof(value), in test_hashmap()
52 if (fd < 0) { in test_hashmap()
60 assert(bpf_map_update_elem(fd, &key, &value, BPF_ANY) == 0); in test_hashmap()
64 assert(bpf_map_update_elem(fd, &key, &value, BPF_NOEXIST) == -1 && in test_hashmap()
69 assert(bpf_map_update_elem(fd, &key, &value, -1) == -1 && in test_hashmap()
73 assert(bpf_map_lookup_elem(fd, &key, &value) == 0 && value == 1234); in test_hashmap()
77 assert(bpf_map_lookup_elem(fd, &key, &value) == -1 && errno == ENOENT); in test_hashmap()
80 assert(bpf_map_update_elem(fd, &key, &value, BPF_EXIST) == -1 && in test_hashmap()
85 assert(bpf_map_update_elem(fd, &key, &value, BPF_NOEXIST) == 0); in test_hashmap()
91 assert(bpf_map_update_elem(fd, &key, &value, BPF_NOEXIST) == -1 && in test_hashmap()
96 assert(bpf_map_update_elem(fd, &key, &value, BPF_EXIST) == 0); in test_hashmap()
98 assert(bpf_map_update_elem(fd, &key, &value, BPF_ANY) == 0); in test_hashmap()
100 assert(bpf_map_update_elem(fd, &key, &value, BPF_NOEXIST) == -1 && in test_hashmap()
105 assert(bpf_map_delete_elem(fd, &key) == -1 && errno == ENOENT); in test_hashmap()
108 assert(bpf_map_get_next_key(fd, NULL, &first_key) == 0 && in test_hashmap()
110 assert(bpf_map_get_next_key(fd, &key, &next_key) == 0 && in test_hashmap()
112 assert(bpf_map_get_next_key(fd, &next_key, &next_key) == 0 && in test_hashmap()
115 assert(bpf_map_get_next_key(fd, &next_key, &next_key) == -1 && in test_hashmap()
120 assert(bpf_map_delete_elem(fd, &key) == 0); in test_hashmap()
122 assert(bpf_map_delete_elem(fd, &key) == 0); in test_hashmap()
123 assert(bpf_map_delete_elem(fd, &key) == -1 && errno == ENOENT); in test_hashmap()
127 assert(bpf_map_get_next_key(fd, NULL, &next_key) == -1 && in test_hashmap()
129 assert(bpf_map_get_next_key(fd, &key, &next_key) == -1 && in test_hashmap()
132 close(fd); in test_hashmap()
137 int fd, i, j; in test_hashmap_sizes() local
141 fd = bpf_create_map(BPF_MAP_TYPE_HASH, i, j, in test_hashmap_sizes()
143 if (fd < 0) { in test_hashmap_sizes()
150 close(fd); in test_hashmap_sizes()
161 int fd, i; in test_hashmap_percpu() local
163 fd = bpf_create_map(BPF_MAP_TYPE_PERCPU_HASH, sizeof(key), in test_hashmap_percpu()
165 if (fd < 0) { in test_hashmap_percpu()
176 assert(bpf_map_update_elem(fd, &key, value, BPF_ANY) == 0); in test_hashmap_percpu()
180 assert(bpf_map_update_elem(fd, &key, value, BPF_NOEXIST) == -1 && in test_hashmap_percpu()
185 assert(bpf_map_update_elem(fd, &key, value, -1) == -1 && in test_hashmap_percpu()
192 assert(bpf_map_lookup_elem(fd, &key, value) == 0 && in test_hashmap_percpu()
197 assert(bpf_map_lookup_elem(fd, &key, value) == -1 && errno == ENOENT); in test_hashmap_percpu()
200 assert(bpf_map_update_elem(fd, &key, value, BPF_EXIST) == -1 && in test_hashmap_percpu()
206 assert(bpf_map_update_elem(fd, &key, value, BPF_NOEXIST) == 0); in test_hashmap_percpu()
213 assert(bpf_map_update_elem(fd, &key, value, BPF_NOEXIST) == -1 && in test_hashmap_percpu()
217 assert(bpf_map_delete_elem(fd, &key) == -1 && errno == ENOENT); in test_hashmap_percpu()
220 assert(bpf_map_get_next_key(fd, NULL, &first_key) == 0 && in test_hashmap_percpu()
222 while (!bpf_map_get_next_key(fd, &key, &next_key)) { in test_hashmap_percpu()
230 assert(bpf_map_lookup_elem(fd, &next_key, value) == 0); in test_hashmap_percpu()
241 assert(bpf_map_update_elem(fd, &key, value, BPF_EXIST) == 0); in test_hashmap_percpu()
245 assert(bpf_map_delete_elem(fd, &key) == 0); in test_hashmap_percpu()
247 assert(bpf_map_delete_elem(fd, &key) == 0); in test_hashmap_percpu()
248 assert(bpf_map_delete_elem(fd, &key) == -1 && errno == ENOENT); in test_hashmap_percpu()
252 assert(bpf_map_get_next_key(fd, NULL, &next_key) == -1 && in test_hashmap_percpu()
254 assert(bpf_map_get_next_key(fd, &key, &next_key) == -1 && in test_hashmap_percpu()
257 close(fd); in test_hashmap_percpu()
262 int fd, i, max_entries = 1000; in test_hashmap_walk() local
266 fd = bpf_create_map(BPF_MAP_TYPE_HASH, sizeof(key), sizeof(value), in test_hashmap_walk()
268 if (fd < 0) { in test_hashmap_walk()
275 assert(bpf_map_update_elem(fd, &key, &value, BPF_NOEXIST) == 0); in test_hashmap_walk()
278 for (i = 0; bpf_map_get_next_key(fd, !i ? NULL : &key, in test_hashmap_walk()
281 assert(bpf_map_lookup_elem(fd, &key, &value) == 0); in test_hashmap_walk()
286 assert(bpf_map_get_next_key(fd, NULL, &key) == 0); in test_hashmap_walk()
288 next_key_valid = bpf_map_get_next_key(fd, &key, &next_key) == 0; in test_hashmap_walk()
289 assert(bpf_map_lookup_elem(fd, &key, &value) == 0); in test_hashmap_walk()
291 assert(bpf_map_update_elem(fd, &key, &value, BPF_EXIST) == 0); in test_hashmap_walk()
297 for (i = 0; bpf_map_get_next_key(fd, !i ? NULL : &key, in test_hashmap_walk()
300 assert(bpf_map_lookup_elem(fd, &key, &value) == 0); in test_hashmap_walk()
305 close(fd); in test_hashmap_walk()
310 int key, next_key, fd; in test_arraymap() local
313 fd = bpf_create_map(BPF_MAP_TYPE_ARRAY, sizeof(key), sizeof(value), in test_arraymap()
315 if (fd < 0) { in test_arraymap()
323 assert(bpf_map_update_elem(fd, &key, &value, BPF_ANY) == 0); in test_arraymap()
326 assert(bpf_map_update_elem(fd, &key, &value, BPF_NOEXIST) == -1 && in test_arraymap()
330 assert(bpf_map_lookup_elem(fd, &key, &value) == 0 && value == 1234); in test_arraymap()
334 assert(bpf_map_lookup_elem(fd, &key, &value) == 0 && value == 0); in test_arraymap()
340 assert(bpf_map_update_elem(fd, &key, &value, BPF_EXIST) == -1 && in test_arraymap()
344 assert(bpf_map_lookup_elem(fd, &key, &value) == -1 && errno == ENOENT); in test_arraymap()
347 assert(bpf_map_get_next_key(fd, NULL, &next_key) == 0 && in test_arraymap()
349 assert(bpf_map_get_next_key(fd, &key, &next_key) == 0 && in test_arraymap()
351 assert(bpf_map_get_next_key(fd, &next_key, &next_key) == 0 && in test_arraymap()
353 assert(bpf_map_get_next_key(fd, &next_key, &next_key) == -1 && in test_arraymap()
358 assert(bpf_map_delete_elem(fd, &key) == -1 && errno == EINVAL); in test_arraymap()
360 close(fd); in test_arraymap()
367 int key, next_key, fd, i; in test_arraymap_percpu() local
369 fd = bpf_create_map(BPF_MAP_TYPE_PERCPU_ARRAY, sizeof(key), in test_arraymap_percpu()
371 if (fd < 0) { in test_arraymap_percpu()
381 assert(bpf_map_update_elem(fd, &key, values, BPF_ANY) == 0); in test_arraymap_percpu()
384 assert(bpf_map_update_elem(fd, &key, values, BPF_NOEXIST) == -1 && in test_arraymap_percpu()
388 assert(bpf_map_lookup_elem(fd, &key, values) == 0 && in test_arraymap_percpu()
393 assert(bpf_map_lookup_elem(fd, &key, values) == 0 && in test_arraymap_percpu()
399 assert(bpf_map_update_elem(fd, &key, values, BPF_EXIST) == -1 && in test_arraymap_percpu()
403 assert(bpf_map_lookup_elem(fd, &key, values) == -1 && errno == ENOENT); in test_arraymap_percpu()
406 assert(bpf_map_get_next_key(fd, NULL, &next_key) == 0 && in test_arraymap_percpu()
408 assert(bpf_map_get_next_key(fd, &key, &next_key) == 0 && in test_arraymap_percpu()
410 assert(bpf_map_get_next_key(fd, &next_key, &next_key) == 0 && in test_arraymap_percpu()
412 assert(bpf_map_get_next_key(fd, &next_key, &next_key) == -1 && in test_arraymap_percpu()
417 assert(bpf_map_delete_elem(fd, &key) == -1 && errno == EINVAL); in test_arraymap_percpu()
419 close(fd); in test_arraymap_percpu()
430 int key, fd, i; in test_arraymap_percpu_many_keys() local
432 fd = bpf_create_map(BPF_MAP_TYPE_PERCPU_ARRAY, sizeof(key), in test_arraymap_percpu_many_keys()
434 if (fd < 0) { in test_arraymap_percpu_many_keys()
444 assert(bpf_map_update_elem(fd, &key, values, BPF_ANY) == 0); in test_arraymap_percpu_many_keys()
450 assert(bpf_map_lookup_elem(fd, &key, values) == 0); in test_arraymap_percpu_many_keys()
456 close(fd); in test_arraymap_percpu_many_keys()
461 int fd; in test_devmap() local
464 fd = bpf_create_map(BPF_MAP_TYPE_DEVMAP, sizeof(key), sizeof(value), in test_devmap()
466 if (fd < 0) { in test_devmap()
471 close(fd); in test_devmap()
487 int err, i, fd, udp, sfd[6] = {0xdeadbeef}; in test_sockmap() local
562 fd = bpf_create_map(BPF_MAP_TYPE_SOCKMAP, in test_sockmap()
565 if (fd < 0) { in test_sockmap()
566 printf("Failed to create sockmap %i\n", fd); in test_sockmap()
573 err = bpf_map_update_elem(fd, &i, &udp, BPF_ANY); in test_sockmap()
582 err = bpf_map_update_elem(fd, &i, &sfd[i], BPF_ANY); in test_sockmap()
595 err = bpf_prog_attach(-1, fd, BPF_SK_SKB_STREAM_PARSER, 0); in test_sockmap()
601 err = bpf_prog_attach(-1, fd, BPF_SK_SKB_STREAM_VERDICT, 0); in test_sockmap()
607 err = bpf_prog_attach(-1, fd, BPF_SK_MSG_VERDICT, 0); in test_sockmap()
613 err = bpf_prog_attach(-1, fd, __MAX_BPF_ATTACH_TYPE, 0); in test_sockmap()
619 err = bpf_prog_detach(fd, BPF_SK_SKB_STREAM_PARSER); in test_sockmap()
625 err = bpf_prog_detach(fd, BPF_SK_SKB_STREAM_VERDICT); in test_sockmap()
631 err = bpf_prog_detach(fd, BPF_SK_MSG_VERDICT); in test_sockmap()
637 err = bpf_prog_detach(fd, __MAX_BPF_ATTACH_TYPE); in test_sockmap()
833 err = bpf_map_update_elem(fd, &i, &sfd[i], BPF_NOEXIST); in test_sockmap()
839 err = bpf_map_update_elem(fd, &i, &sfd[i], BPF_ANY); in test_sockmap()
845 err = bpf_map_update_elem(fd, &i, &sfd[i], BPF_EXIST); in test_sockmap()
853 err = bpf_map_delete_elem(fd, &i); in test_sockmap()
861 err = bpf_prog_attach(parse_prog, fd, in test_sockmap()
867 err = bpf_prog_attach(verdict_prog, fd, in test_sockmap()
875 err = bpf_map_update_elem(fd, &i, &sfd[i], BPF_ANY); in test_sockmap()
881 err = bpf_map_update_elem(fd, &i, &sfd[i], BPF_NOEXIST); in test_sockmap()
887 err = bpf_map_update_elem(fd, &i, &sfd[i], BPF_EXIST); in test_sockmap()
945 close(fd); in test_sockmap()
962 close(fd); in test_sockmap()
975 int fd, i, value; in test_map_large() local
977 fd = bpf_create_map(BPF_MAP_TYPE_HASH, sizeof(key), sizeof(value), in test_map_large()
979 if (fd < 0) { in test_map_large()
988 assert(bpf_map_update_elem(fd, &key, &value, BPF_NOEXIST) == 0); in test_map_large()
992 assert(bpf_map_update_elem(fd, &key, &value, BPF_NOEXIST) == -1 && in test_map_large()
996 assert(bpf_map_get_next_key(fd, NULL, &key) == 0); in test_map_large()
999 assert(bpf_map_get_next_key(fd, &key, &key) == 0); in test_map_large()
1000 assert(bpf_map_get_next_key(fd, &key, &key) == -1 && errno == ENOENT); in test_map_large()
1003 assert(bpf_map_lookup_elem(fd, &key, &value) == 0 && value == 0); in test_map_large()
1005 assert(bpf_map_lookup_elem(fd, &key, &value) == -1 && errno == ENOENT); in test_map_large()
1007 close(fd); in test_map_large()
1058 int fd = ((int *)data)[0]; in test_update_delete() local
1065 assert(bpf_map_update_elem(fd, &key, &value, in test_update_delete()
1067 assert(bpf_map_update_elem(fd, &key, &value, in test_update_delete()
1070 assert(bpf_map_delete_elem(fd, &key) == 0); in test_update_delete()
1077 int i, fd, key = 0, value = 0; in test_map_parallel() local
1080 fd = bpf_create_map(BPF_MAP_TYPE_HASH, sizeof(key), sizeof(value), in test_map_parallel()
1082 if (fd < 0) { in test_map_parallel()
1093 data[0] = fd; in test_map_parallel()
1098 assert(bpf_map_update_elem(fd, &key, &value, BPF_NOEXIST) == -1 && in test_map_parallel()
1102 assert(bpf_map_get_next_key(fd, NULL, &key) == 0); in test_map_parallel()
1105 assert(bpf_map_get_next_key(fd, &key, &key) == 0); in test_map_parallel()
1106 assert(bpf_map_get_next_key(fd, &key, &key) == -1 && errno == ENOENT); in test_map_parallel()
1112 assert(bpf_map_lookup_elem(fd, &key, &value) == 0 && in test_map_parallel()
1122 assert(bpf_map_get_next_key(fd, NULL, &key) == -1 && errno == ENOENT); in test_map_parallel()
1123 assert(bpf_map_get_next_key(fd, &key, &key) == -1 && errno == ENOENT); in test_map_parallel()
1128 int fd, key = 0, value = 0; in test_map_rdonly() local
1130 fd = bpf_create_map(BPF_MAP_TYPE_HASH, sizeof(key), sizeof(value), in test_map_rdonly()
1132 if (fd < 0) { in test_map_rdonly()
1141 assert(bpf_map_update_elem(fd, &key, &value, BPF_ANY) == -1 && in test_map_rdonly()
1145 assert(bpf_map_lookup_elem(fd, &key, &value) == -1 && errno == ENOENT); in test_map_rdonly()
1146 assert(bpf_map_get_next_key(fd, &key, &value) == -1 && errno == ENOENT); in test_map_rdonly()
1151 int fd, key = 0, value = 0; in test_map_wronly() local
1153 fd = bpf_create_map(BPF_MAP_TYPE_HASH, sizeof(key), sizeof(value), in test_map_wronly()
1155 if (fd < 0) { in test_map_wronly()
1164 assert(bpf_map_update_elem(fd, &key, &value, BPF_ANY) == 0); in test_map_wronly()
1167 assert(bpf_map_lookup_elem(fd, &key, &value) == -1 && errno == EPERM); in test_map_wronly()
1168 assert(bpf_map_get_next_key(fd, &key, &value) == -1 && errno == EPERM); in test_map_wronly()
1259 int fd; in test_reuseport_array() local
1403 fd = fd64; in test_reuseport_array()
1404 err = bpf_map_update_elem(map_fd, &index3, &fd, BPF_NOEXIST); in test_reuseport_array()
1411 close(fd); in test_reuseport_array()