From patchwork Wed Mar 18 10:06:48 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Thomas Monjalon X-Patchwork-Id: 4040 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id CC3D05A72; Wed, 18 Mar 2015 11:07:30 +0100 (CET) Received: from mail-we0-f170.google.com (mail-we0-f170.google.com [74.125.82.170]) by dpdk.org (Postfix) with ESMTP id 04D9A37A2 for ; Wed, 18 Mar 2015 11:07:29 +0100 (CET) Received: by wegp1 with SMTP id p1so28045356weg.1 for ; Wed, 18 Mar 2015 03:07:28 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-type:content-transfer-encoding; bh=6Vv93aF3CJrQ303RsSw/Xi94JjN0QDkWhQDLJIVk8dY=; b=KsUxKV0B6zbOUqppCgSijX9hLjeTQkNLDlIrgYpxZSxdk0Ybuh7Wx3+jMdKm6XHqIz T6QiXNAq2DWx0EEleNyItHqNUpODA3GffQsSRZgL+0xZ7PpcUYJTYwPZpPj0Fs57nZUg iC/V6xUyHbsMKX1uUMWlxrqIstJyW12T6US3NJEpDq5Es4vaQiJaWX/KtGCjUa7JCA+l Krs0fOOuUc8eT5XuujkxwKfBATo7VxHXIzZiOqeUl2Ea+d07QJ0bOFc0yyBlYqSvEdaW ZFwlAaJ1kghDy+krPpVUH+UoxiSYTcD/yoCODKNf3oTxV5pW05TqubOy1IkdneOZS20N 3qfQ== X-Gm-Message-State: ALoCoQkPB0u4AGtG+fGhxCvasq+MPmR9G7HKiBgsjRKpymG1nO2joc3qVS75alDkE+YtNUUqwTqB X-Received: by 10.194.110.233 with SMTP id id9mr141345672wjb.136.1426673248855; Wed, 18 Mar 2015 03:07:28 -0700 (PDT) Received: from localhost.localdomain (136-92-190-109.dsl.ovh.fr. [109.190.92.136]) by mx.google.com with ESMTPSA id k1sm23774140wjn.9.2015.03.18.03.07.27 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 18 Mar 2015 03:07:28 -0700 (PDT) From: Thomas Monjalon To: helin.zhang@intel.com Date: Wed, 18 Mar 2015 11:06:48 +0100 Message-Id: <1426673208-28670-1-git-send-email-thomas.monjalon@6wind.com> X-Mailer: git-send-email 2.2.2 MIME-Version: 1.0 Cc: dev@dpdk.org Subject: [dpdk-dev] [PATCH] i40e: revert internal switch of PF X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" VEB switching is blocking VF. If the source mac address of packet sent from VF is not listed in the VEB’s mac table, the VEB will switch the packet back to the VF. It's an hardware issue. Reverts: 2ccabd8cd1f6 ("i40e: enable internal switch of PF"). Reported-by: Jingjing Wu Signed-off-by: Thomas Monjalon Acked-by: Jingjing Wu Acked-by: Helin Zhang --- lib/librte_pmd_i40e/i40e_ethdev.c | 36 ------------------------------------ 1 file changed, 36 deletions(-) diff --git a/lib/librte_pmd_i40e/i40e_ethdev.c b/lib/librte_pmd_i40e/i40e_ethdev.c index 6888072..cf6685e 100644 --- a/lib/librte_pmd_i40e/i40e_ethdev.c +++ b/lib/librte_pmd_i40e/i40e_ethdev.c @@ -2868,40 +2868,6 @@ i40e_vsi_dump_bw_config(struct i40e_vsi *vsi) return 0; } -/* - * i40e_enable_pf_lb - * @pf: pointer to the pf structure - * - * allow loopback on pf - */ -static inline void -i40e_enable_pf_lb(struct i40e_pf *pf) -{ - struct i40e_hw *hw = I40E_PF_TO_HW(pf); - struct i40e_vsi_context ctxt; - int ret; - - memset(&ctxt, 0, sizeof(ctxt)); - ctxt.seid = pf->main_vsi_seid; - ctxt.pf_num = hw->pf_id; - ret = i40e_aq_get_vsi_params(hw, &ctxt, NULL); - if (ret) { - PMD_DRV_LOG(ERR, "couldn't get pf vsi config, err %d, aq_err %d", - ret, hw->aq.asq_last_status); - return; - } - ctxt.flags = I40E_AQ_VSI_TYPE_PF; - ctxt.info.valid_sections = - rte_cpu_to_le_16(I40E_AQ_VSI_PROP_SWITCH_VALID); - ctxt.info.switch_id |= - rte_cpu_to_le_16(I40E_AQ_VSI_SW_ID_FLAG_ALLOW_LB); - - ret = i40e_aq_update_vsi_params(hw, &ctxt, NULL); - if (ret) - PMD_DRV_LOG(ERR, "update vsi switch failed, aq_err=%d\n", - hw->aq.asq_last_status); -} - /* Setup a VSI */ struct i40e_vsi * i40e_vsi_setup(struct i40e_pf *pf, @@ -2937,8 +2903,6 @@ i40e_vsi_setup(struct i40e_pf *pf, PMD_DRV_LOG(ERR, "VEB setup failed"); return NULL; } - /* set ALLOWLOOPBACk on pf, when veb is created */ - i40e_enable_pf_lb(pf); } vsi = rte_zmalloc("i40e_vsi", sizeof(struct i40e_vsi), 0);