RE: [RFC 0/8] ioring: network driver

Konstantin Ananyev
2024-12-11T11:34:43Z

> This is first draft of 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.

Makes sense to me, though didn't properly look inside.
One thing - probably add a 'tap' into the name,
'tap_ioiring' or so, otherwise 'ioring' is a bit too generic
and might be confusing.

> Stephen Hemminger (8):
> net/ioring: introduce new driver
> net/ioring: implement link state
> net/ioring: implement control functions
> net/ioring: implement management functions
> net/ioring: implement primary secondary fd passing
> net/ioring: implement receive and transmit
> net/ioring: add VLAN support
> net/ioring: implement statistics
>
> doc/guides/nics/features/ioring.ini | 14 +
> doc/guides/nics/index.rst | 1 +
> doc/guides/nics/ioring.rst | 66 ++
> drivers/net/ioring/meson.build | 12 +
> drivers/net/ioring/rte_eth_ioring.c | 1067 +++++++++++++++++++++++++++
> drivers/net/meson.build | 1 +
> 6 files changed, 1161 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.45.2