From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by dpdk.space (Postfix) with ESMTP id 8C5C8A00E6
	for <public@inbox.dpdk.org>; Mon, 13 May 2019 18:35:58 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 4194C4C95;
	Mon, 13 May 2019 18:35:57 +0200 (CEST)
Received: from mga17.intel.com (mga17.intel.com [192.55.52.151])
 by dpdk.org (Postfix) with ESMTP id 881CE2BCE;
 Mon, 13 May 2019 18:35:55 +0200 (CEST)
X-Amp-Result: SKIPPED(no attachment in message)
X-Amp-File-Uploaded: False
Received: from orsmga002.jf.intel.com ([10.7.209.21])
 by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;
 13 May 2019 09:35:54 -0700
X-ExtLoop1: 1
Received: from fyigit-mobl.ger.corp.intel.com (HELO [10.237.221.36])
 ([10.237.221.36])
 by orsmga002.jf.intel.com with ESMTP; 13 May 2019 09:35:52 -0700
To: Wei Zhao <wei.zhao1@intel.com>, dev@dpdk.org
Cc: stable@dpdk.org, yuan.peng@intel.com, wenzhuo.lu@intel.com
References: <1557386447-57225-1-git-send-email-wei.zhao1@intel.com>
From: Ferruh Yigit <ferruh.yigit@intel.com>
Openpgp: preference=signencrypt
Autocrypt: addr=ferruh.yigit@intel.com; prefer-encrypt=mutual; keydata=
 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 34s=
Message-ID: <703bdff4-70c3-2c95-ac49-6ecb0165a3cc@intel.com>
Date: Mon, 13 May 2019 17:35:51 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101
 Thunderbird/60.6.1
MIME-Version: 1.0
In-Reply-To: <1557386447-57225-1-git-send-email-wei.zhao1@intel.com>
Content-Type: text/plain; charset="UTF-8"
Content-Language: en-US
Content-Transfer-Encoding: 8bit
Subject: Re: [dpdk-dev] [dpdk-stable] [PATCH] app/testpmd: fix offloads
 overwrite by default configuration
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>
Message-ID: <20190513163551.yW70Xl5-uU3Cdquo1Pz9HjlyJHyePh5Tg6rLTxmFDkQ@z>

On 5/9/2019 8:20 AM, Wei Zhao wrote:
> There is an error in function rxtx_port_config(), which may overwrite
> offloads configuration get from function launch_args_parse() when run
> testpmd app. So rxtx_port_config() should do "or" for port offloads.
> 
> Fixes: d44f8a485f5d ("app/testpmd: enable per queue configure")
> cc: stable@dpdk.org
> 
> Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
> ---
>  app/test-pmd/testpmd.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
> index 6fbfd29..f0061d9 100644
> --- a/app/test-pmd/testpmd.c
> +++ b/app/test-pmd/testpmd.c
> @@ -2809,9 +2809,12 @@ static void
>  rxtx_port_config(struct rte_port *port)
>  {
>  	uint16_t qid;
> +	uint64_t offloads;
>  
>  	for (qid = 0; qid < nb_rxq; qid++) {
> +		offloads = port->rx_conf[qid].offloads;
>  		port->rx_conf[qid] = port->dev_info.default_rxconf;
> +		port->rx_conf[qid].offloads |= offloads;

OK to this changes as a fix for this release.

But I think intention is, if no offload information is provided by user to use
use the driver provided defaults, if user explicitly provided some values to use
them, instead of OR these two.

With this approach it is not possible to disable a driver default value, so it
becomes mandatory offload instead of default offload values.

Wei, what do you think, does it make sense?

>  
>  		/* Check if any Rx parameters have been passed */
>  		if (rx_pthresh != RTE_PMD_PARAM_UNSET)
> @@ -2833,7 +2836,9 @@ rxtx_port_config(struct rte_port *port)
>  	}
>  
>  	for (qid = 0; qid < nb_txq; qid++) {
> +		offloads = port->tx_conf[qid].offloads;
>  		port->tx_conf[qid] = port->dev_info.default_txconf;
> +		port->tx_conf[qid].offloads |= offloads;
>  
>  		/* Check if any Tx parameters have been passed */
>  		if (tx_pthresh != RTE_PMD_PARAM_UNSET)
>