netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [pull request][net 0/7] Mellanox, mlx5 fixes 2017-07-09
@ 2017-07-09 12:49 Saeed Mahameed
  2017-07-09 12:49 ` [net 1/7] net/mlx5: Add missing include in lib/gid.c Saeed Mahameed
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: Saeed Mahameed @ 2017-07-09 12:49 UTC (permalink / raw)
  To: David S. Miller; +Cc: netdev, Saeed Mahameed

Hi Dave,

This series includes fixes to mlx5 driver:
  - Compilation warnings and issues introduced on v4.12
  - Add Makefile to each mlx5 subdir to allow individual file compilation
  - Initialize CEE's getpermhwaddr address buffer to 0xff

Please pull and let me know if there's any problem.

For -stable:
 ("net/mlx5e: Initialize CEE's getpermhwaddr address buffer to 0xff") Kernels >= 4.10

Thanks,
Saeed.

---

The following changes since commit 3d05035efaac1e9a4583b62cd70ecb8541399c0f:

  ptp: dte: Use LL suffix for 64-bit constants (2017-07-06 11:40:58 +0100)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux.git tags/mlx5-fixes-2017-07-09

for you to fetch changes up to d968f0f2e4404152f37ed2384b4a2269dd2dae5a:

  net/mlx5e: Initialize CEE's getpermhwaddr address buffer to 0xff (2017-07-06 15:13:20 +0300)

----------------------------------------------------------------
mlx5-fixes-2017-07-09

This series includes fixes to mlx5 driver:
 - Compilation warnings and issues introduced on v4.12
 - Initialize CEE's getpermhwaddr address buffer to 0xff

----------------------------------------------------------------
Huy Nguyen (1):
      net/mlx5e: Initialize CEE's getpermhwaddr address buffer to 0xff

Ilan Tayari (6):
      net/mlx5: Add missing include in lib/gid.c
      net/mlx5: IPSec, Fix 64-bit division on 32-bit builds
      net/mlx5: FPGA, make mlx5_fpga_device_brb static
      net/mlx5: FPGA, Fix datatype mismatch
      net/mlx5: Build wq.o even if MLX5_CORE_EN is not selected
      net/mlx5: Add Makefiles for subdirectories

 drivers/net/ethernet/mellanox/mlx5/core/Makefile              | 4 ++--
 drivers/net/ethernet/mellanox/mlx5/core/accel/Makefile        | 1 +
 drivers/net/ethernet/mellanox/mlx5/core/en_accel/Makefile     | 1 +
 drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_rxtx.c | 4 +++-
 drivers/net/ethernet/mellanox/mlx5/core/en_dcbnl.c            | 2 ++
 drivers/net/ethernet/mellanox/mlx5/core/fpga/Makefile         | 1 +
 drivers/net/ethernet/mellanox/mlx5/core/fpga/core.c           | 2 +-
 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c          | 4 ++--
 drivers/net/ethernet/mellanox/mlx5/core/ipoib/Makefile        | 1 +
 drivers/net/ethernet/mellanox/mlx5/core/lib/Makefile          | 1 +
 drivers/net/ethernet/mellanox/mlx5/core/lib/gid.c             | 1 +
 11 files changed, 16 insertions(+), 6 deletions(-)
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/accel/Makefile
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en_accel/Makefile
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/fpga/Makefile
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/ipoib/Makefile
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/lib/Makefile

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

* [net 1/7] net/mlx5: Add missing include in lib/gid.c
  2017-07-09 12:49 [pull request][net 0/7] Mellanox, mlx5 fixes 2017-07-09 Saeed Mahameed
@ 2017-07-09 12:49 ` Saeed Mahameed
  2017-07-09 12:49 ` [net 2/7] net/mlx5: IPSec, Fix 64-bit division on 32-bit builds Saeed Mahameed
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Saeed Mahameed @ 2017-07-09 12:49 UTC (permalink / raw)
  To: David S. Miller; +Cc: netdev, Ilan Tayari, Saeed Mahameed

From: Ilan Tayari <ilant@mellanox.com>

Fix warnings when building with -Wall:
drivers/net/ethernet/mellanox/mlx5/core/lib/gid.c:38:6: warning: symbol 'mlx5_init_reserved_gids' was not declared. Should it be static?
drivers/net/ethernet/mellanox/mlx5/core/lib/gid.c:47:6: warning: symbol 'mlx5_cleanup_reserved_gids' was not declared. Should it be static?
drivers/net/ethernet/mellanox/mlx5/core/lib/gid.c:55:5: warning: symbol 'mlx5_core_reserve_gids' was not declared. Should it be static?
drivers/net/ethernet/mellanox/mlx5/core/lib/gid.c:79:6: warning: symbol 'mlx5_core_unreserve_gids' was not declared. Should it be static?
drivers/net/ethernet/mellanox/mlx5/core/lib/gid.c:92:5: warning: symbol 'mlx5_core_reserved_gid_alloc' was not declared. Should it be static?
drivers/net/ethernet/mellanox/mlx5/core/lib/gid.c:109:6: warning: symbol 'mlx5_core_reserved_gid_free' was not declared. Should it be static?

Fixes: 52ec462eca9b ("net/mlx5: Add reserved-gids support")
Reported-by: Or Gerlitz <gerlitz.or@gmail.com>
Signed-off-by: Ilan Tayari <ilant@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
---
 drivers/net/ethernet/mellanox/mlx5/core/lib/gid.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lib/gid.c b/drivers/net/ethernet/mellanox/mlx5/core/lib/gid.c
index de2aed44ab85..573f59f46d41 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/lib/gid.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/lib/gid.c
@@ -34,6 +34,7 @@
 #include <linux/etherdevice.h>
 #include <linux/idr.h>
 #include "mlx5_core.h"
+#include "lib/mlx5.h"
 
 void mlx5_init_reserved_gids(struct mlx5_core_dev *dev)
 {
-- 
2.11.0

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

* [net 2/7] net/mlx5: IPSec, Fix 64-bit division on 32-bit builds
  2017-07-09 12:49 [pull request][net 0/7] Mellanox, mlx5 fixes 2017-07-09 Saeed Mahameed
  2017-07-09 12:49 ` [net 1/7] net/mlx5: Add missing include in lib/gid.c Saeed Mahameed
