MCPcopy Create free account
hub / github.com/F-Stack/f-stack / parse_table_action_meter

Function parse_table_action_meter

dpdk/examples/ip_pipeline/cli.c:3167–3208  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3165}
3166
3167static uint32_t
3168parse_table_action_meter(char **tokens,
3169 uint32_t n_tokens,
3170 struct table_rule_action *a)
3171{
3172 if ((n_tokens == 0) || strcmp(tokens[0], "meter"))
3173 return 0;
3174
3175 tokens++;
3176 n_tokens--;
3177
3178 if ((n_tokens < 10) ||
3179 strcmp(tokens[0], "tc0") ||
3180 (parse_table_action_meter_tc(tokens + 1,
3181 n_tokens - 1,
3182 &a->mtr.mtr[0]) == 0))
3183 return 0;
3184
3185 tokens += 10;
3186 n_tokens -= 10;
3187
3188 if ((n_tokens == 0) || strcmp(tokens[0], "tc1")) {
3189 a->mtr.tc_mask = 1;
3190 a->action_mask |= 1 << RTE_TABLE_ACTION_MTR;
3191 return 1 + 10;
3192 }
3193
3194 if ((n_tokens < 30) ||
3195 (parse_table_action_meter_tc(tokens + 1,
3196 n_tokens - 1, &a->mtr.mtr[1]) == 0) ||
3197 strcmp(tokens[10], "tc2") ||
3198 (parse_table_action_meter_tc(tokens + 11,
3199 n_tokens - 11, &a->mtr.mtr[2]) == 0) ||
3200 strcmp(tokens[20], "tc3") ||
3201 (parse_table_action_meter_tc(tokens + 21,
3202 n_tokens - 21, &a->mtr.mtr[3]) == 0))
3203 return 0;
3204
3205 a->mtr.tc_mask = 0xF;
3206 a->action_mask |= 1 << RTE_TABLE_ACTION_MTR;
3207 return 1 + 10 + 3 * 10;
3208}
3209
3210static uint32_t
3211parse_table_action_tm(char **tokens,

Callers 1

parse_table_actionFunction · 0.85

Calls 2

strcmpFunction · 0.85

Tested by

no test coverage detected