diff options
Diffstat (limited to 'net/sched/cls_route.c')
-rw-r--r-- | net/sched/cls_route.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/net/sched/cls_route.c b/net/sched/cls_route.c index 3b70982394ce..9ddde65915d2 100644 --- a/net/sched/cls_route.c +++ b/net/sched/cls_route.c | |||
@@ -624,6 +624,14 @@ nla_put_failure: | |||
624 | return -1; | 624 | return -1; |
625 | } | 625 | } |
626 | 626 | ||
627 | static void route4_bind_class(void *fh, u32 classid, unsigned long cl) | ||
628 | { | ||
629 | struct route4_filter *f = fh; | ||
630 | |||
631 | if (f && f->res.classid == classid) | ||
632 | f->res.class = cl; | ||
633 | } | ||
634 | |||
627 | static struct tcf_proto_ops cls_route4_ops __read_mostly = { | 635 | static struct tcf_proto_ops cls_route4_ops __read_mostly = { |
628 | .kind = "route", | 636 | .kind = "route", |
629 | .classify = route4_classify, | 637 | .classify = route4_classify, |
@@ -634,6 +642,7 @@ static struct tcf_proto_ops cls_route4_ops __read_mostly = { | |||
634 | .delete = route4_delete, | 642 | .delete = route4_delete, |
635 | .walk = route4_walk, | 643 | .walk = route4_walk, |
636 | .dump = route4_dump, | 644 | .dump = route4_dump, |
645 | .bind_class = route4_bind_class, | ||
637 | .owner = THIS_MODULE, | 646 | .owner = THIS_MODULE, |
638 | }; | 647 | }; |
639 | 648 | ||