ethdev: add error types to flow API
authorAdrien Mazarguil <adrien.mazarguil@6wind.com>
Wed, 25 Apr 2018 15:27:38 +0000 (17:27 +0200)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 27 Apr 2018 17:00:53 +0000 (18:00 +0100)
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>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
app/test-pmd/config.c
doc/guides/rel_notes/release_18_05.rst
lib/librte_ether/rte_ethdev_version.map
lib/librte_ether/rte_flow.h

index 5379f27..f3ff008 100644 (file)
@@ -1261,8 +1261,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;
index 1029ec0..816ab23 100644 (file)
@@ -298,6 +298,13 @@ ABI Changes
   type ``uint16_t``: ``burst_size``, ``ring_size``, and ``nb_queues``. These
   are parameter values recommended for use by the PMD.
 
+* ethdev: ABI for most flow API functions was updated.
+
+  This includes functions ``rte_flow_create``, ``rte_flow_destroy``,
+  ``rte_flow_error_set``, ``rte_flow_flush``, ``rte_flow_isolate``,
+  ``rte_flow_query`` and ``rte_flow_validate``, due to changes in error type
+  definitions (``enum rte_flow_error_type``).
+
 
 Removed Items
 -------------
index 02713e4..180d2ca 100644 (file)
@@ -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;
 
@@ -208,6 +201,13 @@ DPDK_18.05 {
 
        rte_eth_dev_count_avail;
        rte_eth_find_next_owned_by;
+       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;
 
index 44ae19d..26b95c7 100644 (file)
@@ -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. */
 };