Skip to content

Draft: MLX5 features and fixes up to v6.4

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

Description:

Hi all,

This MR includes Live migration and patterns and arguments features,
in addition to the fixes from kernel v6.4

Dependencies:

This patch set was built on top of the following BZ's:
Depends: !2520 (merged)

Bugzilla:

Bugzilla: http://bugzilla.redhat.com/2015447
Bugzilla: http://bugzilla.redhat.com/2165324
Bugzilla: http://bugzilla.redhat.com/2214574

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

d089e207 (Mohammad Kabat)
net/mlx5e: Do not update SBCM when prio2buffer command is invalid

cbefebbc (Mohammad Kabat)
net/mlx5e: Move Ethernet driver debugfs to profile init callback

c134bd94 (Mohammad Kabat)
net/mlx5e: Use query_special_contexts cmd only once per mdev

48780d27 (Mohammad Kabat)
net/mlx5e: TC, Fix using eswitch mapping in nic mode

b5906eae (Mohammad Kabat)
net/mlx5: Read embedded cpu after init bit cleared

b1477221 (Mohammad Kabat)
net/mlx5e: Fix error handling in mlx5e_refresh_tirs

29990df0 (Mohammad Kabat)
net/mlx5e: Don't attach netdev profile while handling internal error

85706064 (Mohammad Kabat)
net/mlx5: Fix post parse infra to only parse every action once

863f8d26 (Mohammad Kabat)
net/mlx5: fw_tracer, Fix event handling

d7b5d176 (Mohammad Kabat)
net/mlx5: SF, Drain health before removing device

da7ae87d (Mohammad Kabat)
net/mlx5e: Consider internal buffers size in port buffer calculations

74387910 (Mohammad Kabat)
net/mlx5: Devcom, serialize devcom registration

9b046181 (Mohammad Kabat)
net/mlx5: Devcom, fix error flow in mlx5_devcom_register_device

85cf7db2 (Mohammad Kabat)
net/mlx5e: Fix SQ wake logic in ptp napi_poll context

77b1c615 (Mohammad Kabat)
net/mlx5e: Fix deadlock in tc route query code

e3f58fab (Mohammad Kabat)
net/mlx5: Fix error message when failing to allocate device memory

0922f81f (Mohammad Kabat)
net/mlx5e: Use correct encap attribute during invalidation

719ec619 (Mohammad Kabat)
net/mlx5: DR, Check force-loopback RC QP capability independently from RoCE

526c1918 (Mohammad Kabat)
net/mlx5: DR, Fix crc32 calculation to work on big-endian (BE) CPUs

f6cf4c50 (Mohammad Kabat)
net/mlx5: Handle pairing of E-switch via uplink un/load APIs

98723f80 (Mohammad Kabat)
net/mlx5: Collect command failures data only for known commands

9978949f (Mohammad Kabat)
net/mlx5e: do as little as possible in napi poll when budget is 0

e659816b (Mohammad Kabat)
net/mlx5e: Fix error flow in representor failing to add vport rx rule

4d703edd (Mohammad Kabat)
RDMA/mlx5: Fix flow counter query via DEVX

ff8ec3b4 (Mohammad Kabat)
net/mlx5: Fix wrong comment

4f57cba4 (Mohammad Kabat)
net/mlx5e: Coding style fix, add empty line

412c9049 (Mohammad Kabat)
RDMA/mlx5: Coding style fix reported by checkpatch

e0c3fa7b (Mohammad Kabat)
net/mlx5: DR, Calculate sync threshold of each pool according to its type

9ea03f8b (Mohammad Kabat)
net/mlx5: DR, Fix dumping of legacy modify_hdr in debug dump

ef8c74f5 (Mohammad Kabat)
net/mlx5: DR, Enable patterns and arguments for supporting devices

d009424a (Mohammad Kabat)
net/mlx5: DR, Add support for the pattern/arg parameters in debug dump

251bc33d (Mohammad Kabat)
net/mlx5: DR, Modify header action of size 1 optimization

5432ee7c (Mohammad Kabat)
net/mlx5: DR, Support decap L3 action using pattern / arg mechanism

f1aae295 (Mohammad Kabat)
net/mlx5: DR, Apply new accelerated modify action and decapl3

0d2aeede (Mohammad Kabat)
net/mlx5: DR, Add modify header argument pointer to actions attributes

a711252e (Mohammad Kabat)
net/mlx5: DR, Add modify header arg pool mechanism

5864f848 (Mohammad Kabat)
net/mlx5: DR, Read ICM memory into dedicated buffer

ed18b953 (Mohammad Kabat)
net/mlx5: DR, Add support for writing modify header argument

2c107e17 (Mohammad Kabat)
net/mlx5: DR, Add create/destroy for modify-header-argument general object

c991f3d7 (Mohammad Kabat)
net/mlx5: DR, Check for modify_header_argument device capabilities

fda42654 (Mohammad Kabat)
net/mlx5: DR, Split chunk allocation to HW-dependent ways

4ea7e4e5 (Mohammad Kabat)
net/mlx5: DR, Add cache for modify header pattern

9dfe6d80 (Mohammad Kabat)
net/mlx5: DR, Move ACTION_CACHE_LINE_SIZE macro to header

840aa2e4 (Mohammad Kabat)
net/mlx5: DR, Add modify-header-pattern ICM pool

71f7eb06 (Mohammad Kabat)
net/mlx5: DR, Prepare sending new WQE type

6e0d2ead (Mohammad Kabat)
net/mlx5: Add new WQE for updating flow table

a148ed85 (Mohammad Kabat)
net/mlx5: Add mlx5_ifc bits for modify header argument

ab0c7741 (Mohammad Kabat)
RHEL-only: redhat/configs: EnableC ONFIG_MLX5_VFIO_PCI on all archs

89d19ff8 (Mohammad Kabat)
vfio/mlx5: Fallback to STOP_COPY upon specific PRE_COPY error

63409def (Mohammad Kabat)
vfio/mlx5: Consider temporary end of stream as part of PRE_COPY

5c42b4d3 (Mohammad Kabat)
vfio/mlx5: Enable MIGRATION_PRE_COPY flag

83bc00fb (Mohammad Kabat)
vfio/mlx5: fix error code in mlx5vf_precopy_ioctl()

c22ad327 (Mohammad Kabat)
vfio/mlx5: error pointer dereference in error handling

9975f3e3 (Mohammad Kabat)
vfio/mlx5: Fix UBSAN note

92446b0e (Mohammad Kabat)
vfio/mlx5: Allow loading of larger images than 512 MB

