drivers: add init and fini on octeontx2 NPA object
[dpdk.git] / lib / librte_ethdev / rte_tm.h
index 955f02f..03eaa00 100644 (file)
@@ -51,6 +51,7 @@
 #include <stdint.h>
 
 #include <rte_common.h>
+#include <rte_meter.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -115,16 +116,6 @@ extern "C" {
  */
 #define RTE_TM_NODE_LEVEL_ID_ANY                     UINT32_MAX
 
-/**
- * Color
- */
-enum rte_tm_color {
-       RTE_TM_GREEN = 0, /**< Green */
-       RTE_TM_YELLOW, /**< Yellow */
-       RTE_TM_RED, /**< Red */
-       RTE_TM_COLORS /**< Number of colors */
-};
-
 /**
  * Node statistics counter type
  */
@@ -179,12 +170,12 @@ struct rte_tm_node_stats {
                /** Number of packets dropped by current leaf node per each
                 * color.
                 */
-               uint64_t n_pkts_dropped[RTE_TM_COLORS];
+               uint64_t n_pkts_dropped[RTE_COLORS];
 
                /** Number of bytes dropped by current leaf node per each
                 * color.
                 */
-               uint64_t n_bytes_dropped[RTE_TM_COLORS];
+               uint64_t n_bytes_dropped[RTE_COLORS];
 
                /** Number of packets currently waiting in the packet queue of
                 * current leaf node.
@@ -378,7 +369,7 @@ struct rte_tm_capabilities {
        uint32_t sched_wfq_weight_max;
 
        /** WRED packet mode support. When non-zero, this parameter indicates
-        * that there is atleast one leaf node that supports the WRED packet
+        * that there is at least one leaf node that supports the WRED packet
         * mode, which might not be true for all the leaf nodes. In packet
         * mode, the WRED thresholds specify the queue length in packets, as
         * opposed to bytes.
@@ -386,7 +377,7 @@ struct rte_tm_capabilities {
        int cman_wred_packet_mode_supported;
 
        /** WRED byte mode support. When non-zero, this parameter indicates that
-        * there is atleast one leaf node that supports the WRED byte mode,
+        * there is at least one leaf node that supports the WRED byte mode,
         * which might not be true for all the leaf nodes. In byte mode, the
         * WRED thresholds specify the queue length in bytes, as opposed to
         * packets.
@@ -435,16 +426,16 @@ struct rte_tm_capabilities {
        uint32_t cman_wred_context_shared_n_contexts_per_node_max;
 
        /** Support for VLAN DEI packet marking (per color). */
-       int mark_vlan_dei_supported[RTE_TM_COLORS];
+       int mark_vlan_dei_supported[RTE_COLORS];
 
        /** Support for IPv4/IPv6 ECN marking of TCP packets (per color). */
-       int mark_ip_ecn_tcp_supported[RTE_TM_COLORS];
+       int mark_ip_ecn_tcp_supported[RTE_COLORS];
 
        /** Support for IPv4/IPv6 ECN marking of SCTP packets (per color). */
-       int mark_ip_ecn_sctp_supported[RTE_TM_COLORS];
+       int mark_ip_ecn_sctp_supported[RTE_COLORS];
 
        /** Support for IPv4/IPv6 DSCP packet marking (per color). */
-       int mark_ip_dscp_supported[RTE_TM_COLORS];
+       int mark_ip_dscp_supported[RTE_COLORS];
 
        /** Set of supported dynamic update operations.
         * @see enum rte_tm_dynamic_update_type
@@ -645,7 +636,7 @@ struct rte_tm_level_capabilities {
                        uint32_t shaper_shared_n_max;
 
                        /** WRED packet mode support. When non-zero, this
-                        * parameter indicates that there is atleast one leaf
+                        * parameter indicates that there is at least one leaf
                         * node on this level that supports the WRED packet
                         * mode, which might not be true for all the leaf
                         * nodes. In packet mode, the WRED thresholds specify
@@ -654,7 +645,7 @@ struct rte_tm_level_capabilities {
                        int cman_wred_packet_mode_supported;
 
                        /** WRED byte mode support. When non-zero, this
-                        * parameter indicates that there is atleast one leaf
+                        * parameter indicates that there is at least one leaf
                         * node on this level that supports the WRED byte mode,
                         * which might not be true for all the leaf nodes. In
                         * byte mode, the WRED thresholds specify the queue
@@ -831,10 +822,10 @@ enum rte_tm_cman_mode {
  */
 struct rte_tm_red_params {
        /** Minimum queue threshold */
-       uint32_t min_th;
+       uint64_t min_th;
 
        /** Maximum queue threshold */
-       uint32_t max_th;
+       uint64_t max_th;
 
        /** Inverse of packet marking probability maximum value (maxp), i.e.
         * maxp_inv = 1 / maxp
@@ -861,7 +852,7 @@ struct rte_tm_red_params {
  */
 struct rte_tm_wred_params {
        /** One set of RED parameters per packet color */
-       struct rte_tm_red_params red_params[RTE_TM_COLORS];
+       struct rte_tm_red_params red_params[RTE_COLORS];
 
        /** When non-zero, the *min_th* and *max_th* thresholds are specified
         * in packets (WRED packet mode). When zero, the *min_th* and *max_th*