From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com [66.111.4.28]) by dpdk.org (Postfix) with ESMTP id 1F72E23B for ; Tue, 21 Nov 2017 14:29:12 +0100 (CET) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id C8C7720800; Tue, 21 Nov 2017 08:29:11 -0500 (EST) Received: from frontend2 ([10.202.2.161]) by compute1.internal (MEProxy); Tue, 21 Nov 2017 08:29:11 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fridaylinux.org; h=cc:date:from:in-reply-to:message-id:references:subject:to :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=3G8oSNMOnt5nwJCSB WDhy5aEWnBE+/TjbUpFSNMgASI=; b=isHNOuFJxjAlC3Cl6Naqigko2es605CYd b6/REMBuq/RlHLgAZ9d+6+HfJfO4oqm0ZN4GLIk62Uej/E7V6hLgY6zbrrbdMZcX 17HhgypbNtOpXNNgXVj7rLPVP3/FsVNY7FfcVRxWDsb28eu98o/Y47n/lRQ33ZUx eUUJGKCidWNJ9yw2QPNJ0gKs8AcR0n/uEqH6CmWd+kRoEk3m9ajV0daSE6bopN02 xtbPiGePQvt/l+7ADHRC/gfu7rAfvygLyfKJJlkLV3J9dZkwbHUsaFNZ0eXUK1Wo M7eO1MQSL+BRNzh9q9N3NGhGo4eZAIno8bZPMDgXOTc6kVJYqDUkw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:date:from:in-reply-to:message-id :references:subject:to:x-me-sender:x-me-sender:x-sasl-enc; s= fm1; bh=3G8oSNMOnt5nwJCSBWDhy5aEWnBE+/TjbUpFSNMgASI=; b=NvCSzQPn f1Nx5wGjYRVyp9neYH/VoacG9QHVwO2cLX3GksjSH936ZGTr2rw+tUF/CoOKOJk3 dkqvE3VpWp+cwpmDOj2UWSNjl6gpieq5ru9lj+kCu3A9ATOBrn7CTlX0OpTBxHvn tLMtLiJkQMaslB1QvBtblaOW2sz1t9VqsOQz+YQzarPIS7Lx2vIQMCsy35hLkzhS v5PO56k+YGG6Kss1T3Ow5Ojq8M9O9+UmrF+8TH9fmZGV2B/zwRIMgWznGUWGd/7U qjtfmiooM1Z+EQLRDnfakyOFmMj1Adkw03g0fFLGTm/Fu8J+NsaUChiyiobMY3FD ueEP4l2TlbZtQQ== X-ME-Sender: Received: from localhost.localdomain (unknown [180.158.62.0]) by mail.messagingengine.com (Postfix) with ESMTPA id 63F16243B9; Tue, 21 Nov 2017 08:29:08 -0500 (EST) From: Yuanhan Liu To: Wei Dai Cc: Jingjing Wu , dpdk stable Date: Tue, 21 Nov 2017 21:18:13 +0800 Message-Id: <1511270333-31002-151-git-send-email-yliu@fridaylinux.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1511270333-31002-1-git-send-email-yliu@fridaylinux.org> References: <1511270333-31002-1-git-send-email-yliu@fridaylinux.org> Subject: [dpdk-stable] patch 'net/ixgbe: fix PF DCB info' has been queued to stable release 17.08.1 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: , X-List-Received-Date: Tue, 21 Nov 2017 13:29:12 -0000 Hi, FYI, your patch has been queued to stable release 17.08.1 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/24/17. So please shout if anyone has objections. Thanks. --yliu --- >>From b2262809af07a1c4b31fd1e3b4dbc0de25725ea0 Mon Sep 17 00:00:00 2001 From: Wei Dai Date: Mon, 23 Oct 2017 14:43:57 +0800 Subject: [PATCH] net/ixgbe: fix PF DCB info [ upstream commit 9be9050134aaf09089f0cfb7723159eecc4a15e5 ] When SRIOV is active, the function ixgbe_dev_get_dcb_info( ) should return the DCB traffic class info of its own queues, not including any DCB info of the queues of any its VF. When VMDQ is active, all queues are belonged to the PF, the function ixgbe_dev_get_dcb_info can return DCB info of all queues. Fixes: 89d6728c7837 ("ethdev: get DCB information") Signed-off-by: Wei Dai Reviewed-by: Jingjing Wu --- drivers/net/ixgbe/ixgbe_ethdev.c | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c index feff0a7..feb50c0 100644 --- a/drivers/net/ixgbe/ixgbe_ethdev.c +++ b/drivers/net/ixgbe/ixgbe_ethdev.c @@ -7182,6 +7182,8 @@ ixgbe_dev_get_dcb_info(struct rte_eth_dev *dev, struct ixgbe_dcb_config *dcb_config = IXGBE_DEV_PRIVATE_TO_DCB_CFG(dev->data->dev_private); struct ixgbe_dcb_tc_config *tc; + struct rte_eth_dcb_tc_queue_mapping *tc_queue; + uint8_t nb_tcs; uint8_t i, j; if (dev->data->dev_conf.rxmode.mq_mode & ETH_MQ_RX_DCB_FLAG) @@ -7189,19 +7191,31 @@ ixgbe_dev_get_dcb_info(struct rte_eth_dev *dev, else dcb_info->nb_tcs = 1; + tc_queue = &dcb_info->tc_queue; + nb_tcs = dcb_info->nb_tcs; + if (dcb_config->vt_mode) { /* vt is enabled*/ struct rte_eth_vmdq_dcb_conf *vmdq_rx_conf = &dev->data->dev_conf.rx_adv_conf.vmdq_dcb_conf; for (i = 0; i < ETH_DCB_NUM_USER_PRIORITIES; i++) dcb_info->prio_tc[i] = vmdq_rx_conf->dcb_tc[i]; - for (i = 0; i < vmdq_rx_conf->nb_queue_pools; i++) { - for (j = 0; j < dcb_info->nb_tcs; j++) { - dcb_info->tc_queue.tc_rxq[i][j].base = - i * dcb_info->nb_tcs + j; - dcb_info->tc_queue.tc_rxq[i][j].nb_queue = 1; - dcb_info->tc_queue.tc_txq[i][j].base = - i * dcb_info->nb_tcs + j; - dcb_info->tc_queue.tc_txq[i][j].nb_queue = 1; + if (RTE_ETH_DEV_SRIOV(dev).active > 0) { + for (j = 0; j < nb_tcs; j++) { + tc_queue->tc_rxq[0][j].base = j; + tc_queue->tc_rxq[0][j].nb_queue = 1; + tc_queue->tc_txq[0][j].base = j; + tc_queue->tc_txq[0][j].nb_queue = 1; + } + } else { + for (i = 0; i < vmdq_rx_conf->nb_queue_pools; i++) { + for (j = 0; j < nb_tcs; j++) { + tc_queue->tc_rxq[i][j].base = + i * nb_tcs + j; + tc_queue->tc_rxq[i][j].nb_queue = 1; + tc_queue->tc_txq[i][j].base = + i * nb_tcs + j; + tc_queue->tc_txq[i][j].nb_queue = 1; + } } } } else { /* vt is disabled*/ -- 2.7.4