net: sched: avoid ndo_setup_tc calls for TC_SETUP_CLS*
All drivers are converted to use block callbacks for TC_SETUP_CLS*. So it is now safe to remove the calls to ndo_setup_tc from cls_* Signed-off-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
6b3eb752b4
commit
8d26d5636d
@@ -148,7 +148,6 @@ static int cls_bpf_offload_cmd(struct tcf_proto *tp, struct cls_bpf_prog *prog,
|
||||
enum tc_clsbpf_command cmd)
|
||||
{
|
||||
bool addorrep = cmd == TC_CLSBPF_ADD || cmd == TC_CLSBPF_REPLACE;
|
||||
struct net_device *dev = tp->q->dev_queue->dev;
|
||||
struct tcf_block *block = tp->chain->block;
|
||||
bool skip_sw = tc_skip_sw(prog->gen_flags);
|
||||
struct tc_cls_bpf_offload cls_bpf = {};
|
||||
@@ -162,19 +161,6 @@ static int cls_bpf_offload_cmd(struct tcf_proto *tp, struct cls_bpf_prog *prog,
|
||||
cls_bpf.exts_integrated = prog->exts_integrated;
|
||||
cls_bpf.gen_flags = prog->gen_flags;
|
||||
|
||||
if (tc_can_offload(dev)) {
|
||||
err = dev->netdev_ops->ndo_setup_tc(dev, TC_SETUP_CLSBPF,
|
||||
&cls_bpf);
|
||||
if (addorrep) {
|
||||
if (err) {
|
||||
if (skip_sw)
|
||||
return err;
|
||||
} else {
|
||||
prog->gen_flags |= TCA_CLS_FLAGS_IN_HW;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
err = tc_setup_cb_call(block, NULL, TC_SETUP_CLSBPF, &cls_bpf, skip_sw);
|
||||
if (addorrep) {
|
||||
if (err < 0) {
|
||||
|
Reference in New Issue
Block a user