This is the first usage of the new bpf_prog ID. It is for reporting the ID of a xdp_prog through netlink.
It rides on the existing IFLA_XDP. This patch adds IFLA_XDP_PROG_ID for the bpf_prog ID reporting. It starts with changing the generic_xdp first. After that, the hardware driver is changed one by one. The final patch removes the prog_attached from 'struct netdev_xdp' because prog_id > 0 implies the presence of xdp_prog. I have tested with generic_xdp, mlx4 and mlx5. Martin KaFai Lau (10): net: Add IFLA_XDP_PROG_ID bpf: mlx4: Report bpf_prog ID during XDP_QUERY_PROG bpf: mlx5e: Report bpf_prog ID during XDP_QUERY_PROG bpf: virtio_net: Report bpf_prog ID during XDP_QUERY_PROG bpf: bnxt: Report bpf_prog ID during XDP_QUERY_PROG bpf: thunderx: Report bpf_prog ID during XDP_QUERY_PROG bpf: ixgbe: Report bpf_prog ID during XDP_QUERY_PROG bpf: nfp: Report bpf_prog ID during XDP_QUERY_PROG bpf: qede: Report bpf_prog ID during XDP_QUERY_PROG net: Remove prog_attached from struct netdev_xdp drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c | 11 ++++++-- drivers/net/ethernet/cavium/thunder/nicvf_main.c | 11 ++++++-- drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 11 ++++++-- drivers/net/ethernet/mellanox/mlx4/en_netdev.c | 20 ++++++++++++-- drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 14 ++++++++-- .../net/ethernet/netronome/nfp/nfp_net_common.c | 11 ++++++-- drivers/net/ethernet/qlogic/qede/qede_filter.c | 11 ++++++-- drivers/net/virtio_net.c | 12 ++++---- include/linux/netdevice.h | 4 +-- include/uapi/linux/if_link.h | 1 + net/core/dev.c | 15 +++++----- net/core/rtnetlink.c | 32 +++++++++++++++++----- 12 files changed, 116 insertions(+), 37 deletions(-) -- 2.9.3