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