ethdev: add API to get representor info
authorXueming Li <xuemingl@nvidia.com>
Thu, 11 Mar 2021 13:13:31 +0000 (13:13 +0000)
committerFerruh Yigit <ferruh.yigit@intel.com>
Wed, 17 Mar 2021 18:11:56 +0000 (19:11 +0100)
commit85e1588ca72f0f7bc16cef35d003cbb7936a411f
tree2748c6fc873be5f6243af602db2ced64bf73492a
parent66e0ea2c987bb4aadb2664d63d2209ce83483ed1
ethdev: add API to get representor info

The NIC can have multiple PCIe links and can be attached to multiple
hosts, for example the same single NIC can be shared for multiple server
units in the rack. On each PCIe link NIC can provide multiple PFs and
VFs/SFs based on these ones. The full representor identifier consists of
three indices - controller index, PF index, and VF or SF index (if any).

This patch introduces a new API rte_eth_representor_info_get() to
retrieve representor corresponding info mapping:
 - caller controller index and pf index.
 - supported representor ID ranges.
 - type, controller, pf and start vf/sf ID of each range.
The API is useful to calculate representor from devargs to representor
ID.

New ethdev callback representor_info_get() is added to retrieve info
from PMD driver, optional for PMD that doesn't support new devargs
representor syntax.

Signed-off-by: Xueming Li <xuemingl@nvidia.com>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
lib/librte_ethdev/ethdev_driver.h
lib/librte_ethdev/rte_ethdev.c
lib/librte_ethdev/rte_ethdev.h
lib/librte_ethdev/version.map