Skip to content

MLX5 driver upgrade - kernel v6.2

Mohammad Kabat requested to merge mkabat/centos-stream-9:2165363 into main

Description:

Hi all,

This MR includes patches for upgrading mlx5 driver
up to kernel v6.2

Dependencies:

This patch set was built on top of the following BZ's:

Depends: !2167 (merged) Depends: !2191 (merged)

Bugzilla:

Bugzilla: http://bugzilla.redhat.com/2165355
Bugzilla: http://bugzilla.redhat.com/2164750
Bugzilla: http://bugzilla.redhat.com/2165323
Bugzilla: http://bugzilla.redhat.com/2164764 Bugzilla: http://bugzilla.redhat.com/2165363

Upstream-status:

=========

All patches are accepted upstream to Linus tree.

Each patch commit message describes its origin.

Testing:

========

This patch set passed incremental build testing to verify that it is bisectable.

Sanity tests ran over mlx5 drivers on x86_64 systems (using ConnectX-4/5/6),

including the following:

Ethernet:

-- IPv4 traffic (ICMP, TCP, UDP).

-- IPv6 traffic (ICMP, TCP, UDP).

VLAN:

-- IPv4 traffic (ICMP, TCP, UDP).

-- IPv6 traffic (ICMP, TCP, UDP).

RoCE:

-- RDMA (ibv_*_pingpong).

-- RDMACM (examples that comes with librdmacm packages).

Infiniband:

-- RDMA (ibv_*_pingpong).

-- RDMACM (examples that comes with librdmacm packages).

IPoIB:

-- IPv4 traffic (ICMP, TCP, UDP).

-- IPv6 traffic (ICMP, TCP, UDP).

PKey:

-- IPv4 traffic (ICMP, TCP, UDP).

-- IPv6 traffic (ICMP, TCP, UDP).

ASAP2/OVS:

-- Various sanity tests covering OVS offloads.

NFSoRDMA:

-- Discover, mount and write.

iSER:

-- Discover, login and mount.

SRP:

-- Verify srp_daemon service is up and system can discover SRP targets.

Signed-off-by: Mohammad Kabat mkabat@redhat.com

98b22f4b (Mohammad Kabat)
net/mlx5: fw_tracer, Zero consumer index when reloading the tracer

03c8bc8f (Mohammad Kabat)
net/mlx5: fw_tracer, Clear load bit when freeing string DBs buffers

e38240c5 (Mohammad Kabat)
net/mlx5: Expose SF firmware pages counter

a21dc24b (Mohammad Kabat)
net/mlx5: Store page counters in a single array

8230dbc8 (Mohammad Kabat)
net/mlx5e: IPoIB, Show unknown speed instead of error

1ab16dec (Mohammad Kabat)
net/mlx5: Bridge, fix ageing of peer FDB entries

76124b29 (Mohammad Kabat)
net/mlx5: DR, Fix potential race in dr_rule_create_rule_nic

486e825e (Mohammad Kabat)
net/mlx5e: Update rx ring hw mtu upon each rx-fcs flag change

526d2782 (Mohammad Kabat)
net/mlx5: E-switch, Coverity: overlapping copy

f68a7689 (Mohammad Kabat)
net/mlx5e: Don't support encap rules with gbp option

cbf5d7bb (Mohammad Kabat)
net/mlx5e: Fix memory leak on updating vport counters

e8a70f11 (Mohammad Kabat)
net/mlx5: DR, Fix 'stack frame size exceeds limit' error in dr_rule

84bab519 (Mohammad Kabat)
net/mlx5: Expose steering dropped packets counter

9c8cfc8e (Mohammad Kabat)
net/mlx5: Refactor and expand rep vport stat group

f5ba478e (Mohammad Kabat)
net/mlx5e: multipath, support routes with more than 2 nexthops

94b3f9d5 (Mohammad Kabat)
RDMA/mlx5: Remove not-used IB_FLOW_SPEC_IB define

05d8033a (Mohammad Kabat)
net/mlx5: E-Switch, Implement devlink port function cmds to control
migratable

ea0aaf1f (Mohammad Kabat)
net/mlx5: E-Switch, Implement devlink port function cmds to control RoCE

4c1619ac (Mohammad Kabat)
net/mlx5: Add generic getters for other functions caps

c3aebdaf (Mohammad Kabat)
net/mlx5: Introduce IFC bits for migratable

ed59781f (Mohammad Kabat)
net/mlx5: Introduce ifc bits for pre_copy

26810749 (Mohammad Kabat)
RDMA/mlx5: no need to kfree NULL pointer

4fa40d8c (Mohammad Kabat)
net/mlx5e: Support devlink reload of IPsec core

81da0360 (Mohammad Kabat)
net/mlx5e: TC, Add offload support for trap with additional actions

52d5d729 (Mohammad Kabat)
net/mlx5e: Do early return when setup vports dests for slow path flow

9007a0b4 (Mohammad Kabat)
net/mlx5: Remove redundant check

633940cd (Mohammad Kabat)
net/mlx5e: Delete always true DMA check

443fe907 (Mohammad Kabat)
net/mlx5e: Don't access directly DMA device pointer

e1ae9197 (Mohammad Kabat)
net/mlx5e: Don't use termination table when redundant

78b96485 (Mohammad Kabat)
net/mlx5: Use generic definition for UMR KLM alignment

f595889c (Mohammad Kabat)
net/mlx5: Generalize name of UMR alignment definition

c7cf7561 (Mohammad Kabat)
net/mlx5: Remove unused UMR MTT definitions

a60c4abd (Mohammad Kabat)
net/mlx5e: Add padding when needed in UMR WQEs

