From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 68E47C4338F for ; Wed, 18 Aug 2021 08:32:55 +0000 (UTC) Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by mail.kernel.org (Postfix) with ESMTP id DD09A61042 for ; Wed, 18 Aug 2021 08:32:54 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org DD09A61042 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=dpdk.org Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id DC7004069E; Wed, 18 Aug 2021 10:32:53 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id 7D06740042 for ; Wed, 18 Aug 2021 10:32:52 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10079"; a="301863039" X-IronPort-AV: E=Sophos;i="5.84,330,1620716400"; d="scan'208";a="301863039" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Aug 2021 01:32:51 -0700 X-IronPort-AV: E=Sophos;i="5.84,330,1620716400"; d="scan'208";a="520865690" Received: from unknown (HELO localhost.localdomain) ([10.240.183.93]) by fmsmga003-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Aug 2021 01:32:49 -0700 From: dapengx.yu@intel.com To: Qiming Yang , Qi Zhang Cc: dev@dpdk.org, Dapeng Yu Date: Wed, 18 Aug 2021 16:32:25 +0800 Message-Id: <20210818083226.795256-1-dapengx.yu@intel.com> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH 1/2] net/ice/base: get PF ID of VF's parent 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" From: Dapeng Yu In original implementation, when one or more VFs are created, and VF0 is used as DCF, there is no way to get the physical function ID of their parent adapter via VF0. The physical function ID is critical for initializing ACL feature, if wrong physical function ID is used, the ACL cannot be initialized successfully, and the ACL rule cannot take effect. This patch makes VF able to get its parent's physical function ID. Signed-off-by: Dapeng Yu --- drivers/net/ice/base/ice_switch.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/drivers/net/ice/base/ice_switch.c b/drivers/net/ice/base/ice_switch.c index 5926635088..a1caa9c45d 100644 --- a/drivers/net/ice/base/ice_switch.c +++ b/drivers/net/ice/base/ice_switch.c @@ -3413,6 +3413,10 @@ ice_init_port_info(struct ice_port_info *pi, u16 vsi_port_num, u8 type, pi->dflt_tx_vsi_num = ICE_DFLT_VSI_INVAL; pi->dflt_rx_vsi_num = ICE_DFLT_VSI_INVAL; break; + case ICE_AQC_GET_SW_CONF_RESP_VSI: + pi->is_vf = is_vf; + pi->pf_vf_num = pf_vf_num; + break; default: ice_debug(pi->hw, ICE_DBG_SW, "incorrect VSI/port type received\n"); break; @@ -3487,6 +3491,14 @@ enum ice_status ice_get_initial_sw_cfg(struct ice_hw *hw) pf_vf_num, is_vf); j++; break; + case ICE_AQC_GET_SW_CONF_RESP_VSI: + /* get PF ID of VF's parent */ + if (!is_vf) + ice_init_port_info(hw->port_info, + vsi_port_num, + res_type, swid, + pf_vf_num, is_vf); + break; default: break; } -- 2.27.0