diff options
author | Ondřej Hlavatý <ohlavaty@redhat.com> | 2018-05-31 23:21:04 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-06-01 05:01:00 +0200 |
commit | 16e6653c8259ca5383126e1c6bcf7fe062af87fc (patch) | |
tree | 8452041e189fb54607e7942e00d0a04214b4f691 /net/core/net-sysfs.c | |
parent | net: ethernet: davinci_emac: fix error handling in probe() (diff) | |
download | linux-16e6653c8259ca5383126e1c6bcf7fe062af87fc.tar.xz linux-16e6653c8259ca5383126e1c6bcf7fe062af87fc.zip |
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>
Diffstat (limited to 'net/core/net-sysfs.c')
0 files changed, 0 insertions, 0 deletions