diff options
| author | Dmitry Torokhov <[email protected]> | 2022-10-09 22:30:23 -0700 | 
|---|---|---|
| committer | Dmitry Torokhov <[email protected]> | 2022-10-09 22:30:23 -0700 | 
| commit | 5f8f8574c7f5585b09a9623f0f13462e4eb67b4d (patch) | |
| tree | 8f1d5e88bf9604a9e39fbcce0e37b3d8cee451bb /tools/lib/bpf/netlink.c | |
| parent | e62563db857f81d75c5726a35bc0180bed6d1540 (diff) | |
| parent | fe5b6aaef72a0f7daa06e7960e0bee45c2984e41 (diff) | |
Merge branch 'next' into for-linus
Prepare input updates for 6.1 merge window.
Diffstat (limited to 'tools/lib/bpf/netlink.c')
| -rw-r--r-- | tools/lib/bpf/netlink.c | 62 | 
1 files changed, 8 insertions, 54 deletions
| diff --git a/tools/lib/bpf/netlink.c b/tools/lib/bpf/netlink.c index cbc8967d5402..6c013168032d 100644 --- a/tools/lib/bpf/netlink.c +++ b/tools/lib/bpf/netlink.c @@ -27,6 +27,14 @@ typedef int (*libbpf_dump_nlmsg_t)(void *cookie, void *msg, struct nlattr **tb);  typedef int (*__dump_nlmsg_t)(struct nlmsghdr *nlmsg, libbpf_dump_nlmsg_t,  			      void *cookie); +struct xdp_link_info { +	__u32 prog_id; +	__u32 drv_prog_id; +	__u32 hw_prog_id; +	__u32 skb_prog_id; +	__u8 attach_mode; +}; +  struct xdp_id_md {  	int ifindex;  	__u32 flags; @@ -288,31 +296,6 @@ int bpf_xdp_detach(int ifindex, __u32 flags, const struct bpf_xdp_attach_opts *o  	return bpf_xdp_attach(ifindex, -1, flags, opts);  } -int bpf_set_link_xdp_fd_opts(int ifindex, int fd, __u32 flags, -			     const struct bpf_xdp_set_link_opts *opts) -{ -	int old_fd = -1, ret; - -	if (!OPTS_VALID(opts, bpf_xdp_set_link_opts)) -		return libbpf_err(-EINVAL); - -	if (OPTS_HAS(opts, old_fd)) { -		old_fd = OPTS_GET(opts, old_fd, -1); -		flags |= XDP_FLAGS_REPLACE; -	} - -	ret = __bpf_set_link_xdp_fd_replace(ifindex, fd, old_fd, flags); -	return libbpf_err(ret); -} - -int bpf_set_link_xdp_fd(int ifindex, int fd, __u32 flags) -{ -	int ret; - -	ret = __bpf_set_link_xdp_fd_replace(ifindex, fd, 0, flags); -	return libbpf_err(ret); -} -  static int __dump_link_nlmsg(struct nlmsghdr *nlh,  			     libbpf_dump_nlmsg_t dump_link_nlmsg, void *cookie)  { @@ -413,30 +396,6 @@ int bpf_xdp_query(int ifindex, int xdp_flags, struct bpf_xdp_query_opts *opts)  	return 0;  } -int bpf_get_link_xdp_info(int ifindex, struct xdp_link_info *info, -			  size_t info_size, __u32 flags) -{ -	LIBBPF_OPTS(bpf_xdp_query_opts, opts); -	size_t sz; -	int err; - -	if (!info_size) -		return libbpf_err(-EINVAL); - -	err = bpf_xdp_query(ifindex, flags, &opts); -	if (err) -		return libbpf_err(err); - -	/* struct xdp_link_info field layout matches struct bpf_xdp_query_opts -	 * layout after sz field -	 */ -	sz = min(info_size, offsetofend(struct xdp_link_info, attach_mode)); -	memcpy(info, &opts.prog_id, sz); -	memset((void *)info + sz, 0, info_size - sz); - -	return 0; -} -  int bpf_xdp_query_id(int ifindex, int flags, __u32 *prog_id)  {  	LIBBPF_OPTS(bpf_xdp_query_opts, opts); @@ -463,11 +422,6 @@ int bpf_xdp_query_id(int ifindex, int flags, __u32 *prog_id)  } -int bpf_get_link_xdp_id(int ifindex, __u32 *prog_id, __u32 flags) -{ -	return bpf_xdp_query_id(ifindex, flags, prog_id); -} -  typedef int (*qdisc_config_t)(struct libbpf_nla_req *req);  static int clsact_config(struct libbpf_nla_req *req) |