Commit 3d32f4c5 authored by Jiri Pirko's avatar Jiri Pirko Committed by David S. Miller

net: sched: change name of zombie chain to "held_by_acts_only"

As mentioned by Cong and Jakub during the review process, it is a bit
odd to sometimes (act flow) create a new chain which would be
immediately a "zombie". So just rename it to "held_by_acts_only".
Signed-off-by: default avatarJiri Pirko <jiri@mellanox.com>
Suggested-by: default avatarCong Wang <xiyou.wangcong@gmail.com>
Suggested-by: default avatarJakub Kicinski <jakub.kicinski@netronome.com>
Acked-by: default avatarCong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 4a62e252
...@@ -272,11 +272,10 @@ static void tcf_chain_release_by_act(struct tcf_chain *chain) ...@@ -272,11 +272,10 @@ static void tcf_chain_release_by_act(struct tcf_chain *chain)
--chain->action_refcnt; --chain->action_refcnt;
} }
static bool tcf_chain_is_zombie(struct tcf_chain *chain) static bool tcf_chain_held_by_acts_only(struct tcf_chain *chain)
{ {
/* In case all the references are action references, this /* In case all the references are action references, this
* chain is a zombie and should not be listed in the chain * chain should not be shown to the user.
* dump list.
*/ */
return chain->refcnt == chain->action_refcnt; return chain->refcnt == chain->action_refcnt;
} }
...@@ -1838,10 +1837,9 @@ static int tc_ctl_chain(struct sk_buff *skb, struct nlmsghdr *n, ...@@ -1838,10 +1837,9 @@ static int tc_ctl_chain(struct sk_buff *skb, struct nlmsghdr *n,
chain = tcf_chain_lookup(block, chain_index); chain = tcf_chain_lookup(block, chain_index);
if (n->nlmsg_type == RTM_NEWCHAIN) { if (n->nlmsg_type == RTM_NEWCHAIN) {
if (chain) { if (chain) {
if (tcf_chain_is_zombie(chain)) { if (tcf_chain_held_by_acts_only(chain)) {
/* The chain exists only because there is /* The chain exists only because there is
* some action referencing it, meaning it * some action referencing it.
* is a zombie.
*/ */
tcf_chain_hold(chain); tcf_chain_hold(chain);
} else { } else {
...@@ -1860,7 +1858,7 @@ static int tc_ctl_chain(struct sk_buff *skb, struct nlmsghdr *n, ...@@ -1860,7 +1858,7 @@ static int tc_ctl_chain(struct sk_buff *skb, struct nlmsghdr *n,
} }
} }
} else { } else {
if (!chain || tcf_chain_is_zombie(chain)) { if (!chain || tcf_chain_held_by_acts_only(chain)) {
NL_SET_ERR_MSG(extack, "Cannot find specified filter chain"); NL_SET_ERR_MSG(extack, "Cannot find specified filter chain");
return -EINVAL; return -EINVAL;
} }
...@@ -1988,7 +1986,7 @@ static int tc_dump_chain(struct sk_buff *skb, struct netlink_callback *cb) ...@@ -1988,7 +1986,7 @@ static int tc_dump_chain(struct sk_buff *skb, struct netlink_callback *cb)
index++; index++;
continue; continue;
} }
if (tcf_chain_is_zombie(chain)) if (tcf_chain_held_by_acts_only(chain))
continue; continue;
err = tc_chain_fill_node(chain, net, skb, block, err = tc_chain_fill_node(chain, net, skb, block,
NETLINK_CB(cb->skb).portid, NETLINK_CB(cb->skb).portid,
......
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