6234afec (Mohammad Kabat)
vfio/mlx5: Check whether VF is migratable

0da73bdf (Mohammad Kabat)
vfio/mlx5: Fix the report of dirty_bytes upon pre-copy

88512087 (Mohammad Kabat)
vfio/mlx5: Improve the source side flow upon pre_copy

be300f26 (Mohammad Kabat)
vfio/mlx5: Improve the target side flow to reduce downtime

2e1b4a2a (Mohammad Kabat)
vfio/mlx5: Introduce multiple loads

5966f165 (Mohammad Kabat)
vfio/mlx5: Fix range size calculation upon tracker creation

5ce4375c (Mohammad Kabat)
vfio/mlx5: Introduce vfio precopy ioctl implementation

883a93fd (Mohammad Kabat)
vfio/mlx5: Introduce SW headers for migration states

0506d7e0 (Mohammad Kabat)
vfio/mlx5: Introduce device transitions of PRE_COPY

c5cbec0c (Mohammad Kabat)
vfio/mlx5: Refactor to use queue based data chunks

789e2b39 (Mohammad Kabat)
vfio/mlx5: Refactor migration file state

362c2e58 (Mohammad Kabat)
vfio/mlx5: Refactor MKEY usage

7aac7548 (Mohammad Kabat)
vfio/mlx5: Refactor PD usage

aea6c54b (Mohammad Kabat)
vfio/mlx5: Enforce a single SAVE command at a time

fd5d4954 (Mohammad Kabat)
vfio/mlx5: Fix a typo in mlx5vf_cmd_load_vhca_state()

6e25666e (Mohammad Kabat)
vfio: Add an option to get migration data size

042d890c (Mohammad Kabat)
vfio/mlx5: Switch to use module_pci_driver() macro

c4a51c74 (Mohammad Kabat)
vfio/mlx5: Expose migration commands over mlx5 device

3a43e8f8 (Mohammad Kabat)
vfio/mlx5: Use the new device life cycle helpers

20fdbce6 (Mohammad Kabat)
vfio/mlx5: Set the driver DMA logging callbacks

818882d1 (Mohammad Kabat)
vfio/mlx5: Manage error scenarios on tracker

8b132887 (Mohammad Kabat)
vfio/mlx5: Report dirty pages from tracker

d915803a (Mohammad Kabat)
vfio/mlx5: Create and destroy page tracker object

6eed8aa2 (Mohammad Kabat)
vfio/mlx5: Init QP based resources for dirty tracking

3034efc0 (Mohammad Kabat)
vfio: Split migration ops from main device ops

303c31c3 (Mohammad Kabat)
vfio/mlx5: Protect mlx5vf_disable_fds() upon close device

cc2c26ef (Mohammad Kabat)
vfio/pci: Have all VFIO PCI drivers store the vfio_pci_core_device in
drvdata

98e5d0ff (Mohammad Kabat)
vfio/mlx5: Run the SAVE state command in an async mode

5c89442e (Mohammad Kabat)
vfio/mlx5: Refactor to enable VFs migration in parallel

e0fb991d (Mohammad Kabat)
vfio/mlx5: Manage the VF attach/detach callback from the PF

398c9fc0 (Mohammad Kabat)
vfio/mlx5: Fix to not use 0 as NULL pointer

36eac832 (Mohammad Kabat)
vfio/mlx5: Use its own PCI reset_done error handler

128eb0c8 (Mohammad Kabat)
vfio/mlx5: Implement vfio_pci driver for mlx5 devices

43f18bde (Mohammad Kabat)
vfio/mlx5: Expose migration commands over mlx5 device

a13598b2 (Mohammad Kabat)
Revert "net/mlx5: Enable management PF initialization"

e737d72d (Mohammad Kabat)
RDMA/mlx5: Use correct device num_ports when modify DC

0251f0f8 (Mohammad Kabat)
Revert "net/mlx5e: Don't use termination table when redundant"

f778d72b (Mohammad Kabat)
net/mlx5e: Nullify table pointer when failing to create

44f88d01 (Mohammad Kabat)
net/mlx5: Use recovery timeout on sync reset flow

5374e121 (Mohammad Kabat)
Revert "net/mlx5: Remove "recovery" arg from mlx5_load_one() function"

66f0cdc7 (Mohammad Kabat)
net/mlx5: Release tunnel device after tc update skb

7e4036dc (Mohammad Kabat)
net/mlx5: E-switch, Don't destroy indirect table in split rule

e83d340a (Mohammad Kabat)
net/mlx5: E-switch, Create per vport table based on devlink encap mode

028ae739 (Mohammad Kabat)
net/mlx5e: Release the label when replacing existing ct entry

acbff902 (Mohammad Kabat)
net/mlx5e: Don't clone flow post action attributes second time

02d782a1 (Mohammad Kabat)
RDMA/mlx5: Check pcie_relaxed_ordering_enabled() in UMR

afa32379 (Mohammad Kabat)
net/mlx5: DR, Fix QP continuous allocation

94a39e1e (Mohammad Kabat)
IB/mlx5: Add support for 400G_8X lane speed

5c44b5e5 (Mohammad Kabat)
net/mlx5: E-Switch, Fix an Oops in error handling code

d22b42a3 (Mohammad Kabat)
net/mlx5: Read the TC mapping of all priorities on ETS query

58b84da5 (Mohammad Kabat)
net/mlx5e: Initialize link speed to zero

6f1bf6f9 (Mohammad Kabat)
net/mlx5: Fix steering rules cleanup

ed7eea84 (Mohammad Kabat)
net/mlx5e: Block entering switchdev mode with ns inconsistency

1bd5f380 (Mohammad Kabat)
net/mlx5e: Set uplink rep as NETNS_LOCAL

eb435206 (Mohammad Kabat)
net/mlx5e: TC, Remove error message log print

94db9b5d (Mohammad Kabat)
net/mlx5e: TC, fix cloned flow attribute

617d1524 (Mohammad Kabat)
net/mlx5e: TC, fix missing error code

415b5937 (Mohammad Kabat)
net/sched: TC, fix raw counter initialization

778ddb6e (Mohammad Kabat)
net/mlx5e: Lower maximum allowed MTU in XSK to match XDP prerequisites

b9e06440 (Mohammad Kabat)
net/mlx5: Set BREAK_FW_WAIT flag first when removing driver

4d07b3bd (Mohammad Kabat)
net/mlx5e: kTLS, Fix missing error unwind on unsupported cipher type