441e8fe7 (Mohammad Kabat)
net/mlx5: Remove unused ctx variables

4950083d (Mohammad Kabat)
net/mlx5e: Remove unneeded io-mapping.h #include

a7bd6371 (Mohammad Kabat)
net/mlx5e: ethtool: get_link_ext_stats for PHY down events

80106c6b (Mohammad Kabat)
net/mlx5e: CT, optimize pre_ct table lookup

a7b92994 (Mohammad Kabat)
net/mlx5e: kTLS, Use a single async context object per a callback bulk

ee24fcb9 (Mohammad Kabat)
net/mlx5e: kTLS, Remove unnecessary per-callback completion

12c0dda7 (Mohammad Kabat)
net/mlx5e: kTLS, Remove unused work field

86ed4a02 (Mohammad Kabat)
net/mlx5e: TC, Remove redundant WARN_ON()

e986b17d (Mohammad Kabat)
net/mlx5e: Add error flow when failing update_rx

a8a74f59 (Mohammad Kabat)
net/mlx5e: Move params kernel log print to probe function

9ae6411c (Mohammad Kabat)
net/mlx5e: Support enhanced CQE compression

4d906da6 (Mohammad Kabat)
net/mlx5e: Use clamp operation instead of open coding it

d1ba9a22 (Mohammad Kabat)
net/mlx5e: remove unused list in arfs

f1caee0b (Mohammad Kabat)
net/mlx5: Expose vhca_id to debugfs

68fab4d9 (Mohammad Kabat)
net/mlx5: Fix spelling mistake "destoy" -> "destroy"

38c70d24 (Mohammad Kabat)
net/mlx5: Bridge, Use debug instead of warn if entry doesn't exists

4db3687f (Mohammad Kabat)
ptp: mlx5: convert to .adjfine and adjust_by_scaled_ppm

2f6e6e2b (Mohammad Kabat)
net/mlx5: DR, Remove the buddy used_list

310b08e2 (Mohammad Kabat)
net/mlx5: DR, Keep track of hot ICM chunks in an array instead of list

c04991a9 (Mohammad Kabat)
net/mlx5: DR, Lower sync threshold for ICM hot memory

f2d4bb61 (Mohammad Kabat)
net/mlx5: DR, Allocate htbl from its own slab allocator

a81d0a8e (Mohammad Kabat)
net/mlx5: DR, Allocate icm_chunks from their own slab allocator

e76d7477 (Mohammad Kabat)
net/mlx5: DR, Manage STE send info objects in pool

b05da5f7 (Mohammad Kabat)
net/mlx5: DR, In rehash write the line in the entry immediately

81873d0e (Mohammad Kabat)
net/mlx5: DR, Handle domain memory resources init/uninit separately

0ab4c914 (Mohammad Kabat)
net/mlx5: DR, Initialize chunk's ste_arrays at chunk creation

800b5490 (Mohammad Kabat)
net/mlx5: DR, For short chains of STEs, avoid allocating ste_arr
dynamically

1af4f87e (Mohammad Kabat)
net/mlx5: DR, Remove unneeded argument from dr_icm_chunk_destroy

43fc3325 (Mohammad Kabat)
net/mlx5: DR, Check device state when polling CQ

9d07baab (Mohammad Kabat)
net/mlx5: DR, Fix the SMFS sync_steering for fast teardown

56caee59 (Mohammad Kabat)
net/mlx5: DR, In destroy flow, free resources even if FW command failed

926e6de7 (Mohammad Kabat)
net/mlx5e: Overcome slow response for first macsec ASO WQE

eb1628b3 (Mohammad Kabat)
redhat/configs: Enable CONFIG_MLX5_EN_MACSEC on all archs

e55bf7fa (Mohammad Kabat)
net/mlx5e: Fix macsec ASO context alignment

b0c5f675 (Mohammad Kabat)
net/mlx5e: Remove redundant xsk pointer check in mlx5e_mpwrq_validate_xsk

7568bc93 (Mohammad Kabat)
net/mlx5e: Fix macsec possible null dereference when updating MAC security
entity (SecY)

27976ced (Mohammad Kabat)
net/mlx5e: Fix macsec ssci attribute handling in offload path

03b423d2 (Mohammad Kabat)
net/mlx5: Lag, fix failure to cancel delayed bond work

299da681 (Mohammad Kabat)
net/mlx5e: Fix RX reporter for XSK RQs

63301890 (Mohammad Kabat)
Revert "net/mlx5e: MACsec, remove replay window size limitation in offload
path"

14793586 (Mohammad Kabat)
net/mlx5e: MACsec, block offload requests with encrypt off

de9cd340 (Mohammad Kabat)
net/mlx5e: MACsec, fix Tx SA active field update

536f7e15 (Mohammad Kabat)
net/mlx5e: MACsec, remove replay window size limitation in offload path

18537887 (Mohammad Kabat)
net/mlx5e: MACsec, fix add Rx security association (SA) rule memory leak

14ed8f5b (Mohammad Kabat)
net/mlx5e: MACsec, fix mlx5e_macsec_update_rxsa bail condition and
functionality

675f114b (Mohammad Kabat)
net/mlx5e: MACsec, fix update Rx secure channel active field

2b8c56cf (Mohammad Kabat)
net/mlx5e: MACsec, fix memory leak when MACsec device is deleted

d93b3954 (Mohammad Kabat)
net/mlx5e: MACsec, fix RX data path 16 RX security channel limit

b1637327 (Mohammad Kabat)
net/mlx5e: Use kvfree() in mlx5e_accel_fs_tcp_create()

