From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 4643CA04C0; Tue, 29 Sep 2020 14:00:05 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 27EE11DA21; Tue, 29 Sep 2020 14:00:04 +0200 (CEST) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 296BC1DA21 for ; Tue, 29 Sep 2020 14:00:02 +0200 (CEST) IronPort-SDR: 9iXo/CQYAJj/WcvD4/YXAM7DzuW+Sw8vEbZgYr2LB0C0WujHdgTg8H0pQYezEyYjAI6FBsbW7j xERRldOpPikA== X-IronPort-AV: E=McAfee;i="6000,8403,9758"; a="149829322" X-IronPort-AV: E=Sophos;i="5.77,318,1596524400"; d="scan'208";a="149829322" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Sep 2020 04:59:55 -0700 IronPort-SDR: IpDntW29YD0AoZBIvw4ypeYHC6glx5Qy2ZlhnI/MuRgaduRtJYYgxxeqhTJLCqz7c6ndLPDrVt cnCpy33f35tw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,318,1596524400"; d="scan'208";a="350229923" Received: from fmsmsx606.amr.corp.intel.com ([10.18.126.86]) by FMSMGA003.fm.intel.com with ESMTP; 29 Sep 2020 04:59:55 -0700 Received: from shsmsx606.ccr.corp.intel.com (10.109.6.216) by fmsmsx606.amr.corp.intel.com (10.18.126.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 29 Sep 2020 04:59:54 -0700 Received: from shsmsx601.ccr.corp.intel.com (10.109.6.141) by SHSMSX606.ccr.corp.intel.com (10.109.6.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 29 Sep 2020 19:59:52 +0800 Received: from shsmsx601.ccr.corp.intel.com ([10.109.6.141]) by SHSMSX601.ccr.corp.intel.com ([10.109.6.141]) with mapi id 15.01.1713.004; Tue, 29 Sep 2020 19:59:52 +0800 From: "Zhang, Qi Z" To: "Yang, SteveX" , "dev@dpdk.org" CC: "Zhao1, Wei" , "Guo, Jia" , "Yang, Qiming" , "Wu, Jingjing" , "Xing, Beilei" , "Ananyev, Konstantin" Thread-Topic: [PATCH v4 3/5] net/ice: fix max mtu size packets with vlan tag cannot be received by default Thread-Index: AQHWlWX9EtlsyJt3ykGYcwPr+NXbUKl/f7dg Date: Tue, 29 Sep 2020 11:59:52 +0000 Message-ID: <8459e979b76c43cdbd5a9fbd809f9b00@intel.com> References: <20200923040909.73418-1-stevex.yang@intel.com> <20200928065541.7520-1-stevex.yang@intel.com> <20200928065541.7520-4-stevex.yang@intel.com> In-Reply-To: <20200928065541.7520-4-stevex.yang@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-reaction: no-action dlp-version: 11.5.1.3 dlp-product: dlpe-windows x-originating-ip: [10.239.127.36] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v4 3/5] net/ice: fix max mtu size packets with vlan tag cannot be received by default X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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" > -----Original Message----- > From: Yang, SteveX > Sent: Monday, September 28, 2020 2:56 PM > To: dev@dpdk.org > Cc: Zhao1, Wei ; Guo, Jia ; Yang, > Qiming ; Zhang, Qi Z ; Wu, > Jingjing ; Xing, Beilei ; > Ananyev, Konstantin ; Yang, SteveX > > Subject: [PATCH v4 3/5] net/ice: fix max mtu size packets with vlan tag c= annot > be received by default >=20 > testpmd will initialize default max packet length to 1518 which doesn't i= nclude > vlan tag size in ether overheader. Once, send the max mtu length packet w= ith > vlan tag, the max packet length will exceed 1518 that will cause packets > dropped directly from NIC hw side. >=20 > ice can support dual vlan tags that need more 8 bytes for max packet size= , so, > configures the correct max packet size in dev_config ops. >=20 > Fixes: 50cc9d2a6e9d ("net/ice: fix max frame size") >=20 > Signed-off-by: SteveX Yang > --- > drivers/net/ice/ice_ethdev.c | 11 +++++++++++ > 1 file changed, 11 insertions(+) >=20 > diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c = index > cfd357b05..6b7098444 100644 > --- a/drivers/net/ice/ice_ethdev.c > +++ b/drivers/net/ice/ice_ethdev.c > @@ -3146,6 +3146,7 @@ ice_dev_configure(struct rte_eth_dev *dev) > struct ice_adapter *ad =3D > ICE_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private); > struct ice_pf *pf =3D ICE_DEV_PRIVATE_TO_PF(dev->data->dev_private); > + uint32_t frame_size =3D dev->data->mtu + ICE_ETH_OVERHEAD; > int ret; >=20 > /* Initialize to TRUE. If any of Rx queues doesn't meet the @@ -3157,6 > +3158,16 @@ ice_dev_configure(struct rte_eth_dev *dev) > if (dev->data->dev_conf.rxmode.mq_mode & ETH_MQ_RX_RSS_FLAG) > dev->data->dev_conf.rxmode.offloads |=3D > DEV_RX_OFFLOAD_RSS_HASH; >=20 > + /** > + * Considering QinQ packet, max frame size should be equal or > + * larger than total size of MTU and Ether overhead. > + */ > + if (frame_size > dev->data->dev_conf.rxmode.max_rx_pkt_len) { Why we need this check? Can we just call ice_mtu_set directly=20 And please remove above comment, since ether overhead is already considered= in ice_mtu_set. > + ret =3D ice_mtu_set(dev, dev->data->mtu); > + if (ret !=3D 0) > + return ret; > + } > + > ret =3D ice_init_rss(pf); > if (ret) { > PMD_DRV_LOG(ERR, "Failed to enable rss for PF"); > -- > 2.17.1