Ondřej Hlavatý 16e6653c82 ixgbe: fix parsing of TC actions for HW offload
The previous code was optimistic, accepting the offload of whole action
chain when there was a single known action (drop/redirect). This results
in offloading a rule which should not be offloaded, because its behavior
cannot be reproduced in the hardware.

For example:

$ tc filter add dev eno1 parent ffff: protocol ip \
    u32 ht 800: order 1 match tcp src 42 FFFF \
    action mirred egress mirror dev enp1s16 pipe \
    drop

The controller is unable to mirror the packet to a VF, but still
offloads the rule by dropping the packet.

Change the approach of the function to a pessimistic one, rejecting the
chain when an unknown action is found. This is better suited for future
extensions.

Note that both recognized actions always return TC_ACT_SHOT, therefore
it is safe to ignore actions behind them.

Signed-off-by: Ondřej Hlavatý <ohlavaty@redhat.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-05-31 23:01:00 -04:00
..
2018-05-29 09:59:53 -04:00
2018-05-24 08:53:20 -07:00
2018-04-19 15:11:50 -07:00
2018-04-04 20:07:20 -07:00
2018-03-27 09:51:22 +02:00
2018-04-09 11:42:31 -07:00
2018-04-04 20:07:20 -07:00
2018-04-05 14:27:02 -07:00
2018-05-24 14:12:05 -07:00
2018-05-22 13:48:34 -04:00
2018-04-07 12:08:19 -07:00
2018-05-18 10:10:43 -07:00
2018-04-18 23:37:25 -04:00
2018-05-24 14:12:05 -07:00
2018-04-04 20:07:20 -07:00
2018-05-07 05:33:29 -10:00
2018-04-04 20:07:20 -07:00
2018-04-05 21:29:35 -07:00
2018-04-05 21:21:08 -07:00
2018-04-05 21:21:08 -07:00
2018-04-13 15:46:21 -07:00
2018-05-21 17:39:32 -07:00
2018-05-24 08:53:20 -07:00
2018-05-24 14:12:05 -07:00
2018-04-06 19:44:27 -07:00
2018-04-10 10:20:00 -07:00
2018-04-11 18:58:27 -07:00
2018-03-29 13:38:10 +03:00