Hi Dave,

This patchset adds VST QinQ support (VLAN protocol 802.1ad)
to the mlx4 driver.
We extended the VF VLAN API with an additional parameter
for VLAN protocol, and kept 802.1Q as drivers' default.

We prepared a userspace support, the patch will be submitted
to the iproute2 mailing list.

The iproute2 VLAN protocol parameter is optional (default: 802.1Q).
A configuration command of VF VLAN that is used prior to this patchset
will result in same functionality as today's (VST without QinQ).

v2:
  Dropped patch 4 ("net/mlx4_core: Add an option to configure SVLAN TPID").
  Patch 1/5: Update commit log.
  2-3/5: Splitted patch 2 into two patches, to separate between changes
         done in mlx4_core and the ones done in mlx4_en.
  4-5/5: Splitted patch 3 into two patches, to separate between the
         addition of a protocol parameter and the actual implementation
         in mlx4_en.
         In addition, we implemented a handshake mechanism so PF and VF
         exchange their VST QinQ support capability.

Moshe Shemesh (5):
  net/mlx4_core: Fix QUERY FUNC CAP flags
  net/mlx4_core: Preparation for VST QinQ
  net/mlx4_en: Preparation for VST QinQ
  net: Update API for VST QinQ support
  net/mlx4: Add VST QinQ support

 drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h    |   3 +-
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c  |   9 +-
 drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c    |   6 +-
 drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.h    |   2 +-
 drivers/net/ethernet/emulex/benet/be_main.c        |   6 +-
 drivers/net/ethernet/intel/fm10k/fm10k.h           |   2 +-
 drivers/net/ethernet/intel/fm10k/fm10k_iov.c       |   6 +-
 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c |  11 +-
 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.h |   4 +-
 drivers/net/ethernet/intel/igb/igb_main.c          |   9 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c     |   5 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.h     |   2 +-
 drivers/net/ethernet/mellanox/mlx4/cmd.c           |  58 ++++++++-
 drivers/net/ethernet/mellanox/mlx4/en_netdev.c     |  23 +++-
 drivers/net/ethernet/mellanox/mlx4/fw.c            | 129 +++++++++++++++++++--
 drivers/net/ethernet/mellanox/mlx4/fw.h            |   2 +-
 drivers/net/ethernet/mellanox/mlx4/mlx4.h          |   3 +
 .../net/ethernet/mellanox/mlx4/resource_tracker.c  |  40 +++++--
 drivers/net/ethernet/mellanox/mlx5/core/en_main.c  |   6 +-
 drivers/net/ethernet/qlogic/qede/qede_main.c       |   6 +-
 drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov.h  |   2 +-
 .../net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c   |   5 +-
 drivers/net/ethernet/sfc/sriov.c                   |   5 +-
 drivers/net/ethernet/sfc/sriov.h                   |   2 +-
 include/linux/if_link.h                            |   1 +
 include/linux/mlx4/cmd.h                           |   3 +-
 include/linux/mlx4/device.h                        |   3 +
 include/linux/mlx4/qp.h                            |   2 +
 include/linux/netdevice.h                          |   6 +-
 include/uapi/linux/if_link.h                       |  10 +-
 net/core/rtnetlink.c                               |  28 ++++-
 31 files changed, 346 insertions(+), 53 deletions(-)

-- 
1.8.3.1

Reply via email to