diff options
Diffstat (limited to 'net/sched/cls_route.c')
| -rw-r--r-- | net/sched/cls_route.c | 11 | 
1 files changed, 8 insertions, 3 deletions
diff --git a/net/sched/cls_route.c b/net/sched/cls_route.c index 2d9e0b4484ea..6f8786b06bde 100644 --- a/net/sched/cls_route.c +++ b/net/sched/cls_route.c @@ -641,12 +641,17 @@ nla_put_failure:  	return -1;  } -static void route4_bind_class(void *fh, u32 classid, unsigned long cl) +static void route4_bind_class(void *fh, u32 classid, unsigned long cl, void *q, +			      unsigned long base)  {  	struct route4_filter *f = fh; -	if (f && f->res.classid == classid) -		f->res.class = cl; +	if (f && f->res.classid == classid) { +		if (cl) +			__tcf_bind_filter(q, &f->res, base); +		else +			__tcf_unbind_filter(q, &f->res); +	}  }  static struct tcf_proto_ops cls_route4_ops __read_mostly = {  | 
