public inbox for dev@dpdk.org
 help / color / mirror / Atom feed
* [PATCH] examples/ip_reassembly: remove conflicting Tx offload
@ 2025-09-19  7:12 Zhichao Zeng
  2025-09-19  7:13 ` Konstantin Ananyev
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Zhichao Zeng @ 2025-09-19  7:12 UTC (permalink / raw)
  To: dev; +Cc: stable, Zhichao Zeng, Konstantin Ananyev, Ferruh Yigit,
	Shahaf Shuler

IP packet reassembly requires the MULTI_SEGS offload to be enabled in order
to handle fragmented packets across multiple memory segments. However, the
MBUF_FAST_FREE offload conflicts with MULTI_SEGS and cannot be enabled
simultaneously.

Remove the MBUF_FAST_FREE offload to avoid conflicts with MULTI_SEGS.

Fixes: 9df56e69ee3f ("examples/ip_reassembly: convert to new ethdev offloads API")
Cc: stable@dpdk.org

Signed-off-by: Zhichao Zeng <zhichaox.zeng@intel.com>
---
 examples/ip_reassembly/main.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/examples/ip_reassembly/main.c b/examples/ip_reassembly/main.c
index 17ae76d4ba..294fd38889 100644
--- a/examples/ip_reassembly/main.c
+++ b/examples/ip_reassembly/main.c
@@ -1093,9 +1093,6 @@ main(int argc, char **argv)
 		n_tx_queue = nb_lcores;
 		if (n_tx_queue > MAX_TX_QUEUE_PER_PORT)
 			n_tx_queue = MAX_TX_QUEUE_PER_PORT;
-		if (dev_info.tx_offload_capa & RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE)
-			local_port_conf.txmode.offloads |=
-				RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE;
 
 		local_port_conf.rx_adv_conf.rss_conf.rss_hf &=
 			dev_info.flow_type_rss_offloads;
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* RE: [PATCH] examples/ip_reassembly: remove conflicting Tx offload
  2025-09-19  7:12 [PATCH] examples/ip_reassembly: remove conflicting Tx offload Zhichao Zeng
@ 2025-09-19  7:13 ` Konstantin Ananyev
  2025-09-28  9:04 ` Xu, HailinX
  2026-01-14  6:27 ` Stephen Hemminger
  2 siblings, 0 replies; 5+ messages in thread
From: Konstantin Ananyev @ 2025-09-19  7:13 UTC (permalink / raw)
  To: Zhichao Zeng, dev@dpdk.org; +Cc: stable@dpdk.org, Ferruh Yigit, Shahaf Shuler



