|
Revision tags: v22.03, v22.03-rc4, v22.03-rc3, v22.03-rc2 |
|
| #
5c4d4917 |
| 25-Feb-2022 |
Sean Zhang <[email protected]> |
net/mlx5: support matching GRE optional fields
This patch adds matching on the optional fields (checksum/key/sequence) of GRE header. The matching on checksum and sequence fields requests support fr
net/mlx5: support matching GRE optional fields
This patch adds matching on the optional fields (checksum/key/sequence) of GRE header. The matching on checksum and sequence fields requests support from rdma-core with the capability of misc5 and tunnel_header 0-3.
For patterns without checksum and sequence specified, keep using misc for matching as before, but for patterns with checksum or sequence, validate capability first and then use misc5 for the matching.
Signed-off-by: Sean Zhang <[email protected]> Acked-by: Viacheslav Ovsiienko <[email protected]>
show more ...
|
| #
7dac7abe |
| 24-Feb-2022 |
Viacheslav Ovsiienko <[email protected]> |
common/mlx5: check send on time capability
The patch provides check for send scheduling on time hardware capability. With this capability enabled hardware is able to handle Wait WQEs with directly s
common/mlx5: check send on time capability
The patch provides check for send scheduling on time hardware capability. With this capability enabled hardware is able to handle Wait WQEs with directly specified timestamp values. No Clock Queue is needed anymore to handle send scheduling.
Signed-off-by: Viacheslav Ovsiienko <[email protected]>
show more ...
|
| #
38eb5c9f |
| 22-Feb-2022 |
Shun Hao <[email protected]> |
net/mlx5: fix E-Switch manager vport ID
One of the E-Switch vports plays the special role - it is assigned as "E-Switch manager" and has some special exclusive rights and duties - it maintains all t
net/mlx5: fix E-Switch manager vport ID
One of the E-Switch vports plays the special role - it is assigned as "E-Switch manager" and has some special exclusive rights and duties - it maintains all the representors, manages FDB domain flows, etc. By default, the E-Switch vport index was supposed to be zero on standalone NICs (regular ConnectX) and 0xFFFE SmartNIC (BlueField), but that was not always correct - this index can be assigned with any value by kernel/hypervisor.
Currently the E-Switch manager vport id is supposed to be default - 0 for standalone NICs, and 0xFFFE for the SmartNICs, and is deduced from the device PCI id.
To handle this and do not suggest any default values, can use DevX API to query E-Switch manager vport ID directly from the firmware during initialization, and use that value by default. If the new method is not provided (legacy firmware), fallback to use the PCI id approach.
Fixes: a564038699f9 ("net/mlx5: support E-Switch manager egress traffic match") Cc: [email protected]
Signed-off-by: Shun Hao <[email protected]> Acked-by: Viacheslav Ovsiienko <[email protected]>
show more ...
|
| #
05b54bf0 |
| 14-Feb-2022 |
Yajun Wu <[email protected]> |
common/mlx5: fix queue pair ack timeout configuration
VDPA driver creates two QPs(1 queue pair include 1 send queue and 1 receive queue) per virtio queue to get traffic events from NIC to SW. Two QP
common/mlx5: fix queue pair ack timeout configuration
VDPA driver creates two QPs(1 queue pair include 1 send queue and 1 receive queue) per virtio queue to get traffic events from NIC to SW. Two QPs(called FW QP and SW QP) are created as loopback QP and FW QP'SQ is connected to SW QP'RQ internally.
When packet receive or send out, HW will send WQE by FW QP'SQ, then SW will get CQE from the CQ of SW QP.
With large scale and heavy traffic, the SQ's request may fail to get ACK from RQ HW, because HW is busy. SQ will retry the request with qpc.retry_count times and each time wait for 4.096 uS *2^(ack_timeout) for the response. If still can’t get RQ’s HW response, SQ will go to an error state.
16 is experienced value. It should not be too high or too low. Too high will make QP waits too long in case it’s packet drop. Too low will cause QP to go to an error state(retry-exceeded) easily.
Fixes: 15c3807e86ab ("common/mlx5: support DevX QP operations") Cc: [email protected]
Signed-off-by: Yajun Wu <[email protected]> Acked-by: Matan Azrad <[email protected]>
show more ...
|
|
Revision tags: v22.03-rc1, v21.11, v21.11-rc4 |
|
| #
10599cf8 |
| 23-Nov-2021 |
Michael Baum <[email protected]> |
common/mlx5: add minimum WQE size for striding RQ
Some devices have a WQE size limit for striding RQ. On some newer devices, this limitation is smaller and information on its size is provided by the
common/mlx5: add minimum WQE size for striding RQ
Some devices have a WQE size limit for striding RQ. On some newer devices, this limitation is smaller and information on its size is provided by the firmware.
This patch adds the attribute query from firmware: the minimum required size of WQE buffer for striding RQ in granularity of Bytes.
Cc: [email protected]
Signed-off-by: Michael Baum <[email protected]> Acked-by: Matan Azrad <[email protected]>
show more ...
|
| #
7be78d02 |
| 29-Nov-2021 |
Josh Soref <[email protected]> |
fix spelling in comments and strings
The tool comes from https://github.com/jsoref
Signed-off-by: Josh Soref <[email protected]> Signed-off-by: Thomas Monjalon <[email protected]>
|
|
Revision tags: v21.11-rc3, v21.11-rc2 |
|
| #
ba707cdb |
| 08-Nov-2021 |
Raja Zidane <[email protected]> |
crypto/mlx5: fix queue size configuration
The DevX interface for QP creation expects the number of WQEBBs. Wrongly, the number of descriptors was provided to the QP creation. In addition, the QP siz
crypto/mlx5: fix queue size configuration
The DevX interface for QP creation expects the number of WQEBBs. Wrongly, the number of descriptors was provided to the QP creation. In addition, the QP size must be a power of 2 what was not guaranteed. Provide the number of WQEBBs to the QP creation API. Round up the SQ size to a power of 2. Rename (sq/rq)_size to num_of_(send/receive)_wqes.
Fixes: 6152534e211e ("crypto/mlx5: support queue pairs operations") Cc: [email protected]
Signed-off-by: Raja Zidane <[email protected]> Acked-by: Matan Azrad <[email protected]> Acked-by: Tal Shnaiderman <[email protected]>
show more ...
|
| #
f66898eb |
| 28-Oct-2021 |
Raja Zidane <[email protected]> |
common/mlx5: fix MMO configuration in DevX queue pair
The QP extension valid bit was not set in the QP creation for MMO configuration. That caused the QP not to be connected to the GGA MMO engines,
common/mlx5: fix MMO configuration in DevX queue pair
The QP extension valid bit was not set in the QP creation for MMO configuration. That caused the QP not to be connected to the GGA MMO engines, and any MMO WQE job got CQE with an error. Set the QP ext bit when MMO is configured.
Fixes: ddda0006188a ("common/mlx5: add MMO configuration for DevX queue pair")
Signed-off-by: Raja Zidane <[email protected]> Acked-by: Matan Azrad <[email protected]>
show more ...
|
| #
febcac7b |
| 05-Nov-2021 |
Bing Zhao <[email protected]> |
net/mlx5: support Rx queue delay drop
For the Ethernet RQs, if there all receiving descriptors are exhausted, the packets being received will be dropped. This behavior prevents slow or malicious sof
net/mlx5: support Rx queue delay drop
For the Ethernet RQs, if there all receiving descriptors are exhausted, the packets being received will be dropped. This behavior prevents slow or malicious software entities at the host from affecting the network. While for hairpin cases, even if there is no software involved during the packet forwarding from Rx to Tx side, some hiccup in the hardware or back pressure from Tx side may still cause the descriptors to be exhausted. In certain scenarios it may be preferred to configure the device to avoid such packet drops, assuming the posting of descriptors will resume shortly.
To support this, a new devarg "delay_drop" is introduced. By default, the delay drop is enabled for hairpin Rx queues and disabled for standard Rx queues. This value is used as a bit mask: - bit 0: enablement of standard Rx queue - bit 1: enablement of hairpin Rx queue And this attribute will be applied to all Rx queues of a device.
The "rq_delay_drop" capability in the HCA_CAP is checked before creating any queue. If the hardware capabilities do not support this delay drop, all the Rx queues will still be created without this attribute, and the devarg setting will be ignored even if it is specified explicitly. A warning log is used to notify the application when this occurs.
Signed-off-by: Bing Zhao <[email protected]> Acked-by: Viacheslav Ovsiienko <[email protected]>
show more ...
|
| #
ee160711 |
| 04-Nov-2021 |
Xueming Li <[email protected]> |
common/mlx5: support basic receive memory pool
The hardware Receive Memory Pool (RMP) object holds the destination for incoming packets/messages that are routed to the RMP through RQs. RMP enables s
common/mlx5: support basic receive memory pool
The hardware Receive Memory Pool (RMP) object holds the destination for incoming packets/messages that are routed to the RMP through RQs. RMP enables sharing of memory across multiple Receive Queues. Multiple Receive Queues can be attached to the same RMP and consume memory from that shared poll. When using RMPs, completions are reported to the CQ pointed to by the RQ, and this Completion Queue can be shared as well.
This patch adds DevX supports of PRM RMP object.
Signed-off-by: Xueming Li <[email protected]> Acked-by: Viacheslav Ovsiienko <[email protected]>
show more ...
|
| #
b28025ba |
| 02-Nov-2021 |
Gregory Etelson <[email protected]> |
common/mlx5: fix flex parser DevX creation routine
Add missing modify_field_select, next_header_field_size field values setting.
Fixes: 38119ebe01d6 ("common/mlx5: add DevX command for flex parsers
common/mlx5: fix flex parser DevX creation routine
Add missing modify_field_select, next_header_field_size field values setting.
Fixes: 38119ebe01d6 ("common/mlx5: add DevX command for flex parsers") Cc: [email protected]
Signed-off-by: Gregory Etelson <[email protected]> Reviewed-by: Viacheslav Ovsiienko <[email protected]>
show more ...
|
| #
65be2ca6 |
| 02-Nov-2021 |
Gregory Etelson <[email protected]> |
common/mlx5: extend flex parser capabilities
MLX5 PARSE_GRAPH_NODE is the main data structure used by the Flex Parser when a new parsing protocol is defined. While software creates PARSE_GRAPH_NODE
common/mlx5: extend flex parser capabilities
MLX5 PARSE_GRAPH_NODE is the main data structure used by the Flex Parser when a new parsing protocol is defined. While software creates PARSE_GRAPH_NODE object for a new protocol, it must verify that configuration parameters it uses comply with hardware limits.
The patch queries hardware PARSE_GRAPH_NODE capabilities and stores ones in PMD internal configuration structure:
- query capabilities from parse_graph_node attribute page - query max_num_prog_sample_field capability from HCA page 2
Signed-off-by: Gregory Etelson <[email protected]> Reviewed-by: Viacheslav Ovsiienko <[email protected]>
show more ...
|
| #
9c410b28 |
| 02-Nov-2021 |
Viacheslav Ovsiienko <[email protected]> |
common/mlx5: refactor HCA attributes query
There is the common part of code querying the HCA attributes from the device, and this part can be commoditized as dedicated routine.
Signed-off-by: Grego
common/mlx5: refactor HCA attributes query
There is the common part of code querying the HCA attributes from the device, and this part can be commoditized as dedicated routine.
Signed-off-by: Gregory Etelson <[email protected]> Signed-off-by: Viacheslav Ovsiienko <[email protected]>
show more ...
|
|
Revision tags: v21.11-rc1 |
|
| #
2044860e |
| 22-Oct-2021 |
Ady Agbarih <[email protected]> |
common/mlx5: update PRM definitions for regex
Update PRM hca capabilities definitions as follows: regexp_version field added - specifies whether BF2 or BF3 regexp field removed regexp_params field m
common/mlx5: update PRM definitions for regex
Update PRM hca capabilities definitions as follows: regexp_version field added - specifies whether BF2 or BF3 regexp field removed regexp_params field moved regexp_log_crspace_size field removed regexp_mmo added - specifies if using regex mmo wqe is supported
Allow regex only if both regexp_params and regexp_mmo are set, instead of checking regexp_mmo only.
Check version through the new capability field regexp_version instead of reading crspace register.
Signed-off-by: Ady Agbarih <[email protected]> Acked-by: Ori Kam <[email protected]>
show more ...
|
| #
cf5ac38d |
| 21-Oct-2021 |
Rongwei Liu <[email protected]> |
common/mlx5: add LAG context query
Added a new function mlx5_devx_cmd_query_lag() to query LAG property from firmware including state/affinity/mode etc.
Signed-off-by: Jiawei Wang <[email protected]
common/mlx5: add LAG context query
Added a new function mlx5_devx_cmd_query_lag() to query LAG property from firmware including state/affinity/mode etc.
Signed-off-by: Jiawei Wang <[email protected]> Signed-off-by: Rongwei Liu <[email protected]> Acked-by: Matan Azrad <[email protected]>
show more ...
|
| #
58a95bad |
| 12-Oct-2021 |
Tal Shnaiderman <[email protected]> |
common/mlx5: read FCS scattering capability from DevX
mlx5 in Windows needs the hca capability scatter_fcs to query the NIC support for the CRC keeping offload.
Added the capability as part of the
common/mlx5: read FCS scattering capability from DevX
mlx5 in Windows needs the hca capability scatter_fcs to query the NIC support for the CRC keeping offload.
Added the capability as part of the capabilities queried by the PMD using DevX.
Signed-off-by: Tal Shnaiderman <[email protected]> Acked-by: Matan Azrad <[email protected]> Tested-by: Idan Hackmon <[email protected]>
show more ...
|
| #
3440836d |
| 12-Oct-2021 |
Tal Shnaiderman <[email protected]> |
common/mlx5: read VLAN capability from DevX
mlx5 in Windows needs the hca capability vlan_cap to query the NIC for VLAN stripping support
Added the capability as part of the capabilities queried by
common/mlx5: read VLAN capability from DevX
mlx5 in Windows needs the hca capability vlan_cap to query the NIC for VLAN stripping support
Added the capability as part of the capabilities queried by the PMD using DevX.
Signed-off-by: Tal Shnaiderman <[email protected]> Acked-by: Matan Azrad <[email protected]> Tested-by: Idan Hackmon <[email protected]>
show more ...
|
| #
d338df99 |
| 12-Oct-2021 |
Tal Shnaiderman <[email protected]> |
common/mlx5: read TSO capability from DevX
mlx5 in Windows needs the hca capability max_lso_cap to query the NIC for TSO offloading support.
Added the capability as part of the capabilities queried
common/mlx5: read TSO capability from DevX
mlx5 in Windows needs the hca capability max_lso_cap to query the NIC for TSO offloading support.
Added the capability as part of the capabilities queried by the PMD using DevX.
Signed-off-by: Tal Shnaiderman <[email protected]> Acked-by: Matan Azrad <[email protected]> Tested-by: Idan Hackmon <[email protected]>
show more ...
|
| #
cf9b3c1b |
| 12-Oct-2021 |
Tal Shnaiderman <[email protected]> |
common/mlx5: read tunneling capabilities from DevX
mlx5 in Windows needs the tunneling hca capabilities to query the NIC for Inner TSO offloading support.
Added the capability as part of the capabi
common/mlx5: read tunneling capabilities from DevX
mlx5 in Windows needs the tunneling hca capabilities to query the NIC for Inner TSO offloading support.
Added the capability as part of the capabilities queried by the PMD using DevX.
Signed-off-by: Tal Shnaiderman <[email protected]> Acked-by: Matan Azrad <[email protected]> Tested-by: Idan Hackmon <[email protected]>
show more ...
|
| #
643e4db0 |
| 12-Oct-2021 |
Tal Shnaiderman <[email protected]> |
common/mlx5: read software parsing capabilities from DevX
mlx5 in Windows needs the software parsing hca capabilities to query the NIC for TSO and Checksum offloading support.
Added the capability
common/mlx5: read software parsing capabilities from DevX
mlx5 in Windows needs the software parsing hca capabilities to query the NIC for TSO and Checksum offloading support.
Added the capability as part of the capabilities queried by the PMD using DevX.
Signed-off-by: Tal Shnaiderman <[email protected]> Acked-by: Matan Azrad <[email protected]> Tested-by: Idan Hackmon <[email protected]>
show more ...
|
| #
ddda0006 |
| 05-Oct-2021 |
Raja Zidane <[email protected]> |
common/mlx5: add MMO configuration for DevX queue pair
A new configuration MMO was added to QP Context. If set, MMO WQEs are supported on this QP. For DMA MMO, supported only when dma_mmo_qp==1. For
common/mlx5: add MMO configuration for DevX queue pair
A new configuration MMO was added to QP Context. If set, MMO WQEs are supported on this QP. For DMA MMO, supported only when dma_mmo_qp==1. For REGEXP MMO, supported only when regexp_mmo_qp==1. For COMPRESS MMO, supported only when compress_mmo_qp==1. For DECOMPRESS MMO, supported only when decompress_mmo_qp==1. Add support to DevX interface to set MMO bit.
Signed-off-by: Raja Zidane <[email protected]> Acked-by: Matan Azrad <[email protected]>
show more ...
|
| #
cbc4c13a |
| 05-Oct-2021 |
Raja Zidane <[email protected]> |
common/mlx5: update MMO HCA capabilities
New MMO HCA capabilities were added and others were renamed. Align hca capabilities with new prm. Add support in DevX interface for changes in HCA capabiliti
common/mlx5: update MMO HCA capabilities
New MMO HCA capabilities were added and others were renamed. Align hca capabilities with new prm. Add support in DevX interface for changes in HCA capabilities.
Signed-off-by: Raja Zidane <[email protected]> Acked-by: Matan Azrad <[email protected]>
show more ...
|
| #
f9213ab1 |
| 05-Oct-2021 |
Raja Zidane <[email protected]> |
common/mlx5: share DevX queue pair operations
Currently drivers using QP (vDPA, crypto and compress, regex soon) manage their memory, creation, modification and destruction of the QP, in almost iden
common/mlx5: share DevX queue pair operations
Currently drivers using QP (vDPA, crypto and compress, regex soon) manage their memory, creation, modification and destruction of the QP, in almost identical code. Move QP memory management, creation and destruction to common. Add common function to change QP state to RTS. Add user_index attribute to QP creation. It's for better code maintenance and reuse.
Signed-off-by: Raja Zidane <[email protected]> Acked-by: Matan Azrad <[email protected]>
show more ...
|
|
Revision tags: v21.08, v21.08-rc4, v21.08-rc3, v21.08-rc2 |
|
| #
96f85ec4 |
| 22-Jul-2021 |
Dong Zhou <[email protected]> |
net/mlx5: check VLAN push/pop support
For ConnectX-6 in FDB domain, pop and push VLAN on both ingress and egress directions are supported.
For ConnectX-6 in NIC domain, and ConnectX-5 in both FWD a
net/mlx5: check VLAN push/pop support
For ConnectX-6 in FDB domain, pop and push VLAN on both ingress and egress directions are supported.
For ConnectX-6 in NIC domain, and ConnectX-5 in both FWD and NIC domain, pop VLAN is only supported on ingress direction, push VLAN is only supported on egress direction.
Signed-off-by: Dong Zhou <[email protected]> Acked-by: Matan Azrad <[email protected]>
show more ...
|
|
Revision tags: v21.08-rc1 |
|
| #
c410e1d5 |
| 05-Jul-2021 |
Gregory Etelson <[email protected]> |
net/mlx5: support flow matchng on IPv4 IHL
Query MLX5 port hardware if it is capable to offload IPv4 IHL field.
Provide flow rules capability to match on IPv4 IHL field. Minimal HCA firmware versio
net/mlx5: support flow matchng on IPv4 IHL
Query MLX5 port hardware if it is capable to offload IPv4 IHL field.
Provide flow rules capability to match on IPv4 IHL field. Minimal HCA firmware version required to offload IPv4 IHL is xx_30_2000.
Signed-off-by: Gregory Etelson <[email protected]> Acked-by: Viacheslav Ovsiienko <[email protected]>
show more ...
|