b8e251db (Mohammad Kabat)
net/mlx5e: Fix cleanup null-ptr deref on encap lock

4fb8a8b6 (Mohammad Kabat)
net/mlx5: E-switch, Fix missing set of split_count when forward to ovs
internal port

7bebf253 (Mohammad Kabat)
net/mlx5: E-switch, Fix wrong usage of source port rewrite in split rules

ab301503 (Mohammad Kabat)
net/mlx5: Disable eswitch before waiting for VF pages

fe04fba6 (Mohammad Kabat)
net/mlx5: Fix setting ec_function bit in MANAGE_PAGES

5d807347 (Mohammad Kabat)
net/mlx5e: Don't cache tunnel offloads capability

574ab356 (Mohammad Kabat)
net/mlx5: Geneve, Fix handling of Geneve object id as error code

bfc55941 (Mohammad Kabat)
net/mlx5e: Verify flow_source cap before using it

d7ec4c24 (Mohammad Kabat)
net/mlx5: ECPF, wait for VF pages only after disabling host PFs

b7916813 (Mohammad Kabat)
mlx5: fix possible ptp queue fifo use-after-free

ff860cb6 (Mohammad Kabat)
mlx5: fix skb leak while fifo resync and push

eef2ca51 (Mohammad Kabat)
net/mlx5e: TC, fix return value check in mlx5e_tc_act_stats_create()

42eefdd3 (Mohammad Kabat)
net/mlx5: Remove NULL check before dev_{put, hold}

6d89297d (Mohammad Kabat)
net/mlx5e: Remove hairpin write debugfs files

b74fb02e (Mohammad Kabat)
net/mlx5: Fix memory leak in IPsec RoCE creation

6fd39c1a (Mohammad Kabat)
net/mlx5e: Align IPsec ASO result memory to be as required by hardware

7be05905 (Mohammad Kabat)
net/mlx5e: TC, Set CT miss to the specific ct action instance

f9da5421 (Mohammad Kabat)
net/mlx5e: Rename CHAIN_TO_REG to MAPPED_OBJ_TO_REG

a134e1c1 (Mohammad Kabat)
net/mlx5: Refactor tc miss handling to a single function

69543d7b (Mohammad Kabat)
net/mlx5: Kconfig: Make tc offload depend on tc skb extension

48f9f792 (Mohammad Kabat)
IB/mlx5: Extend debug control for CC parameters

a698a191 (Mohammad Kabat)
net/mlx5e: Fix outdated TLS comment

b50f4b5d (Mohammad Kabat)
net/mlx5e: Remove unused function mlx5e_sq_xmit_simple

feac477d (Mohammad Kabat)
net/mlx5e: Allow offloading of ct 'new' match

1dca0552 (Mohammad Kabat)
net/mlx5e: Implement CT entry update

18ef9148 (Mohammad Kabat)
net/mlx5: Simplify eq list traversal

705d8ea5 (Mohammad Kabat)
net/mlx5e: Switch to using napi_build_skb()

2d94f548 (Mohammad Kabat)
RDMA/mlx5: Use query_special_contexts for mkeys

1b79ad35 (Mohammad Kabat)
net/mlx5e: Use query_special_contexts for mkeys

cf653127 (Mohammad Kabat)
net/mlx5: Change define name for 0x100 lkey value

ce533e6b (Mohammad Kabat)
net/mlx5: Expose bits for querying special mkeys

a1c270c3 (Mohammad Kabat)
RDMA/mlx5: Use rdma_umem_for_each_dma_block()

9b8d8cba (Mohammad Kabat)
net/mlx5: Configure IPsec steering for egress RoCEv2 traffic

8211022c (Mohammad Kabat)
net/mlx5: Configure IPsec steering for ingress RoCEv2 traffic

c4a38954 (Mohammad Kabat)
net/mlx5: Add IPSec priorities in RDMA namespaces

debe10e6 (Mohammad Kabat)
net/mlx5: Implement new destination type TABLE_TYPE

35ef9acf (Mohammad Kabat)
net/mlx5: Introduce new destination type TABLE_TYPE

ff64ada6 (Mohammad Kabat)
net/mlx5: Suspend auxiliary devices only in case of PCI device suspend

c843c477 (Mohammad Kabat)
net/mlx5: Remove "recovery" arg from mlx5_load_one() function

f7ee90e9 (Mohammad Kabat)
net/mlx5e: Move devlink port registration to be done before netdev alloc

0ec3ba94 (Mohammad Kabat)
net/mlx5e: Move dl_port to struct mlx5e_dev

a244c203 (Mohammad Kabat)
net/mlx5e: Replace usage of mlx5e_devlink_get_dl_port() by
netdev->devlink_port

fb5fcff4 (Mohammad Kabat)
net/mlx5e: Pass mdev to mlx5e_devlink_port_register()

d06de70a (Mohammad Kabat)
net/mlx5: Remove outdated comment

bd7ff8b2 (Mohammad Kabat)
net/mlx5e: TC, Remove redundant parse_attr argument

6344f83c (Mohammad Kabat)
net/mlx5e: Use a simpler comparison for uplink rep

61c591ee (Mohammad Kabat)
net/mlx5: Lag, Add single RDMA device in multiport mode

1512b529 (Mohammad Kabat)
net/mlx5: Lag, set different uplink vport metadata in multiport eswitch
mode

9d2b26e5 (Mohammad Kabat)
net/mlx5: E-Switch, rename bond update function to be reused

f87123bf (Mohammad Kabat)
net/mlx5e: TC, Add peer flow in mpesw mode

fae96e62 (Mohammad Kabat)
net/mlx5: Lag, Control MultiPort E-Switch single FDB mode

18adf648 (Mohammad Kabat)
net/mlx5e: TC, support per action stats

30d39ee7 (Mohammad Kabat)
net/mlx5e: TC, map tc action cookie to a hw counter

de5993d8 (Mohammad Kabat)
net/mlx5e: TC, store tc action cookies per attr

659e1fa0 (Mohammad Kabat)
net/mlx5e: TC, add hw counter to branching actions

e175d910 (Mohammad Kabat)
RDMA/mlx5: Track netdev to avoid deadlock during netdev notifier unregister

e3cc9187 (Mohammad Kabat)
net/mlx5e: Propagate an internal event in case uplink netdev changes

f5125ce2 (Mohammad Kabat)
net/mlx5e: Fix trap event handling

6a7cfad3 (Mohammad Kabat)
net/mlx5e: Improve remote NUMA preferences used for the IRQ affinity hints

a2113b54 (Mohammad Kabat)
net/mlx5: fw_tracer, Add support for unrecognized string

