From mboxrd@z Thu Jan 1 00:00:00 1970 From: Keith Wiles Subject: [PATCH] net/tap: fix IFF_MULTI_QUEUE in older kernels not found Date: Fri, 20 Jan 2017 08:30:25 -0600 Message-ID: <20170120143025.23710-1-keith.wiles@intel.com> References: <2f632e65-90de-c2b7-ed67-34e3432cefae@intel.com> Cc: ferruh.yigit@intel.com To: dev@dpdk.org Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id A646F2E8B for ; Fri, 20 Jan 2017 15:30:31 +0100 (CET) In-Reply-To: <2f632e65-90de-c2b7-ed67-34e3432cefae@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" Signed-off-by: Keith Wiles --- drivers/net/tap/rte_eth_tap.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c index d5e2fc3..cb96e99 100644 --- a/drivers/net/tap/rte_eth_tap.c +++ b/drivers/net/tap/rte_eth_tap.c @@ -139,6 +139,7 @@ tun_alloc(char *name) } RTE_LOG(DEBUG, PMD, "TUN/TAP Features %08x\n", features); +#ifdef IFF_MULTI_QUEUE if (!(features & IFF_MULTI_QUEUE) && (RTE_PMD_TAP_MAX_QUEUES > 1)) { RTE_LOG(DEBUG, PMD, "TUN/TAP device only one queue\n"); goto error; @@ -151,6 +152,15 @@ tun_alloc(char *name) RTE_LOG(DEBUG, PMD, "Multi-queue support for %d queues\n", RTE_PMD_TAP_MAX_QUEUES); } +#else + if (RTE_PMD_TAP_MAX_QUEUES > 1) { + RTE_LOG(DEBUG, PMD, "TUN/TAP device only one queue\n"); + goto error; + } else { + ifr.ifr_flags |= IFF_ONE_QUEUE; + RTE_LOG(DEBUG, PMD, "Single queue only support\n"); + } +#endif /* Set the TUN/TAP configuration and get the name if needed */ if (ioctl(fd, TUNSETIFF, (void *)&ifr) < 0) { -- 2.8.0.GIT