f953441c (Mohammad Kabat)
net/mlx5e: Fix a couple error codes

71b57b03 (Mohammad Kabat)
net/mlx5e: Fix possible race condition in macsec extended packet number
update routine

cd5ff22a (Mohammad Kabat)
net/mlx5e: Fix MACsec update SecY

22034e8a (Mohammad Kabat)
net/mlx5e: Fix MACsec SA initialization routine

28cf691f (Mohammad Kabat)
net/mlx5e: Remove leftovers from old XSK queues enumeration

291fc007 (Mohammad Kabat)
net/mlx5e: Fix missing alignment in size of MTT/KLM entries

bf6b1674 (Mohammad Kabat)
net/mlx5: Lag, avoid lockdep warnings

284ca5ad (Mohammad Kabat)
net/mlx5e: Fix usage of DMA sync API

ba91d772 (Mohammad Kabat)
net/mlx5e: Fix macsec sci endianness at rx sa update

56a2c88c (Mohammad Kabat)
net/mlx5e: Fix wrong bitwise comparison usage in macsec_fs_rx_add_rule
function

4f5ebea7 (Mohammad Kabat)
net/mlx5e: Fix macsec rx security association (SA) update/delete

37ca407b (Mohammad Kabat)
net/mlx5e: Fix macsec coverity issue at rx sa update

4790fe66 (Mohammad Kabat)
net/mlx5e: Cleanup MACsec uninitialization routine

801ce5a1 (Mohammad Kabat)
net/mlx5: Make ASO poll CQ usable in atomic context

72c30546 (Mohammad Kabat)
net/mlx5: E-Switch, Return EBUSY if can't get mode lock

50415d03 (Mohammad Kabat)
net/mlx5: E-switch, Don't update group if qos is not enabled

59d9585f (Mohammad Kabat)
net/mlx5: Set default grace period based on function type

a25f8fda (Mohammad Kabat)
net/mlx5: Start health poll at earlier stage of driver load

a2eabcaf (Mohammad Kabat)
net/mlx5e: Expose rx_oversize_pkts_buffer counter

c98a2afa (Mohammad Kabat)
net/mlx5e: xsk: Optimize for unaligned mode with 3072-byte frames

77dc2eb1 (Mohammad Kabat)
net/mlx5e: xsk: Print a warning in slow configurations

aae151fe (Mohammad Kabat)
net/mlx5e: xsk: Use KLM to protect frame overrun in unaligned mode

d11f814c (Mohammad Kabat)
net/mlx5e: Improve MTT/KSM alignment

8bc871c6 (Mohammad Kabat)
net/mlx5e: xsk: Use umr_mode to calculate striding RQ parameters

e5dce484 (Mohammad Kabat)
net/mlx5e: xsk: Improve need_wakeup logic

129d7291 (Mohammad Kabat)
net/mlx5e: xsk: Include XSK skb_from_cqe callbacks in INDIRECT_CALL

2202b580 (Mohammad Kabat)
net/mlx5e: xsk: Set napi_id to support busy polling

922b4846 (Mohammad Kabat)
net/mlx5e: xsk: Flush RQ on XSK activation to save memory

617b2b6f (Mohammad Kabat)
net/mlx5e: xsk: Use queue indices starting from 0 for XSK queues

bb8a167c (Mohammad Kabat)
net/mlx5e: Introduce the mlx5e_flush_rq function

59285660 (Mohammad Kabat)
net/mlx5e: xsk: Support XDP metadata on XSK RQs

c76db0f4 (Mohammad Kabat)
net/mlx5e: Optimize RQ page deallocation

996c0631 (Mohammad Kabat)
net/mlx5e: Call mlx5e_page_release_dynamic directly where possible

b850be8b (Mohammad Kabat)
net/mlx5e: Use non-XSK page allocator in SHAMPO

9ea607eb (Mohammad Kabat)
net/mlx5e: xsk: Use xsk_buff_alloc_batch on striding RQ

acd67fa9 (Mohammad Kabat)
net/mlx5e: xsk: Use xsk_buff_alloc_batch on legacy RQ

a4c782f4 (Mohammad Kabat)
net/mlx5e: xsk: Split out WQE allocation for legacy XSK RQ

fa423a7d (Mohammad Kabat)
net/mlx5e: Remove the outer loop when allocating legacy RQ WQEs

aa470f7c (Mohammad Kabat)
net/mlx5e: xsk: Use partial batches in legacy RQ with XSK

c1eedaef (Mohammad Kabat)
net/mlx5e: Use partial batches in legacy RQ

4be21b41 (Mohammad Kabat)
net/mlx5e: Make the wqe_index_mask calculation more exact

ac9313b2 (Mohammad Kabat)
net/mlx5e: Introduce wqe_index_mask for legacy RQ

4833a3af (Mohammad Kabat)
net/mlx5e: xsk: Drop the check for XSK state in mlx5e_xsk_wakeup

61d6a4ab (Mohammad Kabat)
net/mlx5e: xsk: Use mlx5e_trigger_napi_icosq for XSK wakeup

aa5e7002 (Mohammad Kabat)
net/mlx5e: Move repeating clear_bit in mlx5e_rx_reporter_err_rq_cqe_recover

740cf1d5 (Mohammad Kabat)
net/mlx5e: Split out channel (de)activation in rx_res

e9b33249 (Mohammad Kabat)
net/mlx5e: xsk: Remove mlx5e_xsk_page_alloc_pool

a1501896 (Mohammad Kabat)
net/mlx5e: Convert struct mlx5e_alloc_unit to a union

