bpf, xdp: Remove XDP_QUERY_PROG and XDP_QUERY_PROG_HW XDP commands
Now that BPF program/link management is centralized in generic net_device code, kernel code never queries program id from drivers, so XDP_QUERY_PROG/XDP_QUERY_PROG_HW commands are unnecessary. This patch removes all the implementations of those commands in kernel, along the xdp_attachment_query(). This patch was compile-tested on allyesconfig. Signed-off-by: Andrii Nakryiko <andriin@fb.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org> Link: https://lore.kernel.org/bpf/20200722064603.3350758-10-andriin@fb.com
This commit is contained in:

committed by
Alexei Starovoitov

parent
fe48230cf2
commit
e8407fdeb9
@@ -2490,28 +2490,11 @@ err:
|
||||
return err;
|
||||
}
|
||||
|
||||
static u32 virtnet_xdp_query(struct net_device *dev)
|
||||
{
|
||||
struct virtnet_info *vi = netdev_priv(dev);
|
||||
const struct bpf_prog *xdp_prog;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < vi->max_queue_pairs; i++) {
|
||||
xdp_prog = rtnl_dereference(vi->rq[i].xdp_prog);
|
||||
if (xdp_prog)
|
||||
return xdp_prog->aux->id;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int virtnet_xdp(struct net_device *dev, struct netdev_bpf *xdp)
|
||||
{
|
||||
switch (xdp->command) {
|
||||
case XDP_SETUP_PROG:
|
||||
return virtnet_xdp_set(dev, xdp->prog, xdp->extack);
|
||||
case XDP_QUERY_PROG:
|
||||
xdp->prog_id = virtnet_xdp_query(dev);
|
||||
return 0;
|
||||
default:
|
||||
return -EINVAL;
|
||||
}
|
||||
|
Reference in New Issue
Block a user