All of lore.kernel.org
 help / color / mirror / Atom feed
* [pull request][net 00/12] Mellanox, mlx5 fixes 2019-11-20
@ 2019-11-20 20:35 Saeed Mahameed
  2019-11-20 20:35 ` [net 01/12] net/mlx5e: Fix error flow cleanup in mlx5e_tc_tun_create_header_ipv4/6 Saeed Mahameed
                   ` (12 more replies)
  0 siblings, 13 replies; 14+ messages in thread
From: Saeed Mahameed @ 2019-11-20 20:35 UTC (permalink / raw)
  To: David S. Miller; +Cc: netdev, Saeed Mahameed

Hi Dave,

This series introduces some fixes to mlx5 driver.

Please pull and let me know if there is any problem.

For -stable v4.9:
 ('net/mlx5e: Fix set vf link state error flow')

For -stable v4.14
 ('net/mlxfw: Verify FSM error code translation doesn't exceed array size')

For -stable v4.19
 ('net/mlx5: Fix auto group size calculation')

For -stable v5.3
 ('net/mlx5e: Fix error flow cleanup in mlx5e_tc_tun_create_header_ipv4/6')
 ('net/mlx5e: Do not use non-EXT link modes in EXT mode')
 ('net/mlx5: Update the list of the PCI supported devices')

Thanks,
Saeed.

---
The following changes since commit 6e4ff1c94a0477598ddbe4da47530aecdb4f7dff:

  mdio_bus: Fix init if CONFIG_RESET_CONTROLLER=n (2019-11-19 19:17:20 -0800)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux.git tags/mlx5-fixes-2019-11-20

for you to fetch changes up to 30e9e0550bf693c94bc15827781fe42dd60be634:

  net/mlxfw: Verify FSM error code translation doesn't exceed array size (2019-11-20 12:33:06 -0800)

----------------------------------------------------------------
mlx5-fixes-2019-11-20

----------------------------------------------------------------
Alex Vesker (3):
      net/mlx5: DR, Fix invalid EQ vector number on CQ creation
      net/mlx5: DR, Skip rehash for tables with byte mask zero
      net/mlx5: DR, Limit STE hash table enlarge based on bytemask

Eli Cohen (2):
      net/mlx5e: Fix error flow cleanup in mlx5e_tc_tun_create_header_ipv4/6
      net/mlx5e: Fix ingress rate configuration for representors

Eran Ben Elisha (2):
      net/mlx5e: Do not use non-EXT link modes in EXT mode
      net/mlxfw: Verify FSM error code translation doesn't exceed array size

Maor Gottlieb (1):
      net/mlx5: Fix auto group size calculation

Marina Varshaver (1):
      net/mlx5e: Add missing capability bit check for IP-in-IP

Roi Dayan (1):
      net/mlx5e: Fix set vf link state error flow

Shani Shapp (1):
      net/mlx5: Update the list of the PCI supported devices

Vlad Buslov (1):
      net/mlx5e: Reorder mirrer action parsing to check for encap first

 .../net/ethernet/mellanox/mlx5/core/en/tc_tun.c    | 18 ++++++++-----
 .../net/ethernet/mellanox/mlx5/core/en_ethtool.c   | 12 ++++-----
 drivers/net/ethernet/mellanox/mlx5/core/en_main.c  |  5 +++-
 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c    | 31 +++++++++++-----------
 drivers/net/ethernet/mellanox/mlx5/core/eswitch.c  |  2 +-
 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c  | 10 ++++---
 drivers/net/ethernet/mellanox/mlx5/core/fs_core.h  |  1 +
 drivers/net/ethernet/mellanox/mlx5/core/main.c     |  1 +
 .../ethernet/mellanox/mlx5/core/steering/dr_rule.c | 15 +++++++++++
 .../ethernet/mellanox/mlx5/core/steering/dr_send.c |  4 ++-
 .../ethernet/mellanox/mlx5/core/steering/dr_ste.c  | 22 +--------------
 drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c    |  2 ++
 12 files changed, 67 insertions(+), 56 deletions(-)

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [net 01/12] net/mlx5e: Fix error flow cleanup in mlx5e_tc_tun_create_header_ipv4/6
  2019-11-20 20:35 [pull request][net 00/12] Mellanox, mlx5 fixes 2019-11-20 Saeed Mahameed
@ 2019-11-20 20:35 ` Saeed Mahameed
  2019-11-20 20:35 ` [net 02/12] net/mlx5e: Fix ingress rate configuration for representors Saeed Mahameed
                   ` (11 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Saeed Mahameed @ 2019-11-20 20:35 UTC (permalink / raw)
  To: David S. Miller; +Cc: netdev, Eli Cohen, Roi Dayan, Saeed Mahameed

From: Eli Cohen <eli@mellanox.com>

Be sure to release the neighbour in case of failures after successful
route lookup.

Fixes: 101f4de9dd52 ("net/mlx5e: Move TC tunnel offloading code to separate source file")
Signed-off-by: Eli Cohen <eli@mellanox.com>
Reviewed-by: Roi Dayan <roid@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
---
 .../ethernet/mellanox/mlx5/core/en/tc_tun.c    | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c b/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c
index 13af72556987..745ab6cd7c30 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c
@@ -239,12 +239,15 @@ int mlx5e_tc_tun_create_header_ipv4(struct mlx5e_priv *priv,
 	if (max_encap_size < ipv4_encap_size) {
 		mlx5_core_warn(priv->mdev, "encap size %d too big, max supported is %d\n",
 			       ipv4_encap_size, max_encap_size);
-		return -EOPNOTSUPP;
+		err = -EOPNOTSUPP;
+		goto out;
 	}
 
 	encap_header = kzalloc(ipv4_encap_size, GFP_KERNEL);
-	if (!encap_header)
-		return -ENOMEM;
+	if (!encap_header) {
+		err = -ENOMEM;
+		goto out;
+	}
 
 	/* used by mlx5e_detach_encap to lookup a neigh hash table
 	 * entry in the neigh hash table when a user deletes a rule
@@ -355,12 +358,15 @@ int mlx5e_tc_tun_create_header_ipv6(struct mlx5e_priv *priv,
 	if (max_encap_size < ipv6_encap_size) {
 		mlx5_core_warn(priv->mdev, "encap size %d too big, max supported is %d\n",
 			       ipv6_encap_size, max_encap_size);
-		return -EOPNOTSUPP;
+		err = -EOPNOTSUPP;
+		goto out;
 	}
 
 	encap_header = kzalloc(ipv6_encap_size, GFP_KERNEL);
-	if (!encap_header)
-		return -ENOMEM;
+	if (!encap_header) {
+		err = -ENOMEM;
+		goto out;
+	}
 
 	/* used by mlx5e_detach_encap to lookup a neigh hash table
 	 * entry in the neigh hash table when a user deletes a rule
-- 
2.21.0


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [net 02/12] net/mlx5e: Fix ingress rate configuration for representors
  2019-11-20 20:35 [pull request][net 00/12] Mellanox, mlx5 fixes 2019-11-20 Saeed Mahameed
  2019-11-20 20:35 ` [net 01/12] net/mlx5e: Fix error flow cleanup in mlx5e_tc_tun_create_header_ipv4/6 Saeed Mahameed
@ 2019-11-20 20:35 ` Saeed Mahameed
  2019-11-20 20:35 ` [net 03/12] net/mlx5e: Reorder mirrer action parsing to check for encap first Saeed Mahameed
                   ` (10 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Saeed Mahameed @ 2019-11-20 20:35 UTC (permalink / raw)
  To: David S. Miller; +Cc: netdev, Eli Cohen, Roi Dayan, Saeed Mahameed

From: Eli Cohen <eli@mellanox.com>

Current code uses the old method of prio encoding in
flow_cls_common_offload. Fix to follow the changes introduced in
commit ef01adae0e43 ("net: sched: use major priority number as hardware priority").

Fixes: fcb64c0f5640 ("net/mlx5: E-Switch, add ingress rate support")
Signed-off-by: Eli Cohen <eli@mellanox.com>
Reviewed-by: Roi Dayan <roid@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
---
 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
index fda0b37075e8..b7889d93ddca 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
@@ -4000,9 +4000,8 @@ int mlx5e_tc_configure_matchall(struct mlx5e_priv *priv,
 				struct tc_cls_matchall_offload *ma)
 {
 	struct netlink_ext_ack *extack = ma->common.extack;
-	int prio = TC_H_MAJ(ma->common.prio) >> 16;
 
-	if (prio != 1) {
+	if (ma->common.prio != 1) {
 		NL_SET_ERR_MSG_MOD(extack, "only priority 1 is supported");
 		return -EINVAL;
 	}
-- 
2.21.0


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [net 03/12] net/mlx5e: Reorder mirrer action parsing to check for encap first
  2019-11-20 20:35 [pull request][net 00/12] Mellanox, mlx5 fixes 2019-11-20 Saeed Mahameed
  2019-11-20 20:35 ` [net 01/12] net/mlx5e: Fix error flow cleanup in mlx5e_tc_tun_create_header_ipv4/6 Saeed Mahameed
  2019-11-20 20:35 ` [net 02/12] net/mlx5e: Fix ingress rate configuration for representors Saeed Mahameed
@ 2019-11-20 20:35 ` Saeed Mahameed
  2019-11-20 20:35 ` [net 04/12] net/mlx5: DR, Fix invalid EQ vector number on CQ creation Saeed Mahameed
                   ` (9 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Saeed Mahameed @ 2019-11-20 20:35 UTC (permalink / raw)
  To: David S. Miller; +Cc: netdev, Vlad Buslov, Roi Dayan, Saeed Mahameed

From: Vlad Buslov <vladbu@mellanox.com>

Mirred action parsing code in parse_tc_fdb_actions() first checks if
out_dev has same parent id, and only verifies that there is a pending encap
action that was parsed before. Recent change in vxlan module made function
netdev_port_same_parent_id() to return true when called for mlx5 eswitch
representor and vxlan device created explicitly on mlx5 representor
device (vxlan devices created with "external" flag without explicitly
specifying parent interface are not affected). With call to
netdev_port_same_parent_id() returning true, incorrect code path is chosen
and encap rules fail to offload because vxlan dev is not a valid eswitch
forwarding dev. Dmesg log of error:

[ 1784.389797] devices ens1f0_0 vxlan1 not on same switch HW, can't offload forwarding

In order to fix the issue, rearrange conditional in parse_tc_fdb_actions()
to check for pending encap action before checking if out_dev has the same
parent id.

Fixes: 0ce1822c2a08 ("vxlan: add adjacent link to limit depth level")
Signed-off-by: Vlad Buslov <vladbu@mellanox.com>
Reviewed-by: Roi Dayan <roid@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
---
 .../net/ethernet/mellanox/mlx5/core/en_tc.c   | 28 +++++++++----------
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
index b7889d93ddca..f90a9f8e0fc6 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
@@ -3268,7 +3268,20 @@ static int parse_tc_fdb_actions(struct mlx5e_priv *priv,
 
 			action |= MLX5_FLOW_CONTEXT_ACTION_FWD_DEST |
 				  MLX5_FLOW_CONTEXT_ACTION_COUNT;
-			if (netdev_port_same_parent_id(priv->netdev, out_dev)) {
+			if (encap) {
+				parse_attr->mirred_ifindex[attr->out_count] =
+					out_dev->ifindex;
+				parse_attr->tun_info[attr->out_count] = dup_tun_info(info);
+				if (!parse_attr->tun_info[attr->out_count])
+					return -ENOMEM;
+				encap = false;
+				attr->dests[attr->out_count].flags |=
+					MLX5_ESW_DEST_ENCAP;
+				attr->out_count++;
+				/* attr->dests[].rep is resolved when we
+				 * handle encap
+				 */
+			} else if (netdev_port_same_parent_id(priv->netdev, out_dev)) {
 				struct mlx5_eswitch *esw = priv->mdev->priv.eswitch;
 				struct net_device *uplink_dev = mlx5_eswitch_uplink_get_proto_dev(esw, REP_ETH);
 				struct net_device *uplink_upper;
@@ -3310,19 +3323,6 @@ static int parse_tc_fdb_actions(struct mlx5e_priv *priv,
 				attr->dests[attr->out_count].rep = rpriv->rep;
 				attr->dests[attr->out_count].mdev = out_priv->mdev;
 				attr->out_count++;
-			} else if (encap) {
-				parse_attr->mirred_ifindex[attr->out_count] =
-					out_dev->ifindex;
-				parse_attr->tun_info[attr->out_count] = dup_tun_info(info);
-				if (!parse_attr->tun_info[attr->out_count])
-					return -ENOMEM;
-				encap = false;
-				attr->dests[attr->out_count].flags |=
-					MLX5_ESW_DEST_ENCAP;
-				attr->out_count++;
-				/* attr->dests[].rep is resolved when we
-				 * handle encap
-				 */
 			} else if (parse_attr->filter_dev != priv->netdev) {
 				/* All mlx5 devices are called to configure
 				 * high level device filters. Therefore, the
-- 
2.21.0


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [net 04/12] net/mlx5: DR, Fix invalid EQ vector number on CQ creation
  2019-11-20 20:35 [pull request][net 00/12] Mellanox, mlx5 fixes 2019-11-20 Saeed Mahameed
                   ` (2 preceding siblings ...)
  2019-11-20 20:35 ` [net 03/12] net/mlx5e: Reorder mirrer action parsing to check for encap first Saeed Mahameed
@ 2019-11-20 20:35 ` Saeed Mahameed
  2019-11-20 20:35 ` [net 05/12] net/mlx5: DR, Skip rehash for tables with byte mask zero Saeed Mahameed
                   ` (8 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Saeed Mahameed @ 2019-11-20 20:35 UTC (permalink / raw)
  To: David S. Miller
  Cc: netdev, Alex Vesker, Tariq Toukan, Erez Shitrit, Saeed Mahameed

From: Alex Vesker <valex@mellanox.com>

When creating a CQ, the CPU id is used for the vector value.
This would fail in-case the CPU id was higher than the maximum
vector value.

Fixes: 297cccebdc5a ("net/mlx5: DR, Expose an internal API to issue RDMA operations")
Signed-off-by: Alex Vesker <valex@mellanox.com>
Reviewed-by: Tariq Toukan <tariqt@mellanox.com>
Reviewed-by: Erez Shitrit <erezsh@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
---
 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c
index 5df8436b2ae3..51803eef13dd 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c
@@ -700,6 +700,7 @@ static struct mlx5dr_cq *dr_create_cq(struct mlx5_core_dev *mdev,
 	unsigned int irqn;
 	void *cqc, *in;
 	__be64 *pas;
+	int vector;
 	u32 i;
 
 	cq = kzalloc(sizeof(*cq), GFP_KERNEL);
@@ -728,7 +729,8 @@ static struct mlx5dr_cq *dr_create_cq(struct mlx5_core_dev *mdev,
 	if (!in)
 		goto err_cqwq;
 
-	err = mlx5_vector2eqn(mdev, smp_processor_id(), &eqn, &irqn);
+	vector = smp_processor_id() % mlx5_comp_vectors_count(mdev);
+	err = mlx5_vector2eqn(mdev, vector, &eqn, &irqn);
 	if (err) {
 		kvfree(in);
 		goto err_cqwq;
-- 
2.21.0


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [net 05/12] net/mlx5: DR, Skip rehash for tables with byte mask zero
  2019-11-20 20:35 [pull request][net 00/12] Mellanox, mlx5 fixes 2019-11-20 Saeed Mahameed
                   ` (3 preceding siblings ...)
  2019-11-20 20:35 ` [net 04/12] net/mlx5: DR, Fix invalid EQ vector number on CQ creation Saeed Mahameed
@ 2019-11-20 20:35 ` Saeed Mahameed
  2019-11-20 20:35 ` [net 06/12] net/mlx5: DR, Limit STE hash table enlarge based on bytemask Saeed Mahameed
                   ` (7 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Saeed Mahameed @ 2019-11-20 20:35 UTC (permalink / raw)
  To: David S. Miller; +Cc: netdev, Alex Vesker, Erez Shitrit, Saeed Mahameed

From: Alex Vesker <valex@mellanox.com>

The byte mask fields affect on the hash index distribution,
when the byte mask is zero, the hash calculation will always
be equal to the same index.

To avoid unneeded rehash of hash tables mark the table to skip
rehash.

This is needed by the next patch which will limit table rehash
to reduce memory consumption.

Fixes: 41d07074154c ("net/mlx5: DR, Expose steering rule functionality")
Signed-off-by: Alex Vesker <valex@mellanox.com>
Reviewed-by: Erez Shitrit <erezsh@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
---
 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c
index 4efe1b0be4a8..80680765d59c 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c
@@ -671,7 +671,7 @@ static void dr_ste_set_ctrl(struct mlx5dr_ste_htbl *htbl)
 
 	htbl->ctrl.may_grow = true;
 
-	if (htbl->chunk_size == DR_CHUNK_SIZE_MAX - 1)
+	if (htbl->chunk_size == DR_CHUNK_SIZE_MAX - 1 || !htbl->byte_mask)
 		htbl->ctrl.may_grow = false;
 
 	/* Threshold is 50%, one is added to table of size 1 */
-- 
2.21.0


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [net 06/12] net/mlx5: DR, Limit STE hash table enlarge based on bytemask
  2019-11-20 20:35 [pull request][net 00/12] Mellanox, mlx5 fixes 2019-11-20 Saeed Mahameed
                   ` (4 preceding siblings ...)
  2019-11-20 20:35 ` [net 05/12] net/mlx5: DR, Skip rehash for tables with byte mask zero Saeed Mahameed
@ 2019-11-20 20:35 ` Saeed Mahameed
  2019-11-20 20:35 ` [net 07/12] net/mlx5e: Fix set vf link state error flow Saeed Mahameed
                   ` (6 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Saeed Mahameed @ 2019-11-20 20:35 UTC (permalink / raw)
  To: David S. Miller; +Cc: netdev, Alex Vesker, Erez Shitrit, Saeed Mahameed

From: Alex Vesker <valex@mellanox.com>

When an ste hash table has too many collision we enlarge it
to a bigger hash table (rehash). Rehashing collision improvement
depends on the bytemask value. The more 1 bits we have in bytemask
means better spreading in the table.

Without this fix tables can grow in size without providing any
improvement which can lead to memory depletion and failures.

This patch will limit table rehash to reduce memory and improve
the performance.

Fixes: 41d07074154c ("net/mlx5: DR, Expose steering rule functionality")
Signed-off-by: Alex Vesker <valex@mellanox.com>
Reviewed-by: Erez Shitrit <erezsh@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
---
 .../mellanox/mlx5/core/steering/dr_rule.c     | 15 ++++++++++++++
 .../mellanox/mlx5/core/steering/dr_ste.c      | 20 -------------------
 2 files changed, 15 insertions(+), 20 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c
index 5dcb8baf491a..bd1699e62142 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c
@@ -595,6 +595,18 @@ static void dr_rule_clean_rule_members(struct mlx5dr_rule *rule,
 	}
 }
 
+static u16 dr_get_bits_per_mask(u16 byte_mask)
+{
+	u16 bits = 0;
+
+	while (byte_mask) {
+		byte_mask = byte_mask & (byte_mask - 1);
+		bits++;
+	}
+
+	return bits;
+}
+
 static bool dr_rule_need_enlarge_hash(struct mlx5dr_ste_htbl *htbl,
 				      struct mlx5dr_domain *dmn,
 				      struct mlx5dr_domain_rx_tx *nic_dmn)
@@ -607,6 +619,9 @@ static bool dr_rule_need_enlarge_hash(struct mlx5dr_ste_htbl *htbl,
 	if (!ctrl->may_grow)
 		return false;
 
+	if (dr_get_bits_per_mask(htbl->byte_mask) * BITS_PER_BYTE <= htbl->chunk_size)
+		return false;
+
 	if (ctrl->num_of_collisions >= ctrl->increase_threshold &&
 	    (ctrl->num_of_valid_entries - ctrl->num_of_collisions) >= ctrl->increase_threshold)
 		return true;
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c
index 80680765d59c..3cbf74b44d1f 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c
@@ -560,18 +560,6 @@ bool mlx5dr_ste_not_used_ste(struct mlx5dr_ste *ste)
 	return !refcount_read(&ste->refcount);
 }
 
-static u16 get_bits_per_mask(u16 byte_mask)
-{
-	u16 bits = 0;
-
-	while (byte_mask) {
-		byte_mask = byte_mask & (byte_mask - 1);
-		bits++;
-	}
-
-	return bits;
-}
-
 /* Init one ste as a pattern for ste data array */
 void mlx5dr_ste_set_formatted_ste(u16 gvmi,
 				  struct mlx5dr_domain_rx_tx *nic_dmn,
@@ -620,20 +608,12 @@ int mlx5dr_ste_create_next_htbl(struct mlx5dr_matcher *matcher,
 	struct mlx5dr_ste_htbl *next_htbl;
 
 	if (!mlx5dr_ste_is_last_in_rule(nic_matcher, ste->ste_chain_location)) {
-		u32 bits_in_mask;
 		u8 next_lu_type;
 		u16 byte_mask;
 
 		next_lu_type = MLX5_GET(ste_general, hw_ste, next_lu_type);
 		byte_mask = MLX5_GET(ste_general, hw_ste, byte_mask);
 
-		/* Don't allocate table more than required,
-		 * the size of the table defined via the byte_mask, so no need
-		 * to allocate more than that.
-		 */
-		bits_in_mask = get_bits_per_mask(byte_mask) * BITS_PER_BYTE;
-		log_table_size = min(log_table_size, bits_in_mask);
-
 		next_htbl = mlx5dr_ste_htbl_alloc(dmn->ste_icm_pool,
 						  log_table_size,
 						  next_lu_type,
-- 
2.21.0


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [net 07/12] net/mlx5e: Fix set vf link state error flow
  2019-11-20 20:35 [pull request][net 00/12] Mellanox, mlx5 fixes 2019-11-20 Saeed Mahameed
                   ` (5 preceding siblings ...)
  2019-11-20 20:35 ` [net 06/12] net/mlx5: DR, Limit STE hash table enlarge based on bytemask Saeed Mahameed
@ 2019-11-20 20:35 ` Saeed Mahameed
  2019-11-20 20:35 ` [net 08/12] net/mlx5e: Do not use non-EXT link modes in EXT mode Saeed Mahameed
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Saeed Mahameed @ 2019-11-20 20:35 UTC (permalink / raw)
  To: David S. Miller; +Cc: netdev, Roi Dayan, Vlad Buslov, Saeed Mahameed

From: Roi Dayan <roid@mellanox.com>

Before this commit the ndo always returned success.
Fix that.

Fixes: 1ab2068a4c66 ("net/mlx5: Implement vports admin state backup/restore")
Signed-off-by: Roi Dayan <roid@mellanox.com>
Reviewed-by: Vlad Buslov <vladbu@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
---
 drivers/net/ethernet/mellanox/mlx5/core/eswitch.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c
index 30aae76b6a1d..60fddf8afc99 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c
@@ -2117,7 +2117,7 @@ int mlx5_eswitch_set_vport_state(struct mlx5_eswitch *esw,
 
 unlock:
 	mutex_unlock(&esw->state_lock);
-	return 0;
+	return err;
 }
 
 int mlx5_eswitch_get_vport_config(struct mlx5_eswitch *esw,
-- 
2.21.0


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [net 08/12] net/mlx5e: Do not use non-EXT link modes in EXT mode
  2019-11-20 20:35 [pull request][net 00/12] Mellanox, mlx5 fixes 2019-11-20 Saeed Mahameed
                   ` (6 preceding siblings ...)
  2019-11-20 20:35 ` [net 07/12] net/mlx5e: Fix set vf link state error flow Saeed Mahameed
@ 2019-11-20 20:35 ` Saeed Mahameed
  2019-11-20 20:35 ` [net 09/12] net/mlx5e: Add missing capability bit check for IP-in-IP Saeed Mahameed
                   ` (4 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Saeed Mahameed @ 2019-11-20 20:35 UTC (permalink / raw)
  To: David S. Miller; +Cc: netdev, Eran Ben Elisha, Aya Levin, Saeed Mahameed

From: Eran Ben Elisha <eranbe@mellanox.com>

On some old Firmwares, connector type value was not supported, and value
read from FW was 0. For those, driver used link mode in order to set
connector type in link_ksetting.

After FW exposed the connector type, driver translated the value to ethtool
definitions. However, as 0 is a valid value, before returning PORT_OTHER,
driver run the check of link mode in order to maintain backward
compatibility.

Cited patch added support to EXT mode.  With both features (connector type
and EXT link modes) ,if connector_type read from FW is 0 and EXT mode is
set, driver mistakenly compare EXT link modes to non-EXT link mode.
Fixed that by skipping this comparison if we are in EXT mode, as connector
type value is valid in this scenario.

Fixes: 6a897372417e ("net/mlx5: ethtool, Add ethtool support for 50Gbps per lane link modes")
Signed-off-by: Eran Ben Elisha <eranbe@mellanox.com>
Reviewed-by: Aya Levin <ayal@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
---
 drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c b/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c
index 327c93a7bd55..95601269fa2e 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c
@@ -708,9 +708,9 @@ static int get_fec_supported_advertised(struct mlx5_core_dev *dev,
 
 static void ptys2ethtool_supported_advertised_port(struct ethtool_link_ksettings *link_ksettings,
 						   u32 eth_proto_cap,
-						   u8 connector_type)
+						   u8 connector_type, bool ext)
 {
-	if (!connector_type || connector_type >= MLX5E_CONNECTOR_TYPE_NUMBER) {
+	if ((!connector_type && !ext) || connector_type >= MLX5E_CONNECTOR_TYPE_NUMBER) {
 		if (eth_proto_cap & (MLX5E_PROT_MASK(MLX5E_10GBASE_CR)
 				   | MLX5E_PROT_MASK(MLX5E_10GBASE_SR)
 				   | MLX5E_PROT_MASK(MLX5E_40GBASE_CR4)
@@ -842,9 +842,9 @@ static int ptys2connector_type[MLX5E_CONNECTOR_TYPE_NUMBER] = {
 		[MLX5E_PORT_OTHER]              = PORT_OTHER,
 	};
 
-static u8 get_connector_port(u32 eth_proto, u8 connector_type)
+static u8 get_connector_port(u32 eth_proto, u8 connector_type, bool ext)
 {
-	if (connector_type && connector_type < MLX5E_CONNECTOR_TYPE_NUMBER)
+	if ((connector_type || ext) && connector_type < MLX5E_CONNECTOR_TYPE_NUMBER)
 		return ptys2connector_type[connector_type];
 
 	if (eth_proto &
@@ -945,9 +945,9 @@ int mlx5e_ethtool_get_link_ksettings(struct mlx5e_priv *priv,
 	eth_proto_oper = eth_proto_oper ? eth_proto_oper : eth_proto_cap;
 
 	link_ksettings->base.port = get_connector_port(eth_proto_oper,
-						       connector_type);
+						       connector_type, ext);
 	ptys2ethtool_supported_advertised_port(link_ksettings, eth_proto_admin,
-					       connector_type);
+					       connector_type, ext);
 	get_lp_advertising(mdev, eth_proto_lp, link_ksettings);
 
 	if (an_status == MLX5_AN_COMPLETE)
-- 
2.21.0


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [net 09/12] net/mlx5e: Add missing capability bit check for IP-in-IP
  2019-11-20 20:35 [pull request][net 00/12] Mellanox, mlx5 fixes 2019-11-20 Saeed Mahameed
                   ` (7 preceding siblings ...)
  2019-11-20 20:35 ` [net 08/12] net/mlx5e: Do not use non-EXT link modes in EXT mode Saeed Mahameed
@ 2019-11-20 20:35 ` Saeed Mahameed
  2019-11-20 20:36 ` [net 10/12] net/mlx5: Fix auto group size calculation Saeed Mahameed
                   ` (3 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Saeed Mahameed @ 2019-11-20 20:35 UTC (permalink / raw)
  To: David S. Miller; +Cc: netdev, Marina Varshaver, Saeed Mahameed

From: Marina Varshaver <marinav@mellanox.com>

Device that doesn't support IP-in-IP offloads has to filter csum and gso
offload support, otherwise kernel will conclude that device is capable of
offloading csum and gso for IP-in-IP tunnels and that might result in
IP-in-IP tunnel not functioning.

Fixes: 25948b87dda2 ("net/mlx5e: Support TSO and TX checksum offloads for IP-in-IP")
Signed-off-by: Marina Varshaver <marinav@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
---
 drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
index 772bfdbdeb9c..2a56e66f58d8 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
@@ -4252,9 +4252,12 @@ static netdev_features_t mlx5e_tunnel_features_check(struct mlx5e_priv *priv,
 
 	switch (proto) {
 	case IPPROTO_GRE:
+		return features;
 	case IPPROTO_IPIP:
 	case IPPROTO_IPV6:
-		return features;
+		if (mlx5e_tunnel_proto_supported(priv->mdev, IPPROTO_IPIP))
+			return features;
+		break;
 	case IPPROTO_UDP:
 		udph = udp_hdr(skb);
 		port = be16_to_cpu(udph->dest);
-- 
2.21.0


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [net 10/12] net/mlx5: Fix auto group size calculation
  2019-11-20 20:35 [pull request][net 00/12] Mellanox, mlx5 fixes 2019-11-20 Saeed Mahameed
                   ` (8 preceding siblings ...)
  2019-11-20 20:35 ` [net 09/12] net/mlx5e: Add missing capability bit check for IP-in-IP Saeed Mahameed
@ 2019-11-20 20:36 ` Saeed Mahameed
  2019-11-20 20:36 ` [net 11/12] net/mlx5: Update the list of the PCI supported devices Saeed Mahameed
                   ` (2 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Saeed Mahameed @ 2019-11-20 20:36 UTC (permalink / raw)
  To: David S. Miller; +Cc: netdev, Maor Gottlieb, Saeed Mahameed

From: Maor Gottlieb <maorg@mellanox.com>

Once all the large flow groups (defined by the user when the flow table
is created - max_num_groups) were created, then all the following new
flow groups will have only one flow table entry, even though the flow table
has place to larger groups.
Fix the condition to prefer large flow group.

Fixes: f0d22d187473 ("net/mlx5_core: Introduce flow steering autogrouped flow table")
Signed-off-by: Maor Gottlieb <maorg@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
---
 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c | 10 ++++++----
 drivers/net/ethernet/mellanox/mlx5/core/fs_core.h |  1 +
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c b/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c
index 3bbb49354829..791e14ac26f4 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c
@@ -579,7 +579,7 @@ static void del_sw_flow_group(struct fs_node *node)
 
 	rhashtable_destroy(&fg->ftes_hash);
 	ida_destroy(&fg->fte_allocator);
-	if (ft->autogroup.active)
+	if (ft->autogroup.active && fg->max_ftes == ft->autogroup.group_size)
 		ft->autogroup.num_groups--;
 	err = rhltable_remove(&ft->fgs_hash,
 			      &fg->hash,
@@ -1126,6 +1126,8 @@ mlx5_create_auto_grouped_flow_table(struct mlx5_flow_namespace *ns,
 
 	ft->autogroup.active = true;
 	ft->autogroup.required_groups = max_num_groups;
+	/* We save place for flow groups in addition to max types */
+	ft->autogroup.group_size = ft->max_fte / (max_num_groups + 1);
 
 	return ft;
 }
@@ -1328,8 +1330,7 @@ static struct mlx5_flow_group *alloc_auto_flow_group(struct mlx5_flow_table  *ft
 		return ERR_PTR(-ENOENT);
 
 	if (ft->autogroup.num_groups < ft->autogroup.required_groups)
-		/* We save place for flow groups in addition to max types */
-		group_size = ft->max_fte / (ft->autogroup.required_groups + 1);
+		group_size = ft->autogroup.group_size;
 
 	/*  ft->max_fte == ft->autogroup.max_types */
 	if (group_size == 0)
@@ -1356,7 +1357,8 @@ static struct mlx5_flow_group *alloc_auto_flow_group(struct mlx5_flow_table  *ft
 	if (IS_ERR(fg))
 		goto out;
 
-	ft->autogroup.num_groups++;
+	if (group_size == ft->autogroup.group_size)
+		ft->autogroup.num_groups++;
 
 out:
 	return fg;
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/fs_core.h b/drivers/net/ethernet/mellanox/mlx5/core/fs_core.h
index 00717eba2256..c2621b911563 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/fs_core.h
+++ b/drivers/net/ethernet/mellanox/mlx5/core/fs_core.h
@@ -162,6 +162,7 @@ struct mlx5_flow_table {
 	struct {
 		bool			active;
 		unsigned int		required_groups;
+		unsigned int		group_size;
 		unsigned int		num_groups;
 	} autogroup;
 	/* Protect fwd_rules */
-- 
2.21.0


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [net 11/12] net/mlx5: Update the list of the PCI supported devices
  2019-11-20 20:35 [pull request][net 00/12] Mellanox, mlx5 fixes 2019-11-20 Saeed Mahameed
                   ` (9 preceding siblings ...)
  2019-11-20 20:36 ` [net 10/12] net/mlx5: Fix auto group size calculation Saeed Mahameed
@ 2019-11-20 20:36 ` Saeed Mahameed
  2019-11-20 20:36 ` [net 12/12] net/mlxfw: Verify FSM error code translation doesn't exceed array size Saeed Mahameed
  2019-11-20 21:24 ` [pull request][net 00/12] Mellanox, mlx5 fixes 2019-11-20 David Miller
  12 siblings, 0 replies; 14+ messages in thread
From: Saeed Mahameed @ 2019-11-20 20:36 UTC (permalink / raw)
  To: David S. Miller; +Cc: netdev, Shani Shapp, Eran Ben Elisha, Saeed Mahameed

From: Shani Shapp <shanish@mellanox.com>

Add the upcoming ConnectX-6 LX device ID.

Fixes: 85327a9c4150 ("net/mlx5: Update the list of the PCI supported devices")
Signed-off-by: Shani Shapp <shanish@mellanox.com>
Reviewed-by: Eran Ben Elisha <eranbe@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
---
 drivers/net/ethernet/mellanox/mlx5/core/main.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/main.c b/drivers/net/ethernet/mellanox/mlx5/core/main.c
index e47dd7c1b909..50ab88d80033 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/main.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/main.c
@@ -1566,6 +1566,7 @@ static const struct pci_device_id mlx5_core_pci_table[] = {
 	{ PCI_VDEVICE(MELLANOX, 0x101c), MLX5_PCI_DEV_IS_VF},	/* ConnectX-6 VF */
 	{ PCI_VDEVICE(MELLANOX, 0x101d) },			/* ConnectX-6 Dx */
 	{ PCI_VDEVICE(MELLANOX, 0x101e), MLX5_PCI_DEV_IS_VF},	/* ConnectX Family mlx5Gen Virtual Function */
+	{ PCI_VDEVICE(MELLANOX, 0x101f) },			/* ConnectX-6 LX */
 	{ PCI_VDEVICE(MELLANOX, 0xa2d2) },			/* BlueField integrated ConnectX-5 network controller */
 	{ PCI_VDEVICE(MELLANOX, 0xa2d3), MLX5_PCI_DEV_IS_VF},	/* BlueField integrated ConnectX-5 network controller VF */
 	{ PCI_VDEVICE(MELLANOX, 0xa2d6) },			/* BlueField-2 integrated ConnectX-6 Dx network controller */
-- 
2.21.0


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [net 12/12] net/mlxfw: Verify FSM error code translation doesn't exceed array size
  2019-11-20 20:35 [pull request][net 00/12] Mellanox, mlx5 fixes 2019-11-20 Saeed Mahameed
                   ` (10 preceding siblings ...)
  2019-11-20 20:36 ` [net 11/12] net/mlx5: Update the list of the PCI supported devices Saeed Mahameed
@ 2019-11-20 20:36 ` Saeed Mahameed
  2019-11-20 21:24 ` [pull request][net 00/12] Mellanox, mlx5 fixes 2019-11-20 David Miller
  12 siblings, 0 replies; 14+ messages in thread
From: Saeed Mahameed @ 2019-11-20 20:36 UTC (permalink / raw)
  To: David S. Miller; +Cc: netdev, Eran Ben Elisha, Jiri Pirko, Saeed Mahameed

From: Eran Ben Elisha <eranbe@mellanox.com>

Array mlxfw_fsm_state_err_str contains value to string translation, when
values are provided by mlxfw_dev. If value is larger than
MLXFW_FSM_STATE_ERR_MAX, return "unknown error" as expected instead of
reading an address than exceed array size.

Fixes: 410ed13cae39 ("Add the mlxfw module for Mellanox firmware flash process")
Signed-off-by: Eran Ben Elisha <eranbe@mellanox.com>
Acked-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
---
 drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c b/drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c
index 67990406cba2..29e95d0a6ad1 100644
--- a/drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c
+++ b/drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c
@@ -66,6 +66,8 @@ static int mlxfw_fsm_state_wait(struct mlxfw_dev *mlxfw_dev, u32 fwhandle,
 		return err;
 
 	if (fsm_state_err != MLXFW_FSM_STATE_ERR_OK) {
+		fsm_state_err = min_t(enum mlxfw_fsm_state_err,
+				      fsm_state_err, MLXFW_FSM_STATE_ERR_MAX);
 		pr_err("Firmware flash failed: %s\n",
 		       mlxfw_fsm_state_err_str[fsm_state_err]);
 		NL_SET_ERR_MSG_MOD(extack, "Firmware flash failed");
-- 
2.21.0


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [pull request][net 00/12] Mellanox, mlx5 fixes 2019-11-20
  2019-11-20 20:35 [pull request][net 00/12] Mellanox, mlx5 fixes 2019-11-20 Saeed Mahameed
                   ` (11 preceding siblings ...)
  2019-11-20 20:36 ` [net 12/12] net/mlxfw: Verify FSM error code translation doesn't exceed array size Saeed Mahameed
@ 2019-11-20 21:24 ` David Miller
  12 siblings, 0 replies; 14+ messages in thread
From: David Miller @ 2019-11-20 21:24 UTC (permalink / raw)
  To: saeedm; +Cc: netdev

From: Saeed Mahameed <saeedm@mellanox.com>
Date: Wed, 20 Nov 2019 20:35:41 +0000

> This series introduces some fixes to mlx5 driver.
> 
> Please pull and let me know if there is any problem.

Pulled.

> For -stable v4.9:
>  ('net/mlx5e: Fix set vf link state error flow')
> 
> For -stable v4.14
>  ('net/mlxfw: Verify FSM error code translation doesn't exceed array size')
> 
> For -stable v4.19
>  ('net/mlx5: Fix auto group size calculation')
> 
> For -stable v5.3
>  ('net/mlx5e: Fix error flow cleanup in mlx5e_tc_tun_create_header_ipv4/6')
>  ('net/mlx5e: Do not use non-EXT link modes in EXT mode')
>  ('net/mlx5: Update the list of the PCI supported devices')

Queued up.

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2019-11-20 21:25 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-20 20:35 [pull request][net 00/12] Mellanox, mlx5 fixes 2019-11-20 Saeed Mahameed
2019-11-20 20:35 ` [net 01/12] net/mlx5e: Fix error flow cleanup in mlx5e_tc_tun_create_header_ipv4/6 Saeed Mahameed
2019-11-20 20:35 ` [net 02/12] net/mlx5e: Fix ingress rate configuration for representors Saeed Mahameed
2019-11-20 20:35 ` [net 03/12] net/mlx5e: Reorder mirrer action parsing to check for encap first Saeed Mahameed
2019-11-20 20:35 ` [net 04/12] net/mlx5: DR, Fix invalid EQ vector number on CQ creation Saeed Mahameed
2019-11-20 20:35 ` [net 05/12] net/mlx5: DR, Skip rehash for tables with byte mask zero Saeed Mahameed
2019-11-20 20:35 ` [net 06/12] net/mlx5: DR, Limit STE hash table enlarge based on bytemask Saeed Mahameed
2019-11-20 20:35 ` [net 07/12] net/mlx5e: Fix set vf link state error flow Saeed Mahameed
2019-11-20 20:35 ` [net 08/12] net/mlx5e: Do not use non-EXT link modes in EXT mode Saeed Mahameed
2019-11-20 20:35 ` [net 09/12] net/mlx5e: Add missing capability bit check for IP-in-IP Saeed Mahameed
2019-11-20 20:36 ` [net 10/12] net/mlx5: Fix auto group size calculation Saeed Mahameed
2019-11-20 20:36 ` [net 11/12] net/mlx5: Update the list of the PCI supported devices Saeed Mahameed
2019-11-20 20:36 ` [net 12/12] net/mlxfw: Verify FSM error code translation doesn't exceed array size Saeed Mahameed
2019-11-20 21:24 ` [pull request][net 00/12] Mellanox, mlx5 fixes 2019-11-20 David Miller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.