Lines Matching defs:action
599 struct table_rule_action action;
603 struct table_rule_action action;
1090 action_check(struct table_rule_action *action,
1096 if ((action == NULL) ||
1102 if (action->action_mask != ap->params.action_mask)
1105 if (action->action_mask & (1LLU << RTE_TABLE_ACTION_FWD)) {
1106 if ((action->fwd.action == RTE_PIPELINE_ACTION_PORT) &&
1107 (action->fwd.id >= p->n_ports_out))
1110 if ((action->fwd.action == RTE_PIPELINE_ACTION_TABLE) &&
1111 (action->fwd.id >= p->n_tables))
1115 if (action->action_mask & (1LLU << RTE_TABLE_ACTION_MTR)) {
1117 uint32_t tc_mask1 = action->mtr.tc_mask;
1123 if (action->action_mask & (1LLU << RTE_TABLE_ACTION_TM)) {
1128 uint32_t subport_id = action->tm.subport_id;
1129 uint32_t pipe_id = action->tm.pipe_id;
1136 if (action->action_mask & (1LLU << RTE_TABLE_ACTION_ENCAP)) {
1138 enum rte_table_action_encap_type type = action->encap.type;
1144 if (action->action_mask & (1LLU << RTE_TABLE_ACTION_NAT)) {
1146 int ip_version1 = action->nat.ip_version;
1157 action_default_check(struct table_rule_action *action,
1161 if ((action == NULL) ||
1162 (action->action_mask != (1LLU << RTE_TABLE_ACTION_FWD)) ||
1167 if (action->action_mask & (1LLU << RTE_TABLE_ACTION_FWD)) {
1168 if ((action->fwd.action == RTE_PIPELINE_ACTION_PORT) &&
1169 (action->fwd.id >= p->n_ports_out))
1172 if ((action->fwd.action == RTE_PIPELINE_ACTION_TABLE) &&
1173 (action->fwd.id >= p->n_tables))
1196 struct table_rule_action *action,
1252 /* Rule (match, action) conversion */
1259 status = action_convert(table->a, &rule->action, action_ll_ptr[i]);
1266 /* Add rule (match, action) to table */
1325 struct table_rule_action *action)
1337 (action == NULL))
1344 action_check(action, p, table_id))
1354 memcpy(&rule->action, action, sizeof(*action));
1368 /* Table match-action rule conversion */
1378 status = action_convert(table->a, action, data_in);
1385 /* Add rule (match, action) to table */
1417 memcpy(&req->table_rule_add.action, action, sizeof(*action));
1439 struct table_rule_action *action)
1450 (action == NULL))
1456 action_default_check(action, p, table_id))
1465 memcpy(&rule->action, action, sizeof(*action));
1480 data_in->action = action->fwd.action;
1481 if (action->fwd.action == RTE_PIPELINE_ACTION_PORT)
1482 data_in->port_id = action->fwd.id;
1483 if (action->fwd.action == RTE_PIPELINE_ACTION_TABLE)
1484 data_in->table_id = action->fwd.id;
1515 memcpy(&req->table_rule_add_default.action, action, sizeof(*action));
1593 action_check(&rule->action, p, table_id)) {
2575 struct table_rule_action *action,
2581 if (action->action_mask & (1LLU << RTE_TABLE_ACTION_FWD)) {
2585 &action->fwd);
2591 if (action->action_mask & (1LLU << RTE_TABLE_ACTION_LB)) {
2595 &action->lb);
2601 if (action->action_mask & (1LLU << RTE_TABLE_ACTION_MTR)) {
2605 &action->mtr);
2611 if (action->action_mask & (1LLU << RTE_TABLE_ACTION_TM)) {
2615 &action->tm);
2621 if (action->action_mask & (1LLU << RTE_TABLE_ACTION_ENCAP)) {
2625 &action->encap);
2631 if (action->action_mask & (1LLU << RTE_TABLE_ACTION_NAT)) {
2635 &action->nat);
2641 if (action->action_mask & (1LLU << RTE_TABLE_ACTION_TTL)) {
2645 &action->ttl);
2651 if (action->action_mask & (1LLU << RTE_TABLE_ACTION_STATS)) {
2655 &action->stats);
2661 if (action->action_mask & (1LLU << RTE_TABLE_ACTION_TIME)) {
2665 &action->time);
2671 if (action->action_mask & (1LLU << RTE_TABLE_ACTION_SYM_CRYPTO)) {
2675 &action->sym_crypto);
2681 if (action->action_mask & (1LLU << RTE_TABLE_ACTION_TAG)) {
2685 &action->tag);
2691 if (action->action_mask & (1LLU << RTE_TABLE_ACTION_DECAP)) {
2695 &action->decap);
2711 struct table_rule_action *action = &req->table_rule_add.action;
2727 status = action_convert(a, action, data_in);
2756 struct table_rule_action *action = &req->table_rule_add_default.action;
2765 data_in->action = action->fwd.action;
2766 if (action->fwd.action == RTE_PIPELINE_ACTION_PORT)
2767 data_in->port_id = action->fwd.id;
2768 if (action->fwd.action == RTE_PIPELINE_ACTION_TABLE)
2769 data_in->table_id = action->fwd.id;