From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Zhao Subject: [PATCH v2] examples/flow_filtering: add Tx queues setup process Date: Wed, 27 Dec 2017 16:31:18 +0800 Message-ID: <20171227083118.112236-1-wei.zhao1@intel.com> References: <20171226094905.83277-1-wei.zhao1@intel.com> Cc: orika@mellanox.com, zhao wei To: dev@dpdk.org Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 50D4A1B2C3 for ; Wed, 27 Dec 2017 09:39:16 +0100 (CET) In-Reply-To: <20171226094905.83277-1-wei.zhao1@intel.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: zhao wei This example do not has the process of set up tx queues, but some NIC start up process will be blocked if this is no tx queue and only rx queues. So add tx queues setup process in main code. Signed-off-by: Wei Zhao --- v2: -add support the new tx offloads. --- examples/flow_filtering/main.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/examples/flow_filtering/main.c b/examples/flow_filtering/main.c index 7d739b4..4a07b63 100644 --- a/examples/flow_filtering/main.c +++ b/examples/flow_filtering/main.c @@ -149,7 +149,18 @@ init_port(void) /**< CRC stripped by hardware */ .hw_strip_crc = 1, }, + .txmode = { + .offloads = + DEV_TX_OFFLOAD_VLAN_INSERT | + DEV_TX_OFFLOAD_IPV4_CKSUM | + DEV_TX_OFFLOAD_UDP_CKSUM | + DEV_TX_OFFLOAD_TCP_CKSUM | + DEV_TX_OFFLOAD_SCTP_CKSUM | + DEV_TX_OFFLOAD_TCP_TSO, + }, }; + struct rte_eth_txconf txq_conf; + struct rte_eth_dev_info dev_info; printf(":: initializing port: %d\n", port_id); ret = rte_eth_dev_configure(port_id, @@ -173,6 +184,21 @@ init_port(void) } } + rte_eth_dev_info_get(port_id, &dev_info); + txq_conf = dev_info.default_txconf; + txq_conf.offloads = port_conf.txmode.offloads; + + for (i = 0; i < nr_queues; i++) { + ret = rte_eth_tx_queue_setup(port_id, i, 512, + rte_eth_dev_socket_id(port_id), + &txq_conf); + if (ret < 0) { + rte_exit(EXIT_FAILURE, + ":: Tx queue setup failed: err=%d, port=%u\n", + ret, port_id); + } + } + rte_eth_promiscuous_enable(port_id); ret = rte_eth_dev_start(port_id); if (ret < 0) { -- 2.9.3