aboutsummaryrefslogtreecommitdiffstats
path: root/net/sched/cls_basic.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/sched/cls_basic.c')
-rw-r--r--net/sched/cls_basic.c9
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
238static 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
238static int basic_dump(struct net *net, struct tcf_proto *tp, void *fh, 246static 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