[dpdk-dev,v2,01/15] ethdev: add error types to flow API
Checks
Commit Message
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(-)
Comments
On 04/06/2018 04:25 PM, Adrien Mazarguil wrote:
> 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(-)
I think PMD maintainers with flow API support should be additionally
notified and encouraged to refine error reporting.
On 04/07/2018 12:15 PM, Andrew Rybchenko wrote:
> On 04/06/2018 04:25 PM, Adrien Mazarguil wrote:
>> 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(-)
>
> I think PMD maintainers with flow API support should be additionally
> notified and encouraged to refine error reporting.
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
@@ -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;
@@ -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:
@@ -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. */
};