17046230 (Mohammad Kabat)
net/mlx5: fw_tracer, Add support for strings DB update event

f8f7ca14 (Mohammad Kabat)
net/mlx5: fw_tracer, allow 0 size string DBs

8a114154 (Mohammad Kabat)
net/mlx5: fw_tracer: Fix debug print

dc942558 (Mohammad Kabat)
net/mlx5: fs, Remove redundant assignment of size

39d200bb (Mohammad Kabat)
net/mlx5: fs_core, Remove redundant variable err

8f183989 (Mohammad Kabat)
net/mlx5: Fix memory leak in error flow of port set buffer

525757c4 (Mohammad Kabat)
net/mlx5e: Remove incorrect debugfs_create_dir NULL check in TLS

9a608bce (Mohammad Kabat)
net/mlx5e: Remove incorrect debugfs_create_dir NULL check in hairpin

02d80004 (Mohammad Kabat)
net/mlx5: fs, Remove redundant vport_number assignment

94998b1b (Mohammad Kabat)
net/mlx5e: Remove redundant code for handling vlan actions

3ae5fa1c (Mohammad Kabat)
net/mlx5e: Don't listen to remove flows event

011efcdb (Mohammad Kabat)
net/mlx5: fw reset: Skip device ID check if PCI link up failed

4c61e7b7 (Mohammad Kabat)
net/mlx5: Remove redundant health work lock

cddec4be (Mohammad Kabat)
mlx5: reduce stack usage in mlx5_setup_tc

681c6b5a (Mohammad Kabat)
RDMA/mlx5: Check reg_create() create for errors

16671b35 (Mohammad Kabat)
RDMA/mlx5: Remove impossible check of mkey cache cleanup failure

68934b58 (Mohammad Kabat)
RDMA/mlx5: Fix MR cache debugfs error in IB representors mode

b09e8dbb (Mohammad Kabat)
net/mlx5e: Trigger NAPI after activating an SQ

f1761e40 (Mohammad Kabat)
net/mlx5e: IPsec, support upper protocol selector field offload

83e63f04 (Mohammad Kabat)
net/mlx5e: IPoIB, Add support for XDR speed

258a778f (Mohammad Kabat)
net/mlx5: Enhance debug print in page allocation failure

97b4307c (Mohammad Kabat)
net/mlx5: Add firmware support for MTUTC scaled_ppm frequency adjustments

a16ae1a6 (Mohammad Kabat)
net/mlx5: Lag, Move mpesw related definitions to mpesw.h

f2533adb (Mohammad Kabat)
net/mlx5: Lag, Use flag to check for shared FDB mode

f84a4d52 (Mohammad Kabat)
net/mlx5: Lag, Remove redundant bool allocation on the stack

009cc58f (Mohammad Kabat)
net/mlx5: Lag, Use mlx5_lag_dev() instead of derefering pointers

907c0478 (Mohammad Kabat)
net/mlx5: Lag, Update multiport eswitch check to log an error

dfcd8201 (Mohammad Kabat)
net: flow_offload: provision conntrack info in ct_metadata

6e87c85a (Mohammad Kabat)
net/mlx5e: kTLS, Improve connection rate by using fast update encryption
key

bbb5152c (Mohammad Kabat)
net/mlx5: Keep only one bulk of full available DEKs

2e1eec46 (Mohammad Kabat)
net/mlx5: Add async garbage collector for DEK bulk

b8b5a36c (Mohammad Kabat)
net/mlx5: Reuse DEKs after executing SYNC_CRYPTO command

061f6ca7 (Mohammad Kabat)
net/mlx5: Use bulk allocation for fast update encryption key

e7092524 (Mohammad Kabat)
net/mlx5: Add bulk allocation and modify_dek operation

eca1c224 (Mohammad Kabat)
net/mlx5: Add support SYNC_CRYPTO command

397bc726 (Mohammad Kabat)
net/mlx5: Add new APIs for fast update encryption key

0fb38e4d (Mohammad Kabat)
net/mlx5: Refactor the encryption key creation

555c5677 (Mohammad Kabat)
net/mlx5: Add const to the key pointer of encryption key creation

4140d8ec (Mohammad Kabat)
net/mlx5: Prepare for fast crypto key update if hardware supports it

3d882df1 (Mohammad Kabat)
net/mlx5: Change key type to key purpose

6316fdea (Mohammad Kabat)
net/mlx5: Add IFC bits and enums for crypto key

601eb2bc (Mohammad Kabat)
net/mlx5: Add IFC bits for general obj create param

4f198f48 (Mohammad Kabat)
net/mlx5: Header file for crypto

f575a8e1 (Mohammad Kabat)
RDMA/mlx5: Add work to remove temporary entries from the cache

0a864ed2 (Mohammad Kabat)
RDMA/mlx5: Cache all user cacheable mkeys on dereg MR flow

63fb6280 (Mohammad Kabat)
RDMA/mlx5: Introduce mlx5r_cache_rb_key

ee5121b5 (Mohammad Kabat)
RDMA/mlx5: Change the cache structure to an RB-tree

00889425 (Mohammad Kabat)
RDMA/mlx5: Remove implicit ODP cache entry

c3e0b4c0 (Mohammad Kabat)
RDMA/mlx5: Don't keep umrable 'page_shift' in cache entries

2a051c72 (Mohammad Kabat)
net/mlx5e: Fill IPsec state validation failure reason

8f3e52f0 (Mohammad Kabat)
net/mlx5e: Fill IPsec policy validation failure reason

70b1735a (Mohammad Kabat)
xfrm: extend add policy callback to set failure reason

ef88d44b (Mohammad Kabat)
net/mlx5e: Use read lock for eswitch get callbacks

c26ab5db (Mohammad Kabat)
net/mlx5: E-Switch, Fix typo for egress

48618557 (Mohammad Kabat)
net/mlx5e: Warn when destroying mod hdr hash table that is not empty

1112b59f (Mohammad Kabat)
net/mlx5e: TC, Use common function allocating flow mod hdr or encap mod hdr

78843ef9 (Mohammad Kabat)
net/mlx5e: TC, Add tc prefix to attach/detach hdr functions

396122fd (Mohammad Kabat)
net/mlx5e: TC, Pass flow attr to attach/detach mod hdr functions

e24aec4d (Mohammad Kabat)
net/mlx5e: Add warning when log WQE size is smaller than log stride size

089292b2 (Mohammad Kabat)
net/mlx5e: Fail with messages when params are not valid for XSK

