From patchwork Sat Nov 27 00:02:53 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cristian Dumitrescu X-Patchwork-Id: 104724 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 0B562A0C43; Sat, 27 Nov 2021 01:03:11 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3EEF042767; Sat, 27 Nov 2021 01:03:02 +0100 (CET) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mails.dpdk.org (Postfix) with ESMTP id E0F914068A for ; Sat, 27 Nov 2021 01:02:58 +0100 (CET) X-IronPort-AV: E=McAfee;i="6200,9189,10180"; a="215751235" X-IronPort-AV: E=Sophos;i="5.87,267,1631602800"; d="scan'208";a="215751235" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Nov 2021 16:02:58 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,267,1631602800"; d="scan'208";a="652292977" Received: from silpixa00400573.ir.intel.com (HELO silpixa00400573.ger.corp.intel.com) ([10.237.223.107]) by fmsmga001.fm.intel.com with ESMTP; 26 Nov 2021 16:02:57 -0800 From: Cristian Dumitrescu To: dev@dpdk.org Cc: yogesh.jangra@intel.com Subject: [PATCH V2 3/4] pipeline: move table type registration to library Date: Sat, 27 Nov 2021 00:02:53 +0000 Message-Id: <20211127000254.36148-3-cristian.dumitrescu@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20211127000254.36148-1-cristian.dumitrescu@intel.com> References: <20211126235129.35781-1-cristian.dumitrescu@intel.com> <20211127000254.36148-1-cristian.dumitrescu@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 Move the table type registration for the well known table types from the application to the pipeline library. Signed-off-by: Cristian Dumitrescu Signed-off-by: Yogesh Jangra --- examples/pipeline/obj.c | 16 ---------------- lib/pipeline/rte_swx_pipeline.c | 29 +++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 16 deletions(-) diff --git a/examples/pipeline/obj.c b/examples/pipeline/obj.c index 4b2db66c46..b79f044ac7 100644 --- a/examples/pipeline/obj.c +++ b/examples/pipeline/obj.c @@ -16,8 +16,6 @@ #include #include #include -#include -#include #include #include @@ -539,20 +537,6 @@ pipeline_create(struct obj *obj, const char *name, int numa_node) if (status) goto error; - status = rte_swx_pipeline_table_type_register(p, - "exact", - RTE_SWX_TABLE_MATCH_EXACT, - &rte_swx_table_exact_match_ops); - if (status) - goto error; - - status = rte_swx_pipeline_table_type_register(p, - "wildcard", - RTE_SWX_TABLE_MATCH_WILDCARD, - &rte_swx_table_wildcard_match_ops); - if (status) - goto error; - /* Node allocation */ pipeline = calloc(1, sizeof(struct pipeline)); if (pipeline == NULL) diff --git a/lib/pipeline/rte_swx_pipeline.c b/lib/pipeline/rte_swx_pipeline.c index bebad98e99..dd914fd935 100644 --- a/lib/pipeline/rte_swx_pipeline.c +++ b/lib/pipeline/rte_swx_pipeline.c @@ -12,6 +12,9 @@ #include #include "rte_swx_port_source_sink.h" +#include +#include + #include "rte_swx_pipeline_internal.h" #define CHECK(condition, err_code) \ @@ -9088,6 +9091,28 @@ port_out_types_register(struct rte_swx_pipeline *p) return 0; } +static int +table_types_register(struct rte_swx_pipeline *p) +{ + int status; + + status = rte_swx_pipeline_table_type_register(p, + "exact", + RTE_SWX_TABLE_MATCH_EXACT, + &rte_swx_table_exact_match_ops); + if (status) + return status; + + status = rte_swx_pipeline_table_type_register(p, + "wildcard", + RTE_SWX_TABLE_MATCH_WILDCARD, + &rte_swx_table_wildcard_match_ops); + if (status) + return status; + + return 0; +} + int rte_swx_pipeline_config(struct rte_swx_pipeline **p, int numa_node) { @@ -9134,6 +9159,10 @@ rte_swx_pipeline_config(struct rte_swx_pipeline **p, int numa_node) if (status) goto error; + status = table_types_register(pipeline); + if (status) + goto error; + *p = pipeline; return 0;