diff options
Diffstat (limited to 'net/sched/ematch.c')
-rw-r--r-- | net/sched/ematch.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/net/sched/ematch.c b/net/sched/ematch.c index 8f8a16da72a8..d3ad36b36129 100644 --- a/net/sched/ematch.c +++ b/net/sched/ematch.c | |||
@@ -37,12 +37,12 @@ | |||
37 | * --------<-POP--------- | 37 | * --------<-POP--------- |
38 | * | 38 | * |
39 | * where B is a virtual ematch referencing to sequence starting with B1. | 39 | * where B is a virtual ematch referencing to sequence starting with B1. |
40 | * | 40 | * |
41 | * ========================================================================== | 41 | * ========================================================================== |
42 | * | 42 | * |
43 | * How to write an ematch in 60 seconds | 43 | * How to write an ematch in 60 seconds |
44 | * ------------------------------------ | 44 | * ------------------------------------ |
45 | * | 45 | * |
46 | * 1) Provide a matcher function: | 46 | * 1) Provide a matcher function: |
47 | * static int my_match(struct sk_buff *skb, struct tcf_ematch *m, | 47 | * static int my_match(struct sk_buff *skb, struct tcf_ematch *m, |
48 | * struct tcf_pkt_info *info) | 48 | * struct tcf_pkt_info *info) |
@@ -115,7 +115,7 @@ static inline struct tcf_ematch_ops * tcf_em_lookup(u16 kind) | |||
115 | 115 | ||
116 | /** | 116 | /** |
117 | * tcf_em_register - register an extended match | 117 | * tcf_em_register - register an extended match |
118 | * | 118 | * |
119 | * @ops: ematch operations lookup table | 119 | * @ops: ematch operations lookup table |
120 | * | 120 | * |
121 | * This function must be called by ematches to announce their presence. | 121 | * This function must be called by ematches to announce their presence. |
@@ -211,7 +211,7 @@ static int tcf_em_validate(struct tcf_proto *tp, | |||
211 | if (ref <= idx) | 211 | if (ref <= idx) |
212 | goto errout; | 212 | goto errout; |
213 | 213 | ||
214 | 214 | ||
215 | em->data = ref; | 215 | em->data = ref; |
216 | } else { | 216 | } else { |
217 | /* Note: This lookup will increase the module refcnt | 217 | /* Note: This lookup will increase the module refcnt |
@@ -327,7 +327,7 @@ int tcf_em_tree_validate(struct tcf_proto *tp, struct rtattr *rta, | |||
327 | /* We do not use rtattr_parse_nested here because the maximum | 327 | /* We do not use rtattr_parse_nested here because the maximum |
328 | * number of attributes is unknown. This saves us the allocation | 328 | * number of attributes is unknown. This saves us the allocation |
329 | * for a tb buffer which would serve no purpose at all. | 329 | * for a tb buffer which would serve no purpose at all. |
330 | * | 330 | * |
331 | * The array of rt attributes is parsed in the order as they are | 331 | * The array of rt attributes is parsed in the order as they are |
332 | * provided, their type must be incremental from 1 to n. Even | 332 | * provided, their type must be incremental from 1 to n. Even |
333 | * if it does not serve any real purpose, a failure of sticking | 333 | * if it does not serve any real purpose, a failure of sticking |
@@ -399,7 +399,7 @@ void tcf_em_tree_destroy(struct tcf_proto *tp, struct tcf_ematch_tree *tree) | |||
399 | module_put(em->ops->owner); | 399 | module_put(em->ops->owner); |
400 | } | 400 | } |
401 | } | 401 | } |
402 | 402 | ||
403 | tree->hdr.nmatches = 0; | 403 | tree->hdr.nmatches = 0; |
404 | kfree(tree->matches); | 404 | kfree(tree->matches); |
405 | } | 405 | } |