Subject: [pull request][net-next 00/17] mlx5 updates 2021-08-16

From: Saeed Mahameed <[email-masked]>
Date: Mon, 16 Aug 2021 14:18:30 -0700

From: Saeed Mahameed <[email-masked]>

Hi Dave and Jakub,

This series adds the support for TC MQPRIO channel mode and Lag mode for
mlx5 bridge offloads.

For more information please see tag log below.

Please pull and let me know if there is any problem.

Thanks,
Saeed.

---
The following changes since commit 1b3f78df6a80932d7deb0155d8b0871e8d3e4bca:

  bonding: improve nl error msg when device can't be enslaved because of IFF_MASTER (2021-08-16 14:03:30 +0100)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux.git tags/mlx5-updates-2021-08-16

for you to fetch changes up to 833239e1dfb194cb2c4f2085c1c06af570843796:

  net/mlx5: Bridge, support LAG (2021-08-16 14:16:36 -0700)

----------------------------------------------------------------
mlx5-updates-2021-08-16

The following patchset provides two separate mlx5 updates
1) Ethtool RSS context and MQPRIO channel mode support:
  1.1) enable mlx5e netdev driver to allow creating Transport Interface RX
       (TIRs) objects on the fly to be used for ethtool RSS contexts and
       TX MQPRIO channel mode
  1.2) Introduce mlx5e_rss object to manage such TIRs.
  1.3) Ethtool support for RSS context
  1.4) Support MQPRIO channel mode

2) Bridge offloads Lag support:
   to allow adding bond net devices to mlx5 bridge
  2.1) Address bridge port by (vport_num, esw_owner_vhca_id) pair
       since vport_num is only unique per eswitch and in lag mode we
       need to manage ports from both eswitches.
  2.2) Allow connectivity between representors of different eswitch
       instances that are attached to same bridge
  2.3) Bridge LAG, Require representors to be in shared FDB mode and
       introduce local and peer ports representors,
       match on paired eswitch metadata in peer FDB entries,
       And finally support addition/deletion and aging of peer flows.

----------------------------------------------------------------
Tariq Toukan (11):
      net/mlx5e: Do not try enable RSS when resetting indir table
      net/mlx5e: Introduce TIR create/destroy API in rx_res
      net/mlx5e: Introduce abstraction of RSS context
      net/mlx5e: Convert RSS to a dedicated object
      net/mlx5e: Dynamically allocate TIRs in RSS contexts
      net/mlx5e: Support multiple RSS contexts
      net/mlx5e: Support flow classification into RSS contexts
      net/mlx5e: Abstract MQPRIO params
      net/mlx5e: Maintain MQPRIO mode parameter
      net/mlx5e: Handle errors of netdev_set_num_tc()
      net/mlx5e: Support MQPRIO channel mode

Vlad Buslov (6):
      net/mlx5: Bridge, release bridge in same function where it is taken
      net/mlx5: Bridge, obtain core device from eswitch instead of priv
      net/mlx5: Bridge, identify port by vport_num+esw_owner_vhca_id pair
      net/mlx5: Bridge, extract FDB delete notification to function
      net/mlx5: Bridge, allow merged eswitch connectivity
      net/mlx5: Bridge, support LAG

 drivers/net/ethernet/mellanox/mlx5/core/Makefile   |   6 +-
 drivers/net/ethernet/mellanox/mlx5/core/en.h       |  12 +-
 drivers/net/ethernet/mellanox/mlx5/core/en/ptp.c   |  18 +-
 drivers/net/ethernet/mellanox/mlx5/core/en/qos.c   |   2 +-
 .../ethernet/mellanox/mlx5/core/en/rep/bridge.c    | 327 +++++++----
 .../ethernet/mellanox/mlx5/core/en/reporter_tx.c   |   8 +-
 drivers/net/ethernet/mellanox/mlx5/core/en/rss.c   | 588 ++++++++++++++++++++
 drivers/net/ethernet/mellanox/mlx5/core/en/rss.h   |  49 ++
 .../net/ethernet/mellanox/mlx5/core/en/rx_res.c    | 603 ++++++++-------------
 .../net/ethernet/mellanox/mlx5/core/en/rx_res.h    |  20 +-
 .../net/ethernet/mellanox/mlx5/core/en_ethtool.c   |  71 ++-
 .../ethernet/mellanox/mlx5/core/en_fs_ethtool.c    |  99 +++-
 drivers/net/ethernet/mellanox/mlx5/core/en_main.c  | 176 ++++--
 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c   |   5 +-
 .../net/ethernet/mellanox/mlx5/core/esw/bridge.c   | 359 +++++++-----
 .../net/ethernet/mellanox/mlx5/core/esw/bridge.h   |  46 +-
 .../ethernet/mellanox/mlx5/core/esw/bridge_priv.h  |   9 +
 .../mlx5/core/esw/diag/bridge_tracepoint.h         |   9 +-
 drivers/net/ethernet/mellanox/mlx5/core/eswitch.h  |   3 -
 19 files changed, 1696 insertions(+), 714 deletions(-)
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/rss.c
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/rss.h