Thread (37 messages) 37 messages, 7 authors, 2021-01-29

Re: [dpdk-dev] [PATCH v5] app/testpmd: fix setting maximum packet length

From: Wisam Monther <hidden>
Date: 2021-01-28 11:08:22

-----Original Message-----
From: Ferruh Yigit <redacted>
Sent: Thursday, January 28, 2021 11:27 AM
To: Wisam Monther <redacted>; Wenzhuo Lu
[off-list ref]; Xiaoyun Li [off-list ref]; Bernard
Iremonger [off-list ref]; Steve Yang
[off-list ref]
Cc: dev@dpdk.org; stable@dpdk.org; lance.richardson@broadcom.com;
oulijun@huawei.com; lihuisong@huawei.com
Subject: Re: [PATCH v5] app/testpmd: fix setting maximum packet length

On 1/28/2021 9:18 AM, Wisam Monther wrote:
quoted
Hi Ferruh,

quoted
-----Original Message-----
From: Ferruh Yigit <redacted>
Sent: Monday, January 25, 2021 8:16 PM
To: Wenzhuo Lu <redacted>; Xiaoyun Li
[off-list ref]; Bernard Iremonger
[off-list ref]; Steve Yang [off-list ref]
Cc: Ferruh Yigit <redacted>; dev@dpdk.org;
stable@dpdk.org; lance.richardson@broadcom.com;
oulijun@huawei.com;
quoted
quoted
Wisam Monther [off-list ref]; lihuisong@huawei.com
Subject: [PATCH v5] app/testpmd: fix setting maximum packet length

From: Steve Yang <redacted>

"port config all max-pkt-len" command fails because it doesn't set
the 'DEV_RX_OFFLOAD_JUMBO_FRAME' offload flag properly.

Commit in the fixes line moved the 'DEV_RX_OFFLOAD_JUMBO_FRAME'
offload flag update from 'cmd_config_max_pkt_len_parsed()' to
'init_config()'.
'init_config()' function is only called during testpmd startup, but
the flag status needs to be calculated whenever 'max_rx_pkt_len'
changes.
quoted
quoted
The issue can be reproduce as [1], where the 'max-pkt-len' reduced
and 'DEV_RX_OFFLOAD_JUMBO_FRAME' offload flag should be cleared
but
quoted
quoted
it didn't.

Adding the 'update_jumbo_frame_offload()' helper function to update
'DEV_RX_OFFLOAD_JUMBO_FRAME' offload flag and 'max_rx_pkt_len'.
This
quoted
quoted
function is called both by 'init_config()' and
'cmd_config_max_pkt_len_parsed()'.

Default 'max-pkt-len' value set to zero, 'update_jumbo_frame_offload()'
updates it to "RTE_ETHER_MTU + PMD specific Ethernet overhead" when
it is zero.
If '--max-pkt-len=N' argument provided, it will be used instead.
And with each "port config all max-pkt-len" command, the
'DEV_RX_OFFLOAD_JUMBO_FRAME' offload flag, 'max-pkt-len' and MTU
is
quoted
quoted
updated.

[1]
---------------------------------------------------------------------
----- dpdk-testpmd -c 0xf -n 4 -- -i --max-pkt-len=9000
--tx-offloads=0x8000
	--rxq=4 --txq=4 --disable-rss
testpmd>  set verbose 3
testpmd>  port stop all
testpmd>  port config all max-pkt-len 1518  port start all

// Got fail error info without this patch Configuring Port 0 (socket
1) Ethdev
port_id=0 rx_queue_id=0, new added offloads 0x800 must be within per-
queue offload capabilities 0x0 in rte_eth_rx_queue_setup() Fail to
configure port 0 rx queues //<-- Fail error info;
---------------------------------------------------------------------
-----

Fixes: 761c4d66900f ("app/testpmd: fix max Rx packet length for VLAN
packets")
Cc: stable@dpdk.org

Signed-off-by: Steve Yang <redacted>
Signed-off-by: Ferruh Yigit <redacted>
---

v5:
* 'update_jumbo_frame_offload()' helper updated
   * check zero 'max-pkt-len' value
   * Update how queue offload flags updated
   * Update MTU if JUMBO_FRAME flag is not set
* Default testpmd 'max-pkt-len' value set to zero

Cc: lance.richardson@broadcom.com
Cc: oulijun@huawei.com
Cc: wisamm@mellanox.com
Cc: lihuisong@huawei.com
---
I think we need to have https://bugs.dpdk.org/show_bug.cgi?id=625 ID
in the commit log as fix,

Sure, I will send a new version with suggested updates, most probably today,
I can add the Bugzilla information too.
quoted
In order to allow the scripts to close related bugs directly from Bugzilla.
Scripts? Do we have scripts that close defects automatically, I wasn't aware of
it, where does it run?
It's something Thomas using and run it every time to time, it's not published yet.
But it closes merged bugs, adding a link to the commit as comment.

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help