aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'net/sched/cls_u32.c')
-rw-r--r--net/sched/cls_u32.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/net/sched/cls_u32.c b/net/sched/cls_u32.c
index b2c3406a2cf2..fe246e03fcd9 100644
--- a/net/sched/cls_u32.c
+++ b/net/sched/cls_u32.c
@@ -1315,12 +1315,17 @@ static int u32_reoffload(struct tcf_proto *tp, bool add, tc_setup_cb_t *cb,
1315 return 0; 1315 return 0;
1316} 1316}
1317 1317
1318static void u32_bind_class(void *fh, u32 classid, unsigned long cl) 1318static void u32_bind_class(void *fh, u32 classid, unsigned long cl, void *q,
1319 unsigned long base)
1319{ 1320{
1320 struct tc_u_knode *n = fh; 1321 struct tc_u_knode *n = fh;
1321 1322
1322 if (n && n->res.classid == classid) 1323 if (n && n->res.classid == classid) {
1323 n->res.class = cl; 1324 if (cl)
1325 __tcf_bind_filter(q, &n->res, base);
1326 else
1327 __tcf_unbind_filter(q, &n->res);
1328 }
1324} 1329}
1325 1330
1326static int u32_dump(struct net *net, struct tcf_proto *tp, void *fh, 1331static int u32_dump(struct net *net, struct tcf_proto *tp, void *fh,