From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id D59B8A0547;
	Mon, 19 Apr 2021 09:43:28 +0200 (CEST)
Received: from [217.70.189.124] (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id BC0B3411CA;
	Mon, 19 Apr 2021 09:43:28 +0200 (CEST)
Received: from mga03.intel.com (mga03.intel.com [134.134.136.65])
 by mails.dpdk.org (Postfix) with ESMTP id 12C4C40040;
 Mon, 19 Apr 2021 09:43:26 +0200 (CEST)
IronPort-SDR: rzcLHA4HzyZMjJULdeaFHRyOS0tEwfg9Xk3jQ+HwleGCsNdEO+eBRit4ghEKa/N5/kiok9/zrN
 RqHR0cPOeuLw==
X-IronPort-AV: E=McAfee;i="6200,9189,9958"; a="195311945"
X-IronPort-AV: E=Sophos;i="5.82,233,1613462400"; d="scan'208";a="195311945"
Received: from fmsmga005.fm.intel.com ([10.253.24.32])
 by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 19 Apr 2021 00:43:25 -0700
IronPort-SDR: M6d6yXtwmF0hJzv8rAwl6fu12VkzT6s/7RjQjlIjyzkw/qWDEZeB4mhyp8yoP1uAVSv76N9WFY
 al98I3srXF8g==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.82,233,1613462400"; d="scan'208";a="616517501"
Received: from orsmsx606.amr.corp.intel.com ([10.22.229.19])
 by fmsmga005.fm.intel.com with ESMTP; 19 Apr 2021 00:43:25 -0700
Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) by
 ORSMSX606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2106.2; Mon, 19 Apr 2021 00:43:25 -0700
Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) by
 ORSMSX608.amr.corp.intel.com (10.22.229.21) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2106.2; Mon, 19 Apr 2021 00:43:24 -0700
Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by
 orsmsx608.amr.corp.intel.com (10.22.229.21) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2
 via Frontend Transport; Mon, 19 Apr 2021 00:43:24 -0700
Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.168)
 by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2106.2; Mon, 19 Apr 2021 00:43:22 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JsrcuZrXu90LUe9K6RBGKH1JuZBmBu0i6EFfLHbuTcYm0nxKjf7IML4YaxoE0agEmq2o3tKo0ryVp6625crgvVqDoyaGYw4lH0JEtDoj8VOT09u1DRXJFIQLu0OBskncYNxqpxnSjzt+chAwqWmytlRDvONyj95WpGNxiD+rTNKy5p05lvdAPuztuHN7ruxuSb7PwZeDBbriXTeOQH7Z3A/ZmPqfhUoyu8elyNM96KaaeVMemEUv77zbUV0bIDw64pRARg0CXanbmyV2MuY+QO1/whKXQnuKNptZaphtk+xn/cT0AROsCEY9Qs2PpLWH4BeMwu/2OV31PQUdmzqLcw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5HTvjuBdqXBHYah0ctszLJ/i396KUlkYbw4fINjnj4o=;
 b=KybhuOo+aTSef+vrbxS1pvUL8DMS6/rOQTChJ7TrA5OEi+mMb1S+Wbjw8zix/z7Yeh0+qVK+CyRNpD9akwa+BYFKII4+ehf/VmJMa5U05YXHNKeE746ywakQvIL0qfc4jcXTEY3iNfxDWpOD1kM3K6JwhPg2idAi14PugzzDp6RJ/fQUPRRsvgEUElxQnYRY9tEOxQIcdms1DmHUAvqIes0yghzBj/lK5jzDm7DNCI5HVzexeafaHcZRhT302Mk27svI1jMxe9TDR4BweqwKRNyz/kPOLEvDGIGI9rcXA1qG1nCTiDekAr2bO1Clfnw7YkDU+75jUdO4vQNlyBRqlQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
 dkim=pass header.d=intel.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; 
 s=selector2-intel-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5HTvjuBdqXBHYah0ctszLJ/i396KUlkYbw4fINjnj4o=;
 b=UXQT0ds+jUZx0PJ+af8JfU9gZoA475vq1J/jrL5Ig6M5KFae4/cRWdrXCj2sXTdiYnhrZDYhOrqQqF4+j96nRPdEuSIZQ8qMduz/ht50fqssMagnIcbRZ1brgWl3E8TFQ1MRwPILhPNLwS4//kpkGOlBnt6fMF78GziTU5EoNNQ=
