Page MenuHomeFreeBSD

IB/mlx5: Expose multi-packet RQ capabilities
Needs ReviewPublic

Authored by vag.singh_oneconvergence.com on Sep 28 2021, 2:01 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Nov 26, 5:57 PM
Unknown Object (File)
Fri, Nov 21, 8:18 PM
Unknown Object (File)
Nov 19 2025, 3:46 PM
Unknown Object (File)
Oct 28 2025, 6:14 PM
Unknown Object (File)
Oct 28 2025, 1:44 PM
Unknown Object (File)
Oct 27 2025, 1:15 AM
Unknown Object (File)
Oct 27 2025, 12:24 AM
Unknown Object (File)
Oct 26 2025, 2:05 AM

Details

Reviewers
kib
hselasky
Summary

[PATCH 21/31] FreeBSD OFED support for DPDK MLX5 PMD

a) This patch reports the device's striding RQ capabilities to
the user-space:

  • min/max_single_stride_log_num_of_bytes: Log of min/max number of bytes in a single stride.
  • min/max_single_wqe_log_num_of_strides: Log of min/max number of strides in a single WQE.
  • supported_qpts: A bit mask to know which QP types support multi- packet RQ, for now only Raw Packet QPs.

b) Allow creation of a multi-packet receive queue.
In order to create a multi-packet RQ, the following fields in
the mlx5_ib_rwq should be set:

  • log_num_strides: Log of number of strides per WQE
  • single_stride_log_num_of_bytes: Log of a single stride size
  • two_byte_shift_en: When enabled, hardware pads 2 bytes of zeros before writing the message to memory (e.g. for the IP alignment).
Test Plan

Tested on KVM, ESXi, and HyperV/Azure Hypervisors with FreeBSD 14.0-CURRENT and FreeBSD12.1-STABLE.

iperf
DPDK MLX5 PMD/testpmd

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped