Commit db4b4902 authored by Paul Blakey's avatar Paul Blakey Committed by Jakub Kicinski

net/sched: Rename user cookie and act cookie

struct tc_action->act_cookie is a user defined cookie,
and the related struct flow_action_entry->act_cookie is
used as an handle similar to struct flow_cls_offload->cookie.

Rename tc_action->act_cookie to user_cookie, and
flow_action_entry->act_cookie to cookie so their names
would better fit their usage.
Signed-off-by: default avatarPaul Blakey <paulb@nvidia.com>
Reviewed-by: default avatarMarcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 871489dd
...@@ -4176,7 +4176,7 @@ parse_tc_actions(struct mlx5e_tc_act_parse_state *parse_state, ...@@ -4176,7 +4176,7 @@ parse_tc_actions(struct mlx5e_tc_act_parse_state *parse_state,
parse_state->actions |= attr->action; parse_state->actions |= attr->action;
if (!tc_act->stats_action) if (!tc_act->stats_action)
attr->tc_act_cookies[attr->tc_act_cookies_count++] = act->act_cookie; attr->tc_act_cookies[attr->tc_act_cookies_count++] = act->cookie;
/* Split attr for multi table act if not the last act. */ /* Split attr for multi table act if not the last act. */
if (jump_state.jump_target || if (jump_state.jump_target ||
......
...@@ -103,7 +103,7 @@ static int mlxsw_sp_flower_parse_actions(struct mlxsw_sp *mlxsw_sp, ...@@ -103,7 +103,7 @@ static int mlxsw_sp_flower_parse_actions(struct mlxsw_sp *mlxsw_sp,
} }
ingress = mlxsw_sp_flow_block_is_ingress_bound(block); ingress = mlxsw_sp_flow_block_is_ingress_bound(block);
err = mlxsw_sp_acl_rulei_act_drop(rulei, ingress, err = mlxsw_sp_acl_rulei_act_drop(rulei, ingress,
act->cookie, extack); act->user_cookie, extack);
if (err) { if (err) {
NL_SET_ERR_MSG_MOD(extack, "Cannot append drop action"); NL_SET_ERR_MSG_MOD(extack, "Cannot append drop action");
return err; return err;
......
...@@ -39,7 +39,7 @@ struct tc_action { ...@@ -39,7 +39,7 @@ struct tc_action {
struct gnet_stats_basic_sync __percpu *cpu_bstats; struct gnet_stats_basic_sync __percpu *cpu_bstats;
struct gnet_stats_basic_sync __percpu *cpu_bstats_hw; struct gnet_stats_basic_sync __percpu *cpu_bstats_hw;
struct gnet_stats_queue __percpu *cpu_qstats; struct gnet_stats_queue __percpu *cpu_qstats;
struct tc_cookie __rcu *act_cookie; struct tc_cookie __rcu *user_cookie;
struct tcf_chain __rcu *goto_chain; struct tcf_chain __rcu *goto_chain;
u32 tcfa_flags; u32 tcfa_flags;
u8 hw_stats; u8 hw_stats;
......
...@@ -228,7 +228,7 @@ void flow_action_cookie_destroy(struct flow_action_cookie *cookie); ...@@ -228,7 +228,7 @@ void flow_action_cookie_destroy(struct flow_action_cookie *cookie);
struct flow_action_entry { struct flow_action_entry {
enum flow_action_id id; enum flow_action_id id;
u32 hw_index; u32 hw_index;
unsigned long act_cookie; unsigned long cookie;
enum flow_action_hw_stats hw_stats; enum flow_action_hw_stats hw_stats;
action_destr destructor; action_destr destructor;
void *destructor_priv; void *destructor_priv;
...@@ -321,7 +321,7 @@ struct flow_action_entry { ...@@ -321,7 +321,7 @@ struct flow_action_entry {
u16 sid; u16 sid;
} pppoe; } pppoe;
}; };
struct flow_action_cookie *cookie; /* user defined action cookie */ struct flow_action_cookie *user_cookie; /* user defined action cookie */
}; };
struct flow_action { struct flow_action {
......
...@@ -125,7 +125,7 @@ static void free_tcf(struct tc_action *p) ...@@ -125,7 +125,7 @@ static void free_tcf(struct tc_action *p)
free_percpu(p->cpu_bstats_hw); free_percpu(p->cpu_bstats_hw);
free_percpu(p->cpu_qstats); free_percpu(p->cpu_qstats);
tcf_set_action_cookie(&p->act_cookie, NULL); tcf_set_action_cookie(&p->user_cookie, NULL);
if (chain) if (chain)
tcf_chain_put_by_act(chain); tcf_chain_put_by_act(chain);
...@@ -431,14 +431,14 @@ EXPORT_SYMBOL(tcf_idr_release); ...@@ -431,14 +431,14 @@ EXPORT_SYMBOL(tcf_idr_release);
static size_t tcf_action_shared_attrs_size(const struct tc_action *act) static size_t tcf_action_shared_attrs_size(const struct tc_action *act)
{ {
struct tc_cookie *act_cookie; struct tc_cookie *user_cookie;
u32 cookie_len = 0; u32 cookie_len = 0;
rcu_read_lock(); rcu_read_lock();
act_cookie = rcu_dereference(act->act_cookie); user_cookie = rcu_dereference(act->user_cookie);
if (act_cookie) if (user_cookie)
cookie_len = nla_total_size(act_cookie->len); cookie_len = nla_total_size(user_cookie->len);
rcu_read_unlock(); rcu_read_unlock();
return nla_total_size(0) /* action number nested */ return nla_total_size(0) /* action number nested */
...@@ -488,7 +488,7 @@ tcf_action_dump_terse(struct sk_buff *skb, struct tc_action *a, bool from_act) ...@@ -488,7 +488,7 @@ tcf_action_dump_terse(struct sk_buff *skb, struct tc_action *a, bool from_act)
goto nla_put_failure; goto nla_put_failure;
rcu_read_lock(); rcu_read_lock();
cookie = rcu_dereference(a->act_cookie); cookie = rcu_dereference(a->user_cookie);
if (cookie) { if (cookie) {
if (nla_put(skb, TCA_ACT_COOKIE, cookie->len, cookie->data)) { if (nla_put(skb, TCA_ACT_COOKIE, cookie->len, cookie->data)) {
rcu_read_unlock(); rcu_read_unlock();
...@@ -1362,9 +1362,9 @@ struct tc_action *tcf_action_init_1(struct net *net, struct tcf_proto *tp, ...@@ -1362,9 +1362,9 @@ struct tc_action *tcf_action_init_1(struct net *net, struct tcf_proto *tp,
{ {
bool police = flags & TCA_ACT_FLAGS_POLICE; bool police = flags & TCA_ACT_FLAGS_POLICE;
struct nla_bitfield32 userflags = { 0, 0 }; struct nla_bitfield32 userflags = { 0, 0 };
struct tc_cookie *user_cookie = NULL;
u8 hw_stats = TCA_ACT_HW_STATS_ANY; u8 hw_stats = TCA_ACT_HW_STATS_ANY;
struct nlattr *tb[TCA_ACT_MAX + 1]; struct nlattr *tb[TCA_ACT_MAX + 1];
struct tc_cookie *cookie = NULL;
struct tc_action *a; struct tc_action *a;
int err; int err;
...@@ -1375,8 +1375,8 @@ struct tc_action *tcf_action_init_1(struct net *net, struct tcf_proto *tp, ...@@ -1375,8 +1375,8 @@ struct tc_action *tcf_action_init_1(struct net *net, struct tcf_proto *tp,
if (err < 0) if (err < 0)
return ERR_PTR(err); return ERR_PTR(err);
if (tb[TCA_ACT_COOKIE]) { if (tb[TCA_ACT_COOKIE]) {
cookie = nla_memdup_cookie(tb); user_cookie = nla_memdup_cookie(tb);
if (!cookie) { if (!user_cookie) {
NL_SET_ERR_MSG(extack, "No memory to generate TC cookie"); NL_SET_ERR_MSG(extack, "No memory to generate TC cookie");
err = -ENOMEM; err = -ENOMEM;
goto err_out; goto err_out;
...@@ -1402,7 +1402,7 @@ struct tc_action *tcf_action_init_1(struct net *net, struct tcf_proto *tp, ...@@ -1402,7 +1402,7 @@ struct tc_action *tcf_action_init_1(struct net *net, struct tcf_proto *tp,
*init_res = err; *init_res = err;
if (!police && tb[TCA_ACT_COOKIE]) if (!police && tb[TCA_ACT_COOKIE])
tcf_set_action_cookie(&a->act_cookie, cookie); tcf_set_action_cookie(&a->user_cookie, user_cookie);
if (!police) if (!police)
a->hw_stats = hw_stats; a->hw_stats = hw_stats;
...@@ -1410,9 +1410,9 @@ struct tc_action *tcf_action_init_1(struct net *net, struct tcf_proto *tp, ...@@ -1410,9 +1410,9 @@ struct tc_action *tcf_action_init_1(struct net *net, struct tcf_proto *tp,
return a; return a;
err_out: err_out:
if (cookie) { if (user_cookie) {
kfree(cookie->data); kfree(user_cookie->data);
kfree(cookie); kfree(user_cookie);
} }
return ERR_PTR(err); return ERR_PTR(err);
} }
......
...@@ -3490,28 +3490,28 @@ int tc_setup_cb_reoffload(struct tcf_block *block, struct tcf_proto *tp, ...@@ -3490,28 +3490,28 @@ int tc_setup_cb_reoffload(struct tcf_block *block, struct tcf_proto *tp,
} }
EXPORT_SYMBOL(tc_setup_cb_reoffload); EXPORT_SYMBOL(tc_setup_cb_reoffload);
static int tcf_act_get_cookie(struct flow_action_entry *entry, static int tcf_act_get_user_cookie(struct flow_action_entry *entry,
const struct tc_action *act) const struct tc_action *act)
{ {
struct tc_cookie *cookie; struct tc_cookie *user_cookie;
int err = 0; int err = 0;
rcu_read_lock(); rcu_read_lock();
cookie = rcu_dereference(act->act_cookie); user_cookie = rcu_dereference(act->user_cookie);
if (cookie) { if (user_cookie) {
entry->cookie = flow_action_cookie_create(cookie->data, entry->user_cookie = flow_action_cookie_create(user_cookie->data,
cookie->len, user_cookie->len,
GFP_ATOMIC); GFP_ATOMIC);
if (!entry->cookie) if (!entry->user_cookie)
err = -ENOMEM; err = -ENOMEM;
} }
rcu_read_unlock(); rcu_read_unlock();
return err; return err;
} }
static void tcf_act_put_cookie(struct flow_action_entry *entry) static void tcf_act_put_user_cookie(struct flow_action_entry *entry)
{ {
flow_action_cookie_destroy(entry->cookie); flow_action_cookie_destroy(entry->user_cookie);
} }
void tc_cleanup_offload_action(struct flow_action *flow_action) void tc_cleanup_offload_action(struct flow_action *flow_action)
...@@ -3520,7 +3520,7 @@ void tc_cleanup_offload_action(struct flow_action *flow_action) ...@@ -3520,7 +3520,7 @@ void tc_cleanup_offload_action(struct flow_action *flow_action)
int i; int i;
flow_action_for_each(i, entry, flow_action) { flow_action_for_each(i, entry, flow_action) {
tcf_act_put_cookie(entry); tcf_act_put_user_cookie(entry);
if (entry->destructor) if (entry->destructor)
entry->destructor(entry->destructor_priv); entry->destructor(entry->destructor_priv);
} }
...@@ -3565,7 +3565,7 @@ int tc_setup_action(struct flow_action *flow_action, ...@@ -3565,7 +3565,7 @@ int tc_setup_action(struct flow_action *flow_action,
entry = &flow_action->entries[j]; entry = &flow_action->entries[j];
spin_lock_bh(&act->tcfa_lock); spin_lock_bh(&act->tcfa_lock);
err = tcf_act_get_cookie(entry, act); err = tcf_act_get_user_cookie(entry, act);
if (err) if (err)
goto err_out_locked; goto err_out_locked;
...@@ -3577,7 +3577,7 @@ int tc_setup_action(struct flow_action *flow_action, ...@@ -3577,7 +3577,7 @@ int tc_setup_action(struct flow_action *flow_action,
for (k = 0; k < index ; k++) { for (k = 0; k < index ; k++) {
entry[k].hw_stats = tc_act_hw_stats(act->hw_stats); entry[k].hw_stats = tc_act_hw_stats(act->hw_stats);
entry[k].hw_index = act->tcfa_index; entry[k].hw_index = act->tcfa_index;
entry[k].act_cookie = (unsigned long)act; entry[k].cookie = (unsigned long)act;
} }
j += index; j += index;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment