X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=app%2Ftest%2Ftest_meter.c;h=26b0565788591713d72e4dec60c3125cfe7186f3;hb=dd0eedb1cfcf0cb7423d859177c5bc6f931eaf8a;hp=bcc3c0f058e9d8bee89e1c2fcf3f8f14b18593e1;hpb=e9d48c0072d36eb6423b45fba4ec49d0def6c36f;p=dpdk.git diff --git a/app/test/test_meter.c b/app/test/test_meter.c index bcc3c0f058..26b0565788 100644 --- a/app/test/test_meter.c +++ b/app/test/test_meter.c @@ -1,13 +1,13 @@ /*- * BSD LICENSE - * + * * Copyright(c) 2010-2014 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 @@ -17,7 +17,7 @@ * * 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 @@ -37,12 +37,8 @@ #include #include -#include - #include "test.h" -#ifdef RTE_LIBRTE_METER - #include #include @@ -68,21 +64,21 @@ #define TM_TEST_TRTCM_CBS_DF 2048 #define TM_TEST_TRTCM_PBS_DF 4096 -static struct rte_meter_srtcm_params sparams = - {.cir = TM_TEST_SRTCM_CIR_DF, - .cbs = TM_TEST_SRTCM_CBS_DF, +static struct rte_meter_srtcm_params sparams = + {.cir = TM_TEST_SRTCM_CIR_DF, + .cbs = TM_TEST_SRTCM_CBS_DF, .ebs = TM_TEST_SRTCM_EBS_DF,}; -static struct rte_meter_trtcm_params tparams= - {.cir = TM_TEST_TRTCM_CIR_DF, - .pir = TM_TEST_TRTCM_PIR_DF, - .cbs = TM_TEST_TRTCM_CBS_DF, +static struct rte_meter_trtcm_params tparams= + {.cir = TM_TEST_TRTCM_CIR_DF, + .pir = TM_TEST_TRTCM_PIR_DF, + .cbs = TM_TEST_TRTCM_CBS_DF, .pbs = TM_TEST_TRTCM_PBS_DF,}; /** * functional test for rte_meter_srtcm_config */ -static inline int +static inline int tm_test_srtcm_config(void) { #define SRTCM_CFG_MSG "srtcm_config" @@ -114,16 +110,16 @@ tm_test_srtcm_config(void) sparams1 = sparams; sparams1.ebs = 0; if(rte_meter_srtcm_config(&sm, &sparams1) != 0) - melog(SRTCM_CFG_MSG); + melog(SRTCM_CFG_MSG); sparams1 = sparams; sparams1.cbs = 0; if(rte_meter_srtcm_config(&sm, &sparams1) != 0) - melog(SRTCM_CFG_MSG); + melog(SRTCM_CFG_MSG); /* usual parameter, should be successful */ if(rte_meter_srtcm_config(&sm, &sparams) != 0) - melog(SRTCM_CFG_MSG); + melog(SRTCM_CFG_MSG); return 0; @@ -132,7 +128,7 @@ tm_test_srtcm_config(void) /** * functional test for rte_meter_trtcm_config */ -static inline int +static inline int tm_test_trtcm_config(void) { struct rte_meter_trtcm tm; @@ -161,12 +157,12 @@ tm_test_trtcm_config(void) tparams1 = tparams; tparams1.pbs = 0; if(rte_meter_trtcm_config(&tm, &tparams1) == 0) - melog(TRTCM_CFG_MSG); + melog(TRTCM_CFG_MSG); tparams1 = tparams; tparams1.pir = 0; if(rte_meter_trtcm_config(&tm, &tparams1) == 0) - melog(TRTCM_CFG_MSG); + melog(TRTCM_CFG_MSG); /* pir should be greater or equal to cir */ tparams1 = tparams; @@ -176,7 +172,7 @@ tm_test_trtcm_config(void) /* usual parameter, should be successful */ if(rte_meter_trtcm_config(&tm, &tparams) != 0) - melog(TRTCM_CFG_MSG); + melog(TRTCM_CFG_MSG); return 0; } @@ -184,29 +180,29 @@ tm_test_trtcm_config(void) /** * functional test for rte_meter_srtcm_color_blind_check */ -static inline int +static inline int tm_test_srtcm_color_blind_check(void) { #define SRTCM_BLIND_CHECK_MSG "srtcm_blind_check" struct rte_meter_srtcm sm; uint64_t time; uint64_t hz = rte_get_tsc_hz(); - + /* Test green */ if(rte_meter_srtcm_config(&sm, &sparams) != 0) melog(SRTCM_BLIND_CHECK_MSG); time = rte_get_tsc_cycles() + hz; if(rte_meter_srtcm_color_blind_check( - &sm, time, TM_TEST_SRTCM_CBS_DF - 1) + &sm, time, TM_TEST_SRTCM_CBS_DF - 1) != e_RTE_METER_GREEN) melog(SRTCM_BLIND_CHECK_MSG" GREEN"); - + /* Test yellow */ if(rte_meter_srtcm_config(&sm, &sparams) != 0) melog(SRTCM_BLIND_CHECK_MSG); time = rte_get_tsc_cycles() + hz; if(rte_meter_srtcm_color_blind_check( - &sm, time, TM_TEST_SRTCM_CBS_DF + 1) + &sm, time, TM_TEST_SRTCM_CBS_DF + 1) != e_RTE_METER_YELLOW) melog(SRTCM_BLIND_CHECK_MSG" YELLOW"); @@ -222,10 +218,10 @@ tm_test_srtcm_color_blind_check(void) melog(SRTCM_BLIND_CHECK_MSG); time = rte_get_tsc_cycles() + hz; if(rte_meter_srtcm_color_blind_check( - &sm, time, TM_TEST_SRTCM_EBS_DF + 1) + &sm, time, TM_TEST_SRTCM_EBS_DF + 1) != e_RTE_METER_RED) melog(SRTCM_BLIND_CHECK_MSG" RED"); - + return 0; } @@ -233,7 +229,7 @@ tm_test_srtcm_color_blind_check(void) /** * functional test for rte_meter_trtcm_color_blind_check */ -static inline int +static inline int tm_test_trtcm_color_blind_check(void) { #define TRTCM_BLIND_CHECK_MSG "trtcm_blind_check" @@ -241,22 +237,22 @@ tm_test_trtcm_color_blind_check(void) uint64_t time; struct rte_meter_trtcm tm; uint64_t hz = rte_get_tsc_hz(); - + /* Test green */ if(rte_meter_trtcm_config(&tm, &tparams) != 0) melog(TRTCM_BLIND_CHECK_MSG); time = rte_get_tsc_cycles() + hz; if(rte_meter_trtcm_color_blind_check( - &tm, time, TM_TEST_TRTCM_CBS_DF - 1) + &tm, time, TM_TEST_TRTCM_CBS_DF - 1) != e_RTE_METER_GREEN) melog(TRTCM_BLIND_CHECK_MSG" GREEN"); - + /* Test yellow */ if(rte_meter_trtcm_config(&tm, &tparams) != 0) melog(TRTCM_BLIND_CHECK_MSG); time = rte_get_tsc_cycles() + hz; if(rte_meter_trtcm_color_blind_check( - &tm, time, TM_TEST_TRTCM_CBS_DF + 1) + &tm, time, TM_TEST_TRTCM_CBS_DF + 1) != e_RTE_METER_YELLOW) melog(TRTCM_BLIND_CHECK_MSG" YELLOW"); @@ -264,7 +260,7 @@ tm_test_trtcm_color_blind_check(void) melog(TRTCM_BLIND_CHECK_MSG); time = rte_get_tsc_cycles() + hz; if(rte_meter_trtcm_color_blind_check( - &tm, time, TM_TEST_TRTCM_PBS_DF - 1) + &tm, time, TM_TEST_TRTCM_PBS_DF - 1) != e_RTE_METER_YELLOW) melog(TRTCM_BLIND_CHECK_MSG" YELLOW"); @@ -273,7 +269,7 @@ tm_test_trtcm_color_blind_check(void) melog(TRTCM_BLIND_CHECK_MSG); time = rte_get_tsc_cycles() + hz; if(rte_meter_trtcm_color_blind_check( - &tm, time, TM_TEST_TRTCM_PBS_DF + 1) + &tm, time, TM_TEST_TRTCM_PBS_DF + 1) != e_RTE_METER_RED) melog(TRTCM_BLIND_CHECK_MSG" RED"); @@ -284,13 +280,13 @@ tm_test_trtcm_color_blind_check(void) /** * @in[4] : the flags packets carries. * @in[4] : the flags function expect to return. - * It will do blind check at the time of 1 second from beginning. - * At the time, it will use packets length of cbs -1, cbs + 1, + * It will do blind check at the time of 1 second from beginning. + * At the time, it will use packets length of cbs -1, cbs + 1, * ebs -1 and ebs +1 with flag in[0], in[1], in[2] and in[3] to do * aware check, expect flag out[0], out[1], out[2] and out[3] */ -static inline int +static inline int tm_test_srtcm_aware_check (enum rte_meter_color in[4], enum rte_meter_color out[4]) { @@ -298,14 +294,14 @@ tm_test_srtcm_aware_check struct rte_meter_srtcm sm; uint64_t time; uint64_t hz = rte_get_tsc_hz(); - + if(rte_meter_srtcm_config(&sm, &sparams) != 0) melog(SRTCM_AWARE_CHECK_MSG); time = rte_get_tsc_cycles() + hz; if(rte_meter_srtcm_color_aware_check( &sm, time, TM_TEST_SRTCM_CBS_DF - 1, in[0]) != out[0]) melog(SRTCM_AWARE_CHECK_MSG" %u:%u", in[0], out[0]); - + if(rte_meter_srtcm_config(&sm, &sparams) != 0) melog(SRTCM_AWARE_CHECK_MSG); time = rte_get_tsc_cycles() + hz; @@ -326,7 +322,7 @@ tm_test_srtcm_aware_check if(rte_meter_srtcm_color_aware_check( &sm, time, TM_TEST_SRTCM_EBS_DF + 1, in[3]) != out[3]) melog(SRTCM_AWARE_CHECK_MSG" %u:%u", in[3], out[3]); - + return 0; } @@ -334,14 +330,14 @@ tm_test_srtcm_aware_check /** * functional test for rte_meter_srtcm_color_aware_check */ -static inline int +static inline int tm_test_srtcm_color_aware_check(void) { enum rte_meter_color in[4], out[4]; /** - * test 4 points that will produce green, yellow, yellow, red flag - * if using blind check + * test 4 points that will produce green, yellow, yellow, red flag + * if using blind check */ /* previouly have a green, test points should keep unchanged */ @@ -354,7 +350,7 @@ tm_test_srtcm_color_aware_check(void) return -1; /** - * previously have a yellow, green & yellow = yellow + * previously have a yellow, green & yellow = yellow * yellow & red = red */ in[0] = in[1] = in[2] = in[3] = e_RTE_METER_YELLOW; @@ -364,9 +360,9 @@ tm_test_srtcm_color_aware_check(void) out[3] = e_RTE_METER_RED; if(tm_test_srtcm_aware_check(in, out) != 0) return -1; - + /** - * previously have a red, red & green = red + * previously have a red, red & green = red * red & yellow = red */ in[0] = in[1] = in[2] = in[3] = e_RTE_METER_RED; @@ -383,12 +379,12 @@ tm_test_srtcm_color_aware_check(void) /** * @in[4] : the flags packets carries. * @in[4] : the flags function expect to return. - * It will do blind check at the time of 1 second from beginning. - * At the time, it will use packets length of cbs -1, cbs + 1, + * It will do blind check at the time of 1 second from beginning. + * At the time, it will use packets length of cbs -1, cbs + 1, * ebs -1 and ebs +1 with flag in[0], in[1], in[2] and in[3] to do * aware check, expect flag out[0], out[1], out[2] and out[3] */ -static inline int +static inline int tm_test_trtcm_aware_check (enum rte_meter_color in[4], enum rte_meter_color out[4]) { @@ -396,14 +392,14 @@ tm_test_trtcm_aware_check struct rte_meter_trtcm tm; uint64_t time; uint64_t hz = rte_get_tsc_hz(); - + if(rte_meter_trtcm_config(&tm, &tparams) != 0) melog(TRTCM_AWARE_CHECK_MSG); time = rte_get_tsc_cycles() + hz; if(rte_meter_trtcm_color_aware_check( &tm, time, TM_TEST_TRTCM_CBS_DF - 1, in[0]) != out[0]) melog(TRTCM_AWARE_CHECK_MSG" %u:%u", in[0], out[0]); - + if(rte_meter_trtcm_config(&tm, &tparams) != 0) melog(TRTCM_AWARE_CHECK_MSG); time = rte_get_tsc_cycles() + hz; @@ -424,7 +420,7 @@ tm_test_trtcm_aware_check if(rte_meter_trtcm_color_aware_check( &tm, time, TM_TEST_TRTCM_PBS_DF + 1, in[3]) != out[3]) melog(TRTCM_AWARE_CHECK_MSG" %u:%u", in[3], out[3]); - + return 0; } @@ -433,13 +429,13 @@ tm_test_trtcm_aware_check * functional test for rte_meter_trtcm_color_aware_check */ -static inline int +static inline int tm_test_trtcm_color_aware_check(void) { enum rte_meter_color in[4], out[4]; /** - * test 4 points that will produce green, yellow, yellow, red flag - * if using blind check + * test 4 points that will produce green, yellow, yellow, red flag + * if using blind check */ /* previouly have a green, test points should keep unchanged */ @@ -450,7 +446,7 @@ tm_test_trtcm_color_aware_check(void) out[3] = e_RTE_METER_RED; if(tm_test_trtcm_aware_check(in, out) != 0) return -1; - + in[0] = in[1] = in[2] = in[3] = e_RTE_METER_YELLOW; out[0] = e_RTE_METER_YELLOW; out[1] = e_RTE_METER_YELLOW; @@ -458,7 +454,7 @@ tm_test_trtcm_color_aware_check(void) out[3] = e_RTE_METER_RED; if(tm_test_trtcm_aware_check(in, out) != 0) return -1; - + in[0] = in[1] = in[2] = in[3] = e_RTE_METER_RED; out[0] = e_RTE_METER_RED; out[1] = e_RTE_METER_RED; @@ -473,14 +469,14 @@ tm_test_trtcm_color_aware_check(void) /** * test main entrance for library meter */ -int +static int test_meter(void) { if(tm_test_srtcm_config() != 0 ) return -1; if(tm_test_trtcm_config() != 0 ) - return -1; + return -1; if(tm_test_srtcm_color_blind_check() != 0) return -1; @@ -490,20 +486,12 @@ test_meter(void) if(tm_test_srtcm_color_aware_check()!= 0) return -1; - + if(tm_test_trtcm_color_aware_check()!= 0) return -1; - + return 0; } -#else /* RTE_LIBRTE_METER */ - -int -test_meter(void) -{ - printf("The meter library is not included in this build\n"); - return 0; -} -#endif /* RTE_LIBRTE_METER */ +REGISTER_TEST_COMMAND(meter_autotest, test_meter);