[dpdk-dev] net/tap: fix IFF_MULTI_QUEUE in older kernels not found
Checks
Commit Message
Signed-off-by: Keith Wiles <keith.wiles@intel.com>
---
drivers/net/tap/rte_eth_tap.c | 10 ++++++++++
1 file changed, 10 insertions(+)
Comments
On 1/20/2017 2:30 PM, Keith Wiles wrote:
> Signed-off-by: Keith Wiles <keith.wiles@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Hi Thomas,
Although this is a driver patch, would you mind getting it to the main
tree to fix build error asap (instead of waiting next integration)?
Thanks,
ferruh
2017-01-20 16:11, Ferruh Yigit:
> On 1/20/2017 2:30 PM, Keith Wiles wrote:
> > Signed-off-by: Keith Wiles <keith.wiles@intel.com>
>
> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
>
> Hi Thomas,
>
> Although this is a driver patch, would you mind getting it to the main
> tree to fix build error asap (instead of waiting next integration)?
Applied, thanks
@@ -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) {