>-----Original Message-----
>From: Ferruh Yigit <ferruh.yi...@intel.com>
>Sent: Tuesday, March 9, 2021 12:44 AM
>To: Xueming(Steven) Li <xuemi...@nvidia.com>; Andrew Rybchenko 
><andrew.rybche...@oktetlabs.ru>
>Cc: dev@dpdk.org; Slava Ovsiienko <viachesl...@nvidia.com>; Asaf Penso 
><as...@nvidia.com>
>Subject: Re: [dpdk-dev] [PATCH v8 0/9] ethdev: support SubFunction representor
>
>On 3/4/2021 2:30 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
>>
>>
>>
>> [1] SubFunction in kernel:
>> https://lore.kernel.org/netdev/20201112192424.2742-1-pa...@nvidia.com/
>>
>> [2] RFC:
>> http://patchwork.dpdk.org/project/dpdk/list/?series=14376
>>
>> [3] V2:
>> http://patchwork.dpdk.org/project/dpdk/list/?series=14559
>>
>> [4] V3:
>> 1 http://patchwork.dpdk.org/patch/86460/
>> 2 http://patchwork.dpdk.org/patch/86461/
>> 3 http://patchwork.dpdk.org/patch/86462/
>> 4 http://patchwork.dpdk.org/patch/86463/
>> 5 http://patchwork.dpdk.org/patch/86464/
>> 6 http://patchwork.dpdk.org/patch/86465/
>> 7 http://patchwork.dpdk.org/patch/86467/
>> 8 http://patchwork.dpdk.org/patch/86466/
>> 9 http://patchwork.dpdk.org/patch/86468/
>>
>> [5] V4:
>> http://patchwork.dpdk.org/project/dpdk/list/?series=14809
>>
>> [6] V5:
>> http://patchwork.dpdk.org/project/dpdk/list/?series=14834
>>
>> [7] V6:
>> http://patchwork.dpdk.org/project/dpdk/list/?series=15258
>>
>> [8] v7:
>> http://patchwork.dpdk.org/project/dpdk/list/?series=15441
>>
>> Xueming Li (9):
>>    ethdev: introduce representor type
>>    ethdev: support representor port list
>>    ethdev: support new VF representor syntax
>>    ethdev: support sub function representor
>>    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
>>    kvargs: update parser to support lists
>>
>>   app/test/test_kvargs.c                        |  46 ++++-
>>   config/rte_config.h                           |   1 +
>>   doc/guides/prog_guide/poll_mode_drv.rst       |  18 +-
>>   .../prog_guide/switch_representation.rst      |  35 ++--
>>   drivers/net/bnxt/bnxt_ethdev.c                |   7 +
>>   drivers/net/enic/enic_ethdev.c                |   6 +
>>   drivers/net/i40e/i40e_ethdev.c                |   7 +
>>   drivers/net/ixgbe/ixgbe_ethdev.c              |   7 +
>>   drivers/net/mlx5/linux/mlx5_os.c              |  11 ++
>>   lib/librte_ethdev/ethdev_driver.h             |  50 +++++-
>>   lib/librte_ethdev/ethdev_private.c            | 169 ++++++++++++------
>>   lib/librte_ethdev/ethdev_private.h            |   3 -
>>   lib/librte_ethdev/rte_class_eth.c             |  40 +++--
>>   lib/librte_ethdev/rte_ethdev.c                | 113 +++++++++++-
>>   lib/librte_ethdev/rte_ethdev.h                |  61 +++++++
>>   lib/librte_ethdev/version.map                 |   4 +
>>   lib/librte_kvargs/rte_kvargs.c                | 101 ++++++++---
>>   17 files changed, 554 insertions(+), 125 deletions(-)
>>
>
>Btw, can you also update the release notes for the feature, if there will be 
>more versions it is OK to hold the update to prevent the
>release notes rebases on each version, but please include it as the patchset 
>matures.

Got it, thanks!

Reply via email to