From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Mody, Rasesh" Subject: [PATCH 13/18] net/qede/base: enable control frame filtering Date: Sat, 29 Sep 2018 08:14:34 +0000 Message-ID: <1538208822-9726-14-git-send-email-rasesh.mody@cavium.com> References: <1538208822-9726-1-git-send-email-rasesh.mody@cavium.com> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Cc: "Mody, Rasesh" , "ferruh.yigit@intel.com" , Dept-Eng DPDK Dev To: "dev@dpdk.org" Return-path: Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-cys01nam02on0063.outbound.protection.outlook.com [104.47.37.63]) by dpdk.org (Postfix) with ESMTP id 28C767EC7 for ; Sat, 29 Sep 2018 10:14:37 +0200 (CEST) In-Reply-To: <1538208822-9726-1-git-send-email-rasesh.mody@cavium.com> Content-Language: en-US List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Enable control frame filtering for non-trusted VFs. Signed-off-by: Rasesh Mody --- drivers/net/qede/base/ecore_l2.c | 5 +++++ drivers/net/qede/base/ecore_l2_api.h | 5 ++++- drivers/net/qede/base/ecore_sriov.c | 4 +++- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/drivers/net/qede/base/ecore_l2.c b/drivers/net/qede/base/ecore= _l2.c index d87ffda..c17082e 100644 --- a/drivers/net/qede/base/ecore_l2.c +++ b/drivers/net/qede/base/ecore_l2.c @@ -786,6 +786,11 @@ enum _ecore_status_t return rc; } =20 + if (p_params->update_ctl_frame_check) { + p_cmn->ctl_frame_mac_check_en =3D p_params->mac_chk_en; + p_cmn->ctl_frame_ethtype_check_en =3D p_params->ethtype_chk_en; + } + /* Update mcast bins for VFs, PF doesn't use this functionality */ ecore_sp_update_mcast_bin(p_ramrod, p_params); =20 diff --git a/drivers/net/qede/base/ecore_l2_api.h b/drivers/net/qede/base/e= core_l2_api.h index 21595f3..004fb61 100644 --- a/drivers/net/qede/base/ecore_l2_api.h +++ b/drivers/net/qede/base/ecore_l2_api.h @@ -347,7 +347,10 @@ struct ecore_sp_vport_update_params { /* MTU change - notice this requires the vport to be disabled. * If non-zero, value would be used. */ - u16 mtu; + u16 mtu; + u8 update_ctl_frame_check; + u8 mac_chk_en; + u8 ethtype_chk_en; }; =20 /** diff --git a/drivers/net/qede/base/ecore_sriov.c b/drivers/net/qede/base/ec= ore_sriov.c index 9da4e41..3ac1085 100644 --- a/drivers/net/qede/base/ecore_sriov.c +++ b/drivers/net/qede/base/ecore_sriov.c @@ -2158,7 +2158,9 @@ static void ecore_iov_vf_mbx_start_vport(struct ecore= _hwfn *p_hwfn, params.vport_id =3D vf->vport_id; params.max_buffers_per_cqe =3D start->max_buffers_per_cqe; params.mtu =3D vf->mtu; - params.check_mac =3D true; + + /* Non trusted VFs should enable control frame filtering */ + params.check_mac =3D !vf->p_vf_info.is_trusted_configured; =20 rc =3D ecore_sp_eth_vport_start(p_hwfn, ¶ms); if (rc !=3D ECORE_SUCCESS) { --=20 1.7.10.3