forked from luck/tmp_suning_uos_patched
Revert "net: sched: cls: Fix offloading when ingress dev is vxlan"
This reverts commit d96a43c664
.
This potentially breaks things, so reverting as per
request by Jakub Kicinski.
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
5040cc990c
commit
9a99dc1c41
|
@ -807,6 +807,10 @@ static int tcf_block_cb_call(struct tcf_block *block, enum tc_setup_type type,
|
||||||
int ok_count = 0;
|
int ok_count = 0;
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
|
/* Make sure all netdevs sharing this block are offload-capable. */
|
||||||
|
if (block->nooffloaddevcnt && err_stop)
|
||||||
|
return -EOPNOTSUPP;
|
||||||
|
|
||||||
list_for_each_entry(block_cb, &block->cb_list, list) {
|
list_for_each_entry(block_cb, &block->cb_list, list) {
|
||||||
err = block_cb->cb(type, type_data, block_cb->cb_priv);
|
err = block_cb->cb(type, type_data, block_cb->cb_priv);
|
||||||
if (err) {
|
if (err) {
|
||||||
|
@ -1725,31 +1729,21 @@ static int tc_exts_setup_cb_egdev_call(struct tcf_exts *exts,
|
||||||
int tc_setup_cb_call(struct tcf_block *block, struct tcf_exts *exts,
|
int tc_setup_cb_call(struct tcf_block *block, struct tcf_exts *exts,
|
||||||
enum tc_setup_type type, void *type_data, bool err_stop)
|
enum tc_setup_type type, void *type_data, bool err_stop)
|
||||||
{
|
{
|
||||||
int ok_count = 0;
|
int ok_count;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
if (!block->nooffloaddevcnt) {
|
|
||||||
ret = tcf_block_cb_call(block, type, type_data, err_stop);
|
ret = tcf_block_cb_call(block, type, type_data, err_stop);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
return ret;
|
||||||
ok_count = ret;
|
ok_count = ret;
|
||||||
}
|
|
||||||
|
|
||||||
if (!exts || ok_count)
|
if (!exts || ok_count)
|
||||||
goto skip_egress;
|
return ok_count;
|
||||||
|
|
||||||
ret = tc_exts_setup_cb_egdev_call(exts, type, type_data, err_stop);
|
ret = tc_exts_setup_cb_egdev_call(exts, type, type_data, err_stop);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
return ret;
|
||||||
ok_count += ret;
|
ok_count += ret;
|
||||||
|
|
||||||
skip_egress:
|
|
||||||
/* if one of the netdevs sharing this block are not offload-capable
|
|
||||||
* make sure we succeeded in egress instead.
|
|
||||||
*/
|
|
||||||
if (block->nooffloaddevcnt && !ok_count && err_stop)
|
|
||||||
return -EOPNOTSUPP;
|
|
||||||
|
|
||||||
return ok_count;
|
return ok_count;
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(tc_setup_cb_call);
|
EXPORT_SYMBOL(tc_setup_cb_call);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user