From: Jiri Pirko <j...@mellanox.com>

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 <j...@mellanox.com>
---
 net/sched/cls_api.c | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/net/sched/cls_api.c b/net/sched/cls_api.c
index 88ec1a1..0e49e6e 100644
--- a/net/sched/cls_api.c
+++ b/net/sched/cls_api.c
@@ -271,7 +271,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;
@@ -300,7 +300,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;
 
@@ -316,6 +316,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 */
@@ -377,7 +378,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;
@@ -403,11 +404,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;
-- 
2.9.3

Reply via email to