From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by dpdk.space (Postfix) with ESMTP id 43B63A0096 for ; Sun, 5 May 2019 11:02:20 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 23C3BA49; Sun, 5 May 2019 11:02:20 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id 12ACDA49 for ; Sun, 5 May 2019 11:02:17 +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 fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 05 May 2019 02:02:17 -0700 X-ExtLoop1: 1 Received: from dpdk6.bj.intel.com ([172.16.182.192]) by orsmga002.jf.intel.com with ESMTP; 05 May 2019 02:02:15 -0700 From: wei zhao To: qabuild@intel.com Cc: wei zhao , stable@dpdk.org Date: Sun, 5 May 2019 16:33:27 +0800 Message-Id: <1557045207-45779-1-git-send-email-wei.zhao1@intel.com> X-Mailer: git-send-email 2.7.5 Subject: [dpdk-stable] [DPDK 2/2] app/testpmd: fix offloads overwrite by default configuration X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" 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 --- app/test-pmd/testpmd.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c index 6fbfd29..4e71e85 100644 --- a/app/test-pmd/testpmd.c +++ b/app/test-pmd/testpmd.c @@ -2809,9 +2809,17 @@ static void rxtx_port_config(struct rte_port *port) { uint16_t qid; + struct rte_eth_rxconf *rxconf = &port->dev_info.default_rxconf; + struct rte_eth_txconf *txconf = &port->dev_info.default_txconf; for (qid = 0; qid < nb_rxq; qid++) { - port->rx_conf[qid] = port->dev_info.default_rxconf; + port->rx_conf[qid] = (struct rte_eth_rxconf){ + .rx_thresh = rxconf->rx_thresh, + .rx_drop_en = rxconf->rx_drop_en, + .rx_free_thresh = rxconf->rx_free_thresh, + .rx_deferred_start = rxconf->rx_deferred_start, + }; + port->rx_conf[qid].offloads |= rxconf->offloads; /* Check if any Rx parameters have been passed */ if (rx_pthresh != RTE_PMD_PARAM_UNSET) @@ -2833,7 +2841,13 @@ rxtx_port_config(struct rte_port *port) } for (qid = 0; qid < nb_txq; qid++) { - port->tx_conf[qid] = port->dev_info.default_txconf; + port->tx_conf[qid] = (struct rte_eth_txconf){ + .tx_thresh = txconf->tx_thresh, + .tx_rs_thresh = txconf->tx_rs_thresh, + .tx_free_thresh = txconf->tx_free_thresh, + .tx_deferred_start = txconf->tx_deferred_start, + }; + port->tx_conf[qid].offloads |= txconf->offloads; /* Check if any Tx parameters have been passed */ if (tx_pthresh != RTE_PMD_PARAM_UNSET) -- 2.7.5