63342a92 (Mohammad Kabat)
net/mlx5e: Remove DMA address from mlx5e_alloc_unit

6e3dd783 (Mohammad Kabat)
net/mlx5e: Rename mlx5e_dma_info to prepare for removal of DMA address

2b936a61 (Mohammad Kabat)
net/mlx5e: Optimize the page cache reducing its size 2x

c62ee3d0 (Mohammad Kabat)
net/mlx5e: xsk: Use KSM for unaligned XSK

20a76854 (Mohammad Kabat)
net/mlx5: Add MLX5_FLEXIBLE_INLEN to safely calculate cmd inlen

66dfbe8a (Mohammad Kabat)
net/mlx5e: Keep a separate MKey for striding RQ

0f93e539 (Mohammad Kabat)
net/mlx5e: xsk: Use XSK frame size as striding RQ page size

61567cf3 (Mohammad Kabat)
net/mlx5e: Use runtime page_shift for striding RQ

7ea2bb09 (Mohammad Kabat)
net/mlx5e: Use runtime values of striding RQ parameters in datapath

ab2aba9e (Mohammad Kabat)
net/mlx5e: Make dma_info array dynamic in struct mlx5e_mpw_info

2e3417c7 (Mohammad Kabat)
net/mlx5e: Improve the MTU change shortcut

f8f3190e (Mohammad Kabat)
net/mlx5e: xsk: Fix SKB headroom calculation in validation

feb4b824 (Mohammad Kabat)
net/mlx5e: xsk: Remove dead code in validation

cfd9c36a (Mohammad Kabat)
net/mlx5e: Simplify stride size calculation for linear RQ

942e3d5e (Mohammad Kabat)
net/mlx5e: kTLS, Check ICOSQ WQE size in advance

ad6a5738 (Mohammad Kabat)
net/mlx5e: Use the aligned max TX MPWQE size

1a10e8da (Mohammad Kabat)
net/mlx5e: Use mlx5e_stop_room_for_max_wqe where appropriate

3c246057 (Mohammad Kabat)
net/mlx5e: Let mlx5e_get_sw_max_sq_mpw_wqebbs accept mdev

a6cf3434 (Mohammad Kabat)
net/mlx5e: Validate striding RQ before enabling XDP

29479b42 (Mohammad Kabat)
net/mlx5e: Make mlx5e_verify_rx_mpwqe_strides static

3cc91c96 (Mohammad Kabat)
net/mlx5e: Remove unused fields from datapath structs

fa610a03 (Mohammad Kabat)
net/mlx5e: Convert mlx5e_get_max_sq_wqebbs to u8

be3a93aa (Mohammad Kabat)
net/mlx5: Add the log_min_mkey_entity_size capability

d63898e3 (Mohammad Kabat)
net/mlx5: Remove from FPGA IFC file not-needed definitions

ae27b082 (Mohammad Kabat)
net/mlx5: Remove unused structs

6ad03a04 (Mohammad Kabat)
net/mlx5: Remove unused functions

4a82ed86 (Mohammad Kabat)
net/mlx5: detect and enable bypass port select flow table

c2991d0a (Mohammad Kabat)
net/mlx5: Lag, enable hash mode by default for all NICs

350cbc72 (Mohammad Kabat)
net/mlx5: Lag, set active ports if support bypass port select flow table

dbe10279 (Mohammad Kabat)
RDMA/mlx5: Don't set tx affinity when lag is in hash mode

f20a5d2b (Mohammad Kabat)
net/mlx5: add IFC bits for bypassing port select flow table

6d081245 (Mohammad Kabat)
net/mlx5: Add support for NPPS with real time mode

70c84126 (Mohammad Kabat)
net/mlx5: Expose NPPS related registers

0f12df1e (Mohammad Kabat)
net/mlx5e: macsec: remove checks on the prepare phase

298dc098 (Mohammad Kabat)
net/mlx5e: Support MACsec offload replay window

561b0577 (Mohammad Kabat)
net/mlx5e: Support MACsec offload extended packet number (EPN)

0582e6a9 (Mohammad Kabat)
net/mlx5e: Move MACsec initialization from profile init stage to profile
enable stage

c797f0d5 (Mohammad Kabat)
net/mlx5e: Create advanced steering operation (ASO) object for MACsec

60ce7581 (Mohammad Kabat)
net/mlx5e: Expose memory key creation (mkey) function

afc4da0b (Mohammad Kabat)
net/mlx5: Add ifc bits for MACsec extended packet number (EPN) and replay
protection

6f6cdae0 (Mohammad Kabat)
net/mlx5e: Fix MACsec initial packet number

875d1589 (Mohammad Kabat)
net/mlx5e: Fix MACsec initialization error path

abf4036b (Mohammad Kabat)
net/mlx5: Fix fields name prefix in MACsec

47c35747 (Mohammad Kabat)
net/mlx5e: Ensure macsec_rule is always initiailized in
macsec_fs_{r,t}x_add_rule()

1660a996 (Mohammad Kabat)
net/mlx5e: Switch to kmemdup() when allocate dev_addr

4d8323a7 (Mohammad Kabat)
net/mlx5e: add missing error code in error path

12b168bc (Mohammad Kabat)
RDMA/mlx5: Remove duplicate assignment in umr_rereg_pas()

52227474 (Mohammad Kabat)
net/mlx5e: Add support to configure more than one macsec offload device

def5ae42 (Mohammad Kabat)
net/mlx5e: Add MACsec stats support for Rx/Tx flows

2ab169f3 (Mohammad Kabat)
net/mlx5e: Add MACsec offload SecY support