37badc96 (Mohammad Kabat)
net/mlx5: E-switch, Remove redundant comment about meta rules

9065cfac (Mohammad Kabat)
net/mlx5: Add hardware extended range support for PTP adjtime and adjphase

4c295b0d (Mohammad Kabat)
net/mlx5: Add adjphase function to support hardware-only offset control

85dc1d19 (Mohammad Kabat)
net/mlx5: Suppress error logging on UCTX creation

64b91b13 (Mohammad Kabat)
net/mlx5e: Suppress Send WQEBB room warning for PAGE_SIZE >= 16KB

a5dee2d4 (Mohammad Kabat)
RDMA/mlx5: Print error syndrome in case of fatal QP errors

a224efb3 (Mohammad Kabat)
RDMA/mlx: Calling qp event handler in workqueue context

d10c2c0f (Mohammad Kabat)
net/mlx5: Introduce CQE error syndrome

a29dbda3 (Mohammad Kabat)
net/mlx5e: Use kzalloc() in mlx5e_accel_fs_tcp_create()

46d174f4 (Mohammad Kabat)
net/mlx5: remove redundant ret variable

239ea5e5 (Mohammad Kabat)
net/mlx5e: Replace 0-length array with flexible array

5fcadb22 (Mohammad Kabat)
net/mlx5e: Replace zero-length array with flexible-array member

5a967560 (Mohammad Kabat)
net/mlx5: Prevent high-rate FW commands from populating all slots

c9d258a4 (Mohammad Kabat)
net/mlx5: Introduce and use opcode getter in command interface

43d0ee1a (Mohammad Kabat)
net/mlx5: Enable management PF initialization

4d0c2273 (Mohammad Kabat)
net/mlx5e: Add hairpin debugfs files

598e26c0 (Mohammad Kabat)
net/mlx5e: Add flow steering debugfs directory

98812966 (Mohammad Kabat)
net/mlx5e: Add hairpin params structure

dbe4966f (Mohammad Kabat)
net/mlx5e: kTLS, Add debugfs

3f797756 (Mohammad Kabat)
net/mlx5e: Add Ethernet driver debugfs

b87d4007 (Mohammad Kabat)
net/mlx5e: Update shared buffer along with device buffer changes

274bd4f1 (Mohammad Kabat)
net/mlx5e: Add API to query/modify SBPR and SBCM registers

e9f3c340 (Mohammad Kabat)
net/mlx5: Expose shared buffer registers bits and structs

99bb8d7d (Mohammad Kabat)
net/mlx5e: Support 256 bit keys with kTLS device offload

f9021822 (Mohammad Kabat)
net/mlx5e: Protect global IPsec ASO

40b32b49 (Mohammad Kabat)
net/mlx5e: Remove optimization which prevented update of ESN state

96edf3a0 (Mohammad Kabat)
net/mlx5e: Open mlx5 driver to accept IPsec packet offload

b07bdbd5 (Mohammad Kabat)
net/mlx5e: Handle ESN update events

bab7f742 (Mohammad Kabat)
net/mlx5e: Handle hardware IPsec limits events

ade7effa (Mohammad Kabat)
net/mlx5e: Update IPsec soft and hard limits

04621dd7 (Mohammad Kabat)
net/mlx5e: Store all XFRM SAs in Xarray

3e71893b (Mohammad Kabat)
net/mlx5e: Provide intermediate pointer to access IPsec struct

24881cf4 (Mohammad Kabat)
net/mlx5e: Skip IPsec encryption for TX path without matching policy

eb207ca1 (Mohammad Kabat)
net/mlx5e: Add statistics for Rx/Tx IPsec offloaded flows

c0a28ba3 (Mohammad Kabat)
net/mlx5e: Improve IPsec flow steering autogroup

c44ff736 (Mohammad Kabat)
net/mlx5e: Configure IPsec packet offload flow steering

7933d629 (Mohammad Kabat)
net/mlx5e: Use same coding pattern for Rx and Tx flows

23757cff (Mohammad Kabat)
net/mlx5e: Add XFRM policy offload logic

b03dfc70 (Mohammad Kabat)
net/mlx5e: Create IPsec policy offload tables

db3b167b (Mohammad Kabat)
net/mlx5e: Generalize creation of default IPsec miss group and rule

cf63992f (Mohammad Kabat)
net/mlx5e: Group IPsec miss handles into separate struct

2f24a114 (Mohammad Kabat)
net/mlx5e: Make clear what IPsec rx_err does

d5983627 (Mohammad Kabat)
net/mlx5e: Flatten the IPsec RX add rule path

65ad46fb (Mohammad Kabat)
net/mlx5e: Refactor FTE setup code to be more clear

e99d887e (Mohammad Kabat)
net/mlx5e: Move IPsec flow table creation to separate function

e80a6e36 (Mohammad Kabat)
net/mlx5e: Create hardware IPsec packet offload objects

b1e9144b (Mohammad Kabat)
net/mlx5e: Create Advanced Steering Operation object for IPsec

10f83a47 (Mohammad Kabat)
net/mlx5e: Remove accesses to priv for low level IPsec FS code

15171bda (Mohammad Kabat)
net/mlx5e: Use mlx5 print routines for low level IPsec code

57832590 (Mohammad Kabat)
net/mlx5e: Create symmetric IPsec RX and TX flow steering structs

89bdd8d5 (Mohammad Kabat)
net/mlx5e: Remove extra layers of defines

21dc495c (Mohammad Kabat)
net/mlx5e: Store replay window in XFRM attributes

5ae2c73b (Mohammad Kabat)
net/mlx5e: Advertise IPsec packet offload support

42893fe0 (Mohammad Kabat)
net/mlx5: Add HW definitions for IPsec packet offload

52fb384c (Mohammad Kabat)
net/mlx5: Return ready to use ASO WQE

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

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

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

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

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

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

147beb88 (Mohammad Kabat)
net/mlx5: DR, Fix potential race in dr_rule_create_rule_nic

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

696e796e (Mohammad Kabat)
net/mlx5: E-switch, Coverity: overlapping copy

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

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

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

5f3c4893 (Mohammad Kabat)
net/mlx5: Expose steering dropped packets counter

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

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

211d69e5 (Mohammad Kabat)
RDMA/mlx5: Remove not-used IB_FLOW_SPEC_IB define

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

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

1d630218 (Mohammad Kabat)
net/mlx5: Add generic getters for other functions caps

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

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

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

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

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

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

0a646fb2 (Mohammad Kabat)
net/mlx5: Remove redundant check

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

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

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

