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

Function rte_acl_add_rules

dpdk/lib/acl/rte_acl.c:457–480  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

455}
456
457int
458rte_acl_add_rules(struct rte_acl_ctx *ctx, const struct rte_acl_rule *rules,
459 uint32_t num)
460{
461 const struct rte_acl_rule *rv;
462 uint32_t i;
463 int32_t rc;
464
465 if (ctx == NULL || rules == NULL || 0 == ctx->rule_sz)
466 return -EINVAL;
467
468 for (i = 0; i != num; i++) {
469 rv = (const struct rte_acl_rule *)
470 ((uintptr_t)rules + i * ctx->rule_sz);
471 rc = acl_check_rule(&rv->data);
472 if (rc != 0) {
473 RTE_LOG(ERR, ACL, "%s(%s): rule #%u is invalid\n",
474 __func__, ctx->name, i + 1);
475 return rc;
476 }
477 }
478
479 return acl_add_rules(ctx, rules, num);
480}
481
482/*
483 * Reset all rules.

Callers 9

acl_table_createFunction · 0.85
rte_table_acl_buildFunction · 0.85
convert_rulesFunction · 0.85
test_u32_rangeFunction · 0.85
add_cb_rulesFunction · 0.85
app_acl_initFunction · 0.85
acl6_initFunction · 0.85
acl4_initFunction · 0.85

Calls 2

acl_check_ruleFunction · 0.85
acl_add_rulesFunction · 0.70

Tested by 3

convert_rulesFunction · 0.68
test_u32_rangeFunction · 0.68