[dpdk-users] MLX5: Using packet send scheduling / packet pacing
Carsten Andrich
carsten.andrich at tu-ilmenau.de
Fri Jan 29 17:30:04 CET 2021
Hello everyone,
I'm trying to use packet send scheduling [1] with DPDK 20.11 and the
MLX5 PMD (NIC: ConnectX-5 MCX516A-CDAT). This patch contains some
additional information on this feature also know as packet pacing [2].
According to MLX5's docs, packet pacing requires the "tx_pp" parameter
[3, CTRL+F: "tx_pp"]. However, when firing up testpmd with that
parameter, it fails as follows:
> # dpdk-testpmd -a 81:00.0,tx_pp=500 -- -i
> ...
> EAL: Probe PCI driver: mlx5_pci (15b3:1019) device: 0000:81:00.0 (socket 0)
> mlx5_pci: WQE rate mode is required for packet pacing
> mlx5_pci: probe of PCI device 0000:81:00.0 aborted after encountering an error: No such device
> common_mlx5: Failed to load driver = mlx5_pci.
>
> EAL: Requested device 0000:81:00.0 cannot be used
The error message originates here [4] and is caused by what to me
appears to be a value read from the NIC [5]. Unfortunately, that leaves
me clueless on how to activate the required "WQE rate mode". According
to the output of ibv_devinfo, my NIC does support packet pacing:
> # ibv_devinfo -v 81:00.0
> ...
> packet_pacing_caps:
> qp_rate_limit_min: 1kbps
> qp_rate_limit_max: 100000000kbps
> supported_qp:
> SUPPORT_RAW_PACKET
I'd be grateful for any information on how to get packet pacing up and
running. Am I just missing another required option (which is not given
in the docs) or does my NIC lack packet pacing support?
Thank you very much in advance.
Best regards,
Carsten
[1]
https://doc.dpdk.org/api/rte__ethdev_8h.html#a990d8351447a710628cbb24a28d3252d
[2] https://patches.dpdk.org/patch/73742/
[3] https://doc.dpdk.org/guides/nics/mlx5.html#run-time-configuration
[4]
http://code.dpdk.org/dpdk/v20.11/source/drivers/net/mlx5/linux/mlx5_os.c#L1278
[5]
http://code.dpdk.org/dpdk/v20.11/source/drivers/common/mlx5/mlx5_devx_cmds.c#L748
More information about the users
mailing list