net: sched: cls: Fix offloading when ingress dev is vxlan
authorPaul Blakey <paulb@mellanox.com>
Tue, 5 Jun 2018 08:04:03 +0000 (11:04 +0300)
committerDavid S. Miller <davem@davemloft.net>
Tue, 5 Jun 2018 14:29:58 +0000 (10:29 -0400)
commitd96a43c66464cdf0b249fdf47b6dcd65b83af8c0
treededabc30a64e17f27a66dd7b58450a72022c9fa6
parent1d88ba1ebb2763aa86172cd7ca05dedbeccc0d35
net: sched: cls: Fix offloading when ingress dev is vxlan

When using a vxlan device as the ingress dev, we count it as a
"no offload dev", so when such a rule comes and err stop is true,
we fail early and don't try the egdev route which can offload it
through the egress device.

Fix that by not calling the block offload if one of the devices
attached to it is not offload capable, but make sure egress on such case
is capable instead.

Fixes: caa7260156eb ("net: sched: keep track of offloaded filters [..]")
Reviewed-by: Roi Dayan <roid@mellanox.com>
Acked-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: Paul Blakey <paulb@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/cls_api.c