MLX5 driver upgrade - kernel v6.2
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(-)