> 
> IP packet reassembly requires the MULTI_SEGS offload to be enabled in order
> to handle fragmented packets across multiple memory segments. However, the
> MBUF_FAST_FREE offload conflicts with MULTI_SEGS and cannot be enabled
> simultaneously.
> 
> Remove the MBUF_FAST_FREE offload to avoid conflicts with MULTI_SEGS.
> 
> Fixes: 9df56e69ee3f ("examples/ip_reassembly: convert to new ethdev offloads
> API")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Zhichao Zeng <zhichaox.zeng@intel.com>
> ---
>  examples/ip_reassembly/main.c | 3 ---
>  1 file changed, 3 deletions(-)
> 
> diff --git a/examples/ip_reassembly/main.c b/examples/ip_reassembly/main.c
> index 17ae76d4ba..294fd38889 100644
> --- a/examples/ip_reassembly/main.c
> +++ b/examples/ip_reassembly/main.c
> @@ -1093,9 +1093,6 @@ main(int argc, char **argv)
>  		n_tx_queue = nb_lcores;
>  		if (n_tx_queue > MAX_TX_QUEUE_PER_PORT)
>  			n_tx_queue = MAX_TX_QUEUE_PER_PORT;
> -		if (dev_info.tx_offload_capa &
> RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE)
> -			local_port_conf.txmode.offloads |=
> -				RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE;
> 
>  		local_port_conf.rx_adv_conf.rss_conf.rss_hf &=
>  			dev_info.flow_type_rss_offloads;
> --

Acked-by: Konstantin Ananyev <konstantin.ananyev@huawei.com>

> 2.34.1
> 


^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: [PATCH] examples/ip_reassembly: remove conflicting Tx offload
  2025-09-19  7:12 [PATCH] examples/ip_reassembly: remove conflicting Tx offload Zhichao Zeng
  2025-09-19  7:13 ` Konstantin Ananyev
@ 2025-09-28  9:04 ` Xu, HailinX
  2026-01-14  6:27 ` Stephen Hemminger
  2 siblings, 0 replies; 5+ messages in thread
From: Xu, HailinX @ 2025-09-28  9:04 UTC (permalink / raw)
  To: Zeng, ZhichaoX, dev@dpdk.org
  Cc: stable@dpdk.org, Zeng, ZhichaoX, Konstantin Ananyev, Ferruh Yigit,
	Shahaf Shuler


> -----Original Message-----
> From: Zhichao Zeng <zhichaox.zeng@intel.com>
> Sent: Friday, September 19, 2025 3:12 PM
> To: dev@dpdk.org
> Cc: stable@dpdk.org; Zeng, ZhichaoX <zhichaox.zeng@intel.com>; Konstantin
> Ananyev <konstantin.ananyev@huawei.com>; Ferruh Yigit
> <ferruh.yigit@amd.com>; Shahaf Shuler <shahafs@nvidia.com>
> Subject: [PATCH] examples/ip_reassembly: remove conflicting Tx offload
> 
> IP packet reassembly requires the MULTI_SEGS offload to be enabled in order
> to handle fragmented packets across multiple memory segments. However,
> the MBUF_FAST_FREE offload conflicts with MULTI_SEGS and cannot be
> enabled simultaneously.
> 
> Remove the MBUF_FAST_FREE offload to avoid conflicts with MULTI_SEGS.
> 
> Fixes: 9df56e69ee3f ("examples/ip_reassembly: convert to new ethdev
> offloads API")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Zhichao Zeng <zhichaox.zeng@intel.com>
> ---
Tested-by: Xu, HailinX <hailinx.xu@intel.com>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] examples/ip_reassembly: remove conflicting Tx offload
  2025-09-19  7:12 [PATCH] examples/ip_reassembly: remove conflicting Tx offload Zhichao Zeng
  2025-09-19  7:13 ` Konstantin Ananyev
  2025-09-28  9:04 ` Xu, HailinX
@ 2026-01-14  6:27 ` Stephen Hemminger
  2026-01-14  7:35   ` Morten Brørup
  2 siblings, 1 reply; 5+ messages in thread
From: Stephen Hemminger @ 2026-01-14  6:27 UTC (permalink / raw)
  To: Zhichao Zeng; +Cc: dev, stable, Konstantin Ananyev, Ferruh Yigit, Shahaf Shuler

On Fri, 19 Sep 2025 15:12:13 +0800
Zhichao Zeng <zhichaox.zeng@intel.com> wrote:

> IP packet reassembly requires the MULTI_SEGS offload to be enabled in order
> to handle fragmented packets across multiple memory segments. However, the
> MBUF_FAST_FREE offload conflicts with MULTI_SEGS and cannot be enabled
> simultaneously.
> 
> Remove the MBUF_FAST_FREE offload to avoid conflicts with MULTI_SEGS.
> 
> Fixes: 9df56e69ee3f ("examples/ip_reassembly: convert to new ethdev offloads API")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Zhichao Zeng <zhichaox.zeng@intel.com>
>

Later Tech Board discussion concluded that fast free and multi segs are not
conflicting flags. Dropping this patch.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: [PATCH] examples/ip_reassembly: remove conflicting Tx offload
  2026-01-14  6:27 ` Stephen Hemminger
@ 2026-01-14  7:35   ` Morten Brørup
  0 siblings, 0 replies; 5+ messages in thread
From: Morten Brørup @ 2026-01-14  7:35 UTC (permalink / raw)
  To: Stephen Hemminger, Zhichao Zeng
  Cc: dev, stable, Konstantin Ananyev, Ferruh Yigit, Shahaf Shuler,
	Bruce Richardson

+CC Bruce

> From: Stephen Hemminger [mailto:stephen@networkplumber.org]
> 
> On Fri, 19 Sep 2025 15:12:13 +0800
> Zhichao Zeng <zhichaox.zeng@intel.com> wrote:
> 
> > IP packet reassembly requires the MULTI_SEGS offload to be enabled in
> order
> > to handle fragmented packets across multiple memory segments.
> However, the
> > MBUF_FAST_FREE offload conflicts with MULTI_SEGS and cannot be
> enabled
> > simultaneously.
> >
> > Remove the MBUF_FAST_FREE offload to avoid conflicts with MULTI_SEGS.
> >
> > Fixes: 9df56e69ee3f ("examples/ip_reassembly: convert to new ethdev
> offloads API")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Zhichao Zeng <zhichaox.zeng@intel.com>
> >
> 
> Later Tech Board discussion concluded that fast free and multi segs are
> not
> conflicting flags. Dropping this patch.

Let's postpone rather than drop this patch.

The documentation still says that FAST_FREE does not allow segmented packets.
And it has been reported that some drivers fail when using both flags.
The Tech Board wishes to get rid of the mutual exclusivity, to support jumbo frames with FAST_FREE; but the mutual exclusivity is still under investigation, and no final conclusion has been reached yet.
For now, it has been concluded that the mbuf library is not the reason for mutual exclusivity, but it has not yet been concluded if is required for driver implementation purposes.


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-01-14  7:35 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-19  7:12 [PATCH] examples/ip_reassembly: remove conflicting Tx offload Zhichao Zeng
2025-09-19  7:13 ` Konstantin Ananyev
2025-09-28  9:04 ` Xu, HailinX
2026-01-14  6:27 ` Stephen Hemminger
2026-01-14  7:35   ` Morten Brørup

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox