X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Flibrte_ethdev%2Frte_tm.h;h=f9c0cf3f9094150bf147403efd7559e53124ad63;hb=e8428a9d89f14c4ee31a88b46a7a785baef29bbb;hp=955f02ff10562c45db2bbe5be42aeee8bbc6f57b;hpb=d473b0ce1759bfa3684c2618d15362473921cdea;p=dpdk.git diff --git a/lib/librte_ethdev/rte_tm.h b/lib/librte_ethdev/rte_tm.h index 955f02ff10..f9c0cf3f90 100644 --- a/lib/librte_ethdev/rte_tm.h +++ b/lib/librte_ethdev/rte_tm.h @@ -1,36 +1,7 @@ -/*- - * BSD LICENSE - * - * Copyright(c) 2017 Intel Corporation. - * Copyright(c) 2017 Cavium. - * Copyright(c) 2017 NXP. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Intel Corporation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright(c) 2017 Intel Corporation. + * Copyright(c) 2017 Cavium. + * Copyright(c) 2017 NXP. */ #ifndef __INCLUDE_RTE_TM_H__ @@ -51,6 +22,7 @@ #include #include +#include #ifdef __cplusplus extern "C" { @@ -115,16 +87,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 +141,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 +340,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 +348,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 +397,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 +607,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 +616,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 +793,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 +823,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*