1dcaddbf (Mohammad Kabat)
net/mlx5: Use generic definition for UMR KLM alignment

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

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

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

574ee521 (Mohammad Kabat)
net/mlx5: Remove unused ctx variables

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

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

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

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

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

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

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

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

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

96f6c89e (Mohammad Kabat)
net/mlx5e: Support enhanced CQE compression

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

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

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

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

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

22cc0a83 (Mohammad Kabat)
ptp: mlx5: convert to .adjfine and adjust_by_scaled_ppm

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

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

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

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

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

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

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

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

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

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

072b1366 (Mohammad Kabat)
net/mlx5: DR, Remove unneeded argument from dr_icm_chunk_destroy

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

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

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

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

dbc52c36 (Mohammad Kabat)
RHEL-only: redhat/configs: Enable CONFIG_MLX5_EN_MACSEC on all archs

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

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

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

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

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

69794f81 (Mohammad Kabat)
net/mlx5e: Fix RX reporter for XSK RQs

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

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

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

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

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

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

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

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

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

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

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

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

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

924a9146 (Mohammad Kabat)
net/mlx5e: Fix MACsec SA initialization routine

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

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

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

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

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

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

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

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

1b94daca (Mohammad Kabat)
net/mlx5e: Cleanup MACsec uninitialization routine

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

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

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

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

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

74e73c3e (Mohammad Kabat)
net/mlx5e: Expose rx_oversize_pkts_buffer counter

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

75cc9f8b (Mohammad Kabat)
net/mlx5e: xsk: Print a warning in slow configurations

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

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

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

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

6d76c517 (Mohammad Kabat)
net/mlx5e: xsk: Include XSK skb_from_cqe callbacks in INDIRECT_CALL

4e33fbf7 (Mohammad Kabat)
net/mlx5e: xsk: Set napi_id to support busy polling

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

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

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

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

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

299f0da1 (Mohammad Kabat)
net/mlx5e: Call mlx5e_page_release_dynamic directly where possible

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

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

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

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

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

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

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

26376d8d (Mohammad Kabat)
net/mlx5e: Make the wqe_index_mask calculation more exact

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

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

3d87f342 (Mohammad Kabat)
net/mlx5e: xsk: Use mlx5e_trigger_napi_icosq for XSK wakeup

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

4fb73671 (Mohammad Kabat)
net/mlx5e: Split out channel (de)activation in rx_res

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

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

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

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

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

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

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

7e886de5 (Mohammad Kabat)
net/mlx5e: Keep a separate MKey for striding RQ

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

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

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

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

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

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

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

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

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

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

6d462e04 (Mohammad Kabat)
net/mlx5e: Use mlx5e_stop_room_for_max_wqe where appropriate

9f277894 (Mohammad Kabat)
net/mlx5e: Let mlx5e_get_sw_max_sq_mpw_wqebbs accept mdev

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

981ce511 (Mohammad Kabat)
net/mlx5e: Make mlx5e_verify_rx_mpwqe_strides static

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

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

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

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

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

3dd695a1 (Mohammad Kabat)
net/mlx5: Remove unused functions

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

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

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

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

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

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

52204a60 (Mohammad Kabat)
net/mlx5: Expose NPPS related registers

5c2c16a4 (Mohammad Kabat)
net/mlx5e: macsec: remove checks on the prepare phase

708e3c52 (Mohammad Kabat)
net/mlx5e: Support MACsec offload replay window

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

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

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

01c9df84 (Mohammad Kabat)
net/mlx5e: Expose memory key creation (mkey) function

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

8e88b30c (Mohammad Kabat)
net/mlx5e: Fix MACsec initial packet number

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

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

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

22beb572 (Mohammad Kabat)
net/mlx5e: Switch to kmemdup() when allocate dev_addr

9c5c5792 (Mohammad Kabat)
net/mlx5e: add missing error code in error path

7a13c50b (Mohammad Kabat)
RDMA/mlx5: Remove duplicate assignment in umr_rereg_pas()

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

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

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

01c70b9c (Mohammad Kabat)
net/mlx5e: Implement MACsec Rx data path using MACsec skb_metadata_dst

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

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

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

5e6efa6b (Mohammad Kabat)
net/mlx5e: Implement MACsec Tx data path using MACsec skb_metadata_dst

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

6d819b35 (Mohammad Kabat)
net/mlx5: Add MACsec Tx tables support to fs_core

5b8333b0 (Mohammad Kabat)
net/mlx5: Add MACsec offload Tx command support

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

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

95f07d51 (Mohammad Kabat)
net/mlx5: Removed esp_id from struct mlx5_flow_act

6eabdb09 (Mohammad Kabat)
net/mlx5: Query ADV_VIRTUALIZATION capabilities

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

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

852c2986 (Mohammad Kabat)
IB/mlx5: Support querying eswitch functions from DEVX

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

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

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

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

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

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

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

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

35ea1cdc (Mohammad Kabat)
net/mlx5e: Make flow steering arfs independent of priv

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

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

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

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

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

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

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

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

9147ed7d (Mohammad Kabat)
IB/mlx5: Call io_stop_wc() after writing to WC MMIO

