On 1/28/2021 9:18 AM, Wisam Monther wrote:
Hi Ferruh,
-----Original Message-----
From: Ferruh Yigit <ferruh.yi...@intel.com>
Sent: Monday, January 25, 2021 8:16 PM
To: Wenzhuo Lu <wenzhuo...@intel.com>; Xiaoyun Li
<xiaoyun...@intel.com>; Bernard Iremonger
<bernard.iremon...@intel.com>; Steve Yang <stevex.y...@intel.com>
Cc: Ferruh Yigit <ferruh.yi...@intel.com>; dev@dpdk.org; sta...@dpdk.org;
lance.richard...@broadcom.com; ouli...@huawei.com; Wisam Monther
<wis...@nvidia.com>; lihuis...@huawei.com
Subject: [PATCH v5] app/testpmd: fix setting maximum packet length
From: Steve Yang <stevex.y...@intel.com>
"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.
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 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
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
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: sta...@dpdk.org
Signed-off-by: Steve Yang <stevex.y...@intel.com>
Signed-off-by: Ferruh Yigit <ferruh.yi...@intel.com>
---
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.richard...@broadcom.com
Cc: ouli...@huawei.com
Cc: wis...@mellanox.com
Cc: lihuis...@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.
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?