Skip to content

Commit

Permalink
net: sched: replace nprio by a bool to make the function more readable
Browse files Browse the repository at this point in the history
The use of "nprio" variable in tc_ctl_tfilter is a bit cryptic and makes
a reader wonder what is going on for a while. So help him to understand
this priority allocation dance a litte bit better.

Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Jiri Pirko authored and David S. Miller committed May 17, 2017
1 parent fbe9c5b commit 9d36d9e
Showing 1 changed file with 7 additions and 6 deletions.
13 changes: 7 additions & 6 deletions net/sched/cls_api.c
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,7 @@ static int tc_ctl_tfilter(struct sk_buff *skb, struct nlmsghdr *n,
struct tcmsg *t;
u32 protocol;
u32 prio;
u32 nprio;
bool prio_allocate;
u32 parent;
struct net_device *dev;
struct Qdisc *q;
Expand Down Expand Up @@ -306,7 +306,7 @@ static int tc_ctl_tfilter(struct sk_buff *skb, struct nlmsghdr *n,
t = nlmsg_data(n);
protocol = TC_H_MIN(t->tcm_info);
prio = TC_H_MAJ(t->tcm_info);
nprio = prio;
prio_allocate = false;
parent = t->tcm_parent;
cl = 0;

Expand All @@ -322,6 +322,7 @@ static int tc_ctl_tfilter(struct sk_buff *skb, struct nlmsghdr *n,
*/
if (n->nlmsg_flags & NLM_F_CREATE) {
prio = TC_H_MAKE(0x80000000U, 0U);
prio_allocate = true;
break;
}
/* fall-through */
Expand Down Expand Up @@ -383,7 +384,7 @@ static int tc_ctl_tfilter(struct sk_buff *skb, struct nlmsghdr *n,
back = &tp->next) {
if (tp->prio >= prio) {
if (tp->prio == prio) {
if (!nprio ||
if (prio_allocate ||
(tp->protocol != protocol && protocol)) {
err = -EINVAL;
goto errout;
Expand All @@ -409,11 +410,11 @@ static int tc_ctl_tfilter(struct sk_buff *skb, struct nlmsghdr *n,
goto errout;
}

if (!nprio)
nprio = TC_H_MAJ(tcf_auto_prio(rtnl_dereference(*back)));
if (prio_allocate)
prio = TC_H_MAJ(tcf_auto_prio(rtnl_dereference(*back)));

tp = tcf_proto_create(nla_data(tca[TCA_KIND]),
protocol, nprio, parent, q, block);
protocol, prio, parent, q, block);
if (IS_ERR(tp)) {
err = PTR_ERR(tp);
goto errout;
Expand Down

0 comments on commit 9d36d9e

Please sign in to comment.