On Wed, Dec 18, 2019 at 11:45 PM Andrey Ignatov <rdna@xxxxxx> wrote: > > Introduce a new bpf_prog_attach_xattr function that, in addition to > program fd, target fd and attach type, accepts an extendable struct > bpf_prog_attach_opts. > > bpf_prog_attach_opts relies on DECLARE_LIBBPF_OPTS macro to maintain > backward and forward compatibility and has the following "optional" > attach attributes: > > * existing attach_flags, since it's not required when attaching in NONE > mode. Even though it's quite often used in MULTI and OVERRIDE mode it > seems to be a good idea to reduce number of arguments to > bpf_prog_attach_xattr; > > * newly introduced attribute of BPF_PROG_ATTACH command: replace_prog_fd > that is fd of previously attached cgroup-bpf program to replace if > BPF_F_REPLACE flag is used. > > The new function is named to be consistent with other xattr-functions > (bpf_prog_test_run_xattr, bpf_create_map_xattr, bpf_load_program_xattr). > > The struct bpf_prog_attach_opts is supposed to be used with > DECLARE_LIBBPF_OPTS macro. > > Signed-off-by: Andrey Ignatov <rdna@xxxxxx> > --- Looks great, thanks! Acked-by: Andrii Nakryiko <andriin@xxxxxx> > tools/lib/bpf/bpf.c | 17 ++++++++++++++++- > tools/lib/bpf/bpf.h | 11 +++++++++++ > tools/lib/bpf/libbpf.map | 1 + > 3 files changed, 28 insertions(+), 1 deletion(-) > [...]