Signed-off-by: Keith Wiles <keith.wi...@intel.com> --- 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