mirror of https://gitee.com/openkylin/linux.git
net/mlx5e: Add support for tc trap
Support tc trap such that packets can explicitly be forwarded to slow path if they match a specific rule. In the example below, we want packets with src IP equals 7.7.7.8 to be forwarded to software, in which case it will get to the appropriate representor net device. $ tc filter add dev eth1 protocol ip prio 1 root flower skip_sw \ src_ip 7.7.7.8 action trap Signed-off-by: Eli Cohen <eli@mellanox.com> Reviewed-by: Roi Dayan <roid@nvidia.com> Reviewed-by: Ariel Levkovich <lariel@nvidia.com> Reviewed-by: Maor Dickman <maord@nvidia.com> Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
This commit is contained in:
parent
cd1ef96621
commit
f02882102b
|
@ -3943,6 +3943,16 @@ static int parse_tc_fdb_actions(struct mlx5e_priv *priv,
|
|||
action |= MLX5_FLOW_CONTEXT_ACTION_DROP |
|
||||
MLX5_FLOW_CONTEXT_ACTION_COUNT;
|
||||
break;
|
||||
case FLOW_ACTION_TRAP:
|
||||
if (!flow_offload_has_one_action(flow_action)) {
|
||||
NL_SET_ERR_MSG_MOD(extack,
|
||||
"action trap is supported as a sole action only");
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
action |= (MLX5_FLOW_CONTEXT_ACTION_FWD_DEST |
|
||||
MLX5_FLOW_CONTEXT_ACTION_COUNT);
|
||||
attr->flags |= MLX5_ESW_ATTR_FLAG_SLOW_PATH;
|
||||
break;
|
||||
case FLOW_ACTION_MPLS_PUSH:
|
||||
if (!MLX5_CAP_ESW_FLOWTABLE_FDB(priv->mdev,
|
||||
reformat_l2_to_l3_tunnel) ||
|
||||
|
|
Loading…
Reference in New Issue