]> git.baikalelectronics.ru Git - kernel.git/commit
net/sched: cls_flower: Add offload support using egress Hardware device
authorHadar Hen Zion <hadarh@mellanox.com>
Thu, 1 Dec 2016 12:06:37 +0000 (14:06 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 2 Dec 2016 18:28:37 +0000 (13:28 -0500)
commit99067e2dd94424b8af3993c7195532848b49cd34
tree530dd68dfea5c36052d56c8d2527af8af4397889
parentb9892659bbdf2ff65a8711e8cce1b2bf4c0b85c1
net/sched: cls_flower: Add offload support using egress Hardware device

In order to support hardware offloading when the device given by the tc
rule is different from the Hardware underline device, extract the mirred
(egress) device from the tc action when a filter is added, using the new
tc_action_ops, get_dev().

Flower caches the information about the mirred device and use it for
calling ndo_setup_tc in filter change, update stats and delete.

Calling ndo_setup_tc of the mirred (egress) device instead of the
ingress device will allow a resolution between the software ingress
device and the underline hardware device.

The resolution will take place inside the offloading driver using
'egress_device' flag added to tc_to_netdev struct which is provided to
the offloading driver.

Signed-off-by: Hadar Hen Zion <hadarh@mellanox.com>
Acked-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/netdevice.h
include/net/pkt_cls.h
net/sched/cls_api.c
net/sched/cls_flower.c