Subject: [pull request][net-next 00/15] mlx5 updates 2022-02-16

From: Saeed Mahameed <[email-masked]>
Date: Wed, 16 Feb 2022 23:56:17 -0800

From: Saeed Mahameed <[email-masked]>

Hi Dave, Hi Jakub,

This series provides general misc updates to mlx5 driver.
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 22b67d17194fa47ac06b27475e63bb9f7f65b307:

  net: rtnetlink: rtnl_stats_get(): Emit an extack for unset filter_mask (2022-02-16 20:56:21 -0800)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux.git tags/mlx5-updates-2022-02-16

for you to fetch changes up to b070e70381ee343dc10d2b1f0f3a6b1f940f0ae5:

  net/mlx5e: TC, Allow sample action with CT (2022-02-16 23:55:17 -0800)

----------------------------------------------------------------
mlx5-updates-2022-02-16

Misc updates for mlx5:
1) Alex Liu Adds support for using xdp->data_meta

2) Aya Levin Adds PTP counters and port time stamp mode for representors and
switchdev mode.

3) Tariq Toukan, Striding RQ simple improvements.

4) Roi Dayan (7): Create multiple attr instances per flow

Some TC actions use post actions for their implementation.
For example CT and sample actions.

Create a new flow attr instance after each multi table action and
create a post action rule for it as a generic parsing step.
Now multi table actions like CT, sample don't require to do it.

When flow has multiple attr instances, the first flow attr is being
offloaded normally and linked to the next attr (post action rule) by
setting an id on reg_c for matching.
Post action rule (rule created from second attr instance) match the
id on reg_c and does rest of the actions.

Example rule with actions CT,goto will be created with 2 attr instances
as following: attr1(CT)->attr2(goto)

----------------------------------------------------------------
Alex Liu (1):
      net/mlx5e: Add support for using xdp->data_meta

Aya Levin (2):
      net/mlx5e: E-Switch, Add PTP counters for uplink representor
      net/mlx5e: E-Switch, Add support for tx_port_ts in switchdev mode

Colin Ian King (1):
      net/mlx5e: Fix spelling mistake "supoported" -> "supported"

Paul Blakey (1):
      net/mlx5e: TC, Move flow hashtable to be per rep

Roi Dayan (7):
      net/mlx5e: Pass actions param to actions_match_supported()
      net/mlx5e: Add post act offload/unoffload API
      net/mlx5e: Create new flow attr for multi table actions
      net/mlx5e: Use multi table support for CT and sample actions
      net/mlx5e: TC, Clean redundant counter flag from tc action parsers
      net/mlx5e: TC, Make post_act parse CT and sample actions
      net/mlx5e: TC, Allow sample action with CT

Tariq Toukan (3):
      net/mlx5e: Generalize packet merge error message
      net/mlx5e: Default to Striding RQ when not conflicting with CQE compression
      net/mlx5e: RX, Restrict bulk size for small Striding RQs

 drivers/net/ethernet/mellanox/mlx5/core/en.h       |   1 +
 .../net/ethernet/mellanox/mlx5/core/en/params.c    |  11 +-
 .../net/ethernet/mellanox/mlx5/core/en/params.h    |   1 +
 .../net/ethernet/mellanox/mlx5/core/en/rep/tc.c    |   4 +-
 drivers/net/ethernet/mellanox/mlx5/core/en/rss.c   |   4 +-
 .../ethernet/mellanox/mlx5/core/en/tc/act/accept.c |   3 +-
 .../ethernet/mellanox/mlx5/core/en/tc/act/act.c    |  73 ++++
 .../ethernet/mellanox/mlx5/core/en/tc/act/act.h    |  25 ++
 .../net/ethernet/mellanox/mlx5/core/en/tc/act/ct.c |  20 +-
 .../ethernet/mellanox/mlx5/core/en/tc/act/drop.c   |   3 +-
 .../ethernet/mellanox/mlx5/core/en/tc/act/goto.c   |   3 +-
 .../ethernet/mellanox/mlx5/core/en/tc/act/mirred.c |   3 +-
 .../mellanox/mlx5/core/en/tc/act/mirred_nic.c      |   3 +-
 .../mlx5/core/en/tc/act/redirect_ingress.c         |   3 +-
 .../ethernet/mellanox/mlx5/core/en/tc/act/sample.c |  29 +-
 .../ethernet/mellanox/mlx5/core/en/tc/act/sample.h |  14 +
 .../ethernet/mellanox/mlx5/core/en/tc/act/trap.c   |   3 +-
 .../ethernet/mellanox/mlx5/core/en/tc/post_act.c   |  69 ++--
 .../ethernet/mellanox/mlx5/core/en/tc/post_act.h   |   8 +
 .../net/ethernet/mellanox/mlx5/core/en/tc/sample.c |  71 +---
 drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c |  47 +--
 .../net/ethernet/mellanox/mlx5/core/en/tc_priv.h   |   7 +
 .../ethernet/mellanox/mlx5/core/en/tc_tun_encap.c  |  48 ++-
 drivers/net/ethernet/mellanox/mlx5/core/en_main.c  |   1 +
 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c   |  31 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_rep.h   |   6 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_rx.c    |  20 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_stats.c |   2 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_stats.h |   1 +
 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c    | 432 +++++++++++++++++----
 drivers/net/ethernet/mellanox/mlx5/core/en_tc.h    |  12 +-
 31 files changed, 714 insertions(+), 244 deletions(-)
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/sample.h