From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 782C7A00C3; Thu, 13 Jan 2022 23:29:34 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 040174274D; Thu, 13 Jan 2022 23:29:34 +0100 (CET) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by mails.dpdk.org (Postfix) with ESMTP id 697254274A for ; Thu, 13 Jan 2022 23:29:31 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1642112971; x=1673648971; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=h/iPJRmsA5cIJa8ufT/xoZ3wEAOYFhw0XaZ2andYR1w=; b=XAj0n5GEe4SHkpTWbicu2JRJQ4JEGTZMsQe1dtoe89FEY/7P4sPRpgoT /57VQoVKl9qWbC3o50VJUa9i+Ur9cqXAjBoGqZOJB04FF+JtIE8MNng90 FhY/EAU5cKwnICsIH3BufCjyS8nUVhW2n0inZ2/Rusjdezt8V7Eu3V35f ehYZUEu0Jhd0TXNCtqw3x+tba7HDD/tQ3q2hKZi4BSIUIbh+fxYm7SRNC zSqBJ4nSp3VEWu1ZlrflIEDyuZlizGuxr/LjFdp9xWNUhKfZ94RvjGSea wBqQ0sRr1zcLVSODUT1JGOlVsi8ieICXbd1FGZPlfW3wPpZeEl4XoKSA0 Q==; X-IronPort-AV: E=McAfee;i="6200,9189,10226"; a="304857007" X-IronPort-AV: E=Sophos;i="5.88,286,1635231600"; d="scan'208";a="304857007" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jan 2022 14:29:30 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,286,1635231600"; d="scan'208";a="614120423" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by FMSMGA003.fm.intel.com with ESMTP; 13 Jan 2022 14:29:29 -0800 Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Thu, 13 Jan 2022 14:29:28 -0800 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) 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.2308.20; Thu, 13 Jan 2022 14:29:27 -0800 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20 via Frontend Transport; Thu, 13 Jan 2022 14:29:27 -0800 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.100) 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.2308.20; Thu, 13 Jan 2022 14:29:20 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PhELrSPdbraTgVJCR26AkEnNobU4soe3a8U836KBoEkBk/nDNu1YksHtoglxMmKGwJKQmBM62Kp7osaiJIvnJ+tMq5ZCLyLoLXisnQJlEuVjEF/CJRyQXlMCMHwOajyqqVRhcvcMZAk3Yt3T+I+/L3yC2GclFJ3XixHdFPdLtf4EOn7enz9m85JWJElko5tVDOXHmAdP0u3fVPT3NBEAyCyb6+i73tzXv04ImscWuMpsEnId7tMCtHjX8N/egfayEcpCE2lbC0JzOc3aPqeDuhqGD3HLAMmbrKFE6NzbJMynF9Jk+o3HarYsVVT3YwGb/fophDS6aLJvLRVKfeLz4w== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=LDfetiXjJTJ99hwlKD9wwLdcxyeTLhXJf37J8h/NDeY=; b=WNnYUFrhdtqhpsRADu8uegdn2jYHp6WzKNyE3Il9yDomWi85A6nSbyzsvQUZMDl1cE/Lg/cnBS2wF1dCeYHdpaBtv9clSXgWZFwY1B8pjVXMrP8/EtdP4o7fjMRem/nMgAk/+fhJGjkfE/2aHiQlaZCQ3RdzWns9a5lOFVP7dFtqS72LQwtrMwdP1mwOK6i3TUH/C4VUfQA/rsJBfrM4m5688g74/ndss1xirIeM8sMmnKWEzWBdQ/DWwvwEuZgauI82vCZmffaTbV4YDWMYRZsrTwbxVDQJFX6wVkVsPTc5Oh65eAuikVy79mqcsZxYP0QRmC+7GtFhF4aeCK4DoQ== 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 Received: from DM6PR11MB4491.namprd11.prod.outlook.com (2603:10b6:5:204::19) by DM6PR11MB4514.namprd11.prod.outlook.com (2603:10b6:5:2a3::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.9; Thu, 13 Jan 2022 22:29:14 +0000 Received: from DM6PR11MB4491.namprd11.prod.outlook.com ([fe80::7de4:731c:cee2:49c2]) by DM6PR11MB4491.namprd11.prod.outlook.com ([fe80::7de4:731c:cee2:49c2%3]) with mapi id 15.20.4888.011; Thu, 13 Jan 2022 22:29:14 +0000 From: "Ananyev, Konstantin" To: Akhil Goyal , "dev@dpdk.org" CC: Anoob Joseph , "Nicolau, Radu" , "Doherty, Declan" , "hemant.agrawal@nxp.com" , "matan@nvidia.com" , "thomas@monjalon.net" , "Yigit, Ferruh" , "andrew.rybchenko@oktetlabs.ru" , "olivier.matz@6wind.com" , "Xu, Rosen" Subject: RE: [PATCH 3/8] ethdev: add mbuf dynfield for incomplete IP reassembly Thread-Topic: [PATCH 3/8] ethdev: add mbuf dynfield for incomplete IP reassembly Thread-Index: AQHYALPm5GZXp3/J5kytklOWiwFqV6xeCiiAgAArBACAAQZioIAACg6AgAJSTpA= Date: Thu, 13 Jan 2022 22:29:14 +0000 Message-ID: References: <20210823100259.1619886-1-gakhil@marvell.com> <20220103150813.1694888-1-gakhil@marvell.com> <20220103150813.1694888-4-gakhil@marvell.com> In-Reply-To: Accept-Language: en-GB, 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.200.16 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 81238464-c870-4574-d295-08d9d6e4212f x-ms-traffictypediagnostic: DM6PR11MB4514:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8273; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: mhhp1OuMGvTYQ/MSDXxylvgBQiJuKb9F5vZdNbxbkhWtnPcM2lErRmtJppKPfQLrH2YZEoY6lVeYQMRshrvAksbxIGR3/S7BElFNni2V5VcUDHwVyLtdscohJ0hXOJxlZv77y5U/DB5XfdPMP+igp297UYOxlmkqCrYf0mlX9D5o2sXG7PQw2RKSc4X2LC/KbHnTXw/v/2A5Ka7ebhuqiXGaEHHiu5NsdA6VMVIhr/GVT4BQqQ5fJuZxE+phtGS9XRQXsVwD54Ajd5Z3jGXl7HqbFkW2QZbwhfQ1DtxjQw5D1RVAmgwtCTzVqJXa4Z6qFlrwQsOfbVCnLHS+HQwcaELxDkVtK5vNjEZdYFujjEEBh/ZoGgXhm0vL5dyzaG5mMfzbHYX3IioC2C/bopXJBemwrMmmlIs72UmhzF2ImxjLUmRmkgkl0UyR0CPqqJx53Ddd+QmTSPBCOlm1lPrSmFX7fQA0U25/oGjyUp3PL2obQantTaCPOGFzvU6IGZP1jd13FNVJSFvPef0H7xr8bC/2N4LW+VCOI2xDp1+33YXlzDhsAL7PfwufR0XlefMQIEh+4IUz4PJNaMxGuWR0SfI0pyGMOA75gjnzw97K05dYMa9u6k/79O2LR3kghbSZWsVJ5D95RH7E7WWoYENrRCa7WUk3V4q7HuJWNODgyE/4MhiKBjFDSgBOZ4M6qYMWDp/FibQzrbtYSl4kfSokpA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR11MB4491.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(64756008)(8936002)(38100700002)(316002)(122000001)(66446008)(7696005)(4326008)(8676002)(66946007)(2906002)(508600001)(110136005)(33656002)(55016003)(5660300002)(83380400001)(66556008)(54906003)(6506007)(9686003)(186003)(52536014)(26005)(107886003)(71200400001)(76116006)(82960400001)(38070700005)(86362001)(66476007); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?4YoRrUVEZtTXFhVX63+vW198B5RCAsa8gNBYkL70zNu+Ow461MCJ0Y9e8aUH?= =?us-ascii?Q?s1ktLMue6e0KHWeEq0vEtvgpNnqD9deaSKQjefbeW7afScGWYr2Kpi1nQHKp?= =?us-ascii?Q?W0VIupZagPe/0cuFI4ksKIZ/xSioX4zWrmPaA9nf3hOXD6XuDxJNkn05J8Kk?= =?us-ascii?Q?u9ywVYhNiAZqHGW71LdeBtipSyCo4V6QJbEkXxpJlOLiIyB6+2N0ru69EBYv?= =?us-ascii?Q?3QFASSzKINN6akzbGjtiS8Ga3yb8VAn58qd2oVTBKUSftyIkdgEFa6lW7hmO?= =?us-ascii?Q?xuzclTlNSlM4RXjMUnQonPIb7h6WxKY4xZ+iMPSA0LzBSkE0YYX5dNkRAHwl?= =?us-ascii?Q?DiCqmT3X6MjdtkEJCNZ61aMsgboaXlGEYq2hRJSYcvgDmQQYiSx96PzvUv0/?= =?us-ascii?Q?YqQk7t3o4+rhPlGaMGJgyaTzRmgEimZdrdDmOBsn45FBN41MxTkjT5nUoQ2F?= =?us-ascii?Q?xxmPL5Wuz79MLIdGGxZ4vGkCugjyXsvyo3WMxQGFUXSHt4715nZ6b6CDMJFI?= =?us-ascii?Q?QtCPccBNfZ3w0h1vlAh7Ud6Yhog6DLJbYElNMV9Ri/CVHRUiaWDLhLjPwb+R?= =?us-ascii?Q?VJHP0GLhzMunzzQKG7rCd1uY44gcZ3pFSnAs6hMSAr04tB1C0pq38hPVsCPv?= =?us-ascii?Q?niVuv2eRdQyH5jXjbfCcn1+UuTECPxvEiJAUWJVa7nOU5Bek77leBR301l71?= =?us-ascii?Q?rja2eTkcSGyjA/nC9TclI6P0iXzY6KhbIY1R00+4hBt3MII0hIxzmhopp0lQ?= =?us-ascii?Q?IlJUoR4DBthOXcLsKN/aGEKNEXqME1IsEahFmW+dah2kVa/6PimbtyUkLSz3?= =?us-ascii?Q?1/cE9nwv3YayMWcaLUFUK4lNGvpJttm2aAljXMlrRJJsplEkIz5xxWUY1rqZ?= =?us-ascii?Q?HOUqSk4nGc/WP6Afep12PLDckl9HIZ6MDK0W8cxCJl39SoBCWoG+lW5GkJsG?= =?us-ascii?Q?N1AZQMQx2Caxq7NcunAAKi18z2JCRXLxEwKnP3psl8z4tDrL+6fMyQrAiEl3?= =?us-ascii?Q?r6OCNW2agwarX8v54pIb0tDLan4wWk6rJowOXIHT5mAZq+Xm9TBZk+LcB5y8?= =?us-ascii?Q?NofL2qzdiQFe64x4vz2aynZQ0J7zPYEyfHl/exOpQTGgv22/kiD2/gfobRWB?= =?us-ascii?Q?2BJ3zXKOXSJzghSmSLjPEC/XBU0kA4k410dFZogOG8LbFGcxrFPdQTRLjYTg?= =?us-ascii?Q?yDDZsENm0Lbsash2CVmIYIzbjq7hRTZoGwnHgBuOjEIcVmDVBudlRRtQ4FY2?= =?us-ascii?Q?Vrk2DoopCdBSeQ9uWvgpAAgqiOqRZ57bKL+TBXFbMcpfbju4u9ffN69QLz/O?= =?us-ascii?Q?4HHwc3dyrJnLuTGWu6pSzcHklyBcInlETZo+PybHfn3OkeRXsOtQsSrm8HNN?= =?us-ascii?Q?t+CSWcXUz1FmcRO62NNuqUwbSzDN+MKDR3WfvGoCSQQCB0BqJHcC1mufcxZS?= =?us-ascii?Q?Jsr8yfgtx6fNDQ0SIAv/jc3IOifD3FsoRjcLgmgZa+wiuuVqSEWaaSr4LBfn?= =?us-ascii?Q?oPAsKAS6Swz2aOF04I97u9jXA2HAqLkcB9SVOOzldY7uoRZjHYHx8M9s1Z81?= =?us-ascii?Q?85JGaAyb1tB9UFTQkEf3xnGowLfGvDSE3sADqcrUN2JOjFQKoR5ucSZpbWo6?= =?us-ascii?Q?1/PXUmJ7ukOg6S68hVIC4/Nqm3iX/5AzAJOjPHku1KknDwLR5R9xojraBMK9?= =?us-ascii?Q?b9nZ2g=3D=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: DM6PR11MB4491.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 81238464-c870-4574-d295-08d9d6e4212f X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Jan 2022 22:29:14.6211 (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: QOswTBuv5Zx30LoRSsYnziK96fgC3m8SLpKvdkBUayaPLAjmagSrI+6wZByMYDxnr1MEmjcTCbwBRPrU8a3WKx4++h1spD/52T7IfYHrOBs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB4514 X-OriginatorOrg: intel.com X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org > > > > > > > > > > +/** > > > > > + * In case of IP reassembly offload failure, ol_flags in mbuf wi= ll be set > > > > > + * with RTE_MBUF_F_RX_IPREASSEMBLY_INCOMPLETE and packets will > > be > > > > returned > > > > > + * without alteration. The application can retrieve the attached= fragments > > > > > + * using mbuf dynamic field. > > > > > + */ > > > > > +typedef struct { > > > > > + /** > > > > > + * Next fragment packet. Application should fetch dynamic field= of > > > > > + * each fragment until a NULL is received and nb_frags is 0. > > > > > + */ > > > > > + struct rte_mbuf *next_frag; > > > > > + /** Time spent(in ms) by HW in waiting for further fragments. *= / > > > > > + uint16_t time_spent; > > > > > + /** Number of more fragments attached in mbuf dynamic fields. *= / > > > > > + uint16_t nb_frags; > > > > > +} rte_eth_ip_reass_dynfield_t; > > > > > > > > > > > > Looks like a bit of overkill to me: > > > > We do already have 'next' and 'nb_frags' fields inside mbuf, > > > > why can't they be used here? Why a separate ones are necessary? > > > > > > > The next and nb_frags in mbuf is for segmented buffers and not IP fra= gments. > > > But here we will have separate mbufs in each dynfield denoting each o= f the > > > fragments which may have further segmented buffers. > > > > Makes sense, thanks for explanation. > > Though in that case just 'struct rte_mbuf *next_frag' might be enough > > (user will walk though the list till mbuf->next_frag !=3D NULL)? > > The reason I am asking: current sizeof(rte_eth_ip_reass_dynfield_t) is = 16B, > > which is quite a lot for mbuf, especially considering that it has to be= continuous > > 16B. > > Making it smaller (8B) or even splitting into 2 fileds (8+4) will give = it more > > chances > > to coexist with other dynfields. >=20 > Even if we drop nb_frags, we will be left with uint16_t time_spent. > Are you suggesting to use separate dynfield altogether for 2 bytes of tim= e_spent? Yes, that's was my thought - split it into two separate fields, if possible= . =20 =20