diff options
author | Eric Dumazet <eric.dumazet@gmail.com> | 2011-01-19 14:26:56 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-01-20 02:31:12 -0500 |
commit | cc7ec456f82da7f89a5b376e613b3ac4311b3e9a (patch) | |
tree | 534729db08c10f40c090261cdc191dd2303dfc5c /net/sched/cls_u32.c | |
parent | 7180a03118cac7256fb04f929fe34d0aeee92c40 (diff) |
net_sched: cleanups
Cleanup net/sched code to current CodingStyle and practices.
Reduce inline abuse
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sched/cls_u32.c')
-rw-r--r-- | net/sched/cls_u32.c | 77 |
1 files changed, 39 insertions, 38 deletions
diff --git a/net/sched/cls_u32.c b/net/sched/cls_u32.c index b0c2a82178af..966920c14e7a 100644 --- a/net/sched/cls_u32.c +++ b/net/sched/cls_u32.c | |||
@@ -42,8 +42,7 @@ | |||
42 | #include <net/act_api.h> | 42 | #include <net/act_api.h> |
43 | #include <net/pkt_cls.h> | 43 | #include <net/pkt_cls.h> |
44 | 44 | ||
45 | struct tc_u_knode | 45 | struct tc_u_knode { |
46 | { | ||
47 | struct tc_u_knode *next; | 46 | struct tc_u_knode *next; |
48 | u32 handle; | 47 | u32 handle; |
49 | struct tc_u_hnode *ht_up; | 48 | struct tc_u_hnode *ht_up; |
@@ -63,19 +62,17 @@ struct tc_u_knode | |||
63 | struct tc_u32_sel sel; | 62 | struct tc_u32_sel sel; |
64 | }; | 63 | }; |
65 | 64 | ||
66 | struct tc_u_hnode | 65 | struct tc_u_hnode { |
67 | { | ||
68 | struct tc_u_hnode *next; | 66 | struct tc_u_hnode *next; |
69 | u32 handle; | 67 | u32 handle; |
70 | u32 prio; | 68 | u32 prio; |
71 | struct tc_u_common *tp_c; | 69 | struct tc_u_common *tp_c; |
72 | int refcnt; | 70 | int refcnt; |
73 | unsigned divisor; | 71 | unsigned int divisor; |
74 | struct tc_u_knode *ht[1]; | 72 | struct tc_u_knode *ht[1]; |
75 | }; | 73 | }; |
76 | 74 | ||
77 | struct tc_u_common | 75 | struct tc_u_common { |
78 | { | ||
79 | struct tc_u_hnode *hlist; | 76 | struct tc_u_hnode *hlist; |
80 | struct Qdisc *q; | 77 | struct Qdisc *q; |
81 | int refcnt; | 78 | int refcnt; |
@@ -87,9 +84,11 @@ static const struct tcf_ext_map u32_ext_map = { | |||
87 | .police = TCA_U32_POLICE | 84 | .police = TCA_U32_POLICE |
88 | }; | 85 | }; |
89 | 86 | ||
90 | static __inline__ unsigned u32_hash_fold(__be32 key, struct tc_u32_sel *sel, u8 fshift) | 87 | static inline unsigned int u32_hash_fold(__be32 key, |
88 | const struct tc_u32_sel *sel, | ||
89 | u8 fshift) | ||
91 | { | 90 | { |
92 | unsigned h = ntohl(key & sel->hmask)>>fshift; | 91 | unsigned int h = ntohl(key & sel->hmask) >> fshift; |
93 | 92 | ||
94 | return h; | 93 | return h; |
95 | } | 94 | } |
@@ -101,7 +100,7 @@ static int u32_classify(struct sk_buff *skb, struct tcf_proto *tp, struct tcf_re | |||
101 | unsigned int off; | 100 | unsigned int off; |
102 | } stack[TC_U32_MAXDEPTH]; | 101 | } stack[TC_U32_MAXDEPTH]; |
103 | 102 | ||
104 | struct tc_u_hnode *ht = (struct tc_u_hnode*)tp->root; | 103 | struct tc_u_hnode *ht = (struct tc_u_hnode *)tp->root; |
105 | unsigned int off = skb_network_offset(skb); | 104 | unsigned int off = skb_network_offset(skb); |
106 | struct tc_u_knode *n; | 105 | struct tc_u_knode *n; |
107 | int sdepth = 0; | 106 | int sdepth = 0; |
@@ -120,7 +119,7 @@ next_knode: | |||
120 | struct tc_u32_key *key = n->sel.keys; | 119 | struct tc_u32_key *key = n->sel.keys; |
121 | 120 | ||
122 | #ifdef CONFIG_CLS_U32_PERF | 121 | #ifdef CONFIG_CLS_U32_PERF |
123 | n->pf->rcnt +=1; | 122 | n->pf->rcnt += 1; |
124 | j = 0; | 123 | j = 0; |
125 | #endif | 124 | #endif |
126 | 125 | ||
@@ -133,7 +132,7 @@ next_knode: | |||
133 | } | 132 | } |
134 | #endif | 133 | #endif |
135 | 134 | ||
136 | for (i = n->sel.nkeys; i>0; i--, key++) { | 135 | for (i = n->sel.nkeys; i > 0; i--, key++) { |
137 | int toff = off + key->off + (off2 & key->offmask); | 136 | int toff = off + key->off + (off2 & key->offmask); |
138 | __be32 *data, _data; | 137 | __be32 *data, _data; |
139 | 138 | ||
@@ -148,13 +147,13 @@ next_knode: | |||
148 | goto next_knode; | 147 | goto next_knode; |
149 | } | 148 | } |
150 | #ifdef CONFIG_CLS_U32_PERF | 149 | #ifdef CONFIG_CLS_U32_PERF |
151 | n->pf->kcnts[j] +=1; | 150 | n->pf->kcnts[j] += 1; |
152 | j++; | 151 | j++; |
153 | #endif | 152 | #endif |
154 | } | 153 | } |
155 | if (n->ht_down == NULL) { | 154 | if (n->ht_down == NULL) { |
156 | check_terminal: | 155 | check_terminal: |
157 | if (n->sel.flags&TC_U32_TERMINAL) { | 156 | if (n->sel.flags & TC_U32_TERMINAL) { |
158 | 157 | ||
159 | *res = n->res; | 158 | *res = n->res; |
160 | #ifdef CONFIG_NET_CLS_IND | 159 | #ifdef CONFIG_NET_CLS_IND |
@@ -164,7 +163,7 @@ check_terminal: | |||
164 | } | 163 | } |
165 | #endif | 164 | #endif |
166 | #ifdef CONFIG_CLS_U32_PERF | 165 | #ifdef CONFIG_CLS_U32_PERF |
167 | n->pf->rhit +=1; | 166 | n->pf->rhit += 1; |
168 | #endif | 167 | #endif |
169 | r = tcf_exts_exec(skb, &n->exts, res); | 168 | r = tcf_exts_exec(skb, &n->exts, res); |
170 | if (r < 0) { | 169 | if (r < 0) { |
@@ -197,10 +196,10 @@ check_terminal: | |||
197 | sel = ht->divisor & u32_hash_fold(*data, &n->sel, | 196 | sel = ht->divisor & u32_hash_fold(*data, &n->sel, |
198 | n->fshift); | 197 | n->fshift); |
199 | } | 198 | } |
200 | if (!(n->sel.flags&(TC_U32_VAROFFSET|TC_U32_OFFSET|TC_U32_EAT))) | 199 | if (!(n->sel.flags & (TC_U32_VAROFFSET | TC_U32_OFFSET | TC_U32_EAT))) |
201 | goto next_ht; | 200 | goto next_ht; |
202 | 201 | ||
203 | if (n->sel.flags&(TC_U32_OFFSET|TC_U32_VAROFFSET)) { | 202 | if (n->sel.flags & (TC_U32_OFFSET | TC_U32_VAROFFSET)) { |
204 | off2 = n->sel.off + 3; | 203 | off2 = n->sel.off + 3; |
205 | if (n->sel.flags & TC_U32_VAROFFSET) { | 204 | if (n->sel.flags & TC_U32_VAROFFSET) { |
206 | __be16 *data, _data; | 205 | __be16 *data, _data; |
@@ -215,7 +214,7 @@ check_terminal: | |||
215 | } | 214 | } |
216 | off2 &= ~3; | 215 | off2 &= ~3; |
217 | } | 216 | } |
218 | if (n->sel.flags&TC_U32_EAT) { | 217 | if (n->sel.flags & TC_U32_EAT) { |
219 | off += off2; | 218 | off += off2; |
220 | off2 = 0; | 219 | off2 = 0; |
221 | } | 220 | } |
@@ -236,11 +235,11 @@ out: | |||
236 | 235 | ||
237 | deadloop: | 236 | deadloop: |
238 | if (net_ratelimit()) | 237 | if (net_ratelimit()) |
239 | printk(KERN_WARNING "cls_u32: dead loop\n"); | 238 | pr_warning("cls_u32: dead loop\n"); |
240 | return -1; | 239 | return -1; |
241 | } | 240 | } |
242 | 241 | ||
243 | static __inline__ struct tc_u_hnode * | 242 | static struct tc_u_hnode * |
244 | u32_lookup_ht(struct tc_u_common *tp_c, u32 handle) | 243 | u32_lookup_ht(struct tc_u_common *tp_c, u32 handle) |
245 | { | 244 | { |
246 | struct tc_u_hnode *ht; | 245 | struct tc_u_hnode *ht; |
@@ -252,10 +251,10 @@ u32_lookup_ht(struct tc_u_common *tp_c, u32 handle) | |||
252 | return ht; | 251 | return ht; |
253 | } | 252 | } |
254 | 253 | ||
255 | static __inline__ struct tc_u_knode * | 254 | static struct tc_u_knode * |
256 | u32_lookup_key(struct tc_u_hnode *ht, u32 handle) | 255 | u32_lookup_key(struct tc_u_hnode *ht, u32 handle) |
257 | { | 256 | { |
258 | unsigned sel; | 257 | unsigned int sel; |
259 | struct tc_u_knode *n = NULL; | 258 | struct tc_u_knode *n = NULL; |
260 | 259 | ||
261 | sel = TC_U32_HASH(handle); | 260 | sel = TC_U32_HASH(handle); |
@@ -300,7 +299,7 @@ static u32 gen_new_htid(struct tc_u_common *tp_c) | |||
300 | do { | 299 | do { |
301 | if (++tp_c->hgenerator == 0x7FF) | 300 | if (++tp_c->hgenerator == 0x7FF) |
302 | tp_c->hgenerator = 1; | 301 | tp_c->hgenerator = 1; |
303 | } while (--i>0 && u32_lookup_ht(tp_c, (tp_c->hgenerator|0x800)<<20)); | 302 | } while (--i > 0 && u32_lookup_ht(tp_c, (tp_c->hgenerator|0x800)<<20)); |
304 | 303 | ||
305 | return i > 0 ? (tp_c->hgenerator|0x800)<<20 : 0; | 304 | return i > 0 ? (tp_c->hgenerator|0x800)<<20 : 0; |
306 | } | 305 | } |
@@ -378,9 +377,9 @@ static int u32_delete_key(struct tcf_proto *tp, struct tc_u_knode* key) | |||
378 | static void u32_clear_hnode(struct tcf_proto *tp, struct tc_u_hnode *ht) | 377 | static void u32_clear_hnode(struct tcf_proto *tp, struct tc_u_hnode *ht) |
379 | { | 378 | { |
380 | struct tc_u_knode *n; | 379 | struct tc_u_knode *n; |
381 | unsigned h; | 380 | unsigned int h; |
382 | 381 | ||
383 | for (h=0; h<=ht->divisor; h++) { | 382 | for (h = 0; h <= ht->divisor; h++) { |
384 | while ((n = ht->ht[h]) != NULL) { | 383 | while ((n = ht->ht[h]) != NULL) { |
385 | ht->ht[h] = n->next; | 384 | ht->ht[h] = n->next; |
386 | 385 | ||
@@ -446,13 +445,13 @@ static void u32_destroy(struct tcf_proto *tp) | |||
446 | 445 | ||
447 | static int u32_delete(struct tcf_proto *tp, unsigned long arg) | 446 | static int u32_delete(struct tcf_proto *tp, unsigned long arg) |
448 | { | 447 | { |
449 | struct tc_u_hnode *ht = (struct tc_u_hnode*)arg; | 448 | struct tc_u_hnode *ht = (struct tc_u_hnode *)arg; |
450 | 449 | ||
451 | if (ht == NULL) | 450 | if (ht == NULL) |
452 | return 0; | 451 | return 0; |
453 | 452 | ||
454 | if (TC_U32_KEY(ht->handle)) | 453 | if (TC_U32_KEY(ht->handle)) |
455 | return u32_delete_key(tp, (struct tc_u_knode*)ht); | 454 | return u32_delete_key(tp, (struct tc_u_knode *)ht); |
456 | 455 | ||
457 | if (tp->root == ht) | 456 | if (tp->root == ht) |
458 | return -EINVAL; | 457 | return -EINVAL; |
@@ -470,14 +469,14 @@ static int u32_delete(struct tcf_proto *tp, unsigned long arg) | |||
470 | static u32 gen_new_kid(struct tc_u_hnode *ht, u32 handle) | 469 | static u32 gen_new_kid(struct tc_u_hnode *ht, u32 handle) |
471 | { | 470 | { |
472 | struct tc_u_knode *n; | 471 | struct tc_u_knode *n; |
473 | unsigned i = 0x7FF; | 472 | unsigned int i = 0x7FF; |
474 | 473 | ||
475 | for (n=ht->ht[TC_U32_HASH(handle)]; n; n = n->next) | 474 | for (n = ht->ht[TC_U32_HASH(handle)]; n; n = n->next) |
476 | if (i < TC_U32_NODE(n->handle)) | 475 | if (i < TC_U32_NODE(n->handle)) |
477 | i = TC_U32_NODE(n->handle); | 476 | i = TC_U32_NODE(n->handle); |
478 | i++; | 477 | i++; |
479 | 478 | ||
480 | return handle|(i>0xFFF ? 0xFFF : i); | 479 | return handle | (i > 0xFFF ? 0xFFF : i); |
481 | } | 480 | } |
482 | 481 | ||
483 | static const struct nla_policy u32_policy[TCA_U32_MAX + 1] = { | 482 | static const struct nla_policy u32_policy[TCA_U32_MAX + 1] = { |
@@ -566,7 +565,8 @@ static int u32_change(struct tcf_proto *tp, unsigned long base, u32 handle, | |||
566 | if (err < 0) | 565 | if (err < 0) |
567 | return err; | 566 | return err; |
568 | 567 | ||
569 | if ((n = (struct tc_u_knode*)*arg) != NULL) { | 568 | n = (struct tc_u_knode *)*arg; |
569 | if (n) { | ||
570 | if (TC_U32_KEY(n->handle) == 0) | 570 | if (TC_U32_KEY(n->handle) == 0) |
571 | return -EINVAL; | 571 | return -EINVAL; |
572 | 572 | ||
@@ -574,7 +574,7 @@ static int u32_change(struct tcf_proto *tp, unsigned long base, u32 handle, | |||
574 | } | 574 | } |
575 | 575 | ||
576 | if (tb[TCA_U32_DIVISOR]) { | 576 | if (tb[TCA_U32_DIVISOR]) { |
577 | unsigned divisor = nla_get_u32(tb[TCA_U32_DIVISOR]); | 577 | unsigned int divisor = nla_get_u32(tb[TCA_U32_DIVISOR]); |
578 | 578 | ||
579 | if (--divisor > 0x100) | 579 | if (--divisor > 0x100) |
580 | return -EINVAL; | 580 | return -EINVAL; |
@@ -585,7 +585,7 @@ static int u32_change(struct tcf_proto *tp, unsigned long base, u32 handle, | |||
585 | if (handle == 0) | 585 | if (handle == 0) |
586 | return -ENOMEM; | 586 | return -ENOMEM; |
587 | } | 587 | } |
588 | ht = kzalloc(sizeof(*ht) + divisor*sizeof(void*), GFP_KERNEL); | 588 | ht = kzalloc(sizeof(*ht) + divisor*sizeof(void *), GFP_KERNEL); |
589 | if (ht == NULL) | 589 | if (ht == NULL) |
590 | return -ENOBUFS; | 590 | return -ENOBUFS; |
591 | ht->tp_c = tp_c; | 591 | ht->tp_c = tp_c; |
@@ -683,7 +683,7 @@ static void u32_walk(struct tcf_proto *tp, struct tcf_walker *arg) | |||
683 | struct tc_u_common *tp_c = tp->data; | 683 | struct tc_u_common *tp_c = tp->data; |
684 | struct tc_u_hnode *ht; | 684 | struct tc_u_hnode *ht; |
685 | struct tc_u_knode *n; | 685 | struct tc_u_knode *n; |
686 | unsigned h; | 686 | unsigned int h; |
687 | 687 | ||
688 | if (arg->stop) | 688 | if (arg->stop) |
689 | return; | 689 | return; |
@@ -717,7 +717,7 @@ static void u32_walk(struct tcf_proto *tp, struct tcf_walker *arg) | |||
717 | static int u32_dump(struct tcf_proto *tp, unsigned long fh, | 717 | static int u32_dump(struct tcf_proto *tp, unsigned long fh, |
718 | struct sk_buff *skb, struct tcmsg *t) | 718 | struct sk_buff *skb, struct tcmsg *t) |
719 | { | 719 | { |
720 | struct tc_u_knode *n = (struct tc_u_knode*)fh; | 720 | struct tc_u_knode *n = (struct tc_u_knode *)fh; |
721 | struct nlattr *nest; | 721 | struct nlattr *nest; |
722 | 722 | ||
723 | if (n == NULL) | 723 | if (n == NULL) |
@@ -730,8 +730,9 @@ static int u32_dump(struct tcf_proto *tp, unsigned long fh, | |||
730 | goto nla_put_failure; | 730 | goto nla_put_failure; |
731 | 731 | ||
732 | if (TC_U32_KEY(n->handle) == 0) { | 732 | if (TC_U32_KEY(n->handle) == 0) { |
733 | struct tc_u_hnode *ht = (struct tc_u_hnode*)fh; | 733 | struct tc_u_hnode *ht = (struct tc_u_hnode *)fh; |
734 | u32 divisor = ht->divisor+1; | 734 | u32 divisor = ht->divisor + 1; |
735 | |||
735 | NLA_PUT_U32(skb, TCA_U32_DIVISOR, divisor); | 736 | NLA_PUT_U32(skb, TCA_U32_DIVISOR, divisor); |
736 | } else { | 737 | } else { |
737 | NLA_PUT(skb, TCA_U32_SEL, | 738 | NLA_PUT(skb, TCA_U32_SEL, |
@@ -755,7 +756,7 @@ static int u32_dump(struct tcf_proto *tp, unsigned long fh, | |||
755 | goto nla_put_failure; | 756 | goto nla_put_failure; |
756 | 757 | ||
757 | #ifdef CONFIG_NET_CLS_IND | 758 | #ifdef CONFIG_NET_CLS_IND |
758 | if(strlen(n->indev)) | 759 | if (strlen(n->indev)) |
759 | NLA_PUT_STRING(skb, TCA_U32_INDEV, n->indev); | 760 | NLA_PUT_STRING(skb, TCA_U32_INDEV, n->indev); |
760 | #endif | 761 | #endif |
761 | #ifdef CONFIG_CLS_U32_PERF | 762 | #ifdef CONFIG_CLS_U32_PERF |