OSDN Git Service

selftests/bpf: Stop using bpf_map__def() API
authorChristy Lee <christylee@fb.com>
Sat, 8 Jan 2022 00:42:17 +0000 (16:42 -0800)
committerAndrii Nakryiko <andrii@kernel.org>
Thu, 13 Jan 2022 01:01:38 +0000 (17:01 -0800)
libbpf bpf_map__def() API is being deprecated, replace selftests/bpf's
usage with the appropriate getters and setters.

Signed-off-by: Christy Lee <christylee@fb.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20220108004218.355761-5-christylee@fb.com
tools/testing/selftests/bpf/prog_tests/flow_dissector.c
tools/testing/selftests/bpf/prog_tests/global_data.c
tools/testing/selftests/bpf/prog_tests/global_data_init.c
tools/testing/selftests/bpf/prog_tests/sockmap_listen.c
tools/testing/selftests/bpf/prog_tests/tailcalls.c

index ac54e3f..dfafd62 100644 (file)
@@ -457,7 +457,7 @@ static int init_prog_array(struct bpf_object *obj, struct bpf_map *prog_array)
        if (map_fd < 0)
                return -1;
 
-       for (i = 0; i < bpf_map__def(prog_array)->max_entries; i++) {
+       for (i = 0; i < bpf_map__max_entries(prog_array); i++) {
                snprintf(prog_name, sizeof(prog_name), "flow_dissector_%d", i);
 
                prog = bpf_object__find_program_by_name(obj, prog_name);
index 9da131b..917165e 100644 (file)
@@ -121,7 +121,7 @@ static void test_global_data_rdonly(struct bpf_object *obj, __u32 duration)
        if (CHECK_FAIL(map_fd < 0))
                return;
 
-       buff = malloc(bpf_map__def(map)->value_size);
+       buff = malloc(bpf_map__value_size(map));
        if (buff)
                err = bpf_map_update_elem(map_fd, &zero, buff, 0);
        free(buff);
index 1db86ea..57331c6 100644 (file)
@@ -20,7 +20,7 @@ void test_global_data_init(void)
        if (CHECK_FAIL(!map || !bpf_map__is_internal(map)))
                goto out;
 
-       sz = bpf_map__def(map)->value_size;
+       sz = bpf_map__value_size(map);
        newval = malloc(sz);
        if (CHECK_FAIL(!newval))
                goto out;
index 7e21bfa..2cf0c7a 100644 (file)
@@ -1413,14 +1413,12 @@ close_srv1:
 
 static void test_ops_cleanup(const struct bpf_map *map)
 {
-       const struct bpf_map_def *def;
        int err, mapfd;
        u32 key;
 
-       def = bpf_map__def(map);
        mapfd = bpf_map__fd(map);
 
-       for (key = 0; key < def->max_entries; key++) {
+       for (key = 0; key < bpf_map__max_entries(map); key++) {
                err = bpf_map_delete_elem(mapfd, &key);
                if (err && errno != EINVAL && errno != ENOENT)
                        FAIL_ERRNO("map_delete: expected EINVAL/ENOENT");
@@ -1443,13 +1441,13 @@ static const char *family_str(sa_family_t family)
 
 static const char *map_type_str(const struct bpf_map *map)
 {
-       const struct bpf_map_def *def;
+       int type;
 
-       def = bpf_map__def(map);
-       if (IS_ERR(def))
+       if (!map)
                return "invalid";
+       type = bpf_map__type(map);
 
-       switch (def->type) {
+       switch (type) {
        case BPF_MAP_TYPE_SOCKMAP:
                return "sockmap";
        case BPF_MAP_TYPE_SOCKHASH:
index 5dc0f42..796f231 100644 (file)
@@ -37,7 +37,7 @@ static void test_tailcall_1(void)
        if (CHECK_FAIL(map_fd < 0))
                goto out;
 
-       for (i = 0; i < bpf_map__def(prog_array)->max_entries; i++) {
+       for (i = 0; i < bpf_map__max_entries(prog_array); i++) {
                snprintf(prog_name, sizeof(prog_name), "classifier_%d", i);
 
                prog = bpf_object__find_program_by_name(obj, prog_name);
@@ -53,7 +53,7 @@ static void test_tailcall_1(void)
                        goto out;
        }
 
-       for (i = 0; i < bpf_map__def(prog_array)->max_entries; i++) {
+       for (i = 0; i < bpf_map__max_entries(prog_array); i++) {
                err = bpf_prog_test_run(main_fd, 1, buff, sizeof(buff), 0,
                                        &duration, &retval, NULL);
                CHECK(err || retval != i, "tailcall",
@@ -69,7 +69,7 @@ static void test_tailcall_1(void)
        CHECK(err || retval != 3, "tailcall", "err %d errno %d retval %d\n",
              err, errno, retval);
 
-       for (i = 0; i < bpf_map__def(prog_array)->max_entries; i++) {
+       for (i = 0; i < bpf_map__max_entries(prog_array); i++) {
                snprintf(prog_name, sizeof(prog_name), "classifier_%d", i);
 
                prog = bpf_object__find_program_by_name(obj, prog_name);
@@ -90,8 +90,8 @@ static void test_tailcall_1(void)
        CHECK(err || retval != 0, "tailcall", "err %d errno %d retval %d\n",
              err, errno, retval);
 
-       for (i = 0; i < bpf_map__def(prog_array)->max_entries; i++) {
-               j = bpf_map__def(prog_array)->max_entries - 1 - i;
+       for (i = 0; i < bpf_map__max_entries(prog_array); i++) {
+               j = bpf_map__max_entries(prog_array) - 1 - i;
                snprintf(prog_name, sizeof(prog_name), "classifier_%d", j);
 
                prog = bpf_object__find_program_by_name(obj, prog_name);
@@ -107,8 +107,8 @@ static void test_tailcall_1(void)
                        goto out;
        }
 
-       for (i = 0; i < bpf_map__def(prog_array)->max_entries; i++) {
-               j = bpf_map__def(prog_array)->max_entries - 1 - i;
+       for (i = 0; i < bpf_map__max_entries(prog_array); i++) {
+               j = bpf_map__max_entries(prog_array) - 1 - i;
 
                err = bpf_prog_test_run(main_fd, 1, buff, sizeof(buff), 0,
                                        &duration, &retval, NULL);
@@ -125,7 +125,7 @@ static void test_tailcall_1(void)
        CHECK(err || retval != 3, "tailcall", "err %d errno %d retval %d\n",
              err, errno, retval);
 
-       for (i = 0; i < bpf_map__def(prog_array)->max_entries; i++) {
+       for (i = 0; i < bpf_map__max_entries(prog_array); i++) {
                err = bpf_map_delete_elem(map_fd, &i);
                if (CHECK_FAIL(err >= 0 || errno != ENOENT))
                        goto out;
@@ -175,7 +175,7 @@ static void test_tailcall_2(void)
        if (CHECK_FAIL(map_fd < 0))
                goto out;
 
-       for (i = 0; i < bpf_map__def(prog_array)->max_entries; i++) {
+       for (i = 0; i < bpf_map__max_entries(prog_array); i++) {
                snprintf(prog_name, sizeof(prog_name), "classifier_%d", i);
 
                prog = bpf_object__find_program_by_name(obj, prog_name);
@@ -353,7 +353,7 @@ static void test_tailcall_4(void)
        if (CHECK_FAIL(map_fd < 0))
                return;
 
-       for (i = 0; i < bpf_map__def(prog_array)->max_entries; i++) {
+       for (i = 0; i < bpf_map__max_entries(prog_array); i++) {
                snprintf(prog_name, sizeof(prog_name), "classifier_%d", i);
 
                prog = bpf_object__find_program_by_name(obj, prog_name);
@@ -369,7 +369,7 @@ static void test_tailcall_4(void)
                        goto out;
        }
 
-       for (i = 0; i < bpf_map__def(prog_array)->max_entries; i++) {
+       for (i = 0; i < bpf_map__max_entries(prog_array); i++) {
                err = bpf_map_update_elem(data_fd, &zero, &i, BPF_ANY);
                if (CHECK_FAIL(err))
                        goto out;
@@ -380,7 +380,7 @@ static void test_tailcall_4(void)
                      "err %d errno %d retval %d\n", err, errno, retval);
        }
 
-       for (i = 0; i < bpf_map__def(prog_array)->max_entries; i++) {
+       for (i = 0; i < bpf_map__max_entries(prog_array); i++) {
                err = bpf_map_update_elem(data_fd, &zero, &i, BPF_ANY);
                if (CHECK_FAIL(err))
                        goto out;
@@ -441,7 +441,7 @@ static void test_tailcall_5(void)
        if (CHECK_FAIL(map_fd < 0))
                return;
 
-       for (i = 0; i < bpf_map__def(prog_array)->max_entries; i++) {
+       for (i = 0; i < bpf_map__max_entries(prog_array); i++) {
                snprintf(prog_name, sizeof(prog_name), "classifier_%d", i);
 
                prog = bpf_object__find_program_by_name(obj, prog_name);
@@ -457,7 +457,7 @@ static void test_tailcall_5(void)
                        goto out;
        }
 
-       for (i = 0; i < bpf_map__def(prog_array)->max_entries; i++) {
+       for (i = 0; i < bpf_map__max_entries(prog_array); i++) {
                err = bpf_map_update_elem(data_fd, &zero, &key[i], BPF_ANY);
                if (CHECK_FAIL(err))
                        goto out;
@@ -468,7 +468,7 @@ static void test_tailcall_5(void)
                      "err %d errno %d retval %d\n", err, errno, retval);
        }
 
-       for (i = 0; i < bpf_map__def(prog_array)->max_entries; i++) {
+       for (i = 0; i < bpf_map__max_entries(prog_array); i++) {
                err = bpf_map_update_elem(data_fd, &zero, &key[i], BPF_ANY);
                if (CHECK_FAIL(err))
                        goto out;
@@ -520,7 +520,7 @@ static void test_tailcall_bpf2bpf_1(void)
                goto out;
 
        /* nop -> jmp */
-       for (i = 0; i < bpf_map__def(prog_array)->max_entries; i++) {
+       for (i = 0; i < bpf_map__max_entries(prog_array); i++) {
                snprintf(prog_name, sizeof(prog_name), "classifier_%d", i);
 
                prog = bpf_object__find_program_by_name(obj, prog_name);
@@ -681,7 +681,7 @@ static void test_tailcall_bpf2bpf_3(void)
        if (CHECK_FAIL(map_fd < 0))
                goto out;
 
-       for (i = 0; i < bpf_map__def(prog_array)->max_entries; i++) {
+       for (i = 0; i < bpf_map__max_entries(prog_array); i++) {
                snprintf(prog_name, sizeof(prog_name), "classifier_%d", i);
 
                prog = bpf_object__find_program_by_name(obj, prog_name);
@@ -778,7 +778,7 @@ static void test_tailcall_bpf2bpf_4(bool noise)
        if (CHECK_FAIL(map_fd < 0))
                goto out;
 
-       for (i = 0; i < bpf_map__def(prog_array)->max_entries; i++) {
+       for (i = 0; i < bpf_map__max_entries(prog_array); i++) {
                snprintf(prog_name, sizeof(prog_name), "classifier_%d", i);
 
                prog = bpf_object__find_program_by_name(obj, prog_name);