@ 2017-07-09 12:49 ` Saeed Mahameed
  2017-07-09 12:49 ` [net 3/7] net/mlx5: FPGA, make mlx5_fpga_device_brb static Saeed Mahameed
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Saeed Mahameed @ 2017-07-09 12:49 UTC (permalink / raw)
  To: David S. Miller; +Cc: netdev, Ilan Tayari, Saeed Mahameed

From: Ilan Tayari <ilant@mellanox.com>

Fix warnings when building 386 kernel:
>> ERROR: "__udivdi3" [drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.ko] undefined!

Fixes: 2ac9cfe78223 ("net/mlx5e: IPSec, Add Innova IPSec offload TX data path")
Reported-by: kbuild test robot <fengguang.wu@intel.com>
Signed-off-by: Ilan Tayari <ilant@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
---
 drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_rxtx.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_rxtx.c b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_rxtx.c
index 4a78aefdf157..7d06c673851a 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_rxtx.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_rxtx.c
@@ -363,6 +363,7 @@ void mlx5e_ipsec_build_inverse_table(void)
 {
 	u16 mss_inv;
 	u32 mss;
+	u64 n;
 
 	/* Calculate 1/x inverse table for use in GSO data path.
 	 * Using this table, we provide the IPSec accelerator with the value of
@@ -372,7 +373,8 @@ void mlx5e_ipsec_build_inverse_table(void)
 	 */
 	mlx5e_ipsec_inverse_table[1] = htons(0xFFFF);
 	for (mss = 2; mss < MAX_LSO_MSS; mss++) {
-		mss_inv = ((1ULL << 32) / mss) >> 16;
+		n = 1ULL << 32;
+		mss_inv = do_div(n, mss) >> 16;
 		mlx5e_ipsec_inverse_table[mss] = htons(mss_inv);
 	}
 }
-- 
2.11.0

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

