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?

Reply via email to