Received: from BN8PR11MB3795.namprd11.prod.outlook.com (2603:10b6:408:82::31)
 by BN6PR11MB1410.namprd11.prod.outlook.com (2603:10b6:404:4a::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4042.20; Mon, 19 Apr
 2021 07:43:20 +0000
Received: from BN8PR11MB3795.namprd11.prod.outlook.com
 ([fe80::2dfc:3be2:c305:6346]) by BN8PR11MB3795.namprd11.prod.outlook.com
 ([fe80::2dfc:3be2:c305:6346%6]) with mapi id 15.20.4042.024; Mon, 19 Apr 2021
 07:43:19 +0000
From: "Wang, Haiyue" <haiyue.wang@intel.com>
To: "Zhang, AlvinX" <alvinx.zhang@intel.com>, "Guo, Jia" <jia.guo@intel.com>
CC: "dev@dpdk.org" <dev@dpdk.org>, "stable@dpdk.org" <stable@dpdk.org>
Thread-Topic: [PATCH] net/igc: fix Rx packet size error
Thread-Index: AQHXMl3fODo4MPgJOUGv+v37CY1odaq2YS5QgAURb4CAAAejoA==
Date: Mon, 19 Apr 2021 07:43:19 +0000
Message-ID: <BN8PR11MB3795EAEE4966A6365C1A6A9CF7499@BN8PR11MB3795.namprd11.prod.outlook.com>
References: <20210416011407.29236-1-alvinx.zhang@intel.com>
 <BN8PR11MB37959C58461B7353C9B2B7CDF74C9@BN8PR11MB3795.namprd11.prod.outlook.com>
 <DM6PR11MB389855F1AE23900A908E35079F499@DM6PR11MB3898.namprd11.prod.outlook.com>
In-Reply-To: <DM6PR11MB389855F1AE23900A908E35079F499@DM6PR11MB3898.namprd11.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
dlp-product: dlpe-windows
dlp-reaction: no-action
dlp-version: 11.6.0.76
authentication-results: intel.com; dkim=none (message not signed)
 header.d=none;intel.com; dmarc=none action=none header.from=intel.com;
x-originating-ip: [192.55.46.54]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: bb129c55-f4b0-4df4-c1b4-08d90306cd4f
x-ms-traffictypediagnostic: BN6PR11MB1410:
x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <BN6PR11MB14103BE9DFD94B9F35C0DDFEF7499@BN6PR11MB1410.namprd11.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:7691;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: WDo+kEP2F4/8WuH8yXzPbFGls1nJ8ktbdx4JJozKKRaErn13Z6zSrxF1G6kAdRpLr4BUDEWndndT4pvbQlxwJxf3o59m2z1N0ddM+T0V9d4FFiJvYJhD6IF51rGKkaMWR7dCd3XLOos5OEsND8YrZCkp13zVbmlkHY/Kep7y6JYRX0HMDT37Wy/fRyyNBuFfzKI4zQOHpdskEwIGfeu/+0ZZYmP96r/eH7p5yzzDG8DgmLoXy56Za58ZZXnN1n/+L2NfkPWk/G7JK9G8N/pjdHUbKqaAhvDKo1vxjtRnz21OBHbzv+nCeCfBp8DXuyGvRJbPe4zH5kcHCUwSDuYfHQS4bnf5L3mFfyUa03C09wnJMmEoNA9shTZZ7ErUhJnqPGZKI+2gwF9QjGBO9nJsd+tBSowocXpJc/hGtApa90JLbVUS5CPBBxVaYwl4GYvUdgc60qToGy8fXwElhujBL1drDhNWyyqiAHczPomu62wzXtKz0BV5VMtFnZli1ULscIkPTMhaDYGoJaXxeC7Bc0pXe+oYsJRuGVqnPeCrc11Xu4tdVh7Z96/HT0Ceydvag2pbMpi31Bnjv1r6O29rdhGBIJvUTJ31pipzWNok2zw=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:BN8PR11MB3795.namprd11.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(136003)(396003)(39860400002)(366004)(346002)(376002)(6506007)(53546011)(122000001)(66556008)(86362001)(38100700002)(52536014)(450100002)(9686003)(66946007)(4326008)(66476007)(7696005)(54906003)(5660300002)(55016002)(110136005)(71200400001)(2906002)(66446008)(8936002)(64756008)(83380400001)(76116006)(316002)(33656002)(26005)(186003)(6636002)(478600001)(8676002);
 DIR:OUT; SFP:1102; 
x-ms-exchange-antispam-messagedata: =?us-ascii?Q?vkkvh6Y6cBd9swMygsvmMKxGVRaDUGGSYCzHRK2NNzSWBgpAlF4F0miE8IEQ?=
 =?us-ascii?Q?V4YDsyjtdesXBPXwgUAiK6oZsNBFJjbwODDWnJpST7HsTFc0X52Bceo3xw3v?=
 =?us-ascii?Q?LfuJ4DlV7luWbydVo7OlTK1BQT8V88RKG5Eams8Ap1dPJ7h1eeAG05txM1Qr?=
 =?us-ascii?Q?hxj5PtDp5Vk5lwh/7CY4qZEuYbJt/jSjpZ72V3+gqJx3ZtB7cIIGxV4tKnJX?=
 =?us-ascii?Q?voTFU0Pzxt2QzE8WO/xEe2DqfKkRisUQFlRzW6AeaSCmz9HtWxqrd3E/WYIL?=
 =?us-ascii?Q?U3hNOQejWJU0nasEt6WMEcqWbLud9WRREvjthbwYgv4TlF3yWigumbteHqRz?=
 =?us-ascii?Q?PrRrlh09AzLg+3ahRxOqidf0Q9UL5TU0zQUbXMoGKqbJZJLkbeEGByjy/HeZ?=
 =?us-ascii?Q?IqN+dWc5xupa6kQkj85G0+zYyN+Y7QYbKANieVKuq3DzFIirN3qg4mMA5mJi?=
 =?us-ascii?Q?JSfzRIJJ9W7YGawJRrm3Ltxqz0ywaER3U4K5HMMClq/BAI10Wta2kYR6QfiI?=
 =?us-ascii?Q?K+/Z8ADnHkED2CRKPGqgpyBKFhuJrv3Yt9YkmeF0yoOA7inJ4JpOMFb+hiRg?=
 =?us-ascii?Q?r6tYi0XIdosn506cEDfdraLCZgYBXADODd29qU2+JKPP3QyptGnNuWJVpARj?=
 =?us-ascii?Q?eXBslzie4uqtocZNg8BACP/3/AynPTauOHX8MkkFj8A9Q4k+S5VExW1DdB/Q?=
 =?us-ascii?Q?ea7S7KJ5D/7rhWZqBqy4/+L2sMFDpDKpWamzBcxF/AOzg8XEGqnnCMQRIVT5?=
 =?us-ascii?Q?vb5CT+uuWHjxya4F5ZXOiAj3wjEY9frq3fgJpPzCzqD3S8DILZMMt6u4kxdj?=
 =?us-ascii?Q?yD0OImgOTLphqVUQxzIxwJLIMH7daSGwYt5Hhp5Ad/+k10mNM5vg8GyxoPzO?=
 =?us-ascii?Q?6P1XBBAHJeN1NZQYRth7Bslv+vSpapLIqrBPkvb/1xKWccbNznxQJgM0SCEL?=
 =?us-ascii?Q?KKc/Gj99pYdr4bkbcEy6OKI8TBa2yfDcsWKmwsDlJ5TtDZDHHDpUaxfGifG9?=
 =?us-ascii?Q?zU0vMLeZD29HutdGt/7T5JBcxQUzCabLG8b16aqY9v3uZwDraoBztr9TB/V1?=
 =?us-ascii?Q?SeAkMjEfoDsdS03sZONnlrhD41TET7q5K1wwWSBBv2ILwv8g9UlPChDjFCtd?=
 =?us-ascii?Q?ZAH/5/eYMHSw2hqZEpKbVsQPQPReHQKiR7NqqxYfLsf5IIQOA2ogj2ASALy0?=
 =?us-ascii?Q?Uxz02HrbvA83GRj3uMutLVek+LSFLcgAKcT+sF/4dPKw6AguiqH0G6Uyd6Vx?=
 =?us-ascii?Q?Wsw20nnuiduUjZGLscyn3vt2U6fz1x61XMlY+hMnzanhk8HAyUtQMxOp77hJ?=
 =?us-ascii?Q?qN0=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN8PR11MB3795.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bb129c55-f4b0-4df4-c1b4-08d90306cd4f
X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Apr 2021 07:43:19.7649 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: oMLM08LrFJ+bpOvftiNDR6nUW2z2Z3Le4HXKSAdfwhIDJqV9R2IBenv13dMoWkPeHidN3ubc1qpwLcaJn7+YCA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB1410
X-OriginatorOrg: intel.com
Subject: Re: [dpdk-dev] [PATCH] net/igc: fix Rx packet size error
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

> -----Original Message-----
> From: Zhang, AlvinX <alvinx.zhang@intel.com>
> Sent: Monday, April 19, 2021 15:15
> To: Wang, Haiyue <haiyue.wang@intel.com>; Guo, Jia <jia.guo@intel.com>
> Cc: dev@dpdk.org; stable@dpdk.org
> Subject: RE: [PATCH] net/igc: fix Rx packet size error
>=20
> Hi Haiyue,
>=20
> Thanks for your review.
>=20
> > -----Original Message-----
> > From: Wang, Haiyue <haiyue.wang@intel.com>
> > Sent: Friday, April 16, 2021 9:57 AM
> > To: Zhang, AlvinX <alvinx.zhang@intel.com>; Guo, Jia <jia.guo@intel.com=
>
> > Cc: dev@dpdk.org; stable@dpdk.org
> > Subject: RE: [PATCH] net/igc: fix Rx packet size error
> >
> > > -----Original Message-----
> > > From: Zhang, AlvinX <alvinx.zhang@intel.com>
> > > Sent: Friday, April 16, 2021 09:14
> > > To: Wang, Haiyue <haiyue.wang@intel.com>; Guo, Jia <jia.guo@intel.com=
>
> > > Cc: dev@dpdk.org; Zhang, AlvinX <alvinx.zhang@intel.com>;
> > > stable@dpdk.org
> > > Subject: [PATCH] net/igc: fix Rx packet size error
> > >
> > > When DEV_RX_OFFLOAD_KEEP_CRC is enabled, the PMD will minus 4 bytes o=
f
> > > CRC from the size of a packet, but the NIC will strip the CRC because
> > > the CRC strip bit in DVMOLR register is not cleared. This will cause
> > > the size of a packet to be 4 bytes less.
> > >
> > > This patch updates the CRC strip bit according to whether
> > > DEV_RX_OFFLOAD_KEEP_CRC is enabled.
> > >
> > > Fixes: a5aeb2b9e225 ("net/igc: support Rx and Tx")
> > > Cc: stable@dpdk.org
> > >
> > > Signed-off-by: Alvin Zhang <alvinx.zhang@intel.com>
> > > ---
> > >  drivers/net/igc/igc_txrx.c | 22 +++++++++++++---------
> > >  1 file changed, 13 insertions(+), 9 deletions(-)
> > >
> > > diff --git a/drivers/net/igc/igc_txrx.c b/drivers/net/igc/igc_txrx.c
> > > index c0a5d5e..68b102d 100644
> > > --- a/drivers/net/igc/igc_txrx.c
> > > +++ b/drivers/net/igc/igc_txrx.c
> > > @@ -1290,20 +1290,24 @@ int eth_igc_rx_descriptor_status(void *rx_que=
ue,
> > uint16_t offset)
> > >  	 * This needs to be done after enable.
> > >  	 */
> > >  	for (i =3D 0; i < dev->data->nb_rx_queues; i++) {
> > > +		uint32_t dvmolr;
> > > +
> > >  		rxq =3D dev->data->rx_queues[i];
> > >  		IGC_WRITE_REG(hw, IGC_RDH(rxq->reg_idx), 0);
> > > -		IGC_WRITE_REG(hw, IGC_RDT(rxq->reg_idx),
> > > -				rxq->nb_rx_desc - 1);
> > > +		IGC_WRITE_REG(hw, IGC_RDT(rxq->reg_idx), rxq->nb_rx_desc - 1);
> > > +
> > > +		dvmolr =3D IGC_READ_REG(hw, IGC_DVMOLR(rxq->queue_id));
> > >
> > >  		/* strip queue vlan offload */
> > > -		if (rxq->offloads & DEV_RX_OFFLOAD_VLAN_STRIP) {
> > > -			uint32_t dvmolr;
> > > -			dvmolr =3D IGC_READ_REG(hw, IGC_DVMOLR(rxq->queue_id));
> > > +		dvmolr =3D (rxq->offloads & DEV_RX_OFFLOAD_VLAN_STRIP) ?
> > > +			 (dvmolr | IGC_DVMOLR_STRVLAN) :
> > > +			 (dvmolr & ~IGC_DVMOLR_STRVLAN);
> >
> > Just use "if ... else .."to make code readable:
> >
> > 		if (rxq->offloads & DEV_RX_OFFLOAD_VLAN_STRIP)
> > 			dvmolr |=3D IGC_DVMOLR_STRVLAN;
> > 		else
> > 			dvmolr &=3D ~IGC_DVMOLR_STRVLAN;
> >
> >
> > >
> > > -			/* If vlan been stripped off, the CRC is meaningless. */
> >
> > Looks like we need to handle CRC & VLAN_STRIP co-exist issue:
> > 	If user enables VLAN strip, then keep CRC should be rejected,
> > 	and vice versa.
>=20
> By default, the DEV_RX_OFFLOAD_KEEP_CRC does not been set,
> so if the user set the DEV_RX_OFFLOAD_KEEP_CRC and DEV_RX_OFFLOAD_VLAN_ST=
RIP bits,
> this means the user really need CRC and VLAN stripped off, although the C=
RC is meaningless at this
> situation.
> So can we issue some warnings instead of changing the user's settings?

I re-think it again, no need to handle this now, until user complains about=
 something.

Let's just fix the code style issue. ;-)

>=20
> >
> > > -			dvmolr |=3D IGC_DVMOLR_STRVLAN | IGC_DVMOLR_STRCRC;
> > > -			IGC_WRITE_REG(hw, IGC_DVMOLR(rxq->reg_idx), dvmolr);
> > > -		}
> > > +		dvmolr =3D (offloads & DEV_RX_OFFLOAD_KEEP_CRC) ?
> > > +			 (dvmolr & ~IGC_DVMOLR_STRCRC) :
> > > +			 (dvmolr | IGC_DVMOLR_STRCRC);
> >
> > Just use "if ... else .."to make code readable:
> >
> > 		if (offloads & DEV_RX_OFFLOAD_KEEP_CRC)
> > 			dvmolr &=3D ~IGC_DVMOLR_STRCRC;
> > 		else
> > 			dvmolr |=3D IGC_DVMOLR_STRCRC;
> >
> > > +
> > > +		IGC_WRITE_REG(hw, IGC_DVMOLR(rxq->reg_idx), dvmolr);
> > >  	}
> > >
> > >  	return 0;
> > > --
> > > 1.8.3.1