From: Martin Spinler <[email protected]>

This series implements real multiport for better user experience.

The existing driver creates one ethdev/port for one PCI device.
As the CESNET-NDK based cards aren't capable to represent each
Ethernet port by own PCI device, new driver implementation
processes real port configuration from firmware/card and switches
from rte_eth_dev_pci_generic_probe to multiple rte_eth_dev_create calls.

---
v3:
* Polished int type usage of QueueID for libnfb API.
* Used rte_calloc instead of rte_malloc.
* Moved queue_map_*x from pmd_internals to pmd_priv.
* Removed RTE_ASSERT for error checking.
* Used RTE_BIT for mask and interger limit constants.
* Added check of return value of nfb_nc_*xmac_init.
* Added release notes entry.

Depends-on: series-37064 ("net/nfb: code cleanup")

Martin Spinler (8):
  net/nfb: prepare for indirect queue mapping scheme
  net/nfb: create ethdev for every eth port/channel
  net/nfb: add vdev as alternative device probe method
  net/nfb: add device argument "port" to limit used ports
  net/nfb: init only MACs associated with device
  net/nfb: add compatible cards to driver PCI ID table
  net/nfb: report firmware version
  doc/nfb: cleanup and update guide

 doc/guides/nics/features/nfb.ini       |   4 +
 doc/guides/nics/nfb.rst                | 187 +++++------
 doc/guides/rel_notes/release_26_03.rst |   9 +
 drivers/net/nfb/meson.build            |   1 +
 drivers/net/nfb/nfb.h                  |  46 ++-
 drivers/net/nfb/nfb_ethdev.c           | 415 +++++++++++++++++++------
 drivers/net/nfb/nfb_rx.c               |  30 +-
 drivers/net/nfb/nfb_rx.h               |   9 +-
 drivers/net/nfb/nfb_tx.c               |  27 +-
 drivers/net/nfb/nfb_tx.h               |   7 +-
 drivers/net/nfb/nfb_vdev.c             | 101 ++++++
 11 files changed, 590 insertions(+), 246 deletions(-)
 create mode 100644 drivers/net/nfb/nfb_vdev.c

--
2.52.0

Reply via email to