Hi all: This series implements a fully tuntap compatiable API which could be used by userspace to manage multi macvtap queues. The main parts is to add TUNSETQUEUE ioctl support for macvtap.
Patch 1 - 4 was some tuntap compatibility and misc cleanups. Patch 5 removes the linear search in macvtap by reshuffling the macvtaps array each time a queue is removed. After this, we could store both enabled and disabled queues in the same array without introducing extra data structure. Patch 6 let TUNSETIFF can create multiqueue device, nothing but some check were added. Patch 7 implement TUNSETQUEUE ioctl Patch 8 reports IFF_MULTI_QUEUE to userspace to notify the userspace that the multiqueue API is completed. Flow caches implememtation were missed in this version, since I am doing rework on the tuntap flow caches. Have some some stress test with both netperf and pktgen. Please review, thanks. Jason Wang (8): macvlan: switch to use IS_ENABLED() macvtap: return -EBADFD when TUNGETIFF fails macvtap: introduce macvtap_get_vlan() macvlan: reduce the max number of taps to 8 macvtap: eliminate linear search macvtap: allow TUNSETIFF to create multiqueue device macvtap: add TUNSETQUEUE ioctl macvtap: enable multiqueue flag drivers/net/macvtap.c | 265 ++++++++++++++++++++++++++++++------------- include/linux/if_macvlan.h | 11 ++- 2 files changed, 194 insertions(+), 82 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/