From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jakub Kicinski Subject: [PATCH bpf-next 0/7] xdp: simultaneous driver and HW XDP Date: Wed, 11 Jul 2018 20:36:37 -0700 Message-ID: <20180712033644.23954-1-jakub.kicinski@netronome.com> Cc: oss-drivers@netronome.com, netdev@vger.kernel.org, Jakub Kicinski To: alexei.starovoitov@gmail.com, daniel@iogearbox.net Return-path: Received: from mail-qk0-f193.google.com ([209.85.220.193]:40738 "EHLO mail-qk0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726470AbeGLDoa (ORCPT ); Wed, 11 Jul 2018 23:44:30 -0400 Received: by mail-qk0-f193.google.com with SMTP id c126-v6so6055499qkd.7 for ; Wed, 11 Jul 2018 20:36:56 -0700 (PDT) Sender: netdev-owner@vger.kernel.org List-ID: Hi! This set is adding support for loading driver and offload XDP at the same time. This enables advanced use cases where some of the work is offloaded to the NIC and some is done by the host. Separate netlink attributes are added for each mode of operation. Driver callbacks for offload are cleaned up a little, including removal of .prog_attached flag. Jakub Kicinski (7): xdp: add per mode attributes for attached programs xdp: don't make drivers report attachment mode xdp: factor out common program/flags handling from drivers xdp: support simultaneous driver and hw XDP attachment netdevsim: add support for simultaneous driver and hw XDP selftests/bpf: add test for multiple programs nfp: add support for simultaneous driver and hw XDP drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c | 1 - .../net/ethernet/cavium/thunder/nicvf_main.c | 1 - drivers/net/ethernet/intel/i40e/i40e_main.c | 1 - drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 1 - .../net/ethernet/intel/ixgbevf/ixgbevf_main.c | 1 - .../net/ethernet/mellanox/mlx4/en_netdev.c | 1 - .../net/ethernet/mellanox/mlx5/core/en_main.c | 1 - drivers/net/ethernet/netronome/nfp/bpf/main.c | 11 +-- drivers/net/ethernet/netronome/nfp/nfp_net.h | 10 ++- .../ethernet/netronome/nfp/nfp_net_common.c | 58 ++++++--------- .../net/ethernet/qlogic/qede/qede_filter.c | 1 - drivers/net/netdevsim/bpf.c | 41 ++++------- drivers/net/netdevsim/netdev.c | 3 +- drivers/net/netdevsim/netdevsim.h | 6 +- drivers/net/tun.c | 1 - drivers/net/virtio_net.c | 1 - include/linux/netdevice.h | 12 ++-- include/net/xdp.h | 13 ++++ include/uapi/linux/if_link.h | 4 ++ net/core/dev.c | 48 +++++++------ net/core/rtnetlink.c | 71 ++++++++++++++----- net/core/xdp.c | 34 +++++++++ tools/testing/selftests/bpf/test_offload.py | 71 ++++++++++++++++--- 23 files changed, 246 insertions(+), 146 deletions(-) -- 2.17.1