net/mlx5: E-Switch, Add support for offloading rules with no in_port
FTEs in global tables may match on packets from multiple in_ports. Provide the capability to omit the in_port match condition. Signed-off-by: Paul Blakey <paulb@mellanox.com> Reviewed-by: Oz Shlomo <ozsh@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
d18296ffd9
commit
6fb0701a9c
@ -391,6 +391,7 @@ enum {
|
|||||||
enum {
|
enum {
|
||||||
MLX5_ESW_ATTR_FLAG_VLAN_HANDLED = BIT(0),
|
MLX5_ESW_ATTR_FLAG_VLAN_HANDLED = BIT(0),
|
||||||
MLX5_ESW_ATTR_FLAG_SLOW_PATH = BIT(1),
|
MLX5_ESW_ATTR_FLAG_SLOW_PATH = BIT(1),
|
||||||
|
MLX5_ESW_ATTR_FLAG_NO_IN_PORT = BIT(2),
|
||||||
};
|
};
|
||||||
|
|
||||||
struct mlx5_esw_flow_attr {
|
struct mlx5_esw_flow_attr {
|
||||||
|
@ -388,7 +388,9 @@ mlx5_eswitch_add_offloaded_rule(struct mlx5_eswitch *esw,
|
|||||||
attr->prio, 0);
|
attr->prio, 0);
|
||||||
else
|
else
|
||||||
fdb = attr->fdb;
|
fdb = attr->fdb;
|
||||||
mlx5_eswitch_set_rule_source_port(esw, spec, attr);
|
|
||||||
|
if (!(attr->flags & MLX5_ESW_ATTR_FLAG_NO_IN_PORT))
|
||||||
|
mlx5_eswitch_set_rule_source_port(esw, spec, attr);
|
||||||
}
|
}
|
||||||
if (IS_ERR(fdb)) {
|
if (IS_ERR(fdb)) {
|
||||||
rule = ERR_CAST(fdb);
|
rule = ERR_CAST(fdb);
|
||||||
|
Loading…
Reference in New Issue
Block a user