From: Igor Romanov <igor.romanov@oktetlabs.ru>
Current API signature makes it hard to add other entities that
belong to a flow specification. Pass the flow specification
so that additional members can be accessed through the spec.
Signed-off-by: Igor Romanov <igor.romanov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Reviewed-by: Andy Moreton <amoreton@xilinx.com>
Reviewed-by: Ivan Malov <ivan.malov@oktetlabs.ru>
---
drivers/net/sfc/sfc_flow.c | 3 +--
drivers/net/sfc/sfc_mae.c | 8 ++++----
drivers/net/sfc/sfc_mae.h | 2 +-
3 files changed, 6 insertions(+), 7 deletions(-)
@@ -2440,8 +2440,7 @@ sfc_flow_parse_rte_to_mae(struct rte_eth_dev *dev,
if (rc != 0)
return rc;
- rc = sfc_mae_rule_parse_actions(sa, actions, &spec_mae->action_set,
- error);
+ rc = sfc_mae_rule_parse_actions(sa, actions, spec_mae, error);
if (rc != 0)
return rc;
@@ -2093,7 +2093,7 @@ sfc_mae_rule_parse_action(struct sfc_adapter *sa,
int
sfc_mae_rule_parse_actions(struct sfc_adapter *sa,
const struct rte_flow_action actions[],
- struct sfc_mae_action_set **action_setp,
+ struct sfc_flow_spec_mae *spec_mae,
struct rte_flow_error *error)
{
struct sfc_mae_actions_bundle bundle = {0};
@@ -2127,13 +2127,13 @@ sfc_mae_rule_parse_actions(struct sfc_adapter *sa,
if (rc != 0)
goto fail_rule_parse_action;
- *action_setp = sfc_mae_action_set_attach(sa, spec);
- if (*action_setp != NULL) {
+ spec_mae->action_set = sfc_mae_action_set_attach(sa, spec);
+ if (spec_mae->action_set != NULL) {
efx_mae_action_set_spec_fini(sa->nic, spec);
return 0;
}
- rc = sfc_mae_action_set_add(sa, spec, action_setp);
+ rc = sfc_mae_action_set_add(sa, spec, &spec_mae->action_set);
if (rc != 0)
goto fail_action_set_add;
@@ -197,7 +197,7 @@ int sfc_mae_rule_parse_pattern(struct sfc_adapter *sa,
struct rte_flow_error *error);
int sfc_mae_rule_parse_actions(struct sfc_adapter *sa,
const struct rte_flow_action actions[],
- struct sfc_mae_action_set **action_setp,
+ struct sfc_flow_spec_mae *spec_mae,
struct rte_flow_error *error);
sfc_flow_verify_cb_t sfc_mae_flow_verify;
sfc_flow_insert_cb_t sfc_mae_flow_insert;