ConnectX-4 and ConnectX-4 Lx NICs require all L2 headers of transmitted packets to be inlined. By default only first 18 bytes are inlined, which is insufficient if additional encapsulation is used, like Q-in-Q. Thus, default settings caused such traffic to be dropepd on Tx. Document a workaround to increase inlined data size in such cases.
Fixes: 505f1fe426d3 ("net/mlx5: add Tx devargs") Cc: sta...@dpdk.org Signed-off-by: Dmitry Kozlyuk <dkozl...@nvidia.com> Reviewed-by: Viacheslav Ovsiienko <viachesl...@nvidia.com> --- doc/guides/nics/mlx5.rst | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst index ebefbe607e..05a89d08f2 100644 --- a/doc/guides/nics/mlx5.rst +++ b/doc/guides/nics/mlx5.rst @@ -705,6 +705,13 @@ Driver options it is not recommended and may prevent NIC from sending packets over some configurations. + For ConnectX-4 and ConnectX-4 Lx NICs, automatically configured value + is insufficient for some traffic, because they require at least all L2 headers + to be inlined. For example, Q-in-Q adds 4 bytes to default 18 bytes + of Ethernet and VLAN, thus ``txq_inline_min`` must be set to 22. + MPLS would add 4 bytes per label. Final value must account for all possible + L2 encapsulation headers used in particular environment. + Please, note, this minimal data inlining disengages eMPW feature (Enhanced Multi-Packet Write), because last one does not support partial packet inlining. This is not very critical due to minimal data inlining is mostly required -- 2.25.1