From patchwork Thu Oct 19 16:55:58 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 133016 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: 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]) by inbox.dpdk.org (Postfix) with ESMTP id 37B65431AE; Thu, 19 Oct 2023 18:59:57 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CCE9442EA7; Thu, 19 Oct 2023 18:56:48 +0200 (CEST) Received: from mail-pf1-f178.google.com (mail-pf1-f178.google.com [209.85.210.178]) by mails.dpdk.org (Postfix) with ESMTP id B3DD942E32 for ; Thu, 19 Oct 2023 18:56:36 +0200 (CEST) Received: by mail-pf1-f178.google.com with SMTP id d2e1a72fcca58-6b5e6301a19so5706546b3a.0 for ; Thu, 19 Oct 2023 09:56:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20230601.gappssmtp.com; s=20230601; t=1697734595; x=1698339395; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=KuSb6ZLLEdsNgcHDdcoONHzNTxtBRY1y3n2zRgXPjko=; b=ghOS6F+ed4hQZfKgIbefPHQBUtI3twJzuQEl6/ZrMY+1Nv5ZyWV7VQp1cYISeN7bNr bM3u3PU1WRaAYNW5o67edkwQbBlv7Iv+5iJ382CQz3SSHg43l/dHaN8iafaXCdrgbqrb veO+fzxdCGjBTXS2hDp3wOgQqj2IJY6Uyrru4iZ//awSWg7Vni/OxOVc1RZbua66LLx0 jSY++gLeB+DurCPQNfV1qIJFECXjwT79TZwjShwH7M3/qXDx/5cZU8LV7Bm+tcFyhJhc wA5L4eLsNPZP7i3RBrG7e5CGqF4eSdvb7Rd6st82RdxtVcAONrA8XTR/qwZF3Kd8DCR4 BI2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697734595; x=1698339395; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=KuSb6ZLLEdsNgcHDdcoONHzNTxtBRY1y3n2zRgXPjko=; b=qYRVJqd7EZo+XSaHcw5WqLXJoCs8udQiIrqIMFNknVISiJMPaCOingwneLEtAYBHdQ sd8sIj0T0CzTlM2Eq98tNMoh3JSqzp/hQ7BfiMbUIosxBsZDskGS0Jlzi+darHQiVIl3 ULrxujfJzrHRrpSiHx+IgooaswTdGsKh1iH26A+tT0J0eWKXiPkPcO1ZTDFIhnC2vLJV KJflx7jS/hURXgY7EfzkDi8iX+1lY178AbGyUYiYMAWBT6MJOyTxSXD3eUp2cNBlxopW j1JK47Z/2aA1AAwh9fj47mT+O3c6xA8ZMLEMx1VWEkGKF4OehlsAvsSMizrj++b64Gkf /2SQ== X-Gm-Message-State: AOJu0YzIXM8O63XwsTB/DAdq5kuaMv1hwwoC5lLq0mDfQb1WH86qsiNa QHExQhgeLMlfz6isifbm6sHuIyQReXdzrwdqUwvNIA== X-Google-Smtp-Source: AGHT+IGfKqDncalEVqghF+T90pTg+8SV5yl7eSikvP/CFkhfLA/KCu2tmothw6uWSKQ+uCgr5QLskA== X-Received: by 2002:a05:6a00:1402:b0:690:3b59:cc7a with SMTP id l2-20020a056a00140200b006903b59cc7amr2753354pfu.23.1697734594982; Thu, 19 Oct 2023 09:56:34 -0700 (PDT) Received: from hermes.local (204-195-126-68.wavecable.com. [204.195.126.68]) by smtp.gmail.com with ESMTPSA id y22-20020aa79436000000b00672ea40b8a9sm13988pfo.170.2023.10.19.09.56.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Oct 2023 09:56:34 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Cristian Dumitrescu Subject: [PATCH v3 29/29] port: make API's stable Date: Thu, 19 Oct 2023 09:55:58 -0700 Message-Id: <20231019165559.115742-30-stephen@networkplumber.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20231019165559.115742-1-stephen@networkplumber.org> References: <20230808173527.186042-1-stephen@networkplumber.org> <20231019165559.115742-1-stephen@networkplumber.org> MIME-Version: 1.0 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 Follow the guidelines already in deprecation.rst and make the API's stable, even though they are marked as deprecated. Note: this library never properly marked its experimental API's. The API's were in the EXPERIMENTAL section but the macro __rte_experimental was missing. Signed-off-by: Stephen Hemminger --- doc/guides/rel_notes/deprecation.rst | 4 - lib/pipeline/rte_port_in_action.h | 8 -- lib/pipeline/rte_swx_ctl.h | 57 ----------- lib/pipeline/rte_swx_pipeline.h | 29 ------ lib/pipeline/rte_table_action.h | 16 --- lib/pipeline/version.map | 140 ++++++++++++--------------- lib/port/version.map | 24 ++--- 7 files changed, 69 insertions(+), 209 deletions(-) diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst index 2526040e44f9..601a9044e3d8 100644 --- a/doc/guides/rel_notes/deprecation.rst +++ b/doc/guides/rel_notes/deprecation.rst @@ -134,13 +134,9 @@ Deprecation Notices * pipeline: The pipeline library legacy API (functions rte_pipeline_*) will be deprecated and subsequently removed in DPDK 24.11 release. - Before this, the new pipeline library API (functions rte_swx_pipeline_*) - will gradually transition from experimental to stable status. * table: The table library legacy API (functions rte_table_*) will be deprecated and subsequently removed in DPDK 24.11 release. * port: The port library legacy API (functions rte_port_*) will be deprecated and subsequently removed in DPDK 24.11 release. - Before this, the new port library API (functions rte_swx_port_*) - will gradually transition from experimental to stable status. diff --git a/lib/pipeline/rte_port_in_action.h b/lib/pipeline/rte_port_in_action.h index ec2994599f61..884c45bbd683 100644 --- a/lib/pipeline/rte_port_in_action.h +++ b/lib/pipeline/rte_port_in_action.h @@ -172,7 +172,6 @@ struct rte_port_in_action_profile; * @return * Input port action profile handle on success, NULL otherwise. */ -__rte_experimental struct rte_port_in_action_profile * rte_port_in_action_profile_create(uint32_t socket_id); @@ -185,7 +184,6 @@ rte_port_in_action_profile_create(uint32_t socket_id); * @return * Always zero. */ -__rte_experimental int rte_port_in_action_profile_free(struct rte_port_in_action_profile *profile); @@ -204,7 +202,6 @@ rte_port_in_action_profile_free(struct rte_port_in_action_profile *profile); * @return * Zero on success, non-zero error code otherwise. */ -__rte_experimental int rte_port_in_action_profile_action_register( struct rte_port_in_action_profile *profile, @@ -227,7 +224,6 @@ rte_port_in_action_profile_action_register( * * @see rte_port_in_action_create() */ -__rte_experimental int rte_port_in_action_profile_freeze(struct rte_port_in_action_profile *profile); @@ -250,7 +246,6 @@ struct rte_port_in_action; * @return * Handle to input port action object on success, NULL on error. */ -__rte_experimental struct rte_port_in_action * rte_port_in_action_create(struct rte_port_in_action_profile *profile, uint32_t socket_id); @@ -264,7 +259,6 @@ rte_port_in_action_create(struct rte_port_in_action_profile *profile, * @return * Always zero. */ -__rte_experimental int rte_port_in_action_free(struct rte_port_in_action *action); @@ -278,7 +272,6 @@ rte_port_in_action_free(struct rte_port_in_action *action); * @return * Zero on success, non-zero error code otherwise. */ -__rte_experimental int rte_port_in_action_params_get(struct rte_port_in_action *action, struct rte_pipeline_port_in_params *params); @@ -298,7 +291,6 @@ rte_port_in_action_params_get(struct rte_port_in_action *action, * @return * Zero on success, non-zero error code otherwise. */ -__rte_experimental int rte_port_in_action_apply(struct rte_port_in_action *action, enum rte_port_in_action_type type, diff --git a/lib/pipeline/rte_swx_ctl.h b/lib/pipeline/rte_swx_ctl.h index 6ef2551ab534..28b68d48e753 100644 --- a/lib/pipeline/rte_swx_ctl.h +++ b/lib/pipeline/rte_swx_ctl.h @@ -83,7 +83,6 @@ struct rte_swx_ctl_pipeline_info { * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental int rte_swx_ctl_pipeline_info_get(struct rte_swx_pipeline *p, struct rte_swx_ctl_pipeline_info *pipeline); @@ -99,7 +98,6 @@ rte_swx_ctl_pipeline_info_get(struct rte_swx_pipeline *p, * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental int rte_swx_ctl_pipeline_numa_node_get(struct rte_swx_pipeline *p, int *numa_node); @@ -121,7 +119,6 @@ rte_swx_ctl_pipeline_numa_node_get(struct rte_swx_pipeline *p, * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental int rte_swx_ctl_pipeline_port_in_stats_read(struct rte_swx_pipeline *p, uint32_t port_id, @@ -140,7 +137,6 @@ rte_swx_ctl_pipeline_port_in_stats_read(struct rte_swx_pipeline *p, * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental int rte_swx_ctl_pipeline_port_out_stats_read(struct rte_swx_pipeline *p, uint32_t port_id, @@ -172,7 +168,6 @@ struct rte_swx_ctl_action_info { * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental int rte_swx_ctl_action_info_get(struct rte_swx_pipeline *p, uint32_t action_id, @@ -208,7 +203,6 @@ struct rte_swx_ctl_action_arg_info { * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental int rte_swx_ctl_action_arg_info_get(struct rte_swx_pipeline *p, uint32_t action_id, @@ -259,7 +253,6 @@ struct rte_swx_ctl_table_info { * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental int rte_swx_ctl_table_info_get(struct rte_swx_pipeline *p, uint32_t table_id, @@ -303,7 +296,6 @@ struct rte_swx_ctl_table_match_field_info { * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental int rte_swx_ctl_table_match_field_info_get(struct rte_swx_pipeline *p, uint32_t table_id, @@ -340,7 +332,6 @@ struct rte_swx_ctl_table_action_info { * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental int rte_swx_ctl_table_action_info_get(struct rte_swx_pipeline *p, uint32_t table_id, @@ -366,7 +357,6 @@ rte_swx_ctl_table_action_info_get(struct rte_swx_pipeline *p, * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental int rte_swx_ctl_table_ops_get(struct rte_swx_pipeline *p, uint32_t table_id, @@ -405,7 +395,6 @@ struct rte_swx_table_stats { * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental int rte_swx_ctl_pipeline_table_stats_read(struct rte_swx_pipeline *p, const char *table_name, @@ -443,7 +432,6 @@ struct rte_swx_ctl_selector_info { * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental int rte_swx_ctl_selector_info_get(struct rte_swx_pipeline *p, uint32_t selector_id, @@ -462,7 +450,6 @@ rte_swx_ctl_selector_info_get(struct rte_swx_pipeline *p, * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental int rte_swx_ctl_selector_group_id_field_info_get(struct rte_swx_pipeline *p, uint32_t selector_id, @@ -483,7 +470,6 @@ rte_swx_ctl_selector_group_id_field_info_get(struct rte_swx_pipeline *p, * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental int rte_swx_ctl_selector_field_info_get(struct rte_swx_pipeline *p, uint32_t selector_id, @@ -503,7 +489,6 @@ rte_swx_ctl_selector_field_info_get(struct rte_swx_pipeline *p, * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental int rte_swx_ctl_selector_member_id_field_info_get(struct rte_swx_pipeline *p, uint32_t selector_id, @@ -528,7 +513,6 @@ struct rte_swx_pipeline_selector_stats { * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental int rte_swx_ctl_pipeline_selector_stats_read(struct rte_swx_pipeline *p, const char *selector_name, @@ -575,7 +559,6 @@ struct rte_swx_ctl_learner_info { * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental int rte_swx_ctl_learner_info_get(struct rte_swx_pipeline *p, uint32_t learner_id, @@ -596,7 +579,6 @@ rte_swx_ctl_learner_info_get(struct rte_swx_pipeline *p, * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental int rte_swx_ctl_learner_match_field_info_get(struct rte_swx_pipeline *p, uint32_t learner_id, @@ -620,7 +602,6 @@ rte_swx_ctl_learner_match_field_info_get(struct rte_swx_pipeline *p, * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental int rte_swx_ctl_learner_action_info_get(struct rte_swx_pipeline *p, uint32_t learner_id, @@ -642,7 +623,6 @@ rte_swx_ctl_learner_action_info_get(struct rte_swx_pipeline *p, * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental int rte_swx_ctl_pipeline_learner_timeout_get(struct rte_swx_pipeline *p, uint32_t learner_id, @@ -664,7 +644,6 @@ rte_swx_ctl_pipeline_learner_timeout_get(struct rte_swx_pipeline *p, * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental int rte_swx_ctl_pipeline_learner_timeout_set(struct rte_swx_pipeline *p, uint32_t learner_id, @@ -714,7 +693,6 @@ struct rte_swx_learner_stats { * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental int rte_swx_ctl_pipeline_learner_stats_read(struct rte_swx_pipeline *p, const char *learner_name, @@ -750,7 +728,6 @@ struct rte_swx_pipeline_mirroring_session_params { * -EINVAL: Invalid argument; * -EEXIST: Pipeline was already built successfully. */ -__rte_experimental int rte_swx_ctl_pipeline_mirroring_session_set(struct rte_swx_pipeline *p, uint32_t session_id, @@ -790,7 +767,6 @@ struct rte_swx_table_state { * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental int rte_swx_pipeline_table_state_get(struct rte_swx_pipeline *p, struct rte_swx_table_state **table_state); @@ -809,7 +785,6 @@ rte_swx_pipeline_table_state_get(struct rte_swx_pipeline *p, * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental int rte_swx_pipeline_table_state_set(struct rte_swx_pipeline *p, struct rte_swx_table_state *table_state); @@ -829,7 +804,6 @@ struct rte_swx_ctl_pipeline; * @return * Valid pipeline control handle if found or NULL otherwise. */ -__rte_experimental struct rte_swx_ctl_pipeline * rte_swx_ctl_pipeline_find(const char *name); @@ -841,7 +815,6 @@ rte_swx_ctl_pipeline_find(const char *name); * @return * Pipeline control handle, on success, or NULL, on error. */ -__rte_experimental struct rte_swx_ctl_pipeline * rte_swx_ctl_pipeline_create(struct rte_swx_pipeline *p); @@ -861,7 +834,6 @@ rte_swx_ctl_pipeline_create(struct rte_swx_pipeline *p); * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental int rte_swx_ctl_pipeline_table_entry_add(struct rte_swx_ctl_pipeline *ctl, const char *table_name, @@ -883,7 +855,6 @@ rte_swx_ctl_pipeline_table_entry_add(struct rte_swx_ctl_pipeline *ctl, * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental int rte_swx_ctl_pipeline_table_default_entry_add(struct rte_swx_ctl_pipeline *ctl, const char *table_name, @@ -906,7 +877,6 @@ rte_swx_ctl_pipeline_table_default_entry_add(struct rte_swx_ctl_pipeline *ctl, * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental int rte_swx_ctl_pipeline_table_entry_delete(struct rte_swx_ctl_pipeline *ctl, const char *table_name, @@ -931,7 +901,6 @@ rte_swx_ctl_pipeline_table_entry_delete(struct rte_swx_ctl_pipeline *ctl, * -EINVAL: Invalid argument; * -ENOSPC: All groups are currently in use, no group available. */ -__rte_experimental int rte_swx_ctl_pipeline_selector_group_add(struct rte_swx_ctl_pipeline *ctl, const char *selector_name, @@ -954,7 +923,6 @@ rte_swx_ctl_pipeline_selector_group_add(struct rte_swx_ctl_pipeline *ctl, * -EINVAL: Invalid argument; * -ENOMEM: Not enough memory. */ -__rte_experimental int rte_swx_ctl_pipeline_selector_group_delete(struct rte_swx_ctl_pipeline *ctl, const char *selector_name, @@ -984,7 +952,6 @@ rte_swx_ctl_pipeline_selector_group_delete(struct rte_swx_ctl_pipeline *ctl, * -ENOMEM: Not enough memory; * -ENOSPC: The group is full. */ -__rte_experimental int rte_swx_ctl_pipeline_selector_group_member_add(struct rte_swx_ctl_pipeline *ctl, const char *selector_name, @@ -1010,7 +977,6 @@ rte_swx_ctl_pipeline_selector_group_member_add(struct rte_swx_ctl_pipeline *ctl, * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental int rte_swx_ctl_pipeline_selector_group_member_delete(struct rte_swx_ctl_pipeline *ctl, const char *selector_name, @@ -1032,7 +998,6 @@ rte_swx_ctl_pipeline_selector_group_member_delete(struct rte_swx_ctl_pipeline *c * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental int rte_swx_ctl_pipeline_learner_default_entry_add(struct rte_swx_ctl_pipeline *ctl, const char *learner_name, @@ -1053,7 +1018,6 @@ rte_swx_ctl_pipeline_learner_default_entry_add(struct rte_swx_ctl_pipeline *ctl, * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental int rte_swx_ctl_pipeline_commit(struct rte_swx_ctl_pipeline *ctl, int abort_on_fail); @@ -1066,7 +1030,6 @@ rte_swx_ctl_pipeline_commit(struct rte_swx_ctl_pipeline *ctl, * @param[in] ctl * Pipeline control handle. */ -__rte_experimental void rte_swx_ctl_pipeline_abort(struct rte_swx_ctl_pipeline *ctl); @@ -1089,7 +1052,6 @@ rte_swx_ctl_pipeline_abort(struct rte_swx_ctl_pipeline *ctl); * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental struct rte_swx_table_entry * rte_swx_ctl_pipeline_table_entry_read(struct rte_swx_ctl_pipeline *ctl, const char *table_name, @@ -1115,7 +1077,6 @@ rte_swx_ctl_pipeline_table_entry_read(struct rte_swx_ctl_pipeline *ctl, * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental struct rte_swx_table_entry * rte_swx_ctl_pipeline_learner_default_entry_read(struct rte_swx_ctl_pipeline *ctl, const char *learner_name, @@ -1137,7 +1098,6 @@ rte_swx_ctl_pipeline_learner_default_entry_read(struct rte_swx_ctl_pipeline *ctl * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental int rte_swx_ctl_pipeline_table_fprintf(FILE *f, struct rte_swx_ctl_pipeline *ctl, @@ -1158,7 +1118,6 @@ rte_swx_ctl_pipeline_table_fprintf(FILE *f, * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental int rte_swx_ctl_pipeline_selector_fprintf(FILE *f, struct rte_swx_ctl_pipeline *ctl, @@ -1190,7 +1149,6 @@ struct rte_swx_ctl_regarray_info { * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental int rte_swx_ctl_regarray_info_get(struct rte_swx_pipeline *p, uint32_t regarray_id, @@ -1211,7 +1169,6 @@ rte_swx_ctl_regarray_info_get(struct rte_swx_pipeline *p, * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental int rte_swx_ctl_pipeline_regarray_read(struct rte_swx_pipeline *p, const char *regarray_name, @@ -1233,7 +1190,6 @@ rte_swx_ctl_pipeline_regarray_read(struct rte_swx_pipeline *p, * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental int rte_swx_ctl_pipeline_regarray_write(struct rte_swx_pipeline *p, const char *regarray_name, @@ -1258,7 +1214,6 @@ rte_swx_ctl_pipeline_regarray_write(struct rte_swx_pipeline *p, * -EINVAL: Invalid argument; * -ENOMEM: Not enough memory. */ -__rte_experimental int rte_swx_ctl_pipeline_regarray_read_with_key(struct rte_swx_pipeline *p, const char *regarray_name, @@ -1284,7 +1239,6 @@ rte_swx_ctl_pipeline_regarray_read_with_key(struct rte_swx_pipeline *p, * -EINVAL: Invalid argument; * -ENOMEM: Not enough memory. */ -__rte_experimental int rte_swx_ctl_pipeline_regarray_write_with_key(struct rte_swx_pipeline *p, const char *regarray_name, @@ -1318,7 +1272,6 @@ struct rte_swx_ctl_metarray_info { * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental int rte_swx_ctl_metarray_info_get(struct rte_swx_pipeline *p, uint32_t metarray_id, @@ -1339,7 +1292,6 @@ rte_swx_ctl_metarray_info_get(struct rte_swx_pipeline *p, * -ENOMEM: Not enough space/cannot allocate memory; * -EEXIST: Meter profile with this name already exists. */ -__rte_experimental int rte_swx_ctl_meter_profile_add(struct rte_swx_pipeline *p, const char *name, @@ -1357,7 +1309,6 @@ rte_swx_ctl_meter_profile_add(struct rte_swx_pipeline *p, * -EINVAL: Invalid argument; * -EBUSY: Meter profile is currently in use. */ -__rte_experimental int rte_swx_ctl_meter_profile_delete(struct rte_swx_pipeline *p, const char *name); @@ -1380,7 +1331,6 @@ rte_swx_ctl_meter_profile_delete(struct rte_swx_pipeline *p, * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental int rte_swx_ctl_meter_reset(struct rte_swx_pipeline *p, const char *metarray_name, @@ -1405,7 +1355,6 @@ rte_swx_ctl_meter_reset(struct rte_swx_pipeline *p, * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental int rte_swx_ctl_meter_set(struct rte_swx_pipeline *p, const char *metarray_name, @@ -1436,7 +1385,6 @@ struct rte_swx_ctl_meter_stats { * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental int rte_swx_ctl_meter_stats_read(struct rte_swx_pipeline *p, const char *metarray_name, @@ -1463,7 +1411,6 @@ rte_swx_ctl_meter_stats_read(struct rte_swx_pipeline *p, * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental int rte_swx_ctl_meter_reset_with_key(struct rte_swx_pipeline *p, const char *metarray_name, @@ -1491,7 +1438,6 @@ rte_swx_ctl_meter_reset_with_key(struct rte_swx_pipeline *p, * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental int rte_swx_ctl_meter_set_with_key(struct rte_swx_pipeline *p, const char *metarray_name, @@ -1516,7 +1462,6 @@ rte_swx_ctl_meter_set_with_key(struct rte_swx_pipeline *p, * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental int rte_swx_ctl_meter_stats_read_with_key(struct rte_swx_pipeline *p, const char *metarray_name, @@ -1612,7 +1557,6 @@ rte_swx_ctl_pipeline_rss_key_write(struct rte_swx_pipeline *p, const char *rss_obj_name, uint32_t key_size, uint8_t *key); - /** * Pipeline control free * @@ -1620,7 +1564,6 @@ rte_swx_ctl_pipeline_rss_key_write(struct rte_swx_pipeline *p, * Pipeline control handle. * If ctl is NULL, no operation is performed. */ -__rte_experimental void rte_swx_ctl_pipeline_free(struct rte_swx_ctl_pipeline *ctl); diff --git a/lib/pipeline/rte_swx_pipeline.h b/lib/pipeline/rte_swx_pipeline.h index 25df042d3bd8..898e883dd0d1 100644 --- a/lib/pipeline/rte_swx_pipeline.h +++ b/lib/pipeline/rte_swx_pipeline.h @@ -52,7 +52,6 @@ struct rte_swx_pipeline; * @return * Valid pipeline handle if found or NULL otherwise. */ -__rte_experimental struct rte_swx_pipeline * rte_swx_pipeline_find(const char *name); @@ -72,7 +71,6 @@ rte_swx_pipeline_find(const char *name); * -ENOMEM: Not enough space/cannot allocate memory; * -EEXIST: Pipeline with this name already exists. */ -__rte_experimental int rte_swx_pipeline_config(struct rte_swx_pipeline **p, const char *name, @@ -97,7 +95,6 @@ rte_swx_pipeline_config(struct rte_swx_pipeline **p, * -ENOMEM: Not enough space/cannot allocate memory; * -EEXIST: Input port type with this name already exists. */ -__rte_experimental int rte_swx_pipeline_port_in_type_register(struct rte_swx_pipeline *p, const char *name, @@ -120,7 +117,6 @@ rte_swx_pipeline_port_in_type_register(struct rte_swx_pipeline *p, * -ENOMEM: Not enough space/cannot allocate memory; * -ENODEV: Input port object creation error. */ -__rte_experimental int rte_swx_pipeline_port_in_config(struct rte_swx_pipeline *p, uint32_t port_id, @@ -146,7 +142,6 @@ rte_swx_pipeline_port_in_config(struct rte_swx_pipeline *p, * -ENOMEM: Not enough space/cannot allocate memory; * -EEXIST: Output port type with this name already exists. */ -__rte_experimental int rte_swx_pipeline_port_out_type_register(struct rte_swx_pipeline *p, const char *name, @@ -169,7 +164,6 @@ rte_swx_pipeline_port_out_type_register(struct rte_swx_pipeline *p, * -ENOMEM: Not enough space/cannot allocate memory; * -ENODEV: Output port object creation error. */ -__rte_experimental int rte_swx_pipeline_port_out_config(struct rte_swx_pipeline *p, uint32_t port_id, @@ -211,7 +205,6 @@ struct rte_swx_pipeline_mirroring_params { * -ENOMEM: Not enough memory; * -EEXIST: Pipeline was already built successfully. */ -__rte_experimental int rte_swx_pipeline_mirroring_config(struct rte_swx_pipeline *p, struct rte_swx_pipeline_mirroring_params *params); @@ -242,7 +235,6 @@ rte_swx_pipeline_mirroring_config(struct rte_swx_pipeline *p, * -ENOMEM: Not enough space/cannot allocate memory; * -EEXIST: Extern type with this name already exists. */ -__rte_experimental int rte_swx_pipeline_extern_type_register(struct rte_swx_pipeline *p, const char *name, @@ -268,7 +260,6 @@ rte_swx_pipeline_extern_type_register(struct rte_swx_pipeline *p, * -EEXIST: Member function with this name already exists for this type; * -ENOSPC: Maximum number of member functions reached for this type. */ -__rte_experimental int rte_swx_pipeline_extern_type_member_func_register(struct rte_swx_pipeline *p, const char *extern_type_name, @@ -295,7 +286,6 @@ rte_swx_pipeline_extern_type_member_func_register(struct rte_swx_pipeline *p, * -EEXIST: Extern object with this name already exists; * -ENODEV: Extern object constructor error. */ -__rte_experimental int rte_swx_pipeline_extern_object_config(struct rte_swx_pipeline *p, const char *extern_type_name, @@ -321,7 +311,6 @@ rte_swx_pipeline_extern_object_config(struct rte_swx_pipeline *p, * -ENOMEM: Not enough space/cannot allocate memory; * -EEXIST: Extern function with this name already exists. */ -__rte_experimental int rte_swx_pipeline_extern_func_register(struct rte_swx_pipeline *p, const char *name, @@ -346,7 +335,6 @@ rte_swx_pipeline_extern_func_register(struct rte_swx_pipeline *p, * -ENOMEM: Not enough space/cannot allocate memory; * -EEXIST: Hash function with this name already exists. */ -__rte_experimental int rte_swx_pipeline_hash_func_register(struct rte_swx_pipeline *p, const char *name, @@ -425,7 +413,6 @@ struct rte_swx_field_params { * -ENOMEM: Not enough space/cannot allocate memory; * -EEXIST: Struct type with this name already exists. */ -__rte_experimental int rte_swx_pipeline_struct_type_register(struct rte_swx_pipeline *p, const char *name, @@ -449,7 +436,6 @@ rte_swx_pipeline_struct_type_register(struct rte_swx_pipeline *p, * -EEXIST: Header with this name already exists; * -ENOSPC: Maximum number of headers reached for the pipeline. */ -__rte_experimental int rte_swx_pipeline_packet_header_register(struct rte_swx_pipeline *p, const char *name, @@ -466,7 +452,6 @@ rte_swx_pipeline_packet_header_register(struct rte_swx_pipeline *p, * 0 on success or the following error codes otherwise: * -EINVAL: Invalid argument. */ -__rte_experimental int rte_swx_pipeline_packet_metadata_register(struct rte_swx_pipeline *p, const char *struct_type_name); @@ -601,7 +586,6 @@ rte_swx_pipeline_packet_metadata_register(struct rte_swx_pipeline *p, * -ENOMEM: Not enough space/cannot allocate memory; * -EEXIST: Action with this name already exists. */ -__rte_experimental int rte_swx_pipeline_action_config(struct rte_swx_pipeline *p, const char *name, @@ -630,7 +614,6 @@ rte_swx_pipeline_action_config(struct rte_swx_pipeline *p, * -ENOMEM: Not enough space/cannot allocate memory; * -EEXIST: Table type with this name already exists. */ -__rte_experimental int rte_swx_pipeline_table_type_register(struct rte_swx_pipeline *p, const char *name, @@ -739,7 +722,6 @@ struct rte_swx_pipeline_table_params { * -EEXIST: Table with this name already exists; * -ENODEV: Table creation error. */ -__rte_experimental int rte_swx_pipeline_table_config(struct rte_swx_pipeline *p, const char *name, @@ -793,7 +775,6 @@ struct rte_swx_pipeline_selector_params { * -EEXIST: Selector table with this name already exists; * -ENODEV: Selector table creation error. */ -__rte_experimental int rte_swx_pipeline_selector_config(struct rte_swx_pipeline *p, const char *name, @@ -881,7 +862,6 @@ struct rte_swx_pipeline_learner_params { * -EEXIST: Learner table with this name already exists; * -ENODEV: Learner table creation error. */ -__rte_experimental int rte_swx_pipeline_learner_config(struct rte_swx_pipeline *p, const char *name, @@ -907,7 +887,6 @@ rte_swx_pipeline_learner_config(struct rte_swx_pipeline *p, * -ENOMEM: Not enough space/cannot allocate memory; * -EEXIST: Register array with this name already exists. */ -__rte_experimental int rte_swx_pipeline_regarray_config(struct rte_swx_pipeline *p, const char *name, @@ -930,7 +909,6 @@ rte_swx_pipeline_regarray_config(struct rte_swx_pipeline *p, * -ENOMEM: Not enough space/cannot allocate memory; * -EEXIST: Meter array with this name already exists. */ -__rte_experimental int rte_swx_pipeline_metarray_config(struct rte_swx_pipeline *p, const char *name, @@ -950,7 +928,6 @@ rte_swx_pipeline_metarray_config(struct rte_swx_pipeline *p, * -EINVAL: Invalid argument; * -ENOMEM: Not enough space/cannot allocate memory. */ -__rte_experimental int rte_swx_pipeline_instructions_config(struct rte_swx_pipeline *p, const char **instructions, @@ -971,7 +948,6 @@ rte_swx_pipeline_instructions_config(struct rte_swx_pipeline *p, * -ENOMEM: Not enough space/cannot allocate memory; * -EEXIST: Pipeline was already built successfully. */ -__rte_experimental int rte_swx_pipeline_build(struct rte_swx_pipeline *p); @@ -993,7 +969,6 @@ rte_swx_pipeline_build(struct rte_swx_pipeline *p); * -ENOMEM: Not enough space/cannot allocate memory; * -EEXIST: Resource with the same name already exists. */ -__rte_experimental int rte_swx_pipeline_codegen(FILE *spec_file, FILE *code_file, @@ -1026,7 +1001,6 @@ rte_swx_pipeline_codegen(FILE *spec_file, * -EEXIST: Pipeline with this name already exists; * -ENODEV: Extern object or table creation error. */ -__rte_experimental int rte_swx_pipeline_build_from_lib(struct rte_swx_pipeline **p, const char *name, @@ -1042,7 +1016,6 @@ rte_swx_pipeline_build_from_lib(struct rte_swx_pipeline **p, * @param[in] n_instructions * Number of instructions to execute. */ -__rte_experimental void rte_swx_pipeline_run(struct rte_swx_pipeline *p, uint32_t n_instructions); @@ -1056,7 +1029,6 @@ rte_swx_pipeline_run(struct rte_swx_pipeline *p, * Pipeline handle. * If p is NULL, no operation is performed. */ -__rte_experimental void rte_swx_pipeline_flush(struct rte_swx_pipeline *p); @@ -1066,7 +1038,6 @@ rte_swx_pipeline_flush(struct rte_swx_pipeline *p); * @param[in] p * Pipeline handle. */ -__rte_experimental void rte_swx_pipeline_free(struct rte_swx_pipeline *p); diff --git a/lib/pipeline/rte_table_action.h b/lib/pipeline/rte_table_action.h index 5dffbeb70031..3f9fd8696c8b 100644 --- a/lib/pipeline/rte_table_action.h +++ b/lib/pipeline/rte_table_action.h @@ -819,7 +819,6 @@ struct rte_table_action_profile; * @return * Table action profile handle on success, NULL otherwise. */ -__rte_experimental struct rte_table_action_profile * rte_table_action_profile_create(struct rte_table_action_common_config *common); @@ -831,7 +830,6 @@ rte_table_action_profile_create(struct rte_table_action_common_config *common); * @return * Zero on success, non-zero error code otherwise. */ -__rte_experimental int rte_table_action_profile_free(struct rte_table_action_profile *profile); @@ -850,7 +848,6 @@ rte_table_action_profile_free(struct rte_table_action_profile *profile); * @return * Zero on success, non-zero error code otherwise. */ -__rte_experimental int rte_table_action_profile_action_register(struct rte_table_action_profile *profile, enum rte_table_action_type type, @@ -871,7 +868,6 @@ rte_table_action_profile_action_register(struct rte_table_action_profile *profil * * @see rte_table_action_create() */ -__rte_experimental int rte_table_action_profile_freeze(struct rte_table_action_profile *profile); @@ -895,7 +891,6 @@ struct rte_table_action; * * @see rte_table_action_create() */ -__rte_experimental struct rte_table_action * rte_table_action_create(struct rte_table_action_profile *profile, uint32_t socket_id); @@ -908,7 +903,6 @@ rte_table_action_create(struct rte_table_action_profile *profile, * @return * Zero on success, non-zero error code otherwise. */ -__rte_experimental int rte_table_action_free(struct rte_table_action *action); @@ -922,7 +916,6 @@ rte_table_action_free(struct rte_table_action *action); * @return * Zero on success, non-zero error code otherwise. */ -__rte_experimental int rte_table_action_table_params_get(struct rte_table_action *action, struct rte_pipeline_table_params *params); @@ -945,7 +938,6 @@ rte_table_action_table_params_get(struct rte_table_action *action, * @return * Zero on success, non-zero error code otherwise. */ -__rte_experimental int rte_table_action_apply(struct rte_table_action *action, void *data, @@ -965,7 +957,6 @@ rte_table_action_apply(struct rte_table_action *action, * @return * Zero on success, non-zero error code otherwise. */ -__rte_experimental int rte_table_action_dscp_table_update(struct rte_table_action *action, uint64_t dscp_mask, @@ -985,7 +976,6 @@ rte_table_action_dscp_table_update(struct rte_table_action *action, * @return * Zero on success, non-zero error code otherwise. */ -__rte_experimental int rte_table_action_meter_profile_add(struct rte_table_action *action, uint32_t meter_profile_id, @@ -1002,7 +992,6 @@ rte_table_action_meter_profile_add(struct rte_table_action *action, * @return * Zero on success, non-zero error code otherwise. */ -__rte_experimental int rte_table_action_meter_profile_delete(struct rte_table_action *action, uint32_t meter_profile_id); @@ -1034,7 +1023,6 @@ rte_table_action_meter_profile_delete(struct rte_table_action *action, * @return * Zero on success, non-zero error code otherwise. */ -__rte_experimental int rte_table_action_meter_read(struct rte_table_action *action, void *data, @@ -1061,7 +1049,6 @@ rte_table_action_meter_read(struct rte_table_action *action, * @return * Zero on success, non-zero error code otherwise. */ -__rte_experimental int rte_table_action_ttl_read(struct rte_table_action *action, void *data, @@ -1087,7 +1074,6 @@ rte_table_action_ttl_read(struct rte_table_action *action, * @return * Zero on success, non-zero error code otherwise. */ -__rte_experimental int rte_table_action_stats_read(struct rte_table_action *action, void *data, @@ -1108,7 +1094,6 @@ rte_table_action_stats_read(struct rte_table_action *action, * @return * Zero on success, non-zero error code otherwise. */ -__rte_experimental int rte_table_action_time_read(struct rte_table_action *action, void *data, @@ -1124,7 +1109,6 @@ rte_table_action_time_read(struct rte_table_action *action, * @return * The pointer to the session on success, NULL otherwise. */ -__rte_experimental struct rte_cryptodev_sym_session * rte_table_action_crypto_sym_session_get(struct rte_table_action *action, void *data); diff --git a/lib/pipeline/version.map b/lib/pipeline/version.map index 6997b69340ef..64bc0f1183ed 100644 --- a/lib/pipeline/version.map +++ b/lib/pipeline/version.map @@ -24,14 +24,6 @@ DPDK_24 { rte_pipeline_table_entry_delete; rte_pipeline_table_entry_delete_bulk; rte_pipeline_table_stats_read; - - local: *; -}; - -EXPERIMENTAL { - global: - - # added in 18.05 rte_port_in_action_apply; rte_port_in_action_create; rte_port_in_action_free; @@ -40,56 +32,76 @@ EXPERIMENTAL { rte_port_in_action_profile_create; rte_port_in_action_profile_free; rte_port_in_action_profile_freeze; - rte_table_action_apply; - rte_table_action_create; - rte_table_action_dscp_table_update; - rte_table_action_free; - rte_table_action_meter_profile_add; - rte_table_action_meter_profile_delete; - rte_table_action_meter_read; - rte_table_action_profile_action_register; - rte_table_action_profile_create; - rte_table_action_profile_free; - rte_table_action_profile_freeze; - rte_table_action_stats_read; - rte_table_action_table_params_get; - rte_table_action_time_read; - rte_table_action_ttl_read; - - # added in 18.11 - rte_table_action_crypto_sym_session_get; - - # added in 20.11 rte_swx_ctl_action_arg_info_get; rte_swx_ctl_action_info_get; + rte_swx_ctl_learner_action_info_get; + rte_swx_ctl_learner_info_get; + rte_swx_ctl_learner_match_field_info_get; + rte_swx_ctl_metarray_info_get; + rte_swx_ctl_meter_profile_add; + rte_swx_ctl_meter_profile_delete; + rte_swx_ctl_meter_reset; + rte_swx_ctl_meter_reset_with_key; + rte_swx_ctl_meter_set; + rte_swx_ctl_meter_set_with_key; + rte_swx_ctl_meter_stats_read; + rte_swx_ctl_meter_stats_read_with_key; rte_swx_ctl_pipeline_abort; rte_swx_ctl_pipeline_commit; rte_swx_ctl_pipeline_create; + rte_swx_ctl_pipeline_find; rte_swx_ctl_pipeline_free; rte_swx_ctl_pipeline_info_get; + rte_swx_ctl_pipeline_learner_default_entry_add; + rte_swx_ctl_pipeline_learner_default_entry_read; + rte_swx_ctl_pipeline_learner_stats_read; + rte_swx_ctl_pipeline_learner_timeout_get; + rte_swx_ctl_pipeline_learner_timeout_set; rte_swx_ctl_pipeline_mirroring_session_set; rte_swx_ctl_pipeline_numa_node_get; rte_swx_ctl_pipeline_port_in_stats_read; rte_swx_ctl_pipeline_port_out_stats_read; + rte_swx_ctl_pipeline_regarray_read; + rte_swx_ctl_pipeline_regarray_read_with_key; + rte_swx_ctl_pipeline_regarray_write; + rte_swx_ctl_pipeline_regarray_write_with_key; + rte_swx_ctl_pipeline_selector_fprintf; + rte_swx_ctl_pipeline_selector_group_add; + rte_swx_ctl_pipeline_selector_group_delete; + rte_swx_ctl_pipeline_selector_group_member_add; + rte_swx_ctl_pipeline_selector_group_member_delete; + rte_swx_ctl_pipeline_selector_stats_read; rte_swx_ctl_pipeline_table_default_entry_add; rte_swx_ctl_pipeline_table_entry_add; rte_swx_ctl_pipeline_table_entry_delete; rte_swx_ctl_pipeline_table_entry_read; rte_swx_ctl_pipeline_table_fprintf; + rte_swx_ctl_pipeline_table_stats_read; + rte_swx_ctl_regarray_info_get; + rte_swx_ctl_selector_field_info_get; + rte_swx_ctl_selector_group_id_field_info_get; + rte_swx_ctl_selector_info_get; + rte_swx_ctl_selector_member_id_field_info_get; rte_swx_ctl_table_action_info_get; rte_swx_ctl_table_info_get; rte_swx_ctl_table_match_field_info_get; rte_swx_ctl_table_ops_get; rte_swx_pipeline_action_config; rte_swx_pipeline_build; + rte_swx_pipeline_build_from_lib; + rte_swx_pipeline_codegen; rte_swx_pipeline_config; rte_swx_pipeline_extern_func_register; rte_swx_pipeline_extern_object_config; rte_swx_pipeline_extern_type_member_func_register; rte_swx_pipeline_extern_type_register; + rte_swx_pipeline_find; rte_swx_pipeline_flush; rte_swx_pipeline_free; + rte_swx_pipeline_hash_func_register; rte_swx_pipeline_instructions_config; + rte_swx_pipeline_learner_config; + rte_swx_pipeline_metarray_config; rte_swx_pipeline_mirroring_config; rte_swx_pipeline_packet_header_register; rte_swx_pipeline_packet_metadata_register; @@ -97,64 +109,36 @@ EXPERIMENTAL { rte_swx_pipeline_port_in_type_register; rte_swx_pipeline_port_out_config; rte_swx_pipeline_port_out_type_register; + rte_swx_pipeline_regarray_config; rte_swx_pipeline_run; + rte_swx_pipeline_selector_config; rte_swx_pipeline_struct_type_register; rte_swx_pipeline_table_config; rte_swx_pipeline_table_state_get; rte_swx_pipeline_table_state_set; rte_swx_pipeline_table_type_register; + rte_table_action_apply; + rte_table_action_create; + rte_table_action_crypto_sym_session_get; + rte_table_action_dscp_table_update; + rte_table_action_free; + rte_table_action_meter_profile_add; + rte_table_action_meter_profile_delete; + rte_table_action_meter_read; + rte_table_action_profile_action_register; + rte_table_action_profile_create; + rte_table_action_profile_free; + rte_table_action_profile_freeze; + rte_table_action_stats_read; + rte_table_action_table_params_get; + rte_table_action_time_read; + rte_table_action_ttl_read; - # added in 21.05 - rte_swx_ctl_metarray_info_get; - rte_swx_ctl_meter_profile_add; - rte_swx_ctl_meter_profile_delete; - rte_swx_ctl_meter_reset; - rte_swx_ctl_meter_set; - rte_swx_ctl_meter_stats_read; - rte_swx_ctl_pipeline_regarray_read; - rte_swx_ctl_pipeline_regarray_write; - rte_swx_ctl_pipeline_table_stats_read; - rte_swx_ctl_regarray_info_get; - rte_swx_pipeline_metarray_config; - rte_swx_pipeline_regarray_config; - - # added in 21.08 - rte_swx_pipeline_selector_config; - rte_swx_ctl_pipeline_selector_fprintf; - rte_swx_ctl_pipeline_selector_group_add; - rte_swx_ctl_pipeline_selector_group_delete; - rte_swx_ctl_pipeline_selector_group_member_add; - rte_swx_ctl_pipeline_selector_group_member_delete; - rte_swx_ctl_pipeline_selector_stats_read; - rte_swx_ctl_selector_info_get; - rte_swx_ctl_selector_field_info_get; - rte_swx_ctl_selector_group_id_field_info_get; - rte_swx_ctl_selector_member_id_field_info_get; - - # added in 21.11 - rte_swx_ctl_pipeline_learner_default_entry_add; - rte_swx_ctl_pipeline_learner_default_entry_read; - rte_swx_ctl_pipeline_learner_stats_read; - rte_swx_ctl_learner_action_info_get; - rte_swx_ctl_learner_info_get; - rte_swx_ctl_learner_match_field_info_get; - rte_swx_pipeline_learner_config; - - # added in 22.07 - rte_swx_ctl_pipeline_learner_timeout_get; - rte_swx_ctl_pipeline_learner_timeout_set; - rte_swx_pipeline_hash_func_register; + local: *; +}; - # added in 22.11 - rte_swx_ctl_meter_reset_with_key; - rte_swx_ctl_meter_set_with_key; - rte_swx_ctl_meter_stats_read_with_key; - rte_swx_ctl_pipeline_find; - rte_swx_ctl_pipeline_regarray_read_with_key; - rte_swx_ctl_pipeline_regarray_write_with_key; - rte_swx_pipeline_build_from_lib; - rte_swx_pipeline_codegen; - rte_swx_pipeline_find; +EXPERIMENTAL { + global: # added in 23.03 rte_swx_ctl_pipeline_rss_key_read; diff --git a/lib/port/version.map b/lib/port/version.map index fefcf29063f6..1ca6dfb22a5e 100644 --- a/lib/port/version.map +++ b/lib/port/version.map @@ -4,6 +4,9 @@ DPDK_24 { rte_port_ethdev_reader_ops; rte_port_ethdev_writer_nodrop_ops; rte_port_ethdev_writer_ops; + rte_port_eventdev_reader_ops; + rte_port_eventdev_writer_nodrop_ops; + rte_port_eventdev_writer_ops; rte_port_fd_reader_ops; rte_port_fd_writer_nodrop_ops; rte_port_fd_writer_ops; @@ -24,27 +27,14 @@ DPDK_24 { rte_port_sym_crypto_reader_ops; rte_port_sym_crypto_writer_nodrop_ops; rte_port_sym_crypto_writer_ops; - - local: *; -}; - -EXPERIMENTAL { - global: - - # added in 19.11 - rte_port_eventdev_reader_ops; - rte_port_eventdev_writer_nodrop_ops; - rte_port_eventdev_writer_ops; - - # added in 20.11 rte_swx_port_ethdev_reader_ops; rte_swx_port_ethdev_writer_ops; - rte_swx_port_sink_ops; - rte_swx_port_source_ops; - - # added in 21.05 rte_swx_port_fd_reader_ops; rte_swx_port_fd_writer_ops; rte_swx_port_ring_reader_ops; rte_swx_port_ring_writer_ops; + rte_swx_port_sink_ops; + rte_swx_port_source_ops; + + local: *; };