From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <adrien.mazarguil@6wind.com>
Received: from mail-wm0-f66.google.com (mail-wm0-f66.google.com [74.125.82.66])
 by dpdk.org (Postfix) with ESMTP id ABAAB1D0C0
 for <dev@dpdk.org>; Fri,  6 Apr 2018 15:25:44 +0200 (CEST)
Received: by mail-wm0-f66.google.com with SMTP id x4so3341049wmh.5
 for <dev@dpdk.org>; Fri, 06 Apr 2018 06:25:44 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=6wind-com.20150623.gappssmtp.com; s=20150623;
 h=date:from:to:subject:message-id:references:mime-version
 :content-disposition:in-reply-to;
 bh=NTP/a86NOn11Ebfbm9vNEpj2wIXXubhwbjWhaGUEeDY=;
 b=EINpfPG8I0jZDMkIxowFLSy8rzgH+YHqX3KG/lm/d20jyhQmPCY6IX06CaaJ/0dHEr
 q+x8mxYAxxl83Fg7iCKvp90aqNF/J1nyCW0PrVoApWXyMhgyplfhY2YNyrhpFqeg2XMV
 kJwzJfEhi5KeZGP8/FlIqHnkiPqAtAkrGDhaHpAiVceDLBW/ziEgLf90KznjQxSuTsGc
 t+GC6J9Ldo1G43XQ/tIzsTdIGmlK2zqUnYvg1TR1xDLn39lL3DXdU04G1hshvPaJV3Sy
 EGlfA7K84+tk+ntvpQakpHS7E5yKHKR5pjWjNNkSOrGYV1T+qfc6YAPGfT0HJE3YlX+H
 M5gA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:date:from:to:subject:message-id:references
 :mime-version:content-disposition:in-reply-to;
 bh=NTP/a86NOn11Ebfbm9vNEpj2wIXXubhwbjWhaGUEeDY=;
 b=uI97UAUZILztfwos8zkQX2vCLrTi6/cUq4D0kAIhsENXLoF1pCA8CJ5AA2z5zf0GDk
 ucAHjDknZ/WZhZHB8ewEYKNYjS08T9i80ZzDzHQ5sqs0OJxtZH311SkjZXNw7WGp439P
 aLtTi3qJUCeKHm27gSgqLxuOHrlkdiqrvcXWuz66F0TwMCW2+cArru4CkTgSuTsgAihX
 CIsA3l92tss7xNsma0gSVYWEFlU4NoUl2Qt6VBCrCvSxe3rd6Q37XlFu18Uq33HgfrHN
 lq1TXdxIlUf51lCfJfiOTQEklnNpWol5Mc5/4DLKxmOGqCZwwn/6NJXVRgM3FDakiGAH
 bTUg==
X-Gm-Message-State: AElRT7EHkmupAZpgR2Z3sb/p3mL23NKnk4voz1Uuiu9gbRy4v/wTvqTa
 yfT4ghKkANpRsx4FFPmmCrEsQcWd
X-Google-Smtp-Source: AIpwx4+EZP8wE7QYHVJB6rFRHo8P0DZGUfsx+L+rdn/nk3Vlq/OfE8jwo8AiO+uMV0yg5BO9nIBjvg==
X-Received: by 10.28.195.10 with SMTP id t10mr12389612wmf.121.1523021144446;
 Fri, 06 Apr 2018 06:25:44 -0700 (PDT)
Received: from 6wind.com (host.78.145.23.62.rev.coltfrance.com. [62.23.145.78])
 by smtp.gmail.com with ESMTPSA id w204sm10947353wmw.23.2018.04.06.06.25.43
 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
 Fri, 06 Apr 2018 06:25:43 -0700 (PDT)
Date: Fri, 6 Apr 2018 15:25:30 +0200
From: Adrien Mazarguil <adrien.mazarguil@6wind.com>
To: Thomas Monjalon <thomas@monjalon.net>,
 Ferruh Yigit <ferruh.yigit@intel.com>, dev@dpdk.org
Message-ID: <20180406131736.19145-2-adrien.mazarguil@6wind.com>
References: <20180404150312.12304-1-adrien.mazarguil@6wind.com>
 <20180406131736.19145-1-adrien.mazarguil@6wind.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20180406131736.19145-1-adrien.mazarguil@6wind.com>
X-Mailer: git-send-email 2.11.0
Subject: [dpdk-dev] [PATCH v2 01/15] ethdev: add error types to flow API
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Fri, 06 Apr 2018 13:25:45 -0000

These enable more precise reporting of objects responsible for errors.

This breaks ABI compatibility for the following public functions:

