X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Flibrte_ethdev%2Frte_mtr.h;h=916a09c5c36e722d7ec6e2415fa2ca3cbf2477c8;hb=549de54c4f9fd36b2b11f3df7e81bf2567a2d526;hp=c4819b274a03932ef769216f059ad6b347d8a7db;hpb=01eb53eefeb40e82915fef92be64fd46a6178282;p=dpdk.git diff --git a/lib/librte_ethdev/rte_mtr.h b/lib/librte_ethdev/rte_mtr.h index c4819b274a..916a09c5c3 100644 --- a/lib/librte_ethdev/rte_mtr.h +++ b/lib/librte_ethdev/rte_mtr.h @@ -1,35 +1,7 @@ -/*- - * BSD LICENSE - * - * Copyright 2017 Intel Corporation - * Copyright 2017 NXP - * Copyright 2017 Cavium - * - * 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 2017 Intel Corporation + * Copyright 2017 NXP + * Copyright 2017 Cavium */ #ifndef __INCLUDE_RTE_MTR_H__ @@ -76,21 +48,12 @@ #include #include #include +#include #ifdef __cplusplus extern "C" { #endif -/** - * Color - */ -enum rte_mtr_color { - RTE_MTR_GREEN = 0, /**< Green */ - RTE_MTR_YELLOW, /**< Yellow */ - RTE_MTR_RED, /**< Red */ - RTE_MTR_COLORS /**< Number of colors. */ -}; - /** * Statistics counter type */ @@ -125,10 +88,10 @@ enum rte_mtr_stats_type { */ struct rte_mtr_stats { /** Number of packets passed by the policer (per color). */ - uint64_t n_pkts[RTE_MTR_COLORS]; + uint64_t n_pkts[RTE_COLORS]; /** Number of bytes passed by the policer (per color). */ - uint64_t n_bytes[RTE_MTR_COLORS]; + uint64_t n_bytes[RTE_COLORS]; /** Number of packets dropped by the policer. */ uint64_t n_pkts_dropped; @@ -260,7 +223,7 @@ struct rte_mtr_params { * at least one yellow or red color element, then the color aware mode * is configured. */ - enum rte_mtr_color *dscp_table; + enum rte_color *dscp_table; /** Non-zero to enable the meter, zero to disable the meter at the time * of MTR object creation. Ignored when the meter profile indicated by @@ -270,7 +233,7 @@ struct rte_mtr_params { int meter_enable; /** Policer actions (per meter output color). */ - enum rte_mtr_policer_action action[RTE_MTR_COLORS]; + enum rte_mtr_policer_action action[RTE_COLORS]; /** Set of stats counters to be enabled. * @see enum rte_mtr_stats_type @@ -447,7 +410,8 @@ struct rte_mtr_error { * @return * 0 on success, non-zero error code otherwise. */ -int __rte_experimental +__rte_experimental +int rte_mtr_capabilities_get(uint16_t port_id, struct rte_mtr_capabilities *cap, struct rte_mtr_error *error); @@ -470,7 +434,8 @@ rte_mtr_capabilities_get(uint16_t port_id, * @return * 0 on success, non-zero error code otherwise. */ -int __rte_experimental +__rte_experimental +int rte_mtr_meter_profile_add(uint16_t port_id, uint32_t meter_profile_id, struct rte_mtr_meter_profile *profile, @@ -491,7 +456,8 @@ rte_mtr_meter_profile_add(uint16_t port_id, * @return * 0 on success, non-zero error code otherwise. */ -int __rte_experimental +__rte_experimental +int rte_mtr_meter_profile_delete(uint16_t port_id, uint32_t meter_profile_id, struct rte_mtr_error *error); @@ -519,7 +485,8 @@ rte_mtr_meter_profile_delete(uint16_t port_id, * * @see enum rte_flow_action_type::RTE_FLOW_ACTION_TYPE_METER */ -int __rte_experimental +__rte_experimental +int rte_mtr_create(uint16_t port_id, uint32_t mtr_id, struct rte_mtr_params *params, @@ -542,7 +509,8 @@ rte_mtr_create(uint16_t port_id, * @return * 0 on success, non-zero error code otherwise. */ -int __rte_experimental +__rte_experimental +int rte_mtr_destroy(uint16_t port_id, uint32_t mtr_id, struct rte_mtr_error *error); @@ -569,7 +537,8 @@ rte_mtr_destroy(uint16_t port_id, * @return * 0 on success, non-zero error code otherwise. */ -int __rte_experimental +__rte_experimental +int rte_mtr_meter_disable(uint16_t port_id, uint32_t mtr_id, struct rte_mtr_error *error); @@ -590,7 +559,8 @@ rte_mtr_meter_disable(uint16_t port_id, * @return * 0 on success, non-zero error code otherwise. */ -int __rte_experimental +__rte_experimental +int rte_mtr_meter_enable(uint16_t port_id, uint32_t mtr_id, struct rte_mtr_error *error); @@ -609,7 +579,8 @@ rte_mtr_meter_enable(uint16_t port_id, * @return * 0 on success, non-zero error code otherwise. */ -int __rte_experimental +__rte_experimental +int rte_mtr_meter_profile_update(uint16_t port_id, uint32_t mtr_id, uint32_t meter_profile_id, @@ -633,10 +604,11 @@ rte_mtr_meter_profile_update(uint16_t port_id, * @return * 0 on success, non-zero error code otherwise. */ -int __rte_experimental +__rte_experimental +int rte_mtr_meter_dscp_table_update(uint16_t port_id, uint32_t mtr_id, - enum rte_mtr_color *dscp_table, + enum rte_color *dscp_table, struct rte_mtr_error *error); /** @@ -659,7 +631,8 @@ rte_mtr_meter_dscp_table_update(uint16_t port_id, * @return * 0 on success, non-zero error code otherwise. */ -int __rte_experimental +__rte_experimental +int rte_mtr_policer_actions_update(uint16_t port_id, uint32_t mtr_id, uint32_t action_mask, @@ -684,7 +657,8 @@ rte_mtr_policer_actions_update(uint16_t port_id, * * @see enum rte_mtr_stats_type */ -int __rte_experimental +__rte_experimental +int rte_mtr_stats_update(uint16_t port_id, uint32_t mtr_id, uint64_t stats_mask, @@ -715,7 +689,8 @@ rte_mtr_stats_update(uint16_t port_id, * * @see enum rte_mtr_stats_type */ -int __rte_experimental +__rte_experimental +int rte_mtr_stats_read(uint16_t port_id, uint32_t mtr_id, struct rte_mtr_stats *stats,