Message ID | 1545290134-65364-1-git-send-email-dekelp@mellanox.com (mailing list archive) |
---|---|
State | Accepted, archived |
Delegated to: | Shahaf Shuler |
Headers | show |
Series | net/mlx4: support flow w/o ETH spec and with VLAN | expand |
Context | Check | Description |
---|---|---|
ci/checkpatch | success | coding style OK |
ci/Intel-compilation | success | Compilation OK |
ci/intel-Performance-Testing | success | Performance Testing PASS |
ci/mellanox-Performance-Testing | success | Performance Testing PASS |
From: Dekel Peled > This patch adds to MLX4 PMD the option to set flow rules with wildcard ether > MAC and specific VLAN ID. with wildcard => with empty > > Note that this fix works with > 1. CX-3 FW 2.42.5016 or higher. > 2. mlxconfig configuration STEER_FORCE_VLAN set to 1. > > Signed-off-by: Dekel Peled <dekelp@mellanox.com> Besides that, Acked-by: Matan Azrad <matan@mellanox.com>
Tuesday, December 25, 2018 2:06 PM, Matan Azrad: > Subject: RE: [PATCH] net/mlx4: support flow w/o ETH spec and with VLAN > > > > From: Dekel Peled > > This patch adds to MLX4 PMD the option to set flow rules with wildcard > > ether MAC and specific VLAN ID. > > with wildcard => with empty > > > > > > Note that this fix works with > > 1. CX-3 FW 2.42.5016 or higher. > > 2. mlxconfig configuration STEER_FORCE_VLAN set to 1. > > > > Signed-off-by: Dekel Peled <dekelp@mellanox.com> > Besides that, > Acked-by: Matan Azrad <matan@mellanox.com> Applied to next-net-mlx, with the cosmetic commit log change. Thanks.
diff --git a/drivers/net/mlx4/mlx4_flow.c b/drivers/net/mlx4/mlx4_flow.c index b40e7e5..6c927a6 100644 --- a/drivers/net/mlx4/mlx4_flow.c +++ b/drivers/net/mlx4/mlx4_flow.c @@ -205,9 +205,7 @@ struct mlx4_drop { const char *msg; unsigned int i; - if (!mask) { - flow->promisc = 1; - } else { + if (mask) { uint32_t sum_dst = 0; uint32_t sum_src = 0; @@ -249,6 +247,10 @@ struct mlx4_drop { .type = IBV_FLOW_SPEC_ETH, .size = sizeof(*eth), }; + if (!mask) { + flow->ibv_attr->type = IBV_FLOW_ATTR_ALL_DEFAULT; + return 0; + } memcpy(eth->val.dst_mac, spec->dst.addr_bytes, ETHER_ADDR_LEN); memcpy(eth->mask.dst_mac, mask->dst.addr_bytes, ETHER_ADDR_LEN); /* Remove unwanted bits from values. */ @@ -311,6 +313,8 @@ struct mlx4_drop { eth->val.vlan_tag = spec->tci; eth->mask.vlan_tag = mask->tci; eth->val.vlan_tag &= eth->mask.vlan_tag; + if (flow->ibv_attr->type == IBV_FLOW_ATTR_ALL_DEFAULT) + flow->ibv_attr->type = IBV_FLOW_ATTR_NORMAL; return 0; error: return rte_flow_error_set(error, ENOTSUP, RTE_FLOW_ERROR_TYPE_ITEM,
This patch adds to MLX4 PMD the option to set flow rules with wildcard ether MAC and specific VLAN ID. Note that this fix works with 1. CX-3 FW 2.42.5016 or higher. 2. mlxconfig configuration STEER_FORCE_VLAN set to 1. Signed-off-by: Dekel Peled <dekelp@mellanox.com> --- drivers/net/mlx4/mlx4_flow.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-)