DPDK patches and discussions
 help / color / mirror / Atom feed
* Question on TX offload
@ 2024-12-03  7:41 Jie Hai
  0 siblings, 0 replies; only message in thread
From: Jie Hai @ 2024-12-03  7:41 UTC (permalink / raw)
  To: ivan.boule, dev, Huisong Li, Dengdui Huang, fengchengwen,
	Ferruh Yigit, Thomas Monjalon, hujiayu.hu, Konstantin Ananyev,
	Aman Singh

Hi, all maintainers and developers,

Since the hns3 NIC support TSO for UDP (not UDP Fragmentation)
and for ipv6 headers with extension header,
When I test it with testpmd, it cannot be performed.
The TCP segmentation flag is set only for the packets whose next header 
of L3 is TCP.

I checked some information on the TSO and have doubts about current 
support for both cases.

The commit
7238e63bce52 ("ethdev: add support for device offload capabilities")
introduces TX offload including DEV_TX_OFFLOAD_UDP_TSO and 
DEV_TX_OFFLOAD_TCP_TSO. The former evolves into UDP fragmentation
and the latter TCP segmentation.
	[1].RTE_ETH_TX_OFFLOAD_UDP_TSO -- RTE_MBUF_F_TX_UDP_SEG
		UDP Fragmentation Offload
	[2].RTE_ETH_TX_OFFLOAD_TCP_TSO -- RTE_MBUF_F_TX_TCP_SEG
		TCP segmentation offload, related to TCP packets.

While the commit message see the TCP segmentation offload as
Transmited segmentation offload.[1]Does the TCP segmentation
offload contains UDP packets?

There are many drivers support UDP segmatention offload similar to
TCP segmatention offload, for example, 
atlantic、bnxt、cxgb4、hns3、i40e、iavf、ice、idpf、igb、ixgbe、mlx5, etc.
Please refer to Linux kernel include/linux/netdev_features.h
	NETIF_F_GSO_UDP_L4_BIT,         /* ... UDP payload GSO (not UFO) */


My questions are:

[1]. Does the TCP segmentation offload(RTE_ETH_TX_OFFLOAD_TCP_TSO ) 
contains UDP packets?
If yes, then the testpmd app should add flag for UDP packets.
If no, a new offload should be added.
Considering that maybe not all drivers support both of TCP and UDP 
Segmentation, How about distinguish the three capabilities and flags?
	[1].RTE_ETH_TX_OFFLOAD_TCP_TSO -- RTE_MBUF_F_TX_TCP_SEG
		TCP segmentation offload, related to TCP as L4.
	[2].RTE_ETH_TX_OFFLOAD_UDP_TSO -- RTE_MBUF_F_TX_UDP_SEG
		UDP segmentation offload, related to UDP as L4.
	[3].RTE_ETH_TX_OFFLOAD_UFO -- RTE_MBUF_F_TX_UFO_SEG
		UDP Fragmentation Offload

[2]. TSO can be performed on packets with Ipv6 headers with extenstion?
If yes, documention and testpmd app should be updated.
If no, maybe documention should be updated more detailed.

Thanks,
Jie Hai

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2024-12-03  7:41 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-12-03  7:41 Question on TX offload Jie Hai

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).