examples/qos_meter: check flow configuration error
Calling rte_meter_srtcm_config without checking return value. Coverity issue: 30693 Fixes: e6541fdec8b2 ("meter: initial import") Signed-off-by: Slawomir Mrozowicz <slawomirx.mrozowicz@intel.com> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
This commit is contained in:
parent
d52b5e735a
commit
e752649c5b
@ -133,14 +133,20 @@ struct rte_meter_trtcm_params app_trtcm_params[] = {
|
|||||||
|
|
||||||
FLOW_METER app_flows[APP_FLOWS_MAX];
|
FLOW_METER app_flows[APP_FLOWS_MAX];
|
||||||
|
|
||||||
static void
|
static int
|
||||||
app_configure_flow_table(void)
|
app_configure_flow_table(void)
|
||||||
{
|
{
|
||||||
uint32_t i, j;
|
uint32_t i, j;
|
||||||
|
int ret;
|
||||||
|
|
||||||
for (i = 0, j = 0; i < APP_FLOWS_MAX; i ++, j = (j + 1) % RTE_DIM(PARAMS)){
|
for (i = 0, j = 0; i < APP_FLOWS_MAX;
|
||||||
FUNC_CONFIG(&app_flows[i], &PARAMS[j]);
|
i ++, j = (j + 1) % RTE_DIM(PARAMS)) {
|
||||||
|
ret = FUNC_CONFIG(&app_flows[i], &PARAMS[j]);
|
||||||
|
if (ret)
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
@ -381,7 +387,9 @@ main(int argc, char **argv)
|
|||||||
rte_eth_promiscuous_enable(port_tx);
|
rte_eth_promiscuous_enable(port_tx);
|
||||||
|
|
||||||
/* App configuration */
|
/* App configuration */
|
||||||
app_configure_flow_table();
|
ret = app_configure_flow_table();
|
||||||
|
if (ret < 0)
|
||||||
|
rte_exit(EXIT_FAILURE, "Invalid configure flow table\n");
|
||||||
|
|
||||||
/* Launch per-lcore init on every lcore */
|
/* Launch per-lcore init on every lcore */
|
||||||
rte_eal_mp_remote_launch(main_loop, NULL, CALL_MASTER);
|
rte_eal_mp_remote_launch(main_loop, NULL, CALL_MASTER);
|
||||||
|
@ -51,7 +51,7 @@ enum policer_action policer_table[e_RTE_METER_COLORS][e_RTE_METER_COLORS] =
|
|||||||
#if APP_MODE == APP_MODE_FWD
|
#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_METER(a,b,c,d) color, flow_id=flow_id, pkt_len=pkt_len, time=time
|
||||||
#define FUNC_CONFIG(a,b)
|
#define FUNC_CONFIG(a, b) 0
|
||||||
#define PARAMS app_srtcm_params
|
#define PARAMS app_srtcm_params
|
||||||
#define FLOW_METER int
|
#define FLOW_METER int
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user