diff options
author | Nir Dotan <nird@mellanox.com> | 2018-08-03 15:57:41 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-08-03 12:28:01 -0700 |
commit | 3757b255bf20ae3c941abae7624ff215bfd9ef05 (patch) | |
tree | 94b12b536ec54656885a4fbedba8e65f3b9f908f /drivers/net/wireless | |
parent | afb41bb039656f0cecb54eeb8b2e2088201295f5 (diff) |
mlxsw: core_acl_flex_actions: Return error for conflicting actions
Spectrum switch ACL action set is built in groups of three actions
which may point to additional actions. A group holds a single record
which can be set as goto record for pointing at a following group
or can be set to mark the termination of the lookup. This is perfectly
adequate for handling a series of actions to be executed on a packet.
While the SW model allows configuration of conflicting actions
where it is clear that some actions will never execute, the mlxsw
driver must block such configurations as it creates a conflict
over the single terminate/goto record value.
For a conflicting actions configuration such as:
# tc filter add dev swp49 parent ffff: \
protocol ip pref 10 \
flower skip_sw dst_ip 192.168.101.1 \
action goto chain 100 \
action mirred egress mirror dev swp4
Where it is clear that the last action will never execute, the
mlxsw driver was issuing a warning instead of returning an error.
Therefore replace that warning with an error for this specific
case.
Fixes: 4cda7d8d7098 ("mlxsw: core: Introduce flexible actions support")
Signed-off-by: Nir Dotan <nird@mellanox.com>
Reviewed-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/wireless')
0 files changed, 0 insertions, 0 deletions