get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/123698/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 123698,
    "url": "https://patches.dpdk.org/api/patches/123698/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20230210173744.3597666-3-s.v.naga.harish.k@intel.com/",
    "project": {
        "id": 1,
        "url": "https://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20230210173744.3597666-3-s.v.naga.harish.k@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20230210173744.3597666-3-s.v.naga.harish.k@intel.com",
    "date": "2023-02-10T17:37:44",
    "name": "[v6,3/3] eventdev/crypto: add params set/get APIs",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "3d0849e9f3c0d4bc8179a8c66a191b1cb9ac82f9",
    "submitter": {
        "id": 2280,
        "url": "https://patches.dpdk.org/api/people/2280/?format=api",
        "name": "Naga Harish K, S V",
        "email": "s.v.naga.harish.k@intel.com"
    },
    "delegate": {
        "id": 310,
        "url": "https://patches.dpdk.org/api/users/310/?format=api",
        "username": "jerin",
        "first_name": "Jerin",
        "last_name": "Jacob",
        "email": "jerinj@marvell.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20230210173744.3597666-3-s.v.naga.harish.k@intel.com/mbox/",
    "series": [
        {
            "id": 26955,
            "url": "https://patches.dpdk.org/api/series/26955/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=26955",
            "date": "2023-02-10T17:37:42",
            "name": "[v6,1/3] eventdev/eth_rx: add params set/get APIs",
            "version": 6,
            "mbox": "https://patches.dpdk.org/series/26955/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/123698/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/123698/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 9FE1941C50;\n\tFri, 10 Feb 2023 18:38:51 +0100 (CET)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 3CC0642C76;\n\tFri, 10 Feb 2023 18:38:43 +0100 (CET)",
            "from mga04.intel.com (mga04.intel.com [192.55.52.120])\n by mails.dpdk.org (Postfix) with ESMTP id 48D9742B8C\n for <dev@dpdk.org>; Fri, 10 Feb 2023 18:38:40 +0100 (CET)",
            "from fmsmga003.fm.intel.com ([10.253.24.29])\n by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 10 Feb 2023 09:37:54 -0800",
            "from txandevlnx322.an.intel.com ([10.123.117.44])\n by FMSMGA003.fm.intel.com with ESMTP; 10 Feb 2023 09:37:52 -0800"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1676050720; x=1707586720;\n h=from:to:cc:subject:date:message-id:in-reply-to:\n references:mime-version:content-transfer-encoding;\n bh=IXV69e0wK9BkD2oaAMX4GO0PYXZOwe2UBYCrCbU9UKw=;\n b=nQ5So+qhi+Cpft9EPDtQTWp3kyA2+Ne8vUhnMPESevb9J8XGF13IjHsI\n lZNpUxtnxIquLqc+SKy2ZS/0bzGi2INzWsPe0PGYbSDOX4IC+x/f946aV\n R1kh2oKgi+zILmnQywB+5SmHuU3dP25ySHtaXXoCdsq8hy/KPYqQXzcp6\n nB3V5iVjSxKINIDpjwRHkKU38bDbuiSCUCMCsagX6WyoPVYnn28n/xF71\n V5cb0URFjF3wSzSkB1akbpphCNjjaDwV7cA5FcyM6x8E4Upg+y3hQUDro\n 2VCP3EAInW1VqzK1lSrqhywrb1HI4dwWBDdvmdl1P+NZRgpLAXOBhmMe/ w==;",
        "X-IronPort-AV": [
            "E=McAfee;i=\"6500,9779,10617\"; a=\"329109010\"",
            "E=Sophos;i=\"5.97,287,1669104000\"; d=\"scan'208\";a=\"329109010\"",
            "E=McAfee;i=\"6500,9779,10617\"; a=\"756857498\"",
            "E=Sophos;i=\"5.97,287,1669104000\"; d=\"scan'208\";a=\"756857498\""
        ],
        "X-ExtLoop1": "1",
        "From": "Naga Harish K S V <s.v.naga.harish.k@intel.com>",
        "To": "jerinj@marvell.com, erik.g.carrillo@intel.com, abhinandan.gujjar@intel.com",
        "Cc": "dev@dpdk.org,\n\tjay.jayatheerthan@intel.com",
        "Subject": "[PATCH v6 3/3] eventdev/crypto: add params set/get APIs",
        "Date": "Fri, 10 Feb 2023 11:37:44 -0600",
        "Message-Id": "<20230210173744.3597666-3-s.v.naga.harish.k@intel.com>",
        "X-Mailer": "git-send-email 2.23.0",
        "In-Reply-To": "<20230210173744.3597666-1-s.v.naga.harish.k@intel.com>",
        "References": "<20230210134646.3407253-1-s.v.naga.harish.k@intel.com>\n <20230210173744.3597666-1-s.v.naga.harish.k@intel.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "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>,\n <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>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org"
    },
    "content": "The adapter runtime configuration parameters defined in the\nstruct rte_event_crypto_adapter_runtime_params can be configured\nand retrieved using rte_event_crypto_adapter_runtime_params_set()\nand rte_event_eth_rx_adapter_runtime_params_get() respectively.\n\nSigned-off-by: Naga Harish K S V <s.v.naga.harish.k@intel.com>\n---\nv6:\n* updated doxygen comments as per review comments\n---\n---\n app/test/test_event_crypto_adapter.c          | 109 ++++++++++++++++++\n .../prog_guide/event_crypto_adapter.rst       |   8 ++\n lib/eventdev/rte_event_crypto_adapter.c       | 101 ++++++++++++++++\n lib/eventdev/rte_event_crypto_adapter.h       |  85 ++++++++++++++\n lib/eventdev/version.map                      |   3 +\n 5 files changed, 306 insertions(+)",
    "diff": "diff --git a/app/test/test_event_crypto_adapter.c b/app/test/test_event_crypto_adapter.c\nindex a38e389abd..264d6f731e 100644\n--- a/app/test/test_event_crypto_adapter.c\n+++ b/app/test/test_event_crypto_adapter.c\n@@ -272,6 +272,111 @@ test_crypto_adapter_stats(void)\n \treturn TEST_SUCCESS;\n }\n \n+static int\n+test_crypto_adapter_params(void)\n+{\n+\tint err;\n+\tstruct rte_event_crypto_adapter_runtime_params in_params;\n+\tstruct rte_event_crypto_adapter_runtime_params out_params;\n+\tuint32_t cap;\n+\tstruct rte_event_crypto_adapter_queue_conf queue_conf = {\n+\t\t.ev = response_info,\n+\t};\n+\n+\terr = rte_event_crypto_adapter_caps_get(evdev, TEST_CDEV_ID, &cap);\n+\tTEST_ASSERT_SUCCESS(err, \"Failed to get adapter capabilities\\n\");\n+\n+\tif (cap & RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_QP_EV_BIND) {\n+\t\terr = rte_event_crypto_adapter_queue_pair_add(TEST_ADAPTER_ID,\n+\t\t\t\tTEST_CDEV_ID, TEST_CDEV_QP_ID, &queue_conf);\n+\t} else\n+\t\terr = rte_event_crypto_adapter_queue_pair_add(TEST_ADAPTER_ID,\n+\t\t\t\t\tTEST_CDEV_ID, TEST_CDEV_QP_ID, NULL);\n+\n+\tTEST_ASSERT_SUCCESS(err, \"Failed to add queue pair\\n\");\n+\n+\terr = rte_event_crypto_adapter_runtime_params_init(&in_params);\n+\tTEST_ASSERT(err == 0, \"Expected 0 got %d\", err);\n+\terr = rte_event_crypto_adapter_runtime_params_init(&out_params);\n+\tTEST_ASSERT(err == 0, \"Expected 0 got %d\", err);\n+\n+\t/* Case 1: Get the default value of mbufs processed by adapter */\n+\terr = rte_event_crypto_adapter_runtime_params_get(TEST_ADAPTER_ID,\n+\t\t\t\t\t\t\t  &out_params);\n+\tTEST_ASSERT(err == 0, \"Expected 0 got %d\", err);\n+\n+\t/* Case 2: Set max_nb = 32 (=BATCH_SEIZE) */\n+\tin_params.max_nb = 32;\n+\n+\terr = rte_event_crypto_adapter_runtime_params_set(TEST_ADAPTER_ID,\n+\t\t\t\t\t\t\t  &in_params);\n+\tTEST_ASSERT(err == 0, \"Expected 0 got %d\", err);\n+\n+\terr = rte_event_crypto_adapter_runtime_params_get(TEST_ADAPTER_ID,\n+\t\t\t\t\t\t\t  &out_params);\n+\tTEST_ASSERT(err == 0, \"Expected 0 got %d\", err);\n+\tTEST_ASSERT(in_params.max_nb == out_params.max_nb, \"Expected %u got %u\",\n+\t\t    in_params.max_nb, out_params.max_nb);\n+\n+\t/* Case 3: Set max_nb = 192 */\n+\tin_params.max_nb = 192;\n+\n+\terr = rte_event_crypto_adapter_runtime_params_set(TEST_ADAPTER_ID,\n+\t\t\t\t\t\t\t  &in_params);\n+\tTEST_ASSERT(err == 0, \"Expected 0 got %d\", err);\n+\n+\terr = rte_event_crypto_adapter_runtime_params_get(TEST_ADAPTER_ID,\n+\t\t\t\t\t\t\t  &out_params);\n+\tTEST_ASSERT(err == 0, \"Expected 0 got %d\", err);\n+\tTEST_ASSERT(in_params.max_nb == out_params.max_nb, \"Expected %u got %u\",\n+\t\t    in_params.max_nb, out_params.max_nb);\n+\n+\t/* Case 4: Set max_nb = 256 */\n+\tin_params.max_nb = 256;\n+\n+\terr = rte_event_crypto_adapter_runtime_params_set(TEST_ADAPTER_ID,\n+\t\t\t\t\t\t\t  &in_params);\n+\tTEST_ASSERT(err == 0, \"Expected 0 got %d\", err);\n+\n+\terr = rte_event_crypto_adapter_runtime_params_get(TEST_ADAPTER_ID,\n+\t\t\t\t\t\t\t  &out_params);\n+\tTEST_ASSERT(err == 0, \"Expected 0 got %d\", err);\n+\tTEST_ASSERT(in_params.max_nb == out_params.max_nb, \"Expected %u got %u\",\n+\t\t    in_params.max_nb, out_params.max_nb);\n+\n+\t/* Case 5: Set max_nb = 30(<BATCH_SIZE) */\n+\tin_params.max_nb = 30;\n+\n+\terr = rte_event_crypto_adapter_runtime_params_set(TEST_ADAPTER_ID,\n+\t\t\t\t\t\t\t  &in_params);\n+\tTEST_ASSERT(err == 0, \"Expected 0 got %d\", err);\n+\n+\terr = rte_event_crypto_adapter_runtime_params_get(TEST_ADAPTER_ID,\n+\t\t\t\t\t\t\t  &out_params);\n+\tTEST_ASSERT(err == 0, \"Expected 0 got %d\", err);\n+\tTEST_ASSERT(in_params.max_nb == out_params.max_nb, \"Expected %u got %u\",\n+\t\t    in_params.max_nb, out_params.max_nb);\n+\n+\t/* Case 6: Set max_nb = 512 */\n+\tin_params.max_nb = 512;\n+\n+\terr = rte_event_crypto_adapter_runtime_params_set(TEST_ADAPTER_ID,\n+\t\t\t\t\t\t\t  &in_params);\n+\tTEST_ASSERT(err == 0, \"Expected 0 got %d\", err);\n+\n+\terr = rte_event_crypto_adapter_runtime_params_get(TEST_ADAPTER_ID,\n+\t\t\t\t\t\t\t  &out_params);\n+\tTEST_ASSERT(err == 0, \"Expected 0 got %d\", err);\n+\tTEST_ASSERT(in_params.max_nb == out_params.max_nb, \"Expected %u got %u\",\n+\t\t    in_params.max_nb, out_params.max_nb);\n+\n+\terr = rte_event_crypto_adapter_queue_pair_del(TEST_ADAPTER_ID,\n+\t\t\t\t\tTEST_CDEV_ID, TEST_CDEV_QP_ID);\n+\tTEST_ASSERT_SUCCESS(err, \"Failed to delete add queue pair\\n\");\n+\n+\treturn TEST_SUCCESS;\n+}\n+\n static int\n test_op_forward_mode(uint8_t session_less)\n {\n@@ -1454,6 +1559,10 @@ static struct unit_test_suite functional_testsuite = {\n \t\t\t\ttest_crypto_adapter_free,\n \t\t\t\ttest_crypto_adapter_stats),\n \n+\t\tTEST_CASE_ST(test_crypto_adapter_create,\n+\t\t\t\ttest_crypto_adapter_free,\n+\t\t\t\ttest_crypto_adapter_params),\n+\n \t\tTEST_CASE_ST(test_crypto_adapter_conf_op_forward_mode,\n \t\t\t\ttest_crypto_adapter_stop,\n \t\t\t\ttest_session_with_op_forward_mode),\ndiff --git a/doc/guides/prog_guide/event_crypto_adapter.rst b/doc/guides/prog_guide/event_crypto_adapter.rst\nindex 46b3dc2f1c..1b6d4a0966 100644\n--- a/doc/guides/prog_guide/event_crypto_adapter.rst\n+++ b/doc/guides/prog_guide/event_crypto_adapter.rst\n@@ -350,3 +350,11 @@ in struct ``rte_event_crypto_adapter_stats``. The received packet and\n enqueued event counts are a sum of the counts from the eventdev PMD callbacks\n if the callback is supported, and the counts maintained by the service function,\n if one exists.\n+\n+Set/Get adapter runtime configuration parameters\n+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n+\n+The runtime configuration parameters of adapter can be set/get using\n+``rte_event_crypto_adapter_runtime_params_set()`` and\n+``rte_event_crypto_adapter_runtime_params_get()`` respectively. The parameters that\n+can be set/get are defined in ``struct rte_event_crypto_adapter_runtime_params``.\ndiff --git a/lib/eventdev/rte_event_crypto_adapter.c b/lib/eventdev/rte_event_crypto_adapter.c\nindex 7f0a25a4cc..f6c1e5380d 100644\n--- a/lib/eventdev/rte_event_crypto_adapter.c\n+++ b/lib/eventdev/rte_event_crypto_adapter.c\n@@ -1335,6 +1335,107 @@ rte_event_crypto_adapter_stats_reset(uint8_t id)\n \treturn 0;\n }\n \n+int\n+rte_event_crypto_adapter_runtime_params_init(\n+\t\tstruct rte_event_crypto_adapter_runtime_params *params)\n+{\n+\tif (params == NULL)\n+\t\treturn -EINVAL;\n+\n+\tmemset(params, 0, sizeof(*params));\n+\tparams->max_nb = DEFAULT_MAX_NB;\n+\n+\treturn 0;\n+}\n+\n+static int\n+crypto_adapter_cap_check(struct event_crypto_adapter *adapter)\n+{\n+\tint ret;\n+\tuint32_t caps;\n+\n+\tif (!adapter->nb_qps)\n+\t\treturn -EINVAL;\n+\tret = rte_event_crypto_adapter_caps_get(adapter->eventdev_id,\n+\t\t\t\t\t\tadapter->next_cdev_id,\n+\t\t\t\t\t\t&caps);\n+\tif (ret) {\n+\t\tRTE_EDEV_LOG_ERR(\"Failed to get adapter caps dev %\" PRIu8\n+\t\t\t\" cdev %\" PRIu8, adapter->eventdev_id,\n+\t\t\tadapter->next_cdev_id);\n+\t\treturn ret;\n+\t}\n+\n+\tif ((caps & RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_OP_FWD) ||\n+\t    (caps & RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_OP_NEW))\n+\t\treturn -ENOTSUP;\n+\n+\treturn 0;\n+}\n+\n+int\n+rte_event_crypto_adapter_runtime_params_set(uint8_t id,\n+\t\tstruct rte_event_crypto_adapter_runtime_params *params)\n+{\n+\tstruct event_crypto_adapter *adapter;\n+\tint ret;\n+\n+\tif (eca_memzone_lookup())\n+\t\treturn -ENOMEM;\n+\n+\tEVENT_CRYPTO_ADAPTER_ID_VALID_OR_ERR_RET(id, -EINVAL);\n+\n+\tif (params == NULL) {\n+\t\tRTE_EDEV_LOG_ERR(\"params pointer is NULL\\n\");\n+\t\treturn -EINVAL;\n+\t}\n+\n+\tadapter = eca_id_to_adapter(id);\n+\tif (adapter == NULL)\n+\t\treturn -EINVAL;\n+\n+\tret = crypto_adapter_cap_check(adapter);\n+\tif (ret)\n+\t\treturn ret;\n+\n+\trte_spinlock_lock(&adapter->lock);\n+\tadapter->max_nb = params->max_nb;\n+\trte_spinlock_unlock(&adapter->lock);\n+\n+\treturn 0;\n+}\n+\n+int\n+rte_event_crypto_adapter_runtime_params_get(uint8_t id,\n+\t\tstruct rte_event_crypto_adapter_runtime_params *params)\n+{\n+\tstruct event_crypto_adapter *adapter;\n+\tint ret;\n+\n+\tif (eca_memzone_lookup())\n+\t\treturn -ENOMEM;\n+\n+\n+\tEVENT_CRYPTO_ADAPTER_ID_VALID_OR_ERR_RET(id, -EINVAL);\n+\n+\tif (params == NULL) {\n+\t\tRTE_EDEV_LOG_ERR(\"params pointer is NULL\\n\");\n+\t\treturn -EINVAL;\n+\t}\n+\n+\tadapter = eca_id_to_adapter(id);\n+\tif (adapter == NULL)\n+\t\treturn -EINVAL;\n+\n+\tret = crypto_adapter_cap_check(adapter);\n+\tif (ret)\n+\t\treturn ret;\n+\n+\tparams->max_nb = adapter->max_nb;\n+\n+\treturn 0;\n+}\n+\n int\n rte_event_crypto_adapter_service_id_get(uint8_t id, uint32_t *service_id)\n {\ndiff --git a/lib/eventdev/rte_event_crypto_adapter.h b/lib/eventdev/rte_event_crypto_adapter.h\nindex fad4543506..4e1f1bb3a8 100644\n--- a/lib/eventdev/rte_event_crypto_adapter.h\n+++ b/lib/eventdev/rte_event_crypto_adapter.h\n@@ -138,6 +138,9 @@\n  *  - rte_event_crypto_adapter_stop()\n  *  - rte_event_crypto_adapter_stats_get()\n  *  - rte_event_crypto_adapter_stats_reset()\n+ *  - rte_event_crypto_adapter_runtime_params_get()\n+ *  - rte_event_crypto_adapter_runtime_params_init()\n+ *  - rte_event_crypto_adapter_runtime_params_set()\n \n  * The application creates an instance using rte_event_crypto_adapter_create()\n  * or rte_event_crypto_adapter_create_ext().\n@@ -253,6 +256,31 @@ struct rte_event_crypto_adapter_conf {\n \t */\n };\n \n+/**\n+ * Adapter runtime configuration parameters\n+ */\n+struct rte_event_crypto_adapter_runtime_params {\n+\tuint32_t max_nb;\n+\t/**< The adapter can return early if it has processed at least\n+\t * max_nb crypto ops. This isn't treated as a requirement; batching\n+\t * may cause the adapter to process more than max_nb crypto ops.\n+\t *\n+\t * rte_event_crypto_adapter_create() configures the\n+\t * adapter with default value of max_nb.\n+\t * rte_event_crypto_adapter_create_ext() configures the adapter with\n+\t * user provided value of max_nb through\n+\t * rte_event_crypto_adapter_conf::max_nb parameter.\n+\t * rte_event_cryptoadapter_runtime_params_set() allows to re-configure\n+\t * max_nb during runtime (after adding at least one queue pair)\n+\t *\n+\t * This is valid for the devices without\n+\t * RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_OP_FWD or\n+\t * RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_OP_NEW capability.\n+\t */\n+\tuint32_t rsvd[15];\n+\t/**< Reserved fields for future expansion */\n+};\n+\n #define RTE_EVENT_CRYPTO_ADAPTER_EVENT_VECTOR\t0x1\n /**< This flag indicates that crypto operations processed on the crypto\n  * adapter need to be vectorized\n@@ -608,6 +636,63 @@ rte_event_crypto_adapter_service_id_get(uint8_t id, uint32_t *service_id);\n int\n rte_event_crypto_adapter_event_port_get(uint8_t id, uint8_t *event_port_id);\n \n+/**\n+ * Initialize the adapter runtime configuration parameters\n+ *\n+ * @param params\n+ *  A pointer to structure of type struct rte_event_crypto_adapter_runtime_params\n+ *\n+ * @return\n+ *  -  0: Success\n+ *  - <0: Error code on failure\n+ */\n+__rte_experimental\n+int\n+rte_event_crypto_adapter_runtime_params_init(\n+\t\tstruct rte_event_crypto_adapter_runtime_params *params);\n+\n+/**\n+ * Set the adapter runtime configuration parameters\n+ *\n+ * @param id\n+ *  Adapter identifier\n+ *\n+ * @param params\n+ *  A pointer to structure of type struct rte_event_crypto_adapter_runtime_params\n+ *  with configuration parameter values. The reserved fields of this structure\n+ *  must be initialized to zero and the valid fields need to be set appropriately.\n+ *  This struct can be initialized using\n+ *  rte_event_crypto_adapter_runtime_params_init() API to default values or\n+ *  application may reset this struct and update required fields.\n+ *\n+ * @return\n+ *  -  0: Success\n+ *  - <0: Error code on failure\n+ */\n+__rte_experimental\n+int\n+rte_event_crypto_adapter_runtime_params_set(uint8_t id,\n+\t\tstruct rte_event_crypto_adapter_runtime_params *params);\n+\n+/**\n+ * Get the adapter runtime configuration parameters\n+ *\n+ * @param id\n+ *  Adapter identifier\n+ *\n+ * @param[out] params\n+ *  A pointer to structure of type struct rte_event_crypto_adapter_runtime_params\n+ *  containing valid adapter parameters when return value is 0.\n+ *\n+ * @return\n+ *  -  0: Success\n+ *  - <0: Error code on failure\n+ */\n+__rte_experimental\n+int\n+rte_event_crypto_adapter_runtime_params_get(uint8_t id,\n+\t\tstruct rte_event_crypto_adapter_runtime_params *params);\n+\n /**\n  * @warning\n  * @b EXPERIMENTAL: this API may change without prior notice\ndiff --git a/lib/eventdev/version.map b/lib/eventdev/version.map\nindex 7b93736dff..3b17c84eae 100644\n--- a/lib/eventdev/version.map\n+++ b/lib/eventdev/version.map\n@@ -121,6 +121,9 @@ EXPERIMENTAL {\n \trte_event_eth_tx_adapter_queue_stop;\n \n \t# added in 23.03\n+\trte_event_crypto_adapter_runtime_params_get;\n+\trte_event_crypto_adapter_runtime_params_init;\n+\trte_event_crypto_adapter_runtime_params_set;\n \trte_event_eth_rx_adapter_runtime_params_get;\n \trte_event_eth_rx_adapter_runtime_params_init;\n \trte_event_eth_rx_adapter_runtime_params_set;\n",
    "prefixes": [
        "v6",
        "3/3"
    ]
}