Message ID | 20220113143229.3530296-1-akozyrev@nvidia.com (mailing list archive) |
---|---|
State | Accepted, archived |
Delegated to: | Raslan Darawsheh |
Headers | show |
Series | net/mlx5: fix maximum packet headers size for TSO | expand |
Context | Check | Description |
---|---|---|
ci/intel-Testing | success | Testing PASS |
ci/Intel-compilation | success | Compilation OK |
ci/iol-abi-testing | success | Testing PASS |
ci/iol-x86_64-unit-testing | success | Testing PASS |
ci/iol-aarch64-compile-testing | success | Testing PASS |
ci/iol-x86_64-compile-testing | success | Testing PASS |
ci/iol-aarch64-unit-testing | success | Testing PASS |
ci/github-robot: build | success | github build: passed |
ci/iol-intel-Functional | success | Functional Testing PASS |
ci/iol-intel-Performance | success | Performance Testing PASS |
ci/iol-broadcom-Performance | success | Performance Testing PASS |
ci/iol-mellanox-Performance | success | Performance Testing PASS |
ci/iol-broadcom-Functional | success | Functional Testing PASS |
ci/checkpatch | success | coding style OK |
Hi, > -----Original Message----- > From: Alexander Kozyrev <akozyrev@nvidia.com> > Sent: Thursday, January 13, 2022 4:32 PM > To: dev@dpdk.org > Cc: stable@dpdk.org; Raslan Darawsheh <rasland@nvidia.com>; Slava > Ovsiienko <viacheslavo@nvidia.com>; Matan Azrad <matan@nvidia.com> > Subject: [PATCH] net/mlx5: fix maximum packet headers size for TSO > > The maximum packet headers size for TSO is calculated as a sum of > Ethernet, VLAN, IPv6 and TCP headers (plus inner headers). > The rationale behind choosing IPv6 and TCP is their headers > are bigger than IPv4 and UDP respectively, giving us the maximum > possible headers size. But it is not true for L3 headers. > IPv4 header size (20 bytes) is smaller than IPv6 header size > (40 bytes) only in the default case. There are up to 10 > optional header fields called Options in case IHL > 5. > This means that the maximum size of the IPv4 header is 60 bytes. > > Choosing the wrong maximum packets headers size causes inability > to transmit multi-segment TSO packets with IPv4 Options present. > PMD check that it is possible to inline all the packet headers > and the packet headers size exceeds the expected maximum size. > The maximum packet headers size was set to 192 bytes before, > but its value has been reduced during Tx path refactor activity. > Restore the proper maximum packet headers size for TSO. > > Fixes: 50724e1 ("net/mlx5: update Tx definitions") > Cc: stable@dpdk.org > > Signed-off-by: Alexander Kozyrev <akozyrev@nvidia.com> > Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com> Patch applied to next-net-mlx, Kindest regards, Raslan Darawsheh
diff --git a/drivers/net/mlx5/mlx5_defs.h b/drivers/net/mlx5/mlx5_defs.h index 36b384fa08..2d48fde010 100644 --- a/drivers/net/mlx5/mlx5_defs.h +++ b/drivers/net/mlx5/mlx5_defs.h @@ -50,7 +50,7 @@ #define MLX5_MAX_XSTATS 32 /* Maximum Packet headers size (L2+L3+L4) for TSO. */ -#define MLX5_MAX_TSO_HEADER (128u + 34u) +#define MLX5_MAX_TSO_HEADER 192U /* Inline data size required by NICs. */ #define MLX5_INLINE_HSIZE_NONE 0