diff options
Diffstat (limited to 'net/sched/cls_basic.c')
-rw-r--r-- | net/sched/cls_basic.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/net/sched/cls_basic.c b/net/sched/cls_basic.c index 73cc7f167a38..d89ebafd2239 100644 --- a/net/sched/cls_basic.c +++ b/net/sched/cls_basic.c | |||
@@ -235,6 +235,14 @@ skip: | |||
235 | } | 235 | } |
236 | } | 236 | } |
237 | 237 | ||
238 | static void basic_bind_class(void *fh, u32 classid, unsigned long cl) | ||
239 | { | ||
240 | struct basic_filter *f = fh; | ||
241 | |||
242 | if (f && f->res.classid == classid) | ||
243 | f->res.class = cl; | ||
244 | } | ||
245 | |||
238 | static int basic_dump(struct net *net, struct tcf_proto *tp, void *fh, | 246 | static int basic_dump(struct net *net, struct tcf_proto *tp, void *fh, |
239 | struct sk_buff *skb, struct tcmsg *t) | 247 | struct sk_buff *skb, struct tcmsg *t) |
240 | { | 248 | { |
@@ -280,6 +288,7 @@ static struct tcf_proto_ops cls_basic_ops __read_mostly = { | |||
280 | .delete = basic_delete, | 288 | .delete = basic_delete, |
281 | .walk = basic_walk, | 289 | .walk = basic_walk, |
282 | .dump = basic_dump, | 290 | .dump = basic_dump, |
291 | .bind_class = basic_bind_class, | ||
283 | .owner = THIS_MODULE, | 292 | .owner = THIS_MODULE, |
284 | }; | 293 | }; |
285 | 294 | ||