History log of /dpdk/drivers/common/mlx5/mlx5_devx_cmds.c (Results 1 – 25 of 98)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
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 ...


1234