> On Nov 7, 2019, at 8:52 AM, Toke Høiland-Jørgensen <toke@xxxxxxxxxx> wrote: > > From: Toke Høiland-Jørgensen <toke@xxxxxxxxxx> > > Currently, libbpf only provides a function to get a single ID for the XDP > program attached to the interface. However, it can be useful to get the > full set of program IDs attached, along with the attachment mode, in one > go. Add a new getter function to support this, using an extendible > structure to carry the information. Express the old bpf_get_link_id() > function in terms of the new function. > > Signed-off-by: Toke Høiland-Jørgensen <toke@xxxxxxxxxx> > --- > tools/lib/bpf/libbpf.h | 10 ++++++ > tools/lib/bpf/libbpf.map | 1 + > tools/lib/bpf/netlink.c | 78 ++++++++++++++++++++++++++++++---------------- > 3 files changed, 62 insertions(+), 27 deletions(-) > > diff --git a/tools/lib/bpf/libbpf.h b/tools/lib/bpf/libbpf.h > index 6ddc0419337b..f0947cc949d2 100644 > --- a/tools/lib/bpf/libbpf.h > +++ b/tools/lib/bpf/libbpf.h > @@ -427,8 +427,18 @@ LIBBPF_API int bpf_prog_load_xattr(const struct bpf_prog_load_attr *attr, > LIBBPF_API int bpf_prog_load(const char *file, enum bpf_prog_type type, > struct bpf_object **pobj, int *prog_fd); > > +struct xdp_link_info { > + __u32 prog_id; > + __u32 drv_prog_id; > + __u32 hw_prog_id; > + __u32 skb_prog_id; > + __u8 attach_mode; > +}; > + > LIBBPF_API int bpf_set_link_xdp_fd(int ifindex, int fd, __u32 flags); > LIBBPF_API int bpf_get_link_xdp_id(int ifindex, __u32 *prog_id, __u32 flags); > +LIBBPF_API int bpf_get_link_xdp_info(int ifindex, struct xdp_link_info *info, > + size_t info_size, __u32 flags); > > struct perf_buffer; > > diff --git a/tools/lib/bpf/libbpf.map b/tools/lib/bpf/libbpf.map > index 86173cbb159d..45f229af2766 100644 > --- a/tools/lib/bpf/libbpf.map > +++ b/tools/lib/bpf/libbpf.map > @@ -202,4 +202,5 @@ LIBBPF_0.0.6 { > bpf_program__get_type; > bpf_program__is_tracing; > bpf_program__set_tracing; > + bpf_get_link_xdp_info; Please keep these entries in alphabetic order. Just found I added most out-of-order entries. :( Other than this Acked-by: Song Liu <songliubraving@xxxxxx>