ethdev: get flow director statistics
authorJingjing Wu <jingjing.wu@intel.com>
Fri, 21 Nov 2014 00:46:50 +0000 (08:46 +0800)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Mon, 24 Nov 2014 23:06:04 +0000 (00:06 +0100)
define structures for getting flow director statistics

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
lib/librte_ether/rte_eth_ctrl.h

index b05d9eb..7fa7103 100644 (file)
@@ -70,6 +70,7 @@ enum rte_filter_op {
        RTE_ETH_FILTER_GET,      /**< get filter entry */
        RTE_ETH_FILTER_SET,      /**< configurations */
        RTE_ETH_FILTER_INFO,     /**< retrieve information */
+       RTE_ETH_FILTER_STATS,    /**< retrieve statistics */
        RTE_ETH_FILTER_OP_MAX
 };
 
@@ -410,6 +411,25 @@ struct rte_eth_fdir_info {
        /**< Max supported size of flex bitmasks in flex_bitmask_unit */
 };
 
+/**
+ * A structure used to define the statistics of flow director.
+ * It supports RTE_ETH_FILTER_FDIR with RTE_ETH_FILTER_STATS operation.
+ */
+struct rte_eth_fdir_stats {
+       uint32_t collision;    /**< Number of filters with collision. */
+       uint32_t free;         /**< Number of free filters. */
+       uint32_t maxhash;
+       /**< The lookup hash value of the added filter that updated the value
+          of the MAXLEN field */
+       uint32_t maxlen;       /**< Longest linked list of filters. */
+       uint64_t add;          /**< Number of added filters. */
+       uint64_t remove;       /**< Number of removed filters. */
+       uint64_t f_add;        /**< Number of failed added filters. */
+       uint64_t f_remove;     /**< Number of failed removed filters. */
+       uint32_t guarant_cnt;  /**< Number of filters in guaranteed spaces. */
+       uint32_t best_cnt;     /**< Number of filters in best effort spaces. */
+};
+
 #ifdef __cplusplus
 }
 #endif