Hi Dave, The following series mainly from Aviv, Rabie and Roi adds the support for mlx5 VF LAG.
Please note that the series starts with a merge commit with mlx5-next branch, to resolve/avoid dependency with rdma tree. For more information please see tag log below. Please pull and let me know if there's any problem. Thanks, Saeed. --- The following changes since commit 64e4cf0dab16ad432fcbe7ac1109488e5a282c7b: Merge branch 'mlx5-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux (2018-12-14 11:15:25 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux.git tags/mlx5e-updates-2018-12-14 for you to fetch changes up to 9582466640432c86fb060a4fa4d9d3c48e708ca6: net/mlx5: Handle LAG FW commands failure gracefully (2018-12-14 13:28:56 -0800) ---------------------------------------------------------------- mlx5e-updates-2018-12-14 (VF Lag) >From Aviv Heller, Subsequent patches introduce VF LAG, which provdies load-balancing and high-availability capabilities for VFs associated with different physical ports of the same Connect-X card. This series consists of the following: - mlx5 devcom, driver infrastructure that facilitates operations that involve both core devices (physical functions) of the same card, to synchronize and communicate between two driver instances of the same card. - Infrastructure for TC rule duplication. - Changes to LAG logic to enable its use when SR-IOV is enabled - PFs in switchdev mode is the only mode currently supported. ---------------------------------------------------------------- Aviv Heller (5): net/mlx5: Introduce inter-device communication mechanism net/mlx5e: Duplicate offloaded TC eswitch rules under uplink LAG net/mlx5: Rename mlx5_lag_is_bonded() to __mlx5_lag_is_active() net/mlx5: Make RoCE and SR-IOV LAG modes explicit net/mlx5: Handle LAG FW commands failure gracefully Rabie Loulou (5): net/mlx5e: In case of LAG, one switch parent id is used for all representors net/mlx5e: Offload TC e-switch rules with egress LAG device net/mlx5: Adjustments for the activate LAG logic to run under sriov net/mlx5: Allow/disallow LAG according to pre-req only net/mlx5: Allow co-enablement of uplink LAG and SRIOV Roi Dayan (2): net/mlx5e: E-Switch, Add peer miss rules net/mlx5e: Infrastructure for duplicated offloading of TC flows Shahar Klein (1): net/mlx5e: Enhance flow counter scheme for offloaded TC eswitch rules drivers/infiniband/hw/mlx5/main.c | 13 +- drivers/infiniband/hw/mlx5/mlx5_ib.h | 1 + drivers/infiniband/hw/mlx5/qp.c | 2 +- drivers/net/ethernet/mellanox/mlx5/core/Makefile | 2 +- .../net/ethernet/mellanox/mlx5/core/en/tc_tun.c | 41 +++- drivers/net/ethernet/mellanox/mlx5/core/en_rep.c | 20 +- drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 206 ++++++++++++++++- drivers/net/ethernet/mellanox/mlx5/core/eswitch.c | 15 ++ drivers/net/ethernet/mellanox/mlx5/core/eswitch.h | 9 + .../ethernet/mellanox/mlx5/core/eswitch_offloads.c | 228 +++++++++++++++++- drivers/net/ethernet/mellanox/mlx5/core/lag.c | 239 ++++++++++++------- .../net/ethernet/mellanox/mlx5/core/lib/devcom.c | 255 +++++++++++++++++++++ .../net/ethernet/mellanox/mlx5/core/lib/devcom.h | 46 ++++ drivers/net/ethernet/mellanox/mlx5/core/main.c | 14 +- .../net/ethernet/mellanox/mlx5/core/mlx5_core.h | 4 +- drivers/net/ethernet/mellanox/mlx5/core/sriov.c | 14 +- include/linux/mlx5/driver.h | 4 + 17 files changed, 982 insertions(+), 131 deletions(-) create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/lib/devcom.c create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/lib/devcom.h