4c1080b4 (Mohammad Kabat)
net/mlx5e: Implement MACsec Rx data path using MACsec skb_metadata_dst

c433dc58 (Mohammad Kabat)
net/mlx5e: Add MACsec RX steering rules

ae136573 (Mohammad Kabat)
net/mlx5: Add MACsec Rx tables support to fs_core

c7cc18e1 (Mohammad Kabat)
net/mlx5e: Add MACsec offload Rx command support

6fe5aad7 (Mohammad Kabat)
net/mlx5e: Implement MACsec Tx data path using MACsec skb_metadata_dst

361d0b46 (Mohammad Kabat)
net/mlx5e: Add MACsec TX steering rules

14b296f3 (Mohammad Kabat)
net/mlx5: Add MACsec Tx tables support to fs_core

298d74ce (Mohammad Kabat)
net/mlx5: Add MACsec offload Tx command support

3ebf1076 (Mohammad Kabat)
net/mlx5: Introduce MACsec Connect-X offload hardware bits and structures

8d768972 (Mohammad Kabat)
net/mlx5: Generalize Flow Context for new crypto fields

7426b02c (Mohammad Kabat)
net/mlx5: Removed esp_id from struct mlx5_flow_act

dd32a094 (Mohammad Kabat)
net/mlx5: Query ADV_VIRTUALIZATION capabilities

c694eaf9 (Mohammad Kabat)
net/mlx5: Introduce ifc bits for page tracker

bb0f444a (Mohammad Kabat)
RDMA/mlx5: Move function mlx5_core_query_ib_ppcnt() to mlx5_ib

8215eb19 (Mohammad Kabat)
IB/mlx5: Support querying eswitch functions from DEVX

9d8c6248 (Mohammad Kabat)
net/mlx5e: Do not use err uninitialized in mlx5e_rep_add_meta_tunnel_rule()

8adb335a (Mohammad Kabat)
IB/mlx5: Remove duplicate header inclusion related to ODP

c59dcea8 (Mohammad Kabat)
net/mlx5: TC, Add support for SF tunnel offload

318e3e44 (Mohammad Kabat)
net/mlx5: E-Switch, Move send to vport meta rule creation

94095484 (Mohammad Kabat)
net/mlx5: E-Switch, Split creating fdb tables into smaller chunks

9debc94e (Mohammad Kabat)
net/mlx5: E-Switch, Add default drop rule for unmatched packets

eb74b670 (Mohammad Kabat)
net/mlx5e: Completely eliminate priv from fs.h

e864c8db (Mohammad Kabat)
net/mlx5e: Make all ttc functions of en_fs get fs struct as argument

44516c3b (Mohammad Kabat)
net/mlx5e: Make flow steering arfs independent of priv

ac5b26a4 (Mohammad Kabat)
net/mlx5e: Introduce flow steering debug macros

804235b7 (Mohammad Kabat)
net/mlx5e: Separate ethtool_steering from fs.h and make private

432917c3 (Mohammad Kabat)
net/mlx5e: Directly get flow_steering struct as input when init/cleanup
ethtool steering

cc1b558e (Mohammad Kabat)
net/mlx5e: Convert ethtool_steering member of flow_steering struct to
pointer

9d5978ce (Mohammad Kabat)
net/mlx5e: Drop priv argument of ptp function in en_fs

80c916cb (Mohammad Kabat)
net/mlx5e: Decouple fs_tcp from en.h

ff4adf9a (Mohammad Kabat)
net/mlx5e: Decouple fs_tt_redirect from en.h

3352110e (Mohammad Kabat)
net/mlx5e: Introduce flow steering API

7fb8bab6 (Mohammad Kabat)
IB/mlx5: Call io_stop_wc() after writing to WC MMIO

