This is a new simplified TAP device that uses the Linux kernel ioring API to provide a read/write ring with kernel.
This is split from tap device because there are so many unnecessary things in existing tap, and supporting ioring is better without ifdefs etc. The default name of the tap device is different that other uses in DPDK but the driver tries to keep the same relevant devargs as before. This driver will only provide features that match what kernel does, so no flow support etc. The next version will add checksum and multi-segment packets. Some of the doc files may need update as well. v4 - more testing and offload support Stephen Hemminger (10): net/ioring: introduce new driver net/ioring: implement link state net/ioring: implement control functions net/ioring: implement management functions net/ioring: implement secondary process support net/ioring: implement receive and transmit net/ioring: implement statistics net/ioring: support multi-segment Rx and Tx net/ioring: support Tx checksum and segment offload net/ioring: add support for Rx offload MAINTAINERS | 6 + doc/guides/nics/features/ioring.ini | 18 + doc/guides/nics/index.rst | 1 + doc/guides/nics/ioring.rst | 60 ++ drivers/net/ioring/meson.build | 15 + drivers/net/ioring/rte_eth_ioring.c | 1288 +++++++++++++++++++++++++++ drivers/net/meson.build | 1 + 7 files changed, 1389 insertions(+) create mode 100644 doc/guides/nics/features/ioring.ini create mode 100644 doc/guides/nics/ioring.rst create mode 100644 drivers/net/ioring/meson.build create mode 100644 drivers/net/ioring/rte_eth_ioring.c -- 2.47.2