From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: [PATCH] i40e: revert internal switch of PF Date: Wed, 18 Mar 2015 11:06:48 +0100 Message-ID: <1426673208-28670-1-git-send-email-thomas.monjalon@6wind.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Cc: dev-VfR2kkLFssw@public.gmane.org To: helin.zhang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org Return-path: List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces-VfR2kkLFssw@public.gmane.org Sender: "dev" VEB switching is blocking VF. If the source mac address of packet sent from VF is not listed in the VEB=E2=80=99s 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 --- 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; } =20 -/* - * 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 =3D I40E_PF_TO_HW(pf); - struct i40e_vsi_context ctxt; - int ret; - - memset(&ctxt, 0, sizeof(ctxt)); - ctxt.seid =3D pf->main_vsi_seid; - ctxt.pf_num =3D hw->pf_id; - ret =3D 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 =3D I40E_AQ_VSI_TYPE_PF; - ctxt.info.valid_sections =3D - rte_cpu_to_le_16(I40E_AQ_VSI_PROP_SWITCH_VALID); - ctxt.info.switch_id |=3D - rte_cpu_to_le_16(I40E_AQ_VSI_SW_ID_FLAG_ALLOW_LB); - - ret =3D i40e_aq_update_vsi_params(hw, &ctxt, NULL); - if (ret) - PMD_DRV_LOG(ERR, "update vsi switch failed, aq_err=3D%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); } =20 vsi =3D rte_zmalloc("i40e_vsi", sizeof(struct i40e_vsi), 0); --=20 2.2.2