Documentation/netlink/specs/ethtool.yaml | 397 ++
.../device_drivers/ethernet/mellanox/mlx5.rst | 124 +-
.../networking/devlink/devlink-health.rst | 23 +-
Documentation/networking/devlink/devlink-info.rst | 5 +
Documentation/networking/devlink/devlink-port.rst | 168 +-
.../networking/devlink/devlink-region.rst | 13 +
Documentation/networking/devlink/devlink-trap.rst | 13 +
Documentation/networking/devlink/index.rst | 6 +-
Documentation/networking/ethtool-netlink.rst | 378 +-
Documentation/networking/statistics.rst | 1 +
MAINTAINERS | 8 +-
.../crypto/marvell/octeontx2/otx2_cpt_devlink.c | 4 -
drivers/infiniband/core/umem_odp.c | 2 -
drivers/infiniband/hw/mlx5/devx.c | 2 +
drivers/infiniband/hw/mlx5/fs.c | 1 -
drivers/infiniband/hw/mlx5/mad.c | 25 +-
drivers/infiniband/hw/mlx5/main.c | 3 +-
drivers/infiniband/hw/mlx5/mem.c | 2 +-
drivers/infiniband/hw/mlx5/mlx5_ib.h | 12 +
drivers/infiniband/hw/mlx5/mr.c | 9 +-
drivers/infiniband/hw/mlx5/odp.c | 4 +-
drivers/infiniband/hw/mlx5/umr.c | 14 +-
drivers/net/Kconfig | 2 +
drivers/net/Makefile | 1 +
drivers/net/dsa/hirschmann/hellcreek.c | 5 -
drivers/net/dsa/mv88e6xxx/devlink.c | 5 -
drivers/net/dsa/sja1105/sja1105_devlink.c | 12 +-
drivers/net/dummy.c | 7 -
drivers/net/ethernet/aquantia/atlantic/aq_macsec.c | 57 -
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 17 +-
drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c | 5 -
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 15 +
.../ethernet/freescale/dpaa2/dpaa2-eth-devlink.c | 22 +-
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c | 1 +
drivers/net/ethernet/intel/ice/ice_devlink.c | 41 +-
drivers/net/ethernet/intel/ice/ice_lib.c | 3 -
drivers/net/ethernet/intel/ice/ice_main.c | 41 +-
drivers/net/ethernet/intel/ice/ice_repr.c | 14 +-
.../ethernet/marvell/octeontx2/af/rvu_devlink.c | 7 -
.../ethernet/marvell/octeontx2/nic/otx2_devlink.c | 15 -
.../ethernet/marvell/prestera/prestera_devlink.c | 22 -
.../ethernet/marvell/prestera/prestera_devlink.h | 5 -
.../net/ethernet/marvell/prestera/prestera_main.c | 5 +-
drivers/net/ethernet/mellanox/mlx4/en_netdev.c | 9 +-
drivers/net/ethernet/mellanox/mlx4/main.c | 83 +-
drivers/net/ethernet/mellanox/mlx5/core/Kconfig | 8 +
drivers/net/ethernet/mellanox/mlx5/core/Makefile | 3 +
drivers/net/ethernet/mellanox/mlx5/core/cmd.c | 1 -
drivers/net/ethernet/mellanox/mlx5/core/debugfs.c | 5 +-
drivers/net/ethernet/mellanox/mlx5/core/dev.c | 18 +-
drivers/net/ethernet/mellanox/mlx5/core/devlink.c | 311 +-
drivers/net/ethernet/mellanox/mlx5/core/devlink.h | 6 +-
.../ethernet/mellanox/mlx5/core/diag/fw_tracer.c | 3 +-
drivers/net/ethernet/mellanox/mlx5/core/ecpf.c | 2 +-
drivers/net/ethernet/mellanox/mlx5/core/en.h | 142 +-
.../net/ethernet/mellanox/mlx5/core/en/channels.c | 29 +-
.../net/ethernet/mellanox/mlx5/core/en/channels.h | 3 +-
.../net/ethernet/mellanox/mlx5/core/en/devlink.c | 17 -
.../net/ethernet/mellanox/mlx5/core/en/devlink.h | 2 -
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h | 158 +-
.../ethernet/mellanox/mlx5/core/en/fs_ethtool.h | 29 +
.../mellanox/mlx5/core/en/fs_tt_redirect.c | 188 +-
.../mellanox/mlx5/core/en/fs_tt_redirect.h | 13 +-
.../net/ethernet/mellanox/mlx5/core/en/params.c | 554 +-
.../net/ethernet/mellanox/mlx5/core/en/params.h | 82 +-
drivers/net/ethernet/mellanox/mlx5/core/en/ptp.c | 44 +-
drivers/net/ethernet/mellanox/mlx5/core/en/ptp.h | 6 +-
.../ethernet/mellanox/mlx5/core/en/rep/bridge.c | 4 -
.../net/ethernet/mellanox/mlx5/core/en/rep/tc.c | 1 -
.../ethernet/mellanox/mlx5/core/en/reporter_rx.c | 38 +-
.../ethernet/mellanox/mlx5/core/en/reporter_tx.c | 2 +-
.../net/ethernet/mellanox/mlx5/core/en/rx_res.c | 180 +-
.../net/ethernet/mellanox/mlx5/core/en/rx_res.h | 9 +-
.../ethernet/mellanox/mlx5/core/en/tc/act/goto.c | 3 +-
.../ethernet/mellanox/mlx5/core/en/tc/act/trap.c | 10 +-
.../net/ethernet/mellanox/mlx5/core/en/tc/meter.c | 8 +-
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c | 89 +-
.../ethernet/mellanox/mlx5/core/en/tc_tun_vxlan.c | 2 +
drivers/net/ethernet/mellanox/mlx5/core/en/trap.c | 8 +-
drivers/net/ethernet/mellanox/mlx5/core/en/txrx.h | 20 +-
drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c | 4 +-
.../net/ethernet/mellanox/mlx5/core/en/xsk/pool.c | 36 +-
.../net/ethernet/mellanox/mlx5/core/en/xsk/rx.c | 227 +-
.../net/ethernet/mellanox/mlx5/core/en/xsk/rx.h | 34 +-
.../net/ethernet/mellanox/mlx5/core/en/xsk/setup.c | 23 +-
.../net/ethernet/mellanox/mlx5/core/en/xsk/tx.c | 12 +-
.../net/ethernet/mellanox/mlx5/core/en/xsk/tx.h | 12 -
.../mellanox/mlx5/core/en_accel/en_accel.h | 15 +
.../ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c | 111 +-
.../ethernet/mellanox/mlx5/core/en_accel/fs_tcp.h | 14 +-
.../ethernet/mellanox/mlx5/core/en_accel/ipsec.c | 17 +-
.../ethernet/mellanox/mlx5/core/en_accel/ipsec.h | 5 +-
.../mellanox/mlx5/core/en_accel/ipsec_fs.c | 24 +-
.../mellanox/mlx5/core/en_accel/ipsec_rxtx.h | 9 +-
.../ethernet/mellanox/mlx5/core/en_accel/ktls.c | 26 +-
.../ethernet/mellanox/mlx5/core/en_accel/ktls.h | 5 +-
.../ethernet/mellanox/mlx5/core/en_accel/ktls_rx.c | 2 +-
.../ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c | 65 +-
.../ethernet/mellanox/mlx5/core/en_accel/macsec.c | 1866 +++++
.../ethernet/mellanox/mlx5/core/en_accel/macsec.h | 73 +
.../mellanox/mlx5/core/en_accel/macsec_fs.c | 1389 ++++
.../mellanox/mlx5/core/en_accel/macsec_fs.h | 47 +
.../mellanox/mlx5/core/en_accel/macsec_stats.c | 72 +
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c | 141 +-
.../net/ethernet/mellanox/mlx5/core/en_common.c | 3 +-
.../net/ethernet/mellanox/mlx5/core/en_ethtool.c | 46 +-
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c | 437 +-
.../ethernet/mellanox/mlx5/core/en_fs_ethtool.c | 89 +-
drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 504 +-
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c | 227 +-
drivers/net/ethernet/mellanox/mlx5/core/en_rep.h | 9 +-
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c | 557 +-
drivers/net/ethernet/mellanox/mlx5/core/en_stats.c | 41 +-
drivers/net/ethernet/mellanox/mlx5/core/en_stats.h | 23 +
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 96 +-
drivers/net/ethernet/mellanox/mlx5/core/en_tc.h | 1 +
drivers/net/ethernet/mellanox/mlx5/core/en_tx.c | 3 +-
drivers/net/ethernet/mellanox/mlx5/core/en_txrx.c | 33 +-
drivers/net/ethernet/mellanox/mlx5/core/eq.c | 15 +-
.../net/ethernet/mellanox/mlx5/core/esw/bridge.c | 10 +-
.../net/ethernet/mellanox/mlx5/core/esw/debugfs.c | 22 +-
.../ethernet/mellanox/mlx5/core/esw/devlink_port.c | 4 +-
.../ethernet/mellanox/mlx5/core/esw/indir_table.c | 6 +-
drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c | 6 +-
drivers/net/ethernet/mellanox/mlx5/core/eswitch.c | 54 +-
drivers/net/ethernet/mellanox/mlx5/core/eswitch.h | 27 +-
.../ethernet/mellanox/mlx5/core/eswitch_offloads.c | 827 ++-
.../mellanox/mlx5/core/eswitch_offloads_termtbl.c | 32 +-
drivers/net/ethernet/mellanox/mlx5/core/events.c | 3 +
drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c | 9 +-
drivers/net/ethernet/mellanox/mlx5/core/fs_core.c | 115 +-
drivers/net/ethernet/mellanox/mlx5/core/fw.c | 13 +
drivers/net/ethernet/mellanox/mlx5/core/fw_reset.c | 44 +-
drivers/net/ethernet/mellanox/mlx5/core/fw_reset.h | 2 -
drivers/net/ethernet/mellanox/mlx5/core/health.c | 36 +-
.../ethernet/mellanox/mlx5/core/ipoib/ethtool.c | 14 +-
.../net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c | 33 +-
.../ethernet/mellanox/mlx5/core/ipoib/ipoib_vlan.c | 7 +-
drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c | 95 +-
drivers/net/ethernet/mellanox/mlx5/core/lag/lag.h | 14 +-
drivers/net/ethernet/mellanox/mlx5/core/lag/mp.c | 79 +-
.../net/ethernet/mellanox/mlx5/core/lag/mpesw.c | 100 +-
.../net/ethernet/mellanox/mlx5/core/lag/mpesw.h | 1 -
drivers/net/ethernet/mellanox/mlx5/core/lib/aso.c | 13 +-
drivers/net/ethernet/mellanox/mlx5/core/lib/aso.h | 5 +-
.../net/ethernet/mellanox/mlx5/core/lib/clock.c | 161 +-
drivers/net/ethernet/mellanox/mlx5/core/lib/mlx5.h | 1 +
drivers/net/ethernet/mellanox/mlx5/core/main.c | 97 +-
.../net/ethernet/mellanox/mlx5/core/mlx5_core.h | 35 +-
.../net/ethernet/mellanox/mlx5/core/pagealloc.c | 37 +-
drivers/net/ethernet/mellanox/mlx5/core/pci_irq.c | 3 +-
drivers/net/ethernet/mellanox/mlx5/core/port.c | 23 -
drivers/net/ethernet/mellanox/mlx5/core/sriov.c | 2 +-
.../mellanox/mlx5/core/steering/dr_buddy.c | 2 -
.../ethernet/mellanox/mlx5/core/steering/dr_cmd.c | 7 +
.../mellanox/mlx5/core/steering/dr_domain.c | 89 +-
.../mellanox/mlx5/core/steering/dr_icm_pool.c | 174 +-
.../ethernet/mellanox/mlx5/core/steering/dr_rule.c | 100 +-
.../ethernet/mellanox/mlx5/core/steering/dr_send.c | 141 +-
.../ethernet/mellanox/mlx5/core/steering/dr_ste.c | 12 +-
.../mellanox/mlx5/core/steering/dr_table.c | 2 +-
.../mellanox/mlx5/core/steering/dr_types.h | 30 +-
.../ethernet/mellanox/mlx5/core/steering/fs_dr.h | 4 -
.../ethernet/mellanox/mlx5/core/steering/mlx5dr.h | 9 +-
drivers/net/ethernet/mellanox/mlx5/core/uar.c | 1 -
drivers/net/ethernet/mellanox/mlx5/core/vport.c | 30 +-
drivers/net/ethernet/mellanox/mlx5/core/wq.h | 19 +-
drivers/net/ethernet/mellanox/mlxsw/core.c | 52 +-
drivers/net/ethernet/mellanox/mlxsw/core.h | 7 +-
.../net/ethernet/mellanox/mlxsw/core_linecards.c | 77 +-
drivers/net/ethernet/mellanox/mlxsw/minimal.c | 17 +-
drivers/net/ethernet/mellanox/mlxsw/spectrum.c | 36 +-
drivers/net/ethernet/mscc/ocelot_net.c | 11 +-
drivers/net/ethernet/mscc/ocelot_vsc7514.c | 9 -
drivers/net/ethernet/netronome/nfp/devlink_param.c | 8 +-
drivers/net/ethernet/netronome/nfp/nfp_app.h | 2 -
drivers/net/ethernet/netronome/nfp/nfp_devlink.c | 27 +-
.../net/ethernet/netronome/nfp/nfp_net_common.c | 2 -
drivers/net/ethernet/netronome/nfp/nfp_net_main.c | 18 +-
drivers/net/ethernet/netronome/nfp/nfp_net_repr.c | 1 -
drivers/net/ethernet/netronome/nfp/nfp_port.h | 2 -
.../net/ethernet/pensando/ionic/ionic_bus_pci.c | 16 +-
.../net/ethernet/pensando/ionic/ionic_devlink.c | 6 +-
drivers/net/ethernet/qlogic/qed/qed_devlink.c | 10 -
drivers/net/ethernet/ti/am65-cpsw-nuss.c | 10 +-
drivers/net/macsec.c | 273 +-
drivers/net/macvlan.c | 3 +-
drivers/net/mdio/fwnode_mdio.c | 58 +-
drivers/net/netdevsim/dev.c | 57 +-
drivers/net/netdevsim/health.c | 20 +-
drivers/net/netdevsim/netdev.c | 10 +-
drivers/net/phy/mscc/mscc_macsec.c | 113 +-
drivers/net/phy/phy-core.c | 11 +-
drivers/net/phy/phy.c | 1 +
drivers/net/phy/phy_device.c | 2 +
drivers/net/pse-pd/Kconfig | 11 +
drivers/net/pse-pd/Makefile | 4 +
drivers/net/pse-pd/pse_core.c | 314 +
drivers/net/vmxnet3/vmxnet3_drv.c | 4 +-
include/linux/ethtool.h | 298 +-
include/linux/ethtool_netlink.h | 42 +
include/linux/mlx5/device.h | 33 +-
include/linux/mlx5/driver.h | 31 +-
include/linux/mlx5/fs.h | 12 +-
include/linux/mlx5/fs_helpers.h | 48 -
include/linux/mlx5/mlx5_ifc.h | 300 +-
include/linux/mlx5/mlx5_ifc_fpga.h | 24 -
include/linux/mlx5/qp.h | 9 +
include/linux/mlx5/vport.h | 2 +
include/linux/netdevice.h | 24 +-
include/linux/netlink.h | 4 +
include/linux/phy.h | 62 +
include/linux/pse-pd/pse.h | 129 +
include/net/devlink.h | 173 +-
include/net/dst_metadata.h | 10 +
include/net/macsec.h | 25 +
include/trace/events/devlink.h | 2 +-
include/uapi/linux/devlink.h | 18 +
include/uapi/linux/ethtool.h | 136 +-
include/uapi/linux/ethtool_netlink.h | 112 +
include/uapi/linux/if_link.h | 2 +
net/Makefile | 1 +
net/core/Makefile | 1 -
net/core/dev.c | 28 +-
net/core/net-sysfs.c | 4 +-
net/core/rtnetlink.c | 39 +
net/devlink/Makefile | 3 +
net/devlink/core.c | 320 +
net/devlink/dev.c | 1346 ++++
net/devlink/devl_internal.h | 239 +
net/devlink/health.c | 1333 ++++
net/{core/devlink.c => devlink/leftover.c} | 7229 ++++++--------------
net/devlink/netlink.c | 251 +
net/dsa/dsa2.c | 8 -
net/dsa/slave.c | 9 +-
net/ethtool/Makefile | 5 +-
net/ethtool/cabletest.c | 2 +-
net/ethtool/channels.c | 107 +-
net/ethtool/coalesce.c | 114 +-
net/ethtool/common.c | 80 +
net/ethtool/common.h | 4 +
net/ethtool/debug.c | 71 +-
net/ethtool/eee.c | 78 +-
net/ethtool/fec.c | 83 +-
net/ethtool/ioctl.c | 175 +-
net/ethtool/linkinfo.c | 81 +-
net/ethtool/linkmodes.c | 91 +-
net/ethtool/linkstate.c | 24 +-
net/ethtool/mm.c | 251 +
net/ethtool/module.c | 89 +-
net/ethtool/netlink.c | 157 +-
net/ethtool/netlink.h | 78 +-
net/ethtool/pause.c | 125 +-
net/ethtool/plca.c | 248 +
net/ethtool/privflags.c | 84 +-
net/ethtool/pse-pd.c | 164 +
net/ethtool/rings.c | 143 +-
net/ethtool/rss.c | 156 +
net/ethtool/stats.c | 174 +-
net/ethtool/tunnels.c | 2 +
net/ethtool/wol.c | 79 +-
net/netfilter/nf_conntrack_netlink.c | 2 +-
net/rxrpc/protocol.h | 2 +-
.../configs/common/generic/CONFIG_MLX5_EN_MACSEC | 1 +
.../configs/common/generic/CONFIG_PSE_CONTROLLER | 1 +
.../selftests/drivers/net/netdevsim/devlink.sh | 22 +-
.../drivers/net/netdevsim/devlink_trap.sh | 13 +
.../selftests/net/forwarding/devlink_lib.sh | 19 +-
268 files changed, 19132 insertions(+), 9561 deletions(-)

Edited by Mohammad Kabat

Merge request reports