net: sched: cls_flower: set correct offload data in fl_reoffload
authorVlad Buslov <vladbu@mellanox.com>
Mon, 6 Aug 2018 08:27:10 +0000 (11:27 +0300)
committerDavid S. Miller <davem@davemloft.net>
Tue, 7 Aug 2018 19:35:17 +0000 (12:35 -0700)
fl_reoffload implementation sets following members of struct
tc_cls_flower_offload incorrectly:
 - masked key instead of mask
 - key instead of masked key

Fix fl_reoffload to provide correct data to offload callback.

Fixes: 31533cba4327 ("net: sched: cls_flower: implement offload tcf_proto_op")
Signed-off-by: Vlad Buslov <vladbu@mellanox.com>
Acked-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/cls_flower.c

index 9da2442..6fd9bdd 100644 (file)
@@ -1338,8 +1338,8 @@ static int fl_reoffload(struct tcf_proto *tp, bool add, tc_setup_cb_t *cb,
                                TC_CLSFLOWER_REPLACE : TC_CLSFLOWER_DESTROY;
                        cls_flower.cookie = (unsigned long)f;
                        cls_flower.dissector = &mask->dissector;
-                       cls_flower.mask = &f->mkey;
-                       cls_flower.key = &f->key;
+                       cls_flower.mask = &mask->key;
+                       cls_flower.key = &f->mkey;
                        cls_flower.exts = &f->exts;
                        cls_flower.classid = f->res.classid;