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. v3 - add multi-segment support review feedback Stephen Hemminger (9): 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: add VLAN support net/ioring: implement statistics net/ioring: support multi-segment Rx and Tx doc/guides/nics/features/ioring.ini | 16 + doc/guides/nics/index.rst | 1 + doc/guides/nics/ioring.rst | 66 ++ drivers/net/ioring/meson.build | 15 + drivers/net/ioring/rte_eth_ioring.c | 1129 +++++++++++++++++++++++++++ drivers/net/meson.build | 1 + 6 files changed, 1228 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