On 15/12/2025 13:57, David Marchand via dev wrote:
> If we can predict that the segmented traffic will have the same headers,
> it is possible to rely on HW segmentation.
>
> TCP over IPv4 geneve (with checksum on tunnel) on a mlx5 nic:
> Before: 7.80 Gbits/sec, 100% cpu (SW segmentation)
> After: 10.8 Gbits/sec, 27% cpu (HW segmentation)
>
> For this optimisation, no touching of original tso_segsz should be
> allowed, so revert the commit
> 844a7cfa6edd ("netdev-dpdk: Use guest TSO segmentation size hint.").
>
> Yet, there might still be some non optimal cases where the L4 payload
> size would not be a multiple of tso_segsz.
> For this condition, "partially" segment: split the "last" segment and keep
> n-1 segments data in the original packet which will be segmented by HW.
>
> Reported-at: https://issues.redhat.com/browse/FDP-1897
> Signed-off-by: David Marchand <[email protected]>
> ---
> Changes since v2:
> - added some description on dp_packet_gso_partial_nr_segs(),
> - added some documentation on coverage counters,
>
> ---
> Documentation/topics/userspace-tso.rst | 26 +++++++++
> lib/dp-packet-gso.c | 75 ++++++++++++++++++++++----
> lib/dp-packet-gso.h | 2 +
> lib/netdev-dpdk.c | 7 ---
> lib/netdev.c | 34 ++++++++----
> lib/packets.c | 34 ++++++++++++
> 6 files changed, 150 insertions(+), 28 deletions(-)
>
LGTM
Acked-by: Kevin Traynor <[email protected]>
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev