[dpdk-dev] [PATCH v9 00/10] ethdev: support SubFunction representor

Ferruh Yigit ferruh.yigit at intel.com
Tue Mar 16 20:18:58 CET 2021


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.


More information about the dev mailing list