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
F102119421: D32195.diff
Thu, Nov 7, 8:49 PM
Unknown Object (File)
Mon, Nov 4, 1:29 PM
Unknown Object (File)
Sat, Oct 12, 7:05 PM
Unknown Object (File)
Oct 8 2024, 1:15 PM
Unknown Object (File)
Oct 6 2024, 5:42 AM
Unknown Object (File)
Oct 6 2024, 12:28 AM
Unknown Object (File)
Oct 5 2024, 3:33 PM
Unknown Object (File)
Oct 5 2024, 12:03 PM

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