* [net 3/7] net/mlx5: FPGA, make mlx5_fpga_device_brb static
  2017-07-09 12:49 [pull request][net 0/7] Mellanox, mlx5 fixes 2017-07-09 Saeed Mahameed
  2017-07-09 12:49 ` [net 1/7] net/mlx5: Add missing include in lib/gid.c Saeed Mahameed
  2017-07-09 12:49 ` [net 2/7] net/mlx5: IPSec, Fix 64-bit division on 32-bit builds Saeed Mahameed
@ 2017-07-09 12:49 ` Saeed Mahameed
  2017-07-09 12:49 ` [net 4/7] net/mlx5: FPGA, Fix datatype mismatch Saeed Mahameed
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Saeed Mahameed @ 2017-07-09 12:49 UTC (permalink / raw)
  To: David S. Miller; +Cc: netdev, Ilan Tayari, Saeed Mahameed

From: Ilan Tayari <ilant@mellanox.com>

Fix warning when building with -Wall:
drivers/net/ethernet/mellanox/mlx5/core/fpga/core.c:105:5: warning: symbol 'mlx5_fpga_device_brb' was not declared. Should it be static?

Fixes: c43051d72a8d ("net/mlx5: FPGA, Add SBU bypass and reset flows")
Reported-by: Or Gerlitz <gerlitz.or@gmail.com>
Signed-off-by: Ilan Tayari <ilant@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
---
 drivers/net/ethernet/mellanox/mlx5/core/fpga/core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/fpga/core.c b/drivers/net/ethernet/mellanox/mlx5/core/fpga/core.c
index 31e5a2627eb8..9034e9960a76 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/fpga/core.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/fpga/core.c
@@ -102,7 +102,7 @@ static int mlx5_fpga_device_load_check(struct mlx5_fpga_device *fdev)
 	return 0;
 }
 