- rte_flow_create()
- rte_flow_destroy()
- rte_flow_error_set()
- rte_flow_flush()
- rte_flow_isolate()
- rte_flow_query()
- rte_flow_validate()

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
---
 app/test-pmd/config.c                   |  4 ++++
 lib/librte_ether/rte_ethdev_version.map | 20 +++++++++++++-------
 lib/librte_ether/rte_flow.h             |  4 ++++
 3 files changed, 21 insertions(+), 7 deletions(-)

diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
index 2058e6ec8..7ae0295f6 100644
--- a/app/test-pmd/config.c
+++ b/app/test-pmd/config.c
@@ -1228,8 +1228,12 @@ port_flow_complain(struct rte_flow_error *error)
 		[RTE_FLOW_ERROR_TYPE_ATTR_EGRESS] = "egress field",
 		[RTE_FLOW_ERROR_TYPE_ATTR] = "attributes structure",
 		[RTE_FLOW_ERROR_TYPE_ITEM_NUM] = "pattern length",
+		[RTE_FLOW_ERROR_TYPE_ITEM_SPEC] = "item specification",
+		[RTE_FLOW_ERROR_TYPE_ITEM_LAST] = "item specification range",
+		[RTE_FLOW_ERROR_TYPE_ITEM_MASK] = "item specification mask",
 		[RTE_FLOW_ERROR_TYPE_ITEM] = "specific pattern item",
 		[RTE_FLOW_ERROR_TYPE_ACTION_NUM] = "number of actions",
+		[RTE_FLOW_ERROR_TYPE_ACTION_CONF] = "action configuration",
 		[RTE_FLOW_ERROR_TYPE_ACTION] = "specific action",
 	};
 	const char *errstr;
diff --git a/lib/librte_ether/rte_ethdev_version.map b/lib/librte_ether/rte_ethdev_version.map
index 34df6c8b5..e915e7929 100644
--- a/lib/librte_ether/rte_ethdev_version.map
+++ b/lib/librte_ether/rte_ethdev_version.map
@@ -127,11 +127,6 @@ DPDK_17.02 {
 
 	_rte_eth_dev_reset;
 	rte_eth_dev_fw_version_get;
-	rte_flow_create;
-	rte_flow_destroy;
-	rte_flow_flush;
-	rte_flow_query;
-	rte_flow_validate;
 
 } DPDK_16.07;
 
@@ -153,7 +148,6 @@ DPDK_17.08 {
 	_rte_eth_dev_callback_process;
 	rte_eth_dev_adjust_nb_rx_tx_desc;
 	rte_flow_copy;
-	rte_flow_isolate;
 	rte_tm_capabilities_get;
 	rte_tm_hierarchy_commit;
 	rte_tm_level_capabilities_get;
@@ -192,7 +186,6 @@ DPDK_17.11 {
 	rte_eth_dev_get_sec_ctx;
 	rte_eth_dev_pool_ops_supported;
 	rte_eth_dev_reset;
-	rte_flow_error_set;
 
 } DPDK_17.08;
 
@@ -203,6 +196,19 @@ DPDK_18.02 {
 
 } DPDK_17.11;
 
+DPDK_18.05 {
+	global:
+
+	rte_flow_create;
+	rte_flow_destroy;
+	rte_flow_error_set;
+	rte_flow_flush;
+	rte_flow_isolate;
+	rte_flow_query;
+	rte_flow_validate;
+
+} DPDK_18.02;
+
 EXPERIMENTAL {
 	global:
 
diff --git a/lib/librte_ether/rte_flow.h b/lib/librte_ether/rte_flow.h
index cdaaa3a5b..95799fd9c 100644
--- a/lib/librte_ether/rte_flow.h
+++ b/lib/librte_ether/rte_flow.h
@@ -1186,8 +1186,12 @@ enum rte_flow_error_type {
 	RTE_FLOW_ERROR_TYPE_ATTR_EGRESS, /**< Egress field. */
 	RTE_FLOW_ERROR_TYPE_ATTR, /**< Attributes structure. */
 	RTE_FLOW_ERROR_TYPE_ITEM_NUM, /**< Pattern length. */
+	RTE_FLOW_ERROR_TYPE_ITEM_SPEC, /**< Item specification. */
+	RTE_FLOW_ERROR_TYPE_ITEM_LAST, /**< Item specification range. */
+	RTE_FLOW_ERROR_TYPE_ITEM_MASK, /**< Item specification mask. */
 	RTE_FLOW_ERROR_TYPE_ITEM, /**< Specific pattern item. */
 	RTE_FLOW_ERROR_TYPE_ACTION_NUM, /**< Number of actions. */
+	RTE_FLOW_ERROR_TYPE_ACTION_CONF, /**< Action configuration. */
 	RTE_FLOW_ERROR_TYPE_ACTION, /**< Specific action. */
 };
 
-- 
2.11.0