From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Rybchenko Subject: [PATCH 2/2] net/failsafe: support runtime Tx queues setup Date: Fri, 31 Aug 2018 17:09:38 +0100 Message-ID: <1535731778-28288-3-git-send-email-arybchenko@solarflare.com> References: <1535731778-28288-1-git-send-email-arybchenko@solarflare.com> Mime-Version: 1.0 Content-Type: text/plain Cc: , Ian Dolzhansky To: Gaetan Rivet Return-path: Received: from dispatch1-us1.ppe-hosted.com (dispatch1-us1.ppe-hosted.com [148.163.129.52]) by dpdk.org (Postfix) with ESMTP id 34B215F48 for ; Fri, 31 Aug 2018 18:09:52 +0200 (CEST) In-Reply-To: <1535731778-28288-1-git-send-email-arybchenko@solarflare.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Ian Dolzhansky Signed-off-by: Ian Dolzhansky Signed-off-by: Andrew Rybchenko --- doc/guides/nics/features/failsafe.ini | 1 + doc/guides/rel_notes/release_18_11.rst | 2 +- drivers/net/failsafe/failsafe_ops.c | 9 ++++++--- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/doc/guides/nics/features/failsafe.ini b/doc/guides/nics/features/failsafe.ini index 8bb2cac4c..e3c4c08f2 100644 --- a/doc/guides/nics/features/failsafe.ini +++ b/doc/guides/nics/features/failsafe.ini @@ -9,6 +9,7 @@ Link status event = Y Rx interrupt = Y Queue start/stop = Y Runtime Rx queue setup = Y +Runtime Tx queue setup = Y MTU update = Y Jumbo frame = Y Promiscuous mode = Y diff --git a/doc/guides/rel_notes/release_18_11.rst b/doc/guides/rel_notes/release_18_11.rst index 85561dacd..5d69c95b1 100644 --- a/doc/guides/rel_notes/release_18_11.rst +++ b/doc/guides/rel_notes/release_18_11.rst @@ -60,7 +60,7 @@ New Features * Support for Rx and Tx queues start and stop. * Support for Rx and Tx queues deferred start. - * Support for runtime Rx queues setup. + * Support for runtime Rx and Tx queues setup. * **Added ability to switch queue deferred start flag on testpmd app.** diff --git a/drivers/net/failsafe/failsafe_ops.c b/drivers/net/failsafe/failsafe_ops.c index 5374d0597..809f9d5ff 100644 --- a/drivers/net/failsafe/failsafe_ops.c +++ b/drivers/net/failsafe/failsafe_ops.c @@ -89,7 +89,8 @@ static struct rte_eth_dev_info default_infos = { ETH_RSS_UDP | ETH_RSS_TCP, .dev_capa = - RTE_ETH_DEV_CAPA_RUNTIME_RX_QUEUE_SETUP, + RTE_ETH_DEV_CAPA_RUNTIME_RX_QUEUE_SETUP | + RTE_ETH_DEV_CAPA_RUNTIME_TX_QUEUE_SETUP, }; static int @@ -187,7 +188,7 @@ fs_set_queues_state_start(struct rte_eth_dev *dev) } for (i = 0; i < dev->data->nb_tx_queues; i++) { txq = dev->data->tx_queues[i]; - if (!txq->info.conf.tx_deferred_start) + if (txq != NULL && !txq->info.conf.tx_deferred_start) dev->data->tx_queue_state[i] = RTE_ETH_QUEUE_STATE_STARTED; } @@ -246,7 +247,9 @@ fs_set_queues_state_stop(struct rte_eth_dev *dev) dev->data->rx_queue_state[i] = RTE_ETH_QUEUE_STATE_STOPPED; for (i = 0; i < dev->data->nb_tx_queues; i++) - dev->data->tx_queue_state[i] = RTE_ETH_QUEUE_STATE_STOPPED; + if (dev->data->tx_queues[i] != NULL) + dev->data->tx_queue_state[i] = + RTE_ETH_QUEUE_STATE_STOPPED; } static void -- 2.17.1