* [PATCH bpf-next 0/2 v2] libbpf: Deprecate bpf_{map,program}__{prev,next} APIs since v0.7
@ 2021-10-03 16:58 Hengqi Chen
2021-10-03 16:58 ` [PATCH bpf-next 1/2 " Hengqi Chen
2021-10-03 16:58 ` [PATCH bpf-next 2/2 v2] selftests/bpf: Switch to new bpf_object__next_{map,program} APIs Hengqi Chen
0 siblings, 2 replies; 7+ messages in thread
From: Hengqi Chen @ 2021-10-03 16:58 UTC (permalink / raw)
To: bpf; +Cc: ast, daniel, andrii, yhs, john.fastabend, hengqi.chen
bpf_{map,program}__{prev,next} don't follow the libbpf API naming
convention. Deprecate them and replace them with a new set of APIs
named bpf_object__{prev,next}_{program,map}.
v1->v2: [0]
* Addressed Andrii's comments
[0]: https://patchwork.kernel.org/project/netdevbpf/patch/20210906165456.325999-1-hengqi.chen@gmail.com/
Hengqi Chen (2):
libbpf: Deprecate bpf_{map,program}__{prev,next} APIs since v0.7
selftests/bpf: Switch to new bpf_object__next_{map,program} APIs
tools/lib/bpf/libbpf.c | 24 +++++++++++++
tools/lib/bpf/libbpf.h | 35 ++++++++++++-------
tools/lib/bpf/libbpf.map | 4 +++
tools/testing/selftests/bpf/prog_tests/btf.c | 2 +-
.../selftests/bpf/prog_tests/fexit_bpf2bpf.c | 6 ++--
.../bpf/prog_tests/select_reuseport.c | 2 +-
.../selftests/bpf/prog_tests/tcp_rtt.c | 2 +-
tools/testing/selftests/bpf/xdping.c | 2 +-
8 files changed, 58 insertions(+), 19 deletions(-)
--
2.25.1
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH bpf-next 1/2 v2] libbpf: Deprecate bpf_{map,program}__{prev,next} APIs since v0.7
2021-10-03 16:58 [PATCH bpf-next 0/2 v2] libbpf: Deprecate bpf_{map,program}__{prev,next} APIs since v0.7 Hengqi Chen
@ 2021-10-03 16:58 ` Hengqi Chen
2021-10-05 22:22 ` Song Liu
2021-10-03 16:58 ` [PATCH bpf-next 2/2 v2] selftests/bpf: Switch to new bpf_object__next_{map,program} APIs Hengqi Chen
1 sibling, 1 reply; 7+ messages in thread
From: Hengqi Chen @ 2021-10-03 16:58 UTC (permalink / raw)
To: bpf; +Cc: ast, daniel, andrii, yhs, john.fastabend, hengqi.chen
Deprecate bpf_{map,program}__{prev,next} APIs. Replace them with
a new set of APIs named bpf_object__{prev,next}_{program,map} which
follow the libbpf API naming convention.[0] No functionality changes.
Closes: https://github.com/libbpf/libbpf/issues/296
Signed-off-by: Hengqi Chen <hengqi.chen@gmail.com>
---
tools/lib/bpf/libbpf.c | 24 ++++++++++++++++++++++++
tools/lib/bpf/libbpf.h | 35 +++++++++++++++++++++++------------
tools/lib/bpf/libbpf.map | 4 ++++
3 files changed, 51 insertions(+), 12 deletions(-)
diff --git a/tools/lib/bpf/libbpf.c b/tools/lib/bpf/libbpf.c
index e23f1b6b9402..ecd5284c705d 100644
--- a/tools/lib/bpf/libbpf.c
+++ b/tools/lib/bpf/libbpf.c
@@ -7798,6 +7798,12 @@ __bpf_program__iter(const struct bpf_program *p, const struct bpf_object *obj,
struct bpf_program *
bpf_program__next(struct bpf_program *prev, const struct bpf_object *obj)
+{
+ return bpf_object__next_program(obj, prev);
+}
+
+struct bpf_program *
+bpf_object__next_program(const struct bpf_object *obj, struct bpf_program *prev)
{
struct bpf_program *prog = prev;
@@ -7810,6 +7816,12 @@ bpf_program__next(struct bpf_program *prev, const struct bpf_object *obj)
struct bpf_program *
bpf_program__prev(struct bpf_program *next, const struct bpf_object *obj)
+{
+ return bpf_object__prev_program(obj, next);
+}
+
+struct bpf_program *
+bpf_object__prev_program(const struct bpf_object *obj, struct bpf_program *next)
{
struct bpf_program *prog = next;
@@ -8742,6 +8754,12 @@ __bpf_map__iter(const struct bpf_map *m, const struct bpf_object *obj, int i)
struct bpf_map *
bpf_map__next(const struct bpf_map *prev, const struct bpf_object *obj)
+{
+ return bpf_object__next_map(obj, prev);
+}
+
+struct bpf_map *
+bpf_object__next_map(const struct bpf_object *obj, const struct bpf_map *prev)
{
if (prev == NULL)
return obj->maps;
@@ -8751,6 +8769,12 @@ bpf_map__next(const struct bpf_map *prev, const struct bpf_object *obj)
struct bpf_map *
bpf_map__prev(const struct bpf_map *next, const struct bpf_object *obj)
+{
+ return bpf_object__prev_map(obj, next);
+}
+
+struct bpf_map *
+bpf_object__prev_map(const struct bpf_object *obj, const struct bpf_map *next)
{
if (next == NULL) {
if (!obj->nr_maps)
diff --git a/tools/lib/bpf/libbpf.h b/tools/lib/bpf/libbpf.h
index e35490c54eb3..8f5144bfa321 100644
--- a/tools/lib/bpf/libbpf.h
+++ b/tools/lib/bpf/libbpf.h
@@ -189,16 +189,22 @@ LIBBPF_API int libbpf_find_vmlinux_btf_id(const char *name,
/* Accessors of bpf_program */
struct bpf_program;
-LIBBPF_API struct bpf_program *bpf_program__next(struct bpf_program *prog,
- const struct bpf_object *obj);
+LIBBPF_API LIBBPF_DEPRECATED_SINCE(0, 7, "use bpf_object__next_program() instead")
+struct bpf_program *bpf_program__next(struct bpf_program *prog,
+ const struct bpf_object *obj);
+LIBBPF_API struct bpf_program *
+bpf_object__next_program(const struct bpf_object *obj, struct bpf_program *prog);
-#define bpf_object__for_each_program(pos, obj) \
- for ((pos) = bpf_program__next(NULL, (obj)); \
- (pos) != NULL; \
- (pos) = bpf_program__next((pos), (obj)))
+#define bpf_object__for_each_program(pos, obj) \
+ for ((pos) = bpf_object__next_program((obj), NULL); \
+ (pos) != NULL; \
+ (pos) = bpf_object__next_program((obj), (pos)))
-LIBBPF_API struct bpf_program *bpf_program__prev(struct bpf_program *prog,
- const struct bpf_object *obj);
+LIBBPF_API LIBBPF_DEPRECATED_SINCE(0, 7, "use bpf_object__prev_program() instead")
+struct bpf_program *bpf_program__prev(struct bpf_program *prog,
+ const struct bpf_object *obj);
+LIBBPF_API struct bpf_program *
+bpf_object__prev_program(const struct bpf_object *obj, struct bpf_program *prog);
typedef void (*bpf_program_clear_priv_t)(struct bpf_program *, void *);
@@ -502,16 +508,21 @@ bpf_object__find_map_fd_by_name(const struct bpf_object *obj, const char *name);
LIBBPF_API struct bpf_map *
bpf_object__find_map_by_offset(struct bpf_object *obj, size_t offset);
+LIBBPF_API LIBBPF_DEPRECATED_SINCE(0, 7, "use bpf_object__next_map() instead")
+struct bpf_map *bpf_map__next(const struct bpf_map *map, const struct bpf_object *obj);
LIBBPF_API struct bpf_map *
-bpf_map__next(const struct bpf_map *map, const struct bpf_object *obj);
+bpf_object__next_map(const struct bpf_object *obj, const struct bpf_map *map);
+
#define bpf_object__for_each_map(pos, obj) \
- for ((pos) = bpf_map__next(NULL, (obj)); \
+ for ((pos) = bpf_object__next_map((obj), NULL); \
(pos) != NULL; \
- (pos) = bpf_map__next((pos), (obj)))
+ (pos) = bpf_object__next_map((obj), (pos)))
#define bpf_map__for_each bpf_object__for_each_map
+LIBBPF_API LIBBPF_DEPRECATED_SINCE(0, 7, "use bpf_object__prev_map() instead")
+struct bpf_map *bpf_map__prev(const struct bpf_map *map, const struct bpf_object *obj);
LIBBPF_API struct bpf_map *
-bpf_map__prev(const struct bpf_map *map, const struct bpf_object *obj);
+bpf_object__prev_map(const struct bpf_object *obj, const struct bpf_map *map);
/**
* @brief **bpf_map__fd()** gets the file descriptor of the passed
diff --git a/tools/lib/bpf/libbpf.map b/tools/lib/bpf/libbpf.map
index 9e649cf9e771..b9f711ca475f 100644
--- a/tools/lib/bpf/libbpf.map
+++ b/tools/lib/bpf/libbpf.map
@@ -389,5 +389,9 @@ LIBBPF_0.5.0 {
LIBBPF_0.6.0 {
global:
+ bpf_object__next_map;
+ bpf_object__next_program;
+ bpf_object__prev_map;
+ bpf_object__prev_program;
btf__add_tag;
} LIBBPF_0.5.0;
--
2.25.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH bpf-next 2/2 v2] selftests/bpf: Switch to new bpf_object__next_{map,program} APIs
2021-10-03 16:58 [PATCH bpf-next 0/2 v2] libbpf: Deprecate bpf_{map,program}__{prev,next} APIs since v0.7 Hengqi Chen
2021-10-03 16:58 ` [PATCH bpf-next 1/2 " Hengqi Chen
@ 2021-10-03 16:58 ` Hengqi Chen
2021-10-05 22:22 ` Song Liu
1 sibling, 1 reply; 7+ messages in thread
From: Hengqi Chen @ 2021-10-03 16:58 UTC (permalink / raw)
To: bpf; +Cc: ast, daniel, andrii, yhs, john.fastabend, hengqi.chen
Replace deprecated bpf_{map,program}__next APIs with newly added
bpf_object__next_{map,program} APIs, so that no compilation warnings
emit.
Signed-off-by: Hengqi Chen <hengqi.chen@gmail.com>
---
tools/testing/selftests/bpf/prog_tests/btf.c | 2 +-
tools/testing/selftests/bpf/prog_tests/fexit_bpf2bpf.c | 6 +++---
tools/testing/selftests/bpf/prog_tests/select_reuseport.c | 2 +-
tools/testing/selftests/bpf/prog_tests/tcp_rtt.c | 2 +-
tools/testing/selftests/bpf/xdping.c | 2 +-
5 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/tools/testing/selftests/bpf/prog_tests/btf.c b/tools/testing/selftests/bpf/prog_tests/btf.c
index 9c85d7d27409..acd33d0cd5d9 100644
--- a/tools/testing/selftests/bpf/prog_tests/btf.c
+++ b/tools/testing/selftests/bpf/prog_tests/btf.c
@@ -4511,7 +4511,7 @@ static void do_test_file(unsigned int test_num)
if (CHECK(err, "obj: %d", err))
return;
- prog = bpf_program__next(NULL, obj);
+ prog = bpf_object__next_program(obj, NULL);
if (CHECK(!prog, "Cannot find bpf_prog")) {
err = -1;
goto done;
diff --git a/tools/testing/selftests/bpf/prog_tests/fexit_bpf2bpf.c b/tools/testing/selftests/bpf/prog_tests/fexit_bpf2bpf.c
index c7c1816899bf..2839f4270a26 100644
--- a/tools/testing/selftests/bpf/prog_tests/fexit_bpf2bpf.c
+++ b/tools/testing/selftests/bpf/prog_tests/fexit_bpf2bpf.c
@@ -285,7 +285,7 @@ static void test_fmod_ret_freplace(void)
if (!ASSERT_OK_PTR(freplace_obj, "freplace_obj_open"))
goto out;
- prog = bpf_program__next(NULL, freplace_obj);
+ prog = bpf_object__next_program(freplace_obj, NULL);
err = bpf_program__set_attach_target(prog, pkt_fd, NULL);
ASSERT_OK(err, "freplace__set_attach_target");
@@ -302,7 +302,7 @@ static void test_fmod_ret_freplace(void)
goto out;
attach_prog_fd = bpf_program__fd(prog);
- prog = bpf_program__next(NULL, fmod_obj);
+ prog = bpf_object__next_program(fmod_obj, NULL);
err = bpf_program__set_attach_target(prog, attach_prog_fd, NULL);
ASSERT_OK(err, "fmod_ret_set_attach_target");
@@ -352,7 +352,7 @@ static void test_obj_load_failure_common(const char *obj_file,
if (!ASSERT_OK_PTR(obj, "obj_open"))
goto close_prog;
- prog = bpf_program__next(NULL, obj);
+ prog = bpf_object__next_program(obj, NULL);
err = bpf_program__set_attach_target(prog, pkt_fd, NULL);
ASSERT_OK(err, "set_attach_target");
diff --git a/tools/testing/selftests/bpf/prog_tests/select_reuseport.c b/tools/testing/selftests/bpf/prog_tests/select_reuseport.c
index 4efd337d6a3c..d40e9156c48d 100644
--- a/tools/testing/selftests/bpf/prog_tests/select_reuseport.c
+++ b/tools/testing/selftests/bpf/prog_tests/select_reuseport.c
@@ -114,7 +114,7 @@ static int prepare_bpf_obj(void)
err = bpf_object__load(obj);
RET_ERR(err, "load bpf_object", "err:%d\n", err);
- prog = bpf_program__next(NULL, obj);
+ prog = bpf_object__next_program(obj, NULL);
RET_ERR(!prog, "get first bpf_program", "!prog\n");
select_by_skb_data_prog = bpf_program__fd(prog);
RET_ERR(select_by_skb_data_prog < 0, "get prog fd",
diff --git a/tools/testing/selftests/bpf/prog_tests/tcp_rtt.c b/tools/testing/selftests/bpf/prog_tests/tcp_rtt.c
index d207e968e6b1..265b4fe33ec3 100644
--- a/tools/testing/selftests/bpf/prog_tests/tcp_rtt.c
+++ b/tools/testing/selftests/bpf/prog_tests/tcp_rtt.c
@@ -109,7 +109,7 @@ static int run_test(int cgroup_fd, int server_fd)
return -1;
}
- map = bpf_map__next(NULL, obj);
+ map = bpf_object__next_map(obj, NULL);
map_fd = bpf_map__fd(map);
err = bpf_prog_attach(prog_fd, cgroup_fd, BPF_CGROUP_SOCK_OPS, 0);
diff --git a/tools/testing/selftests/bpf/xdping.c b/tools/testing/selftests/bpf/xdping.c
index 79a3453dab25..30f12637f4e4 100644
--- a/tools/testing/selftests/bpf/xdping.c
+++ b/tools/testing/selftests/bpf/xdping.c
@@ -187,7 +187,7 @@ int main(int argc, char **argv)
return 1;
}
- map = bpf_map__next(NULL, obj);
+ map = bpf_object__next_map(obj, NULL);
if (map)
map_fd = bpf_map__fd(map);
if (!map || map_fd < 0) {
--
2.25.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH bpf-next 1/2 v2] libbpf: Deprecate bpf_{map,program}__{prev,next} APIs since v0.7
2021-10-03 16:58 ` [PATCH bpf-next 1/2 " Hengqi Chen
@ 2021-10-05 22:22 ` Song Liu
2021-10-06 18:07 ` Andrii Nakryiko
0 siblings, 1 reply; 7+ messages in thread
From: Song Liu @ 2021-10-05 22:22 UTC (permalink / raw)
To: Hengqi Chen
Cc: bpf, Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko,
Yonghong Song, John Fastabend
On Sun, Oct 3, 2021 at 10:00 AM Hengqi Chen <hengqi.chen@gmail.com> wrote:
>
> Deprecate bpf_{map,program}__{prev,next} APIs. Replace them with
> a new set of APIs named bpf_object__{prev,next}_{program,map} which
> follow the libbpf API naming convention.[0] No functionality changes.
>
> Closes: https://github.com/libbpf/libbpf/issues/296
^^^ I guess we need "[0]" here?
>
> Signed-off-by: Hengqi Chen <hengqi.chen@gmail.com>
> ---
Other than the nitpick above
Acked-by: Song Liu <songliubraving@fb.com>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH bpf-next 2/2 v2] selftests/bpf: Switch to new bpf_object__next_{map,program} APIs
2021-10-03 16:58 ` [PATCH bpf-next 2/2 v2] selftests/bpf: Switch to new bpf_object__next_{map,program} APIs Hengqi Chen
@ 2021-10-05 22:22 ` Song Liu
0 siblings, 0 replies; 7+ messages in thread
From: Song Liu @ 2021-10-05 22:22 UTC (permalink / raw)
To: Hengqi Chen
Cc: bpf, Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko,
Yonghong Song, John Fastabend
On Sun, Oct 3, 2021 at 10:00 AM Hengqi Chen <hengqi.chen@gmail.com> wrote:
>
> Replace deprecated bpf_{map,program}__next APIs with newly added
> bpf_object__next_{map,program} APIs, so that no compilation warnings
> emit.
>
> Signed-off-by: Hengqi Chen <hengqi.chen@gmail.com>
Acked-by: Song Liu <songliubraving@fb.com>
> ---
> tools/testing/selftests/bpf/prog_tests/btf.c | 2 +-
> tools/testing/selftests/bpf/prog_tests/fexit_bpf2bpf.c | 6 +++---
> tools/testing/selftests/bpf/prog_tests/select_reuseport.c | 2 +-
> tools/testing/selftests/bpf/prog_tests/tcp_rtt.c | 2 +-
> tools/testing/selftests/bpf/xdping.c | 2 +-
> 5 files changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/tools/testing/selftests/bpf/prog_tests/btf.c b/tools/testing/selftests/bpf/prog_tests/btf.c
> index 9c85d7d27409..acd33d0cd5d9 100644
> --- a/tools/testing/selftests/bpf/prog_tests/btf.c
> +++ b/tools/testing/selftests/bpf/prog_tests/btf.c
> @@ -4511,7 +4511,7 @@ static void do_test_file(unsigned int test_num)
> if (CHECK(err, "obj: %d", err))
> return;
>
> - prog = bpf_program__next(NULL, obj);
> + prog = bpf_object__next_program(obj, NULL);
> if (CHECK(!prog, "Cannot find bpf_prog")) {
> err = -1;
> goto done;
> diff --git a/tools/testing/selftests/bpf/prog_tests/fexit_bpf2bpf.c b/tools/testing/selftests/bpf/prog_tests/fexit_bpf2bpf.c
> index c7c1816899bf..2839f4270a26 100644
> --- a/tools/testing/selftests/bpf/prog_tests/fexit_bpf2bpf.c
> +++ b/tools/testing/selftests/bpf/prog_tests/fexit_bpf2bpf.c
> @@ -285,7 +285,7 @@ static void test_fmod_ret_freplace(void)
> if (!ASSERT_OK_PTR(freplace_obj, "freplace_obj_open"))
> goto out;
>
> - prog = bpf_program__next(NULL, freplace_obj);
> + prog = bpf_object__next_program(freplace_obj, NULL);
> err = bpf_program__set_attach_target(prog, pkt_fd, NULL);
> ASSERT_OK(err, "freplace__set_attach_target");
>
> @@ -302,7 +302,7 @@ static void test_fmod_ret_freplace(void)
> goto out;
>
> attach_prog_fd = bpf_program__fd(prog);
> - prog = bpf_program__next(NULL, fmod_obj);
> + prog = bpf_object__next_program(fmod_obj, NULL);
> err = bpf_program__set_attach_target(prog, attach_prog_fd, NULL);
> ASSERT_OK(err, "fmod_ret_set_attach_target");
>
> @@ -352,7 +352,7 @@ static void test_obj_load_failure_common(const char *obj_file,
> if (!ASSERT_OK_PTR(obj, "obj_open"))
> goto close_prog;
>
> - prog = bpf_program__next(NULL, obj);
> + prog = bpf_object__next_program(obj, NULL);
> err = bpf_program__set_attach_target(prog, pkt_fd, NULL);
> ASSERT_OK(err, "set_attach_target");
>
> diff --git a/tools/testing/selftests/bpf/prog_tests/select_reuseport.c b/tools/testing/selftests/bpf/prog_tests/select_reuseport.c
> index 4efd337d6a3c..d40e9156c48d 100644
> --- a/tools/testing/selftests/bpf/prog_tests/select_reuseport.c
> +++ b/tools/testing/selftests/bpf/prog_tests/select_reuseport.c
> @@ -114,7 +114,7 @@ static int prepare_bpf_obj(void)
> err = bpf_object__load(obj);
> RET_ERR(err, "load bpf_object", "err:%d\n", err);
>
> - prog = bpf_program__next(NULL, obj);
> + prog = bpf_object__next_program(obj, NULL);
> RET_ERR(!prog, "get first bpf_program", "!prog\n");
> select_by_skb_data_prog = bpf_program__fd(prog);
> RET_ERR(select_by_skb_data_prog < 0, "get prog fd",
> diff --git a/tools/testing/selftests/bpf/prog_tests/tcp_rtt.c b/tools/testing/selftests/bpf/prog_tests/tcp_rtt.c
> index d207e968e6b1..265b4fe33ec3 100644
> --- a/tools/testing/selftests/bpf/prog_tests/tcp_rtt.c
> +++ b/tools/testing/selftests/bpf/prog_tests/tcp_rtt.c
> @@ -109,7 +109,7 @@ static int run_test(int cgroup_fd, int server_fd)
> return -1;
> }
>
> - map = bpf_map__next(NULL, obj);
> + map = bpf_object__next_map(obj, NULL);
> map_fd = bpf_map__fd(map);
>
> err = bpf_prog_attach(prog_fd, cgroup_fd, BPF_CGROUP_SOCK_OPS, 0);
> diff --git a/tools/testing/selftests/bpf/xdping.c b/tools/testing/selftests/bpf/xdping.c
> index 79a3453dab25..30f12637f4e4 100644
> --- a/tools/testing/selftests/bpf/xdping.c
> +++ b/tools/testing/selftests/bpf/xdping.c
> @@ -187,7 +187,7 @@ int main(int argc, char **argv)
> return 1;
> }
>
> - map = bpf_map__next(NULL, obj);
> + map = bpf_object__next_map(obj, NULL);
> if (map)
> map_fd = bpf_map__fd(map);
> if (!map || map_fd < 0) {
> --
> 2.25.1
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH bpf-next 1/2 v2] libbpf: Deprecate bpf_{map,program}__{prev,next} APIs since v0.7
2021-10-05 22:22 ` Song Liu
@ 2021-10-06 18:07 ` Andrii Nakryiko
2021-10-07 4:01 ` Hengqi Chen
0 siblings, 1 reply; 7+ messages in thread
From: Andrii Nakryiko @ 2021-10-06 18:07 UTC (permalink / raw)
To: Song Liu
Cc: Hengqi Chen, bpf, Alexei Starovoitov, Daniel Borkmann,
Andrii Nakryiko, Yonghong Song, John Fastabend
On Tue, Oct 5, 2021 at 3:22 PM Song Liu <song@kernel.org> wrote:
>
> On Sun, Oct 3, 2021 at 10:00 AM Hengqi Chen <hengqi.chen@gmail.com> wrote:
> >
> > Deprecate bpf_{map,program}__{prev,next} APIs. Replace them with
> > a new set of APIs named bpf_object__{prev,next}_{program,map} which
> > follow the libbpf API naming convention.[0] No functionality changes.
> >
> > Closes: https://github.com/libbpf/libbpf/issues/296
> ^^^ I guess we need "[0]" here?
>
> >
> > Signed-off-by: Hengqi Chen <hengqi.chen@gmail.com>
> > ---
>
> Other than the nitpick above
Fixed that up while applying. There were also 4 more uses of
bpf_program__next and bpf_map__next in bpftool and samples/bpf, I've
fixed them up as well to not come back to this again. Hengqi, for
future deprecations, please do grep for the entire Linux source code,
not just selftests, there are a bunch of other tools and parts of the
kernel that use libbpf APIs.
Applied to bpf-next, thanks.
>
> Acked-by: Song Liu <songliubraving@fb.com>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH bpf-next 1/2 v2] libbpf: Deprecate bpf_{map,program}__{prev,next} APIs since v0.7
2021-10-06 18:07 ` Andrii Nakryiko
@ 2021-10-07 4:01 ` Hengqi Chen
0 siblings, 0 replies; 7+ messages in thread
From: Hengqi Chen @ 2021-10-07 4:01 UTC (permalink / raw)
To: Andrii Nakryiko, Song Liu
Cc: bpf, Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko,
Yonghong Song, John Fastabend
On 10/7/21 2:07 AM, Andrii Nakryiko wrote:
> On Tue, Oct 5, 2021 at 3:22 PM Song Liu <song@kernel.org> wrote:
>>
>> On Sun, Oct 3, 2021 at 10:00 AM Hengqi Chen <hengqi.chen@gmail.com> wrote:
>>>
>>> Deprecate bpf_{map,program}__{prev,next} APIs. Replace them with
>>> a new set of APIs named bpf_object__{prev,next}_{program,map} which
>>> follow the libbpf API naming convention.[0] No functionality changes.
>>>
>>> Closes: https://github.com/libbpf/libbpf/issues/296
>> ^^^ I guess we need "[0]" here?
>>
>>>
>>> Signed-off-by: Hengqi Chen <hengqi.chen@gmail.com>
>>> ---
>>
>> Other than the nitpick above
>
> Fixed that up while applying. There were also 4 more uses of
> bpf_program__next and bpf_map__next in bpftool and samples/bpf, I've
> fixed them up as well to not come back to this again. Hengqi, for
> future deprecations, please do grep for the entire Linux source code,
> not just selftests, there are a bunch of other tools and parts of the
> kernel that use libbpf APIs.
>
Thanks. Will keep this in mind. :)
> Applied to bpf-next, thanks.
>
>>
>> Acked-by: Song Liu <songliubraving@fb.com>
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2021-10-07 4:01 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-03 16:58 [PATCH bpf-next 0/2 v2] libbpf: Deprecate bpf_{map,program}__{prev,next} APIs since v0.7 Hengqi Chen
2021-10-03 16:58 ` [PATCH bpf-next 1/2 " Hengqi Chen
2021-10-05 22:22 ` Song Liu
2021-10-06 18:07 ` Andrii Nakryiko
2021-10-07 4:01 ` Hengqi Chen
2021-10-03 16:58 ` [PATCH bpf-next 2/2 v2] selftests/bpf: Switch to new bpf_object__next_{map,program} APIs Hengqi Chen
2021-10-05 22:22 ` Song Liu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).