X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;ds=sidebyside;f=examples%2Fqos_meter%2Fmain.h;h=f51eb664ebf24b05ed8303f56bdf6f04bc60a5fc;hb=3186282f8e12dad3e1b1b8b287a9d62d31886c01;hp=7a848559e07c42ea4621df40aff0eb3e5d3d2212;hpb=e6541fdec8b2407e46569147be6887ca3ad4a704;p=dpdk.git diff --git a/examples/qos_meter/main.h b/examples/qos_meter/main.h old mode 100755 new mode 100644 index 7a848559e0..f51eb664eb --- a/examples/qos_meter/main.h +++ b/examples/qos_meter/main.h @@ -1,89 +1,72 @@ -/*- - * BSD LICENSE - * - * Copyright(c) 2010-2013 Intel Corporation. All rights reserved. - * 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) 2010-2014 Intel Corporation */ #ifndef _MAIN_H_ #define _MAIN_H_ -#ifdef RTE_EXEC_ENV_BAREMETAL -#define MAIN _main -#else -#define MAIN main -#endif - -int MAIN(int argc, char **argv); +enum policer_action { + GREEN = e_RTE_METER_GREEN, + YELLOW = e_RTE_METER_YELLOW, + RED = e_RTE_METER_RED, + DROP = 3, +}; +enum policer_action policer_table[e_RTE_METER_COLORS][e_RTE_METER_COLORS] = +{ + { GREEN, RED, RED}, + { DROP, YELLOW, RED}, + { DROP, DROP, RED} +}; #if APP_MODE == APP_MODE_FWD -#define FUNC_METER(a,b,c,d) color, flow_id=flow_id, pkt_len=pkt_len, time=time -#define FUNC_CONFIG(a,b) -#define PARAMS app_srtcm_params +#define FUNC_METER(m, p, time, pkt_len, pkt_color) \ +({ \ + void *mp = m; \ + void *pp = p; \ + mp = mp; \ + pp = pp; \ + time = time; \ + pkt_len = pkt_len; \ + pkt_color; \ +}) +#define FUNC_CONFIG(a, b) 0 #define FLOW_METER int +#define PROFILE app_srtcm_profile #elif APP_MODE == APP_MODE_SRTCM_COLOR_BLIND -#define FUNC_METER(a,b,c,d) rte_meter_srtcm_color_blind_check(a,b,c) +#define FUNC_METER(m, p, time, pkt_len, pkt_color) \ + rte_meter_srtcm_color_blind_check(m, p, time, pkt_len) #define FUNC_CONFIG rte_meter_srtcm_config -#define PARAMS app_srtcm_params #define FLOW_METER struct rte_meter_srtcm +#define PROFILE app_srtcm_profile #elif (APP_MODE == APP_MODE_SRTCM_COLOR_AWARE) #define FUNC_METER rte_meter_srtcm_color_aware_check #define FUNC_CONFIG rte_meter_srtcm_config -#define PARAMS app_srtcm_params #define FLOW_METER struct rte_meter_srtcm +#define PROFILE app_srtcm_profile #elif (APP_MODE == APP_MODE_TRTCM_COLOR_BLIND) -#define FUNC_METER(a,b,c,d) rte_meter_trtcm_color_blind_check(a,b,c) +#define FUNC_METER(m, p, time, pkt_len, pkt_color) \ + rte_meter_trtcm_color_blind_check(m, p, time, pkt_len) #define FUNC_CONFIG rte_meter_trtcm_config -#define PARAMS app_trtcm_params #define FLOW_METER struct rte_meter_trtcm +#define PROFILE app_trtcm_profile #elif (APP_MODE == APP_MODE_TRTCM_COLOR_AWARE) -#define FUNC_METER rte_meter_trtcm_color_aware_check +#define FUNC_METER rte_meter_trtcm_color_aware_check #define FUNC_CONFIG rte_meter_trtcm_config -#define PARAMS app_trtcm_params #define FLOW_METER struct rte_meter_trtcm +#define PROFILE app_trtcm_profile #else #error Invalid value for APP_MODE #endif - - - #endif /* _MAIN_H_ */