From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0DEBCA054F; Tue, 16 Mar 2021 20:19:04 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EDA992429F0; Tue, 16 Mar 2021 20:19:03 +0100 (CET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id 5A07B406A2 for ; Tue, 16 Mar 2021 20:19:02 +0100 (CET) IronPort-SDR: EPeL9XAOJCr85VKiZdF4ntqZbu0Vl+IIwuNMgSR0L5/2rGOVWjIO3p/Q4KwNTrSNYy/RB/1Fo9 NdhW8ZxkaKMg== X-IronPort-AV: E=McAfee;i="6000,8403,9925"; a="274366224" X-IronPort-AV: E=Sophos;i="5.81,254,1610438400"; d="scan'208";a="274366224" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Mar 2021 12:19:01 -0700 IronPort-SDR: H5rMC2vkof8V+sjYDv2A9MUuyLNvcYflpxcfpk0Wwo9Q+fr+TkNoMez+A/Vh8n+HPXxRN8Ctsy 8CkBim0bON5w== X-IronPort-AV: E=Sophos;i="5.81,254,1610438400"; d="scan'208";a="449824374" Received: from fyigit-mobl1.ger.corp.intel.com (HELO [10.252.24.201]) ([10.252.24.201]) by orsmga001-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Mar 2021 12:19:00 -0700 To: Xueming Li , Andrew Rybchenko Cc: dev@dpdk.org, Viacheslav Ovsiienko , Asaf Penso References: <1608303356-13089-2-git-send-email-xuemingl@nvidia.com> <1615468416-10115-1-git-send-email-xuemingl@nvidia.com> From: Ferruh Yigit X-User: ferruhy Message-ID: Date: Tue, 16 Mar 2021 19:18:58 +0000 MIME-Version: 1.0 In-Reply-To: <1615468416-10115-1-git-send-email-xuemingl@nvidia.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH v9 00/10] ethdev: support SubFunction representor X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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.