.../device_drivers/ethernet/mellanox/mlx5.rst | 18 +
Documentation/networking/devlink/mlx5.rst | 18 +
Documentation/networking/xfrm_device.rst | 2 +-
MAINTAINERS | 6 +
drivers/infiniband/core/umem_odp.c | 2 -
drivers/infiniband/hw/mlx5/cmd.c | 45 +-
drivers/infiniband/hw/mlx5/cmd.h | 3 +-
drivers/infiniband/hw/mlx5/cong.c | 28 +-
drivers/infiniband/hw/mlx5/devx.c | 33 +-
drivers/infiniband/hw/mlx5/fs.c | 1 -
drivers/infiniband/hw/mlx5/ib_rep.c | 18 +-
drivers/infiniband/hw/mlx5/mad.c | 25 +-
drivers/infiniband/hw/mlx5/main.c | 109 +-
drivers/infiniband/hw/mlx5/mem.c | 2 +-
drivers/infiniband/hw/mlx5/mlx5_ib.h | 66 +-
drivers/infiniband/hw/mlx5/mr.c | 499 ++++--
drivers/infiniband/hw/mlx5/odp.c | 71 +-
drivers/infiniband/hw/mlx5/qp.c | 175 +-
drivers/infiniband/hw/mlx5/qp.h | 4 +-
drivers/infiniband/hw/mlx5/qpc.c | 7 +-
drivers/infiniband/hw/mlx5/srq.c | 2 +-
drivers/infiniband/hw/mlx5/umr.c | 24 +-
drivers/infiniband/hw/mlx5/wr.c | 2 +-
drivers/net/ethernet/mellanox/mlx5/core/Kconfig | 12 +-
drivers/net/ethernet/mellanox/mlx5/core/Makefile | 11 +-
drivers/net/ethernet/mellanox/mlx5/core/cmd.c | 128 +-
drivers/net/ethernet/mellanox/mlx5/core/debugfs.c | 5 +-
drivers/net/ethernet/mellanox/mlx5/core/dev.c | 8 +-
drivers/net/ethernet/mellanox/mlx5/core/devlink.c | 88 +-
drivers/net/ethernet/mellanox/mlx5/core/devlink.h | 6 +
.../mellanox/mlx5/core/diag/fs_tracepoint.c | 4 +
.../ethernet/mellanox/mlx5/core/diag/fw_tracer.c | 84 +-
.../ethernet/mellanox/mlx5/core/diag/fw_tracer.h | 9 +
drivers/net/ethernet/mellanox/mlx5/core/ecpf.c | 6 +-
drivers/net/ethernet/mellanox/mlx5/core/en.h | 150 +-
.../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 | 28 +-
.../net/ethernet/mellanox/mlx5/core/en/devlink.h | 10 +-
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h | 167 +-
.../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/mod_hdr.c | 1 +
.../net/ethernet/mellanox/mlx5/core/en/params.c | 566 ++++--
.../net/ethernet/mellanox/mlx5/core/en/params.h | 82 +-
drivers/net/ethernet/mellanox/mlx5/core/en/port.c | 72 +
drivers/net/ethernet/mellanox/mlx5/core/en/port.h | 6 +
.../ethernet/mellanox/mlx5/core/en/port_buffer.c | 256 ++-
.../ethernet/mellanox/mlx5/core/en/port_buffer.h | 7 +-
drivers/net/ethernet/mellanox/mlx5/core/en/ptp.c | 73 +-
drivers/net/ethernet/mellanox/mlx5/core/en/ptp.h | 6 +-
.../net/ethernet/mellanox/mlx5/core/en/rep/bond.c | 6 +-
.../ethernet/mellanox/mlx5/core/en/rep/bridge.c | 4 -
.../net/ethernet/mellanox/mlx5/core/en/rep/tc.c | 228 +--
.../ethernet/mellanox/mlx5/core/en/reporter_rx.c | 40 +-
.../ethernet/mellanox/mlx5/core/en/reporter_tx.c | 8 +-
.../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/act.c | 7 +-
.../ethernet/mellanox/mlx5/core/en/tc/act/act.h | 2 +-
.../ethernet/mellanox/mlx5/core/en/tc/act/goto.c | 3 +-
.../ethernet/mellanox/mlx5/core/en/tc/act/mirred.c | 15 +-
.../ethernet/mellanox/mlx5/core/en/tc/act/police.c | 1 -
.../ethernet/mellanox/mlx5/core/en/tc/act/trap.c | 10 +-
.../ethernet/mellanox/mlx5/core/en/tc/act/vlan.c | 35 +-
.../ethernet/mellanox/mlx5/core/en/tc/act_stats.c | 202 +++
.../ethernet/mellanox/mlx5/core/en/tc/act_stats.h | 27 +
.../net/ethernet/mellanox/mlx5/core/en/tc/meter.c | 17 +-
.../ethernet/mellanox/mlx5/core/en/tc/post_act.c | 11 +-
.../ethernet/mellanox/mlx5/core/en/tc/post_act.h | 2 +-
.../net/ethernet/mellanox/mlx5/core/en/tc/sample.c | 6 +-
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c | 262 ++-
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.h | 2 +
.../net/ethernet/mellanox/mlx5/core/en/tc_priv.h | 3 +-
.../net/ethernet/mellanox/mlx5/core/en/tc_tun.c | 6 +-
.../ethernet/mellanox/mlx5/core/en/tc_tun_encap.c | 9 +-
.../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 | 29 +-
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 | 38 +-
.../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 | 17 +-
.../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 | 438 +++--
.../ethernet/mellanox/mlx5/core/en_accel/ipsec.h | 146 +-
.../mellanox/mlx5/core/en_accel/ipsec_fs.c | 1126 ++++++++----
.../mellanox/mlx5/core/en_accel/ipsec_offload.c | 308 +++-
.../mellanox/mlx5/core/en_accel/ipsec_rxtx.c | 22 +-
.../mellanox/mlx5/core/en_accel/ipsec_rxtx.h | 9 +-
.../mellanox/mlx5/core/en_accel/ipsec_stats.c | 52 +
.../ethernet/mellanox/mlx5/core/en_accel/ktls.c | 75 +-
.../ethernet/mellanox/mlx5/core/en_accel/ktls.h | 31 +-
.../ethernet/mellanox/mlx5/core/en_accel/ktls_rx.c | 74 +-
.../ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c | 149 +-
.../mellanox/mlx5/core/en_accel/ktls_txrx.c | 27 +-
.../mellanox/mlx5/core/en_accel/ktls_utils.h | 8 +-
.../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 | 24 +-
drivers/net/ethernet/mellanox/mlx5/core/en_dcbnl.c | 13 +-
.../net/ethernet/mellanox/mlx5/core/en_ethtool.c | 46 +-
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c | 464 +++--
.../ethernet/mellanox/mlx5/core/en_fs_ethtool.c | 89 +-
drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 640 ++++---
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c | 236 ++-
drivers/net/ethernet/mellanox/mlx5/core/en_rep.h | 14 +-
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c | 569 +++---
drivers/net/ethernet/mellanox/mlx5/core/en_stats.c | 43 +-
drivers/net/ethernet/mellanox/mlx5/core/en_stats.h | 25 +
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 758 ++++++--
drivers/net/ethernet/mellanox/mlx5/core/en_tc.h | 46 +-
drivers/net/ethernet/mellanox/mlx5/core/en_tx.c | 37 +-
drivers/net/ethernet/mellanox/mlx5/core/en_txrx.c | 49 +-
drivers/net/ethernet/mellanox/mlx5/core/eq.c | 35 +-
.../mellanox/mlx5/core/esw/acl/ingress_ofld.c | 7 +-
.../net/ethernet/mellanox/mlx5/core/esw/acl/ofld.h | 4 +-
.../net/ethernet/mellanox/mlx5/core/esw/bridge.c | 10 +-
.../net/ethernet/mellanox/mlx5/core/esw/debugfs.c | 22 +-
.../ethernet/mellanox/mlx5/core/esw/indir_table.c | 6 +-
drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c | 6 +-
.../net/ethernet/mellanox/mlx5/core/esw/vporttbl.c | 12 +-
drivers/net/ethernet/mellanox/mlx5/core/eswitch.c | 51 +-
drivers/net/ethernet/mellanox/mlx5/core/eswitch.h | 36 +-
.../ethernet/mellanox/mlx5/core/eswitch_offloads.c | 1020 ++++++-----
drivers/net/ethernet/mellanox/mlx5/core/events.c | 5 +
drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c | 22 +-
drivers/net/ethernet/mellanox/mlx5/core/fs_core.c | 80 +-
.../net/ethernet/mellanox/mlx5/core/fs_counters.c | 10 +
drivers/net/ethernet/mellanox/mlx5/core/fw.c | 19 +
drivers/net/ethernet/mellanox/mlx5/core/fw_reset.c | 9 +-
drivers/net/ethernet/mellanox/mlx5/core/health.c | 64 +-
.../ethernet/mellanox/mlx5/core/ipoib/ethtool.c | 16 +-
.../net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c | 37 +-
.../ethernet/mellanox/mlx5/core/ipoib/ipoib_vlan.c | 7 +-
.../net/ethernet/mellanox/mlx5/core/lag/debugfs.c | 12 +-
drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c | 108 +-
drivers/net/ethernet/mellanox/mlx5/core/lag/lag.h | 7 +-
drivers/net/ethernet/mellanox/mlx5/core/lag/mp.c | 87 +-
.../net/ethernet/mellanox/mlx5/core/lag/mpesw.c | 212 ++-
.../net/ethernet/mellanox/mlx5/core/lag/mpesw.h | 31 +-
drivers/net/ethernet/mellanox/mlx5/core/lib/aso.c | 20 +-
drivers/net/ethernet/mellanox/mlx5/core/lib/aso.h | 9 +-
.../net/ethernet/mellanox/mlx5/core/lib/clock.c | 215 ++-
.../net/ethernet/mellanox/mlx5/core/lib/crypto.c | 755 +++++++-
.../net/ethernet/mellanox/mlx5/core/lib/crypto.h | 34 +
.../net/ethernet/mellanox/mlx5/core/lib/devcom.c | 70 +-
.../net/ethernet/mellanox/mlx5/core/lib/devcom.h | 1 +
.../ethernet/mellanox/mlx5/core/lib/fs_chains.c | 14 +-
.../net/ethernet/mellanox/mlx5/core/lib/geneve.c | 1 +
.../mellanox/mlx5/core/lib/ipsec_fs_roce.c | 371 ++++
.../mellanox/mlx5/core/lib/ipsec_fs_roce.h | 25 +
drivers/net/ethernet/mellanox/mlx5/core/lib/mlx5.h | 16 -
drivers/net/ethernet/mellanox/mlx5/core/main.c | 112 +-
.../net/ethernet/mellanox/mlx5/core/mlx5_core.h | 41 +-
drivers/net/ethernet/mellanox/mlx5/core/mr.c | 21 +
.../net/ethernet/mellanox/mlx5/core/pagealloc.c | 62 +-
drivers/net/ethernet/mellanox/mlx5/core/pci_irq.c | 7 +-
drivers/net/ethernet/mellanox/mlx5/core/port.c | 23 -
.../ethernet/mellanox/mlx5/core/sf/dev/driver.c | 3 +-
drivers/net/ethernet/mellanox/mlx5/core/sriov.c | 6 +-
.../mellanox/mlx5/core/steering/dr_action.c | 92 +-
.../ethernet/mellanox/mlx5/core/steering/dr_arg.c | 273 +++
.../mellanox/mlx5/core/steering/dr_buddy.c | 2 -
.../ethernet/mellanox/mlx5/core/steering/dr_cmd.c | 71 +-
.../ethernet/mellanox/mlx5/core/steering/dr_dbg.c | 32 +-
.../mellanox/mlx5/core/steering/dr_domain.c | 141 +-
.../mellanox/mlx5/core/steering/dr_icm_pool.c | 226 ++-
.../ethernet/mellanox/mlx5/core/steering/dr_ptrn.c | 241 +++
.../ethernet/mellanox/mlx5/core/steering/dr_rule.c | 100 +-
.../ethernet/mellanox/mlx5/core/steering/dr_send.c | 410 ++++-
.../ethernet/mellanox/mlx5/core/steering/dr_ste.c | 72 +-
.../ethernet/mellanox/mlx5/core/steering/dr_ste.h | 2 +
.../mellanox/mlx5/core/steering/dr_ste_v1.c | 113 +-
.../mellanox/mlx5/core/steering/dr_ste_v1.h | 2 +
.../mellanox/mlx5/core/steering/dr_ste_v2.c | 2 +
.../mellanox/mlx5/core/steering/dr_table.c | 2 +-
.../mellanox/mlx5/core/steering/dr_types.h | 103 +-
.../ethernet/mellanox/mlx5/core/steering/fs_dr.h | 4 -
.../mlx5/core/steering/mlx5_ifc_dr_ste_v1.h | 2 +-
.../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/vfio/pci/Kconfig | 3 +
drivers/vfio/pci/Makefile | 2 +
drivers/vfio/pci/mlx5/Kconfig | 10 +
drivers/vfio/pci/mlx5/Makefile | 4 +
drivers/vfio/pci/mlx5/cmd.c | 1670 ++++++++++++++++++
drivers/vfio/pci/mlx5/cmd.h | 225 +++
drivers/vfio/pci/mlx5/main.c | 1379 +++++++++++++++
include/linux/mlx5/device.h | 41 +-
include/linux/mlx5/driver.h | 48 +-
include/linux/mlx5/fs.h | 17 +-
include/linux/mlx5/fs_helpers.h | 48 -
include/linux/mlx5/mlx5_ifc.h | 701 +++++++-
include/linux/mlx5/mlx5_ifc_fpga.h | 24 -
include/linux/mlx5/qp.h | 21 +-
include/linux/mlx5/vport.h | 2 +
include/linux/netdevice.h | 2 +-
net/xfrm/xfrm_device.c | 3 +-
.../configs/common/generic/CONFIG_MLX5_EN_MACSEC | 1 +
redhat/configs/common/generic/CONFIG_MLX5_VFIO_PCI | 1 +
213 files changed, 19351 insertions(+), 4493 deletions(-)

Edited by Mohammad Kabat

Merge request reports