On 3/11/2021 1:13 PM, Xueming Li wrote:
SubFunction [1] is a portion of the PCI device, a SF netdev has its own dedicated queues(txq, rxq). A SF netdev supports E-Switch representation offload similar to existing PF and VF representors. A SF shares PCI level resources with other SFs and/or with its parent PCI function.From SmartNIC perspective, when PCI device is shared for multi-host, representors for host controller and host PF is required. This patch set introduces new representor types in addtion to existing VF representor. Syntax: [[c#]pf#]vf#: VF port representor/s from controller/pf [[c#]pf#]sf#: SF port representor/s from controller/pf #: VF representor - for backwards compatibility "#" is number instance, list or range, valid examples: 1, [1,3,5], [0-3], [0,2-4,6] For backward compatibility, this patch also introduces new netdev capability to indicate the capability of supportting SF representor. Version history: RFC: initial version [2] V2: - separate patch for represnetor infrastructure, controller, pf and sf. - replace representor ID macro with functions: rte_eth_representor_id_encode() rte_eth_representor_id_parse() - new patch to allow devargs with same PCI BDF but different representors. - other minor code updates according to comments, thanks Andrew! - update document V3: - improve probing of allowed devargs with same name. - parse single word of kvargs as key. - update kvargs test cases. V4: - split first representor refactor patch into 1: add representor type 2: refector representor list parsing - push the patch supporting multi-devargs for same device. V5: - add comments for parsing functions - update switch_representation.rst - Thanks Ajit V6: - split representor types into different patches, move to rte_ethdev.h - improvements of rte_eth_devargs_process_list() according to Andrew's suggestion - fixed PF probe failure for Intel i40e - replace ethdev SF capability with rte_eth_representor_info_get() - add new ethdev ops api to get representor info from PMD - replace representor ID encode/decode with conversion from representor info - change ethdev representor iterator to use new ID encoding V7: - error on duplicated representor argument: DBDF,representor=a,representor=b - fix pf representor type parsing - other small fixes suggested by Andrew. V8: - remove the "ignore" hint from pmd representor info - changed representor_id type in representor info to u32 - rename rte_eth_representor_id_convert() to ..._get() - other small fixes suggested by Andrew V9: - more document for PMD to implement representor_info_get callback - updated ice and txgbe to adapt new representor type - updated 21.05 release notes - other small fixes suggested by Ferruh and Andrew, thanks. Xueming Li (10): ethdev: introduce representor type ethdev: refactor representor port list parsing ethdev: support new VF representor syntax ethdev: support sub function representor kvargs: update parser to support multiple lists ethdev: support PF index in representor ethdev: support multi-host in representor ethdev: new API to get representor info ethdev: representor iterator compare complete info doc/release: add representor enhancements
Series applied to dpdk-next-net/main, thanks.

