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

Function rte_table_action_apply

dpdk/lib/pipeline/rte_table_action.c:2529–2608  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2527}
2528
2529int
2530rte_table_action_apply(struct rte_table_action *action,
2531 void *data,
2532 enum rte_table_action_type type,
2533 void *action_params)
2534{
2535 void *action_data;
2536
2537 /* Check input arguments */
2538 if ((action == NULL) ||
2539 (data == NULL) ||
2540 (action_valid(type) == 0) ||
2541 ((action->cfg.action_mask & (1LLU << type)) == 0) ||
2542 (action_params == NULL))
2543 return -EINVAL;
2544
2545 /* Data update */
2546 action_data = action_data_get(data, action, type);
2547
2548 switch (type) {
2549 case RTE_TABLE_ACTION_FWD:
2550 return fwd_apply(action_data,
2551 action_params);
2552
2553 case RTE_TABLE_ACTION_LB:
2554 return lb_apply(action_data,
2555 action_params);
2556
2557 case RTE_TABLE_ACTION_MTR:
2558 return mtr_apply(action_data,
2559 action_params,
2560 &action->cfg.mtr,
2561 action->mp,
2562 RTE_DIM(action->mp));
2563
2564 case RTE_TABLE_ACTION_TM:
2565 return tm_apply(action_data,
2566 action_params,
2567 &action->cfg.tm);
2568
2569 case RTE_TABLE_ACTION_ENCAP:
2570 return encap_apply(action_data,
2571 action_params,
2572 &action->cfg.encap,
2573 &action->cfg.common);
2574
2575 case RTE_TABLE_ACTION_NAT:
2576 return nat_apply(action_data,
2577 action_params,
2578 &action->cfg.common);
2579
2580 case RTE_TABLE_ACTION_TTL:
2581 return ttl_apply(action_data,
2582 action_params);
2583
2584 case RTE_TABLE_ACTION_STATS:
2585 return stats_apply(action_data,
2586 action_params);

Callers 1

action_convertFunction · 0.85

Calls 14

fwd_applyFunction · 0.85
mtr_applyFunction · 0.85
tm_applyFunction · 0.85
encap_applyFunction · 0.85
nat_applyFunction · 0.85
ttl_applyFunction · 0.85
stats_applyFunction · 0.85
time_applyFunction · 0.85
sym_crypto_applyFunction · 0.85
tag_applyFunction · 0.85
decap_applyFunction · 0.85
action_validFunction · 0.70

Tested by

no test coverage detected