diff options
author | Jiri Pirko <jiri@mellanox.com> | 2020-05-09 22:06:02 +0200 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2020-05-10 01:02:43 +0200 |
commit | 18aa23b31f6c8e3f4b01b70a8a4eab873e2eb710 (patch) | |
tree | ba5c25db0921a8ddd012c4799f05429ed802c745 | |
parent | hinic: add three net_device_ops of vf (diff) | |
download | linux-18aa23b31f6c8e3f4b01b70a8a4eab873e2eb710.tar.xz linux-18aa23b31f6c8e3f4b01b70a8a4eab873e2eb710.zip |
mlxsw: spectrum_matchall: Restrict sample action to be allowed only on ingress
HW supports packet sampling on ingress only. Check and fail if user
is adding sample on egress.
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-rw-r--r-- | drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c index da1c05f44cec..c75661521bbc 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c @@ -212,6 +212,11 @@ int mlxsw_sp_mall_replace(struct mlxsw_sp_flow_block *block, mall_entry->mirror.to_dev = act->dev; } else if (act->id == FLOW_ACTION_SAMPLE && protocol == htons(ETH_P_ALL)) { + if (!mall_entry->ingress) { + NL_SET_ERR_MSG(f->common.extack, "Sample is not supported on egress"); + err = -EOPNOTSUPP; + goto errout; + } if (act->sample.rate > MLXSW_REG_MPSC_RATE_MAX) { NL_SET_ERR_MSG(f->common.extack, "Sample rate not supported"); err = -EOPNOTSUPP; |