-int mlx5_fpga_device_brb(struct mlx5_fpga_device *fdev)
+static int mlx5_fpga_device_brb(struct mlx5_fpga_device *fdev)
 {
 	int err;
 	struct mlx5_core_dev *mdev = fdev->mdev;
-- 
2.11.0

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

* [net 4/7] net/mlx5: FPGA, Fix datatype mismatch
  2017-07-09 12:49 [pull request][net 0/7] Mellanox, mlx5 fixes 2017-07-09 Saeed Mahameed
                   ` (2 preceding siblings ...)
  2017-07-09 12:49 ` [net 3/7] net/mlx5: FPGA, make mlx5_fpga_device_brb static Saeed Mahameed
@ 2017-07-09 12:49 ` Saeed Mahameed
  2017-07-09 12:49 ` [net 5/7] net/mlx5: Build wq.o even if MLX5_CORE_EN is not selected Saeed Mahameed
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Saeed Mahameed @ 2017-07-09 12:49 UTC (permalink / raw)
  To: David S. Miller; +Cc: netdev, Ilan Tayari, Saeed Mahameed

From: Ilan Tayari <ilant@mellanox.com>

Fix warnings when building with -Wall:
drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c:313:36: warning: cast to restricted __be32
drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c:314:37: warning: cast to restricted __be32

Fixes: bebb23e6cb02 ("net/mlx5: Accel, Add IPSec acceleration interface")
Reported-by: Or Gerlitz <gerlitz.or@gmail.com>
Signed-off-by: Ilan Tayari <ilant@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
---
 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c b/drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c
index 42970e2a05ff..35d0e33381ca 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c
@@ -275,7 +275,7 @@ int mlx5_fpga_ipsec_counters_read(struct mlx5_core_dev *mdev, u64 *counters,
 {
 	struct mlx5_fpga_device *fdev = mdev->fpga;
 	unsigned int i;
-	u32 *data;
+	__be32 *data;
 	u32 count;
 	u64 addr;
 	int ret;
@@ -290,7 +290,7 @@ int mlx5_fpga_ipsec_counters_read(struct mlx5_core_dev *mdev, u64 *counters,
 
 	count = mlx5_fpga_ipsec_counters_count(mdev);
 
-	data = kzalloc(sizeof(u32) * count * 2, GFP_KERNEL);
+	data = kzalloc(sizeof(*data) * count * 2, GFP_KERNEL);
 	if (!data) {
 		ret = -ENOMEM;
 		goto out;
-- 
2.11.0

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

* [net 5/7] net/mlx5: Build wq.o even if MLX5_CORE_EN is not selected
  2017-07-09 12:49 [pull request][net 0/7] Mellanox, mlx5 fixes 2017-07-09 Saeed Mahameed
                   ` (3 preceding siblings ...)
  2017-07-09 12:49 ` [net 4/7] net/mlx5: FPGA, Fix datatype mismatch Saeed Mahameed
@ 2017-07-09 12:49 ` Saeed Mahameed
  2017-07-09 12:49 ` [net 6/7] net/mlx5: Add Makefiles for subdirectories Saeed Mahameed
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Saeed Mahameed @ 2017-07-09 12:49 UTC (permalink / raw)
  To: David S. Miller; +Cc: netdev, Ilan Tayari, Saeed Mahameed

From: Ilan Tayari <ilant@mellanox.com>

Both the ethernet and FPGA portions of MLX5 now require the wq functions,
and we get a link error when CONFIG_MLX5_CORE_EN is disabled:

drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.o: In function `mlx5_fpga_conn_create_cq':
conn.c:(.text+0x10b3): undefined reference to `mlx5_cqwq_create'
conn.c:(.text+0x10c6): undefined reference to `mlx5_cqwq_get_size'
conn.c:(.text+0x12bc): undefined reference to `mlx5_cqwq_destroy'

Build wq.o even if MLX5_CORE_EN is not selected.

Fixes: 537a50574175 ("net/mlx5: FPGA, Add high-speed connection routines")
Reported-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Ilan Tayari <ilant@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
---
 drivers/net/ethernet/mellanox/mlx5/core/Makefile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/Makefile b/drivers/net/ethernet/mellanox/mlx5/core/Makefile
index ca367445f864..9d17e4e76d3a 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/Makefile
+++ b/drivers/net/ethernet/mellanox/mlx5/core/Makefile
@@ -4,14 +4,14 @@ subdir-ccflags-y += -I$(src)
 mlx5_core-y :=	main.o cmd.o debugfs.o fw.o eq.o uar.o pagealloc.o \
 		health.o mcg.o cq.o srq.o alloc.o qp.o port.o mr.o pd.o \
 		mad.o transobj.o vport.o sriov.o fs_cmd.o fs_core.o \
-		fs_counters.o rl.o lag.o dev.o lib/gid.o
+		fs_counters.o rl.o lag.o dev.o wq.o lib/gid.o
 
 mlx5_core-$(CONFIG_MLX5_ACCEL) += accel/ipsec.o
 
 mlx5_core-$(CONFIG_MLX5_FPGA) += fpga/cmd.o fpga/core.o fpga/conn.o fpga/sdk.o \
 		fpga/ipsec.o
 
-mlx5_core-$(CONFIG_MLX5_CORE_EN) += wq.o eswitch.o eswitch_offloads.o \
+mlx5_core-$(CONFIG_MLX5_CORE_EN) += eswitch.o eswitch_offloads.o \
 		en_main.o en_common.o en_fs.o en_ethtool.o en_tx.o \
 		en_rx.o en_rx_am.o en_txrx.o en_clock.o vxlan.o \
 		en_tc.o en_arfs.o en_rep.o en_fs_ethtool.o en_selftest.o
-- 
2.11.0

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

* [net 6/7] net/mlx5: Add Makefiles for subdirectories
  2017-07-09 12:49 [pull request][net 0/7] Mellanox, mlx5 fixes 2017-07-09 Saeed Mahameed
                   ` (4 preceding siblings ...)
  2017-07-09 12:49 ` [net 5/7] net/mlx5: Build wq.o even if MLX5_CORE_EN is not selected Saeed Mahameed
@ 2017-07-09 12:49 ` Saeed Mahameed
  2017-07-09 12:49 ` [net 7/7] net/mlx5e: Initialize CEE's getpermhwaddr address buffer to 0xff Saeed Mahameed
  2017-07-09 15:08 ` [pull request][net 0/7] Mellanox, mlx5 fixes 2017-07-09 David Miller
  7 siblings, 0 replies; 9+ messages in thread
From: Saeed Mahameed @ 2017-07-09 12:49 UTC (permalink / raw)
  To: David S. Miller; +Cc: netdev, Ilan Tayari, Saeed Mahameed

From: Ilan Tayari <ilant@mellanox.com>

Currently it is not possible to build just one .o file inside
a subdirectory, because the subdirectories lack a Makefile.

Add a Makefile to the mlx5 subdirectories.

Fixes: e29341fb3a5b ("net/mlx5: FPGA, Add basic support for Innova")
Signed-off-by: Ilan Tayari <ilant@mellanox.com>
Reported-by: David Miller <davem@davemloft.net>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
---
 drivers/net/ethernet/mellanox/mlx5/core/accel/Makefile    | 1 +
 drivers/net/ethernet/mellanox/mlx5/core/en_accel/Makefile | 1 +
 drivers/net/ethernet/mellanox/mlx5/core/fpga/Makefile     | 1 +
 drivers/net/ethernet/mellanox/mlx5/core/ipoib/Makefile    | 1 +
 drivers/net/ethernet/mellanox/mlx5/core/lib/Makefile      | 1 +
 5 files changed, 5 insertions(+)
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/accel/Makefile
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en_accel/Makefile
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/fpga/Makefile
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/ipoib/Makefile
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/lib/Makefile

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/accel/Makefile b/drivers/net/ethernet/mellanox/mlx5/core/accel/Makefile
new file mode 100644
index 000000000000..d8e17110f25d
--- /dev/null
+++ b/drivers/net/ethernet/mellanox/mlx5/core/accel/Makefile
@@ -0,0 +1 @@
+subdir-ccflags-y += -I$(src)/..
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/Makefile b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/Makefile
new file mode 100644
index 000000000000..d8e17110f25d
--- /dev/null
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/Makefile
@@ -0,0 +1 @@
+subdir-ccflags-y += -I$(src)/..
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/fpga/Makefile b/drivers/net/ethernet/mellanox/mlx5/core/fpga/Makefile
new file mode 100644
index 000000000000..d8e17110f25d
--- /dev/null
+++ b/drivers/net/ethernet/mellanox/mlx5/core/fpga/Makefile
@@ -0,0 +1 @@
+subdir-ccflags-y += -I$(src)/..
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/ipoib/Makefile b/drivers/net/ethernet/mellanox/mlx5/core/ipoib/Makefile
new file mode 100644
index 000000000000..d8e17110f25d
--- /dev/null
+++ b/drivers/net/ethernet/mellanox/mlx5/core/ipoib/Makefile
@@ -0,0 +1 @@
+subdir-ccflags-y += -I$(src)/..
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lib/Makefile b/drivers/net/ethernet/mellanox/mlx5/core/lib/Makefile
new file mode 100644
index 000000000000..d8e17110f25d
--- /dev/null
+++ b/drivers/net/ethernet/mellanox/mlx5/core/lib/Makefile
@@ -0,0 +1 @@
+subdir-ccflags-y += -I$(src)/..
-- 
2.11.0

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

* [net 7/7] net/mlx5e: Initialize CEE's getpermhwaddr address buffer to 0xff
  2017-07-09 12:49 [pull request][net 0/7] Mellanox, mlx5 fixes 2017-07-09 Saeed Mahameed
                   ` (5 preceding siblings ...)
  2017-07-09 12:49 ` [net 6/7] net/mlx5: Add Makefiles for subdirectories Saeed Mahameed
@ 2017-07-09 12:49 ` Saeed Mahameed
  2017-07-09 15:08 ` [pull request][net 0/7] Mellanox, mlx5 fixes 2017-07-09 David Miller
  7 siblings, 0 replies; 9+ messages in thread
From: Saeed Mahameed @ 2017-07-09 12:49 UTC (permalink / raw)
  To: David S. Miller; +Cc: netdev, Huy Nguyen, Saeed Mahameed

From: Huy Nguyen <huyn@mellanox.com>

Latest change in open-lldp code uses bytes 6-11 of perm_addr buffer
as the Ethernet source address for the host TLV packet.
Since our driver does not fill these bytes, they stay at zero and
the open-lldp code ends up sending the TLV packet with zero source
address and the switch drops this packet.

The fix is to initialize these bytes to 0xff. The open-lldp code
considers 0xff:ff:ff:ff:ff:ff as the invalid address and falls back to
use the host's mac address as the Ethernet source address.

Fixes: 3a6a931dfb8e ("net/mlx5e: Support DCBX CEE API")
Signed-off-by: Huy Nguyen <huyn@mellanox.com>
Reviewed-by: Daniel Jurgens <danielj@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
---
 drivers/net/ethernet/mellanox/mlx5/core/en_dcbnl.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_dcbnl.c b/drivers/net/ethernet/mellanox/mlx5/core/en_dcbnl.c
index 8fa23f6a1f67..2eb54d36e16e 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_dcbnl.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_dcbnl.c
@@ -464,6 +464,8 @@ static void mlx5e_dcbnl_getpermhwaddr(struct net_device *netdev,
 	if (!perm_addr)
 		return;
 
+	memset(perm_addr, 0xff, MAX_ADDR_LEN);
+
 	mlx5_query_nic_vport_mac_address(priv->mdev, 0, perm_addr);
 }
 
-- 
2.11.0

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

* Re: [pull request][net 0/7] Mellanox, mlx5 fixes 2017-07-09
  2017-07-09 12:49 [pull request][net 0/7] Mellanox, mlx5 fixes 2017-07-09 Saeed Mahameed
                   ` (6 preceding siblings ...)
  2017-07-09 12:49 ` [net 7/7] net/mlx5e: Initialize CEE's getpermhwaddr address buffer to 0xff Saeed Mahameed
@ 2017-07-09 15:08 ` David Miller
  7 siblings, 0 replies; 9+ messages in thread
From: David Miller @ 2017-07-09 15:08 UTC (permalink / raw)
  To: saeedm; +Cc: netdev

From: Saeed Mahameed <saeedm@mellanox.com>
Date: Sun,  9 Jul 2017 15:49:10 +0300

> This series includes fixes to mlx5 driver:
>   - Compilation warnings and issues introduced on v4.12
>   - Add Makefile to each mlx5 subdir to allow individual file compilation
>   - Initialize CEE's getpermhwaddr address buffer to 0xff
> 
> Please pull and let me know if there's any problem.

Pulled, thanks.

> For -stable:
>  ("net/mlx5e: Initialize CEE's getpermhwaddr address buffer to 0xff") Kernels >= 4.10

Queued up for -stable.

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

end of thread, other threads:[~2017-07-09 15:08 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-09 12:49 [pull request][net 0/7] Mellanox, mlx5 fixes 2017-07-09 Saeed Mahameed
2017-07-09 12:49 ` [net 1/7] net/mlx5: Add missing include in lib/gid.c Saeed Mahameed
2017-07-09 12:49 ` [net 2/7] net/mlx5: IPSec, Fix 64-bit division on 32-bit builds Saeed Mahameed
2017-07-09 12:49 ` [net 3/7] net/mlx5: FPGA, make mlx5_fpga_device_brb static Saeed Mahameed
2017-07-09 12:49 ` [net 4/7] net/mlx5: FPGA, Fix datatype mismatch Saeed Mahameed
2017-07-09 12:49 ` [net 5/7] net/mlx5: Build wq.o even if MLX5_CORE_EN is not selected Saeed Mahameed
2017-07-09 12:49 ` [net 6/7] net/mlx5: Add Makefiles for subdirectories Saeed Mahameed
2017-07-09 12:49 ` [net 7/7] net/mlx5e: Initialize CEE's getpermhwaddr address buffer to 0xff Saeed Mahameed
2017-07-09 15:08 ` [pull request][net 0/7] Mellanox, mlx5 fixes 2017-07-09 David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).