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 187A0A034F; Mon, 7 Feb 2022 17:41:25 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id AEABD410F6; Mon, 7 Feb 2022 17:41:24 +0100 (CET) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mails.dpdk.org (Postfix) with ESMTP id 284B3410F3 for ; Mon, 7 Feb 2022 17:41:22 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1644252083; x=1675788083; h=message-id:date:to:cc:references:from:subject: in-reply-to:content-transfer-encoding:mime-version; bh=Z2/OdD16zXWx3TinTRyX0jQ0BK+SozEn1f0PdPp+QBY=; b=nSeM0uPLSq9lGuCg5DrTWf1NFY8v32n7B1GALiwX5P9UhHBq5gM6trEu q8ViKtsIH9ifFomCvdM6mFZrrYJydcCmb/Au6I6HctG4HCOtzGfN21rGT ASJ/0HChxaPiQx/f53zps0CKHRWKqreEoodv+5rBxczn/WhCB/ZiCBCta 6Vs0gjhrt4N3kQ0EQ5jjJcjqkCE0cX59+GRl/nmriQ2MeOtIF83A47yPI dLkkNCpmOPwdSUFJcVjdN6+x+06DfY6a9NC1s2/Y7YJ4xKrjrdgkj7jT4 Iq3QC92lAyuJTacCQfyw4OdHfP6oRi5tAEvci7NVJH8VXPlgk6a/Uo/yA Q==; X-IronPort-AV: E=McAfee;i="6200,9189,10250"; a="247588778" X-IronPort-AV: E=Sophos;i="5.88,350,1635231600"; d="scan'208";a="247588778" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Feb 2022 08:41:22 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,350,1635231600"; d="scan'208";a="628581503" Received: from orsmsx605.amr.corp.intel.com ([10.22.229.18]) by fmsmga002.fm.intel.com with ESMTP; 07 Feb 2022 08:41:22 -0800 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX605.amr.corp.intel.com (10.22.229.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Mon, 7 Feb 2022 08:41:21 -0800 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20 via Frontend Transport; Mon, 7 Feb 2022 08:41:21 -0800 Received: from NAM04-MW2-obe.outbound.protection.outlook.com (104.47.73.174) 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; Mon, 7 Feb 2022 08:41:21 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LQCEhAdPS9UwtKeFHLDj/hAvqOJXACSU9VwYV7fog31wjVctGonNWUg7PLv9ercLf707RvJTvXUOeuYjp75HTm7955ShnVGCImwDcJU852+7JhNQIPRLB1BqbF2t42yz9P5AlTRSoVm/4Kd1QywJ0RcJ4qQ+antxkMgCXL92IF1fcTuKTyZAt6duMuysHq8Ykti0rjaLK26yh5IxvSgGX9L0Vq55fuHsMp5MM+N8LTQrrpAsbuBwaHBWCWlO7ERijjssgdR+3xoZk1ZLmK3UVDbw42XTAyHyl0hSRF/3gIacKGm/Nd+R/l3t8UmpIpQpl57SscIagT19hIEHrL8yjA== 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=431cB4rF+wJ+9qOtiMmM1eAiAuvfAcoCTFD54nAGnIc=; b=NQHzD+N9UVDuKqUGG07JHHbAwIsX84K3ynJCOpbkcCCAU2hwmlUvXcL/ax7SjMQsTRuDOE/+Vdvh3h+26ejgqRiUyeWZTHzIwl6FUMZ3m0SoQ44Ueg9zwkN2skEyDbhr0t4Mz8VHGg8e3juniQCpR/AtO8BV0oNGY6Aey1WBgNNZCTcrNnA2m6LGSiHd5HAOZ5zqXuOZct3uqnKOgaJ1E5e5KGvA/u3Sfu8/KjJOK1pIYCaMgtzfANZ0xMs7/uJO2wDxnlRLnq72DbMochEki3UiPzTM6ZX+NCpUDoDD229tdJrtuCOoaMRvDYJ1rJx2xn8ErLK5qeYnML9QlrdEZA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from PH0PR11MB5000.namprd11.prod.outlook.com (2603:10b6:510:41::19) by MWHPR11MB1790.namprd11.prod.outlook.com (2603:10b6:300:10e::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.18; Mon, 7 Feb 2022 16:41:20 +0000 Received: from PH0PR11MB5000.namprd11.prod.outlook.com ([fe80::5046:8550:928d:850e]) by PH0PR11MB5000.namprd11.prod.outlook.com ([fe80::5046:8550:928d:850e%7]) with mapi id 15.20.4951.019; Mon, 7 Feb 2022 16:41:20 +0000 Message-ID: <26e903b1-924b-fd1b-cd83-f57dc327f1a2@intel.com> Date: Mon, 7 Feb 2022 16:41:13 +0000 Content-Language: en-US To: Akhil Goyal , "dev@dpdk.org" , "olivier.matz@6wind.com" CC: Anoob Joseph , "matan@nvidia.com" , "konstantin.ananyev@intel.com" , "thomas@monjalon.net" , "andrew.rybchenko@oktetlabs.ru" , "rosen.xu@intel.com" , "david.marchand@redhat.com" , "radu.nicolau@intel.com" , Jerin Jacob Kollanukkaran , "stephen@networkplumber.org" , "mdr@ashroe.eu" References: <20220130175935.1947730-1-gakhil@marvell.com> <20220204221334.3551574-1-gakhil@marvell.com> <20220204221334.3551574-3-gakhil@marvell.com> <03b80bd0-64b1-2cda-c982-e42108ffce6c@intel.com> From: Ferruh Yigit Subject: Re: [EXT] Re: [PATCH v4 2/3] ethdev: add mbuf dynfield for incomplete IP reassembly X-User: ferruhy In-Reply-To: Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: LO4P265CA0085.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:2bd::14) To PH0PR11MB5000.namprd11.prod.outlook.com (2603:10b6:510:41::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e0fd3880-bba8-403d-4953-08d9ea58ab20 X-MS-TrafficTypeDiagnostic: MWHPR11MB1790:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:326; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: WU1G2Y4WmA4IBPM5/z6JLxs2zfNKk0en6ivCA+gUiDpAaJYRj3J+9XMaMYd7o98XIhARQvdqwhd18+Ghp22zed/dfaMgIpFuUr899WK2sSqNSelZL5LvnTsiVFiR/DgouJzw6H96JP0u+CrUgW6Aw83INlKZxLXwWyq++SlTu/qT3zkY/l/MVkxzSIn0tjct5Ik79wcUbaBdIOb/ffQq4UmnLmzFxUvH/8yUR7DhysG0CveddFG/ZwextzU5CGtO6M94wknvtJnbSDq0kyWzBZ5Sq7uufMVldCVckZQXlVGGP2PQSqvOJIUoeLkPyCPDFjAbwi4wAcFVLwXPwJVeg1Pzk04OqT5/1VIIMBqeaOmlOdI6+5HU2UfQdA6bvHEL1jyECXOXPDisLVF3gAYKp2TwmqHCvjDEfSq103xVgFMUgUoFSJMCzx5S7RRG8/WvMrXddl2+gsyOdJm70AiwwiJD8r6zGv2xZ65tG6fIPa9Ps7Hky0iNxiY1P3f0tinHgWShpxwEQpQfHeOqSHqhACo019W5Mu0YN1RDzu5gagzjjGm3Sdm8Nxbw3J0bAK4mVlC+EwzC7BiEn6MzGnM5DbEN/viteJcnSM4eqCKs7DZt2Ni4KTas6nCal2k71p2DzvJbrSkUYOUHm4Rw1d1w091uZFQu0Ukh3qNkVgycBo/YIU+CJbtWcBT98cq1icH0JPM+xqrKEp/+0KBc2RNyoA== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR11MB5000.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(44832011)(186003)(26005)(38100700002)(2616005)(31686004)(6486002)(508600001)(6512007)(83380400001)(82960400001)(5660300002)(7416002)(2906002)(36756003)(110136005)(6506007)(55236004)(53546011)(54906003)(31696002)(6666004)(316002)(86362001)(66946007)(66556008)(66476007)(8936002)(8676002)(4326008)(45980500001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?U0tOc3BtbUVSVHl3TFZPMkIwV0N3SG9OeC9pZVl6RG1hWkxvaUNxclR3RlhJ?= =?utf-8?B?V3V4dnF5WGxzb0RrdHBFbjVoRDhZcWIvUUpnRlA1aGR6Ujd2VmUxVjRNRGJt?= =?utf-8?B?ajRKMTYzU2kyMytXQVEzUkdMWU5FOExvbHJnclVYVnNDZ0ZrOVBQZXhob2Vw?= =?utf-8?B?dHllL0lqOU5uenpuK2VnRG8rc2JneTdlWW5HTDU0aHhXK3M2ZjJieHZjcWJP?= =?utf-8?B?UmRNUjFQeVJhSktlbmdUcmNHWVRuUzQrcytySUlqcVo5elluVG1VREVjSUVa?= =?utf-8?B?QjArU1A3Ty9BTm5KenE3b3hITUY4QjYycElpK0VnR1JhVVRJVUZkM3lKUjVi?= =?utf-8?B?NG8yaGJuTy84ci9iMWRyNStMTEVHdGlqWkJyTjFLMVQ1MW9JNWxyeTZKaXhM?= =?utf-8?B?MGJtQmdpN2hqdHpqWFlWZmErQ3FHVkh6V2lBbVFRbEwzcUIrYlhyQTREQVlH?= =?utf-8?B?cUx6cG9jMTloc1B2RkRubXZtNVNXOXgwMEcxekZHaHFaWHM3bTR2VmZVVmlm?= =?utf-8?B?SW5GbXRwLzVRK21BK2d1U0ZCTkg5ZVFxQ211NUdZSzhTcXN5MXdNdDRoanJI?= =?utf-8?B?ZEVncXp0WERFSW8vVHY2WDdMam9tajlYREdwVlJ3eFFudWwvcWJXUEhNRXFs?= =?utf-8?B?c255dGpWd1NuVnkweDlQQlVsSEJCVzg3cWZQUy9vUHJLTHpjb0ViRzN6MERz?= =?utf-8?B?M2xoVHB0a1p1d3g0eEZaTG9JU2VlNi9wREhhWUs1azF3TUR2OFNzTVRxQ2Fp?= =?utf-8?B?Z2pZTE91S3pCbjlRZ3dUUU8xNTVkK0tHWnI1dSsyWFdPSmJFNHk5SGIxbUVY?= =?utf-8?B?bnNrM1JINFdLTWFSUEpNSGxtYjQzTXdjcUgyelU1SXRwQUtQczJHQkNFcmNa?= =?utf-8?B?RStvNXloTXphNGE3dUE4WitlamVUMzRJUzBHVU80ZEJLaEtWd2w0SjZVR0kz?= =?utf-8?B?SGR6djFSdjZFd2RBcVNsSW9SL3RiVlpCTDF6YnhidTR4SDFYbTN4OEltSzUz?= =?utf-8?B?Q1F6dTYvN2REM2NuOFBrUDZJR1RveG8rZHhzdDJRV3ZCWS9NdWtOZzN5dHVh?= =?utf-8?B?TnlRdVJEY3RKNTh1RHNsMHpPZXM4WGUyUEJJL1JoY0paODVzY2o2Qzh1clIy?= =?utf-8?B?Si8zdzB6SndqUGtRd0dFampTWHFJMExBNGwrS2J2elUyd3B1aVNzSXhDSnJE?= =?utf-8?B?YlhhUTRPaHFHdmxsek5rbFZNSVZJbGhXRFJlYWNUenBTSko2NzBCSFpCcGZ1?= =?utf-8?B?YVl5UHlCYTRzaWU4MzA5Y3Z4MldxYTJKaTl4NlpjTVE5N3ZpWURrVExHQ3ow?= =?utf-8?B?cktyYjV1d1gxYkRSM1ZrNE8vZC8vK0Y4ZVE4RmFVTXZMeHJTazI0dk1hTXB6?= =?utf-8?B?MkdpaE0wek9EZExzV1JoRUppVnNTcWI0TmZxRHRVRS93KzFsVXVXNXpNdGRv?= =?utf-8?B?a0IraGpCNWdDd1l5NG0yQURJN1FTVmRWRlExdDI3MWVwTVJ4bjJyMmE3ZVVP?= =?utf-8?B?WUVEK3FrTkplME9uWWNhRG4rOG9GbXV5Q3dKOGxvSnlwc1Z1WHJadTBJOUVt?= =?utf-8?B?VUJlWjMxeTdxTFhOMWc2bSsrV1FHMG9iV1AyT0J3Wm0xaFU2WlY4MTN0WjJ5?= =?utf-8?B?T01NcjQ4cnZIeGptNENjaTVQQ0lxM21NaFpzY04wS3Y3aTMxM3Q1ZG1mUURE?= =?utf-8?B?OXFPQnhJcFBmUUNQL3JVcytvbDNFVXZ3ck82ZHhRVjV3c2d5WjFRbHlKcXhF?= =?utf-8?B?V2xtMHBuRlMwcExBQU9LMEhUaWhGU3A5U0J5M09jdzd5OS9vVGFqclJtUjJx?= =?utf-8?B?SWlmYndub3hiWlVBYjNHZENsM2FGZU9XdWcwVWtBVDBhbTZpNU5GWlRQVy9i?= =?utf-8?B?ZitvMzNIR3BWNXVWTmFmdk1YVHdPTFVFZUVpaDNHUWordzJTS05OcDRUL2Er?= =?utf-8?B?Z2hvOWVJRXVKaU5pMWlRcDJOMWswQUlEUmU3RDdaWklLVVpWN0hTNHVFemJC?= =?utf-8?B?U3dBNzVuRlNkRG5UYVBGSE5sV25Ka3RRWlZzYTRBU1hOZytSckFQSGZTdmZY?= =?utf-8?B?cjJhYW96MUY2cm5Cc0VzdFpDb0lUOTdMLzlEVjJTYkpwQWNWU3J0czNsSnk0?= =?utf-8?B?eUcvWWtXUFZranliczlWNzhsYUVmM2tSMjFNSWlXZFBHOHlETGlDSGY3S0Y1?= =?utf-8?Q?9o5CSBJ54PRGav9VR8Dayek=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: e0fd3880-bba8-403d-4953-08d9ea58ab20 X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB5000.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2022 16:41:20.1020 (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: NBWYRYZW0F0OMvyHDmCxl7SJ13ARtwvDuSj6Q+aoE9G6VRag6mV3sy6vCli6vR84V7qE22TfK05tj3r+tSfU+w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR11MB1790 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 On 2/7/2022 4:20 PM, Akhil Goyal wrote: >> On 2/7/2022 2:20 PM, Akhil Goyal wrote: >>>> On 2/4/2022 10:13 PM, Akhil Goyal wrote: >>>>> Hardware IP reassembly may be incomplete for multiple reasons like >>>>> reassembly timeout reached, duplicate fragments, etc. >>>>> To save application cycles to process these packets again, a new >>>>> mbuf dynflag is added to show that the mbuf received is not >>>>> reassembled properly. >>>>> >>>>> Now if this dynflag is set, application can retrieve corresponding >>>>> chain of mbufs using mbuf dynfield set by the PMD. Now, it will be >>>>> up to application to either drop those fragments or wait for more time. >>>>> >>>>> Signed-off-by: Akhil Goyal >>>>> Change-Id: I118847cd6269da7e6313ac4e0d970d790dfef1ff >>>>> --- >>>>> lib/ethdev/ethdev_driver.h | 8 ++++++++ >>>>> lib/ethdev/rte_ethdev.c | 28 ++++++++++++++++++++++++++++ >>>>> lib/ethdev/rte_ethdev.h | 17 +++++++++++++++++ >>>>> lib/ethdev/version.map | 1 + >>>>> lib/mbuf/rte_mbuf_dyn.h | 9 +++++++++ >>>>> 5 files changed, 63 insertions(+) >>>>> >>>>> diff --git a/lib/ethdev/ethdev_driver.h b/lib/ethdev/ethdev_driver.h >>>>> index 8fe77f283f..6cfb266f7d 100644 >>>>> --- a/lib/ethdev/ethdev_driver.h >>>>> +++ b/lib/ethdev/ethdev_driver.h >>>>> @@ -1707,6 +1707,14 @@ int >>>>> rte_eth_hairpin_queue_peer_unbind(uint16_t cur_port, uint16_t >>>> cur_queue, >>>>> uint32_t direction); >>>>> >>>>> +/** >>>>> + * @internal >>>>> + * Register mbuf dynamic field and flag for IP reassembly incomplete case. >>>>> + */ >>>>> +__rte_internal >>>>> +int >>>>> +rte_eth_ip_reass_dynfield_register(int *field_offset, int *flag); >>>>> + >>>>> >>>>> /* >>>>> * Legacy ethdev API used internally by drivers. >>>>> diff --git a/lib/ethdev/rte_ethdev.c b/lib/ethdev/rte_ethdev.c >>>>> index 88ca4ce867..48367dbec1 100644 >>>>> --- a/lib/ethdev/rte_ethdev.c >>>>> +++ b/lib/ethdev/rte_ethdev.c >>>>> @@ -6567,6 +6567,34 @@ rte_eth_ip_reassembly_conf_set(uint16_t >>>> port_id, >>>>> (*dev->dev_ops->ip_reassembly_conf_set)(dev, conf)); >>>>> } >>>>> >>>>> +int >>>>> +rte_eth_ip_reass_dynfield_register(int *field_offset, int *flag_offset) >>>>> +{ >>>>> + static const struct rte_mbuf_dynfield field_desc = { >>>>> + .name = RTE_MBUF_DYNFIELD_IP_REASS_NAME, >>>>> + .size = sizeof(rte_eth_ip_reass_dynfield_t), >>>>> + .align = __alignof__(rte_eth_ip_reass_dynfield_t), >>>>> + }; >>>>> + static const struct rte_mbuf_dynflag ip_reass_dynflag = { >>>>> + .name = >>>> RTE_MBUF_DYNFLAG_IP_REASS_INCOMPLETE_NAME, >>>>> + }; >>>>> + int offset; >>>>> + >>>>> + offset = rte_mbuf_dynfield_register(&field_desc); >>>>> + if (offset < 0) >>>>> + return -1; >>>>> + if (field_offset != NULL) >>>>> + *field_offset = offset; >>>>> + >>>>> + offset = rte_mbuf_dynflag_register(&ip_reass_dynflag); >>>>> + if (offset < 0) >>>>> + return -1; >>>>> + if (flag_offset != NULL) >>>>> + *flag_offset = offset; >>>>> + >>>>> + return 0; >>>>> +} >>>>> + >>>> >>>> How mandatory is this field for the feature? >>>> >>>> If 'rte_eth_ip_reass_dynfield_register()' fails, what PMD should do? >>>> Should this API called before 'rte_eth_ip_reassembly_capability_get()' and >>>> if registering dnyfield fails should PMD return feature as not supported? >>> >>> Dynfield is added for the error/ incomplete reassembly case. >>> If the dynfield is not registered, the feature can work well for success >> scenarios. >>> Dynfield registration is responsibility of PMD and it is upto the driver to decide >>> when to set the dynfield. The registration can be done in conf_set() API. >>> >>>> >>>> Can you please describe this dependency, preferable in the >>>> 'rte_eth_ip_reassembly_capability_get()' doxygen comment? >>> >>> Capability get is not a place where the feature is enabled. >>> Dynfield should be registered only in case the feature is enabled. >>> I will add following line in conf_set() doxygen comment. >>> >>> The PMD should call 'rte_eth_ip_reass_dynfield_register()' when >>> the feature is enabled and return error if dynfield is not registered. >>> Dynfield is needed to give packets back to the application in case the >>> reassembly is not complete. >>> >> >> Can you also clarify what PMD should do related to the ip reassembly feature >> when registering dynfield fails? Should it keep the feature enabled or disabled? >> >> This will also clarify for the application, if application detects that >> 'RTE_MBUF_DYNFIELD_IP_REASS_NAME' is not registered how it should >> behave? >> Ignore it? Fail? Disable ip reassembly? > > The PMD can return error in the conf_set API, if dynfield is not successfully > registered. Or in case of inline IPsec, the PMD can return the error while > creating inline security session. > I think better to handle in the conf_set, since there can be other users than IPSec. > Hence the application will get to know if the dynfield is successfully configured > Or not. Application already can know if dynfield is registered or not via 'rte_mbuf_dynfield_lookup()'. > If the dynfield is not configured, PMD will return configuration error > (either in conf_set or in security_session_create) and feature > will not be enabled. > ack. What do you think to document this in the API documentation (doxygen comment)?