netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next 0/7] mlxsw: Misc updates
@ 2020-08-23  8:06 Ido Schimmel
  2020-08-23  8:06 ` [PATCH net-next 1/7] mlxsw: spectrum_trap: Adjust default policer burst size for Spectrum-{2, 3} Ido Schimmel
                   ` (8 more replies)
  0 siblings, 9 replies; 13+ messages in thread
From: Ido Schimmel @ 2020-08-23  8:06 UTC (permalink / raw)
  To: netdev; +Cc: davem, kuba, jiri, mlxsw, Ido Schimmel

From: Ido Schimmel <idosch@nvidia.com>

This patch set includes various updates for mlxsw.

Patches #1-#4 adjust the default burst size of packet trap policers to
conform to Spectrum-{2,3} requirements. The corresponding selftest is
also adjusted so that it could reliably pass on these platforms.

Patch #5 adjusts a selftest so that it could pass with both old and new
versions of mausezahn.

Patch #6 significantly reduces the runtime of tc-police scale test by
changing the preference and masks of the used tc filters.

Patch #7 prevents the driver from trying to set invalid ethtool link
modes.

Danielle Ratson (2):
  selftests: forwarding: Fix mausezahn delay parameter in mirror_test()
  mlxsw: spectrum_ethtool: Remove internal speeds from PTYS register

Ido Schimmel (5):
  mlxsw: spectrum_trap: Adjust default policer burst size for
    Spectrum-{2, 3}
  selftests: mlxsw: Decrease required rate accuracy
  selftests: mlxsw: Increase burst size for rate test
  selftests: mlxsw: Increase burst size for burst test
  selftests: mlxsw: Reduce runtime of tc-police scale test

 drivers/net/ethernet/mellanox/mlxsw/reg.h     |  6 ---
 .../mellanox/mlxsw/spectrum_ethtool.c         | 38 -------------------
 .../ethernet/mellanox/mlxsw/spectrum_trap.c   | 22 +++++------
 .../net/ethernet/mellanox/mlxsw/switchx2.c    | 25 +-----------
 .../drivers/net/mlxsw/devlink_trap_policer.sh | 33 +++-------------
 .../drivers/net/mlxsw/tc_police_scale.sh      | 12 +++++-
 .../selftests/net/forwarding/mirror_lib.sh    |  2 +-
 7 files changed, 28 insertions(+), 110 deletions(-)

-- 
2.26.2


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

* [PATCH net-next 1/7] mlxsw: spectrum_trap: Adjust default policer burst size for Spectrum-{2, 3}
  2020-08-23  8:06 [PATCH net-next 0/7] mlxsw: Misc updates Ido Schimmel
@ 2020-08-23  8:06 ` Ido Schimmel
  2020-08-23  8:06 ` [PATCH net-next 2/7] selftests: mlxsw: Decrease required rate accuracy Ido Schimmel
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 13+ messages in thread
From: Ido Schimmel @ 2020-08-23  8:06 UTC (permalink / raw)
  To: netdev; +Cc: davem, kuba, jiri, mlxsw, Ido Schimmel

From: Ido Schimmel <idosch@mellanox.com>

On the Spectrum-{2,3} ASICs the minimum burst size of the packet trap
policers needs to be 40% of the configured rate. Otherwise, intermittent
drops are observed even when the incoming packet rate is slightly lower
than the configured policer rate.

Adjust the burst size of the registered packet trap policers so that
they do not violate above mentioned limitation.

Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Reviewed-by: Jiri Pirko <jiri@mellanox.com>
---
 .../ethernet/mellanox/mlxsw/spectrum_trap.c   | 22 +++++++++----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
index 2e41c5519c1b..433f14ade464 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
@@ -291,7 +291,7 @@ static void mlxsw_sp_rx_sample_listener(struct sk_buff *skb, u8 local_port,
 static const struct mlxsw_sp_trap_policer_item
 mlxsw_sp_trap_policer_items_arr[] = {
 	{
-		.policer = MLXSW_SP_TRAP_POLICER(1, 10 * 1024, 128),
+		.policer = MLXSW_SP_TRAP_POLICER(1, 10 * 1024, 4096),
 	},
 	{
 		.policer = MLXSW_SP_TRAP_POLICER(2, 128, 128),
@@ -303,25 +303,25 @@ mlxsw_sp_trap_policer_items_arr[] = {
 		.policer = MLXSW_SP_TRAP_POLICER(4, 128, 128),
 	},
 	{
-		.policer = MLXSW_SP_TRAP_POLICER(5, 16 * 1024, 128),
+		.policer = MLXSW_SP_TRAP_POLICER(5, 16 * 1024, 8192),
 	},
 	{
 		.policer = MLXSW_SP_TRAP_POLICER(6, 128, 128),
 	},
 	{
-		.policer = MLXSW_SP_TRAP_POLICER(7, 1024, 128),
+		.policer = MLXSW_SP_TRAP_POLICER(7, 1024, 512),
 	},
 	{
-		.policer = MLXSW_SP_TRAP_POLICER(8, 20 * 1024, 1024),
+		.policer = MLXSW_SP_TRAP_POLICER(8, 20 * 1024, 8192),
 	},
 	{
 		.policer = MLXSW_SP_TRAP_POLICER(9, 128, 128),
 	},
 	{
-		.policer = MLXSW_SP_TRAP_POLICER(10, 1024, 128),
+		.policer = MLXSW_SP_TRAP_POLICER(10, 1024, 512),
 	},
 	{
-		.policer = MLXSW_SP_TRAP_POLICER(11, 360, 128),
+		.policer = MLXSW_SP_TRAP_POLICER(11, 256, 128),
 	},
 	{
 		.policer = MLXSW_SP_TRAP_POLICER(12, 128, 128),
@@ -330,19 +330,19 @@ mlxsw_sp_trap_policer_items_arr[] = {
 		.policer = MLXSW_SP_TRAP_POLICER(13, 128, 128),
 	},
 	{
-		.policer = MLXSW_SP_TRAP_POLICER(14, 1024, 128),
+		.policer = MLXSW_SP_TRAP_POLICER(14, 1024, 512),
 	},
 	{
-		.policer = MLXSW_SP_TRAP_POLICER(15, 1024, 128),
+		.policer = MLXSW_SP_TRAP_POLICER(15, 1024, 512),
 	},
 	{
-		.policer = MLXSW_SP_TRAP_POLICER(16, 24 * 1024, 4096),
+		.policer = MLXSW_SP_TRAP_POLICER(16, 24 * 1024, 16384),
 	},
 	{
-		.policer = MLXSW_SP_TRAP_POLICER(17, 19 * 1024, 4096),
+		.policer = MLXSW_SP_TRAP_POLICER(17, 19 * 1024, 8192),
 	},
 	{
-		.policer = MLXSW_SP_TRAP_POLICER(18, 1024, 128),
+		.policer = MLXSW_SP_TRAP_POLICER(18, 1024, 512),
 	},
 	{
 		.policer = MLXSW_SP_TRAP_POLICER(19, 1024, 512),
-- 
2.26.2


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

* [PATCH net-next 2/7] selftests: mlxsw: Decrease required rate accuracy
  2020-08-23  8:06 [PATCH net-next 0/7] mlxsw: Misc updates Ido Schimmel
  2020-08-23  8:06 ` [PATCH net-next 1/7] mlxsw: spectrum_trap: Adjust default policer burst size for Spectrum-{2, 3} Ido Schimmel
@ 2020-08-23  8:06 ` Ido Schimmel
  2020-08-23  8:06 ` [PATCH net-next 3/7] selftests: mlxsw: Increase burst size for rate test Ido Schimmel
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 13+ messages in thread
From: Ido Schimmel @ 2020-08-23  8:06 UTC (permalink / raw)
  To: netdev; +Cc: davem, kuba, jiri, mlxsw, Ido Schimmel

From: Ido Schimmel <idosch@mellanox.com>

On Spectrum-{2,3} the required accuracy is +/-10%.

Align the test to this requirement so that it can reliably pass on these
platforms.

Signed-off-by: Ido Schimmel <idosch@mellanox.com>
---
 .../selftests/drivers/net/mlxsw/devlink_trap_policer.sh       | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/testing/selftests/drivers/net/mlxsw/devlink_trap_policer.sh b/tools/testing/selftests/drivers/net/mlxsw/devlink_trap_policer.sh
index 47edf099a17e..bd4ffed1cca3 100755
--- a/tools/testing/selftests/drivers/net/mlxsw/devlink_trap_policer.sh
+++ b/tools/testing/selftests/drivers/net/mlxsw/devlink_trap_policer.sh
@@ -220,8 +220,8 @@ __rate_test()
 
 	rate=$(trap_rate_get)
 	pct=$((100 * (rate - 1000) / 1000))
-	((-5 <= pct && pct <= 5))
-	check_err $? "Expected rate 1000 pps, got $rate pps, which is $pct% off. Required accuracy is +-5%"
+	((-10 <= pct && pct <= 10))
+	check_err $? "Expected rate 1000 pps, got $rate pps, which is $pct% off. Required accuracy is +-10%"
 	log_info "Expected rate 1000 pps, measured rate $rate pps"
 
 	drop_rate=$(policer_drop_rate_get $id)
-- 
2.26.2


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

* [PATCH net-next 3/7] selftests: mlxsw: Increase burst size for rate test
  2020-08-23  8:06 [PATCH net-next 0/7] mlxsw: Misc updates Ido Schimmel
  2020-08-23  8:06 ` [PATCH net-next 1/7] mlxsw: spectrum_trap: Adjust default policer burst size for Spectrum-{2, 3} Ido Schimmel
  2020-08-23  8:06 ` [PATCH net-next 2/7] selftests: mlxsw: Decrease required rate accuracy Ido Schimmel
@ 2020-08-23  8:06 ` Ido Schimmel
  2020-08-23  8:06 ` [PATCH net-next 4/7] selftests: mlxsw: Increase burst size for burst test Ido Schimmel
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 13+ messages in thread
From: Ido Schimmel @ 2020-08-23  8:06 UTC (permalink / raw)
  To: netdev; +Cc: davem, kuba, jiri, mlxsw, Ido Schimmel

From: Ido Schimmel <idosch@mellanox.com>

The current combination of rate and burst size does not adhere to
Spectrum-{2,3} limitation which states that the minimum burst size
should be 40% of the rate.

Increase the burst size in order to honor above mentioned limitation and
avoid intermittent failures of this test case on Spectrum-{2,3}.

Signed-off-by: Ido Schimmel <idosch@mellanox.com>
---
 .../testing/selftests/drivers/net/mlxsw/devlink_trap_policer.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/testing/selftests/drivers/net/mlxsw/devlink_trap_policer.sh b/tools/testing/selftests/drivers/net/mlxsw/devlink_trap_policer.sh
index bd4ffed1cca3..ecba9ab81c2a 100755
--- a/tools/testing/selftests/drivers/net/mlxsw/devlink_trap_policer.sh
+++ b/tools/testing/selftests/drivers/net/mlxsw/devlink_trap_policer.sh
@@ -207,7 +207,7 @@ __rate_test()
 
 	RET=0
 
-	devlink trap policer set $DEVLINK_DEV policer $id rate 1000 burst 16
+	devlink trap policer set $DEVLINK_DEV policer $id rate 1000 burst 512
 	devlink trap group set $DEVLINK_DEV group l3_drops policer $id
 
 	# Send packets at highest possible rate and make sure they are dropped
-- 
2.26.2


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

* [PATCH net-next 4/7] selftests: mlxsw: Increase burst size for burst test
  2020-08-23  8:06 [PATCH net-next 0/7] mlxsw: Misc updates Ido Schimmel
                   ` (2 preceding siblings ...)
  2020-08-23  8:06 ` [PATCH net-next 3/7] selftests: mlxsw: Increase burst size for rate test Ido Schimmel
@ 2020-08-23  8:06 ` Ido Schimmel
  2020-08-23  8:06 ` [PATCH net-next 5/7] selftests: forwarding: Fix mausezahn delay parameter in mirror_test() Ido Schimmel
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 13+ messages in thread
From: Ido Schimmel @ 2020-08-23  8:06 UTC (permalink / raw)
  To: netdev; +Cc: davem, kuba, jiri, mlxsw, Ido Schimmel

From: Ido Schimmel <idosch@mellanox.com>

The current combination of rate and burst size does not adhere to
Spectrum-{2,3} limitation which states that the minimum burst size
should be 40% of the rate.

Increase the burst size in order to honor above mentioned limitation and
avoid intermittent failures of this test case on Spectrum-{2,3}.

Remove the first sub-test case as the variation in number of received
packets is simply too large to reliably test it.

Signed-off-by: Ido Schimmel <idosch@mellanox.com>
---
 .../drivers/net/mlxsw/devlink_trap_policer.sh | 27 ++-----------------
 1 file changed, 2 insertions(+), 25 deletions(-)

diff --git a/tools/testing/selftests/drivers/net/mlxsw/devlink_trap_policer.sh b/tools/testing/selftests/drivers/net/mlxsw/devlink_trap_policer.sh
index ecba9ab81c2a..508a702f0021 100755
--- a/tools/testing/selftests/drivers/net/mlxsw/devlink_trap_policer.sh
+++ b/tools/testing/selftests/drivers/net/mlxsw/devlink_trap_policer.sh
@@ -288,35 +288,12 @@ __burst_test()
 
 	RET=0
 
-	devlink trap policer set $DEVLINK_DEV policer $id rate 1000 burst 32
+	devlink trap policer set $DEVLINK_DEV policer $id rate 1000 burst 512
 	devlink trap group set $DEVLINK_DEV group l3_drops policer $id
 
-	# Send a burst of 64 packets and make sure that about 32 are received
-	# and the rest are dropped by the policer
-	log_info "=== Tx burst size: 64, Policer burst size: 32 pps ==="
-
-	t0_rx=$(devlink_trap_rx_packets_get blackhole_route)
-	t0_drop=$(devlink_trap_policer_rx_dropped_get $id)
-
-	start_traffic $h1 192.0.2.1 198.51.100.100 $rp1_mac -c 64
-
-	t1_rx=$(devlink_trap_rx_packets_get blackhole_route)
-	t1_drop=$(devlink_trap_policer_rx_dropped_get $id)
-
-	rx=$((t1_rx - t0_rx))
-	pct=$((100 * (rx - 32) / 32))
-	((-20 <= pct && pct <= 20))
-	check_err $? "Expected burst size of 32 packets, got $rx packets, which is $pct% off. Required accuracy is +-20%"
-	log_info "Expected burst size of 32 packets, measured burst size of $rx packets"
-
-	drop=$((t1_drop - t0_drop))
-	(( drop > 0 ))
-	check_err $? "Expected non-zero policer drops, got 0"
-	log_info "Measured policer drops of $drop packets"
-
 	# Send a burst of 16 packets and make sure that 16 are received
 	# and that none are dropped by the policer
-	log_info "=== Tx burst size: 16, Policer burst size: 32 pps ==="
+	log_info "=== Tx burst size: 16, Policer burst size: 512 ==="
 
 	t0_rx=$(devlink_trap_rx_packets_get blackhole_route)
 	t0_drop=$(devlink_trap_policer_rx_dropped_get $id)
-- 
2.26.2


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

* [PATCH net-next 5/7] selftests: forwarding: Fix mausezahn delay parameter in mirror_test()
  2020-08-23  8:06 [PATCH net-next 0/7] mlxsw: Misc updates Ido Schimmel
                   ` (3 preceding siblings ...)
  2020-08-23  8:06 ` [PATCH net-next 4/7] selftests: mlxsw: Increase burst size for burst test Ido Schimmel
@ 2020-08-23  8:06 ` Ido Schimmel
  2020-08-23  8:06 ` [PATCH net-next 6/7] selftests: mlxsw: Reduce runtime of tc-police scale test Ido Schimmel
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 13+ messages in thread
From: Ido Schimmel @ 2020-08-23  8:06 UTC (permalink / raw)
  To: netdev; +Cc: davem, kuba, jiri, mlxsw, Danielle Ratson, Ido Schimmel

From: Danielle Ratson <danieller@mellanox.com>

Currently, mausezahn delay parameter in mirror_test() is specified with
'ms' units.

mausezahn versions before 0.6.5 interpret 'ms' as seconds and therefore
the tests that use mirror_test() take a very long time to complete.

Resolve this by specifying 'msec' units.

Signed-off-by: Danielle Ratson <danieller@mellanox.com>
Reviewed-by: Petr Machata <petrm@mellanox.com>
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
---
 tools/testing/selftests/net/forwarding/mirror_lib.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/testing/selftests/net/forwarding/mirror_lib.sh b/tools/testing/selftests/net/forwarding/mirror_lib.sh
index c33bfd7ba214..13db1cb50e57 100644
--- a/tools/testing/selftests/net/forwarding/mirror_lib.sh
+++ b/tools/testing/selftests/net/forwarding/mirror_lib.sh
@@ -31,7 +31,7 @@ mirror_test()
 
 	local t0=$(tc_rule_stats_get $dev $pref)
 	$MZ $vrf_name ${sip:+-A $sip} -B $dip -a own -b bc -q \
-	    -c 10 -d 100ms -t icmp type=8
+	    -c 10 -d 100msec -t icmp type=8
 	sleep 0.5
 	local t1=$(tc_rule_stats_get $dev $pref)
 	local delta=$((t1 - t0))
-- 
2.26.2


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

* [PATCH net-next 6/7] selftests: mlxsw: Reduce runtime of tc-police scale test
  2020-08-23  8:06 [PATCH net-next 0/7] mlxsw: Misc updates Ido Schimmel
                   ` (4 preceding siblings ...)
  2020-08-23  8:06 ` [PATCH net-next 5/7] selftests: forwarding: Fix mausezahn delay parameter in mirror_test() Ido Schimmel
@ 2020-08-23  8:06 ` Ido Schimmel
  2020-08-23  8:06 ` [PATCH net-next 7/7] mlxsw: spectrum_ethtool: Remove internal speeds from PTYS register Ido Schimmel
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 13+ messages in thread
From: Ido Schimmel @ 2020-08-23  8:06 UTC (permalink / raw)
  To: netdev; +Cc: davem, kuba, jiri, mlxsw, Ido Schimmel

From: Ido Schimmel <idosch@mellanox.com>

Currently, the test takes about 626 seconds to complete because of an
inefficient use of the device's TCAM. Reduce the runtime to 202 seconds
by inserting all the flower filters with the same preference and mask,
but with a different key.

In particular, this reduces the deletion of the qdisc (which triggers
the deletion of all the filters) from 66 seconds to 0.2 seconds. This
prevents various netlink requests from user space applications (e.g.,
systemd-networkd) from timing-out because RTNL is not held for too long
anymore.

Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Reviewed-by: Jiri Pirko <jiri@mellanox.com>
---
 .../selftests/drivers/net/mlxsw/tc_police_scale.sh   | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/tools/testing/selftests/drivers/net/mlxsw/tc_police_scale.sh b/tools/testing/selftests/drivers/net/mlxsw/tc_police_scale.sh
index 4b96561c462f..3e3e06ea5703 100644
--- a/tools/testing/selftests/drivers/net/mlxsw/tc_police_scale.sh
+++ b/tools/testing/selftests/drivers/net/mlxsw/tc_police_scale.sh
@@ -24,6 +24,13 @@ tc_police_switch_destroy()
 	simple_if_fini $swp1
 }
 
+tc_police_addr()
+{
+       local num=$1; shift
+
+       printf "2001:db8:1::%x" $num
+}
+
 tc_police_rules_create()
 {
 	local count=$1; shift
@@ -34,8 +41,9 @@ tc_police_rules_create()
 	for ((i = 0; i < count; ++i)); do
 		cat >> $TC_POLICE_BATCH_FILE <<-EOF
 			filter add dev $swp1 ingress \
-				prot ip \
-				flower skip_sw \
+				prot ipv6 \
+				pref 1000 \
+				flower skip_sw dst_ip $(tc_police_addr $i) \
 				action police rate 10mbit burst 100k \
 				conform-exceed drop/ok
 		EOF
-- 
2.26.2


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

* [PATCH net-next 7/7] mlxsw: spectrum_ethtool: Remove internal speeds from PTYS register
  2020-08-23  8:06 [PATCH net-next 0/7] mlxsw: Misc updates Ido Schimmel
                   ` (5 preceding siblings ...)
  2020-08-23  8:06 ` [PATCH net-next 6/7] selftests: mlxsw: Reduce runtime of tc-police scale test Ido Schimmel
@ 2020-08-23  8:06 ` Ido Schimmel
  2020-08-24 20:55 ` [PATCH net-next 0/7] mlxsw: Misc updates Jakub Kicinski
  2020-08-25  0:49 ` David Miller
  8 siblings, 0 replies; 13+ messages in thread
From: Ido Schimmel @ 2020-08-23  8:06 UTC (permalink / raw)
  To: netdev; +Cc: davem, kuba, jiri, mlxsw, Danielle Ratson, Ido Schimmel

From: Danielle Ratson <danieller@mellanox.com>

The PTYS register is used to report and configure the port type and
speed. Currently, internal bits in the register are used the same way
other bits are used.

Using the internal bits can cause bad parameter firmware errors. For
example, trying to write to internal bit 25 returns:

EMAD reg access failed (tid=53e2bffa00004310,reg_id=5004(ptys),type=write,status=7(bad parameter))

Remove the internal bits from the PTYS register, so that it is no longer
possible to pass them to firmware.

Signed-off-by: Danielle Ratson <danieller@mellanox.com>
Reviewed-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
---
 drivers/net/ethernet/mellanox/mlxsw/reg.h     |  6 ---
 .../mellanox/mlxsw/spectrum_ethtool.c         | 38 -------------------
 .../net/ethernet/mellanox/mlxsw/switchx2.c    | 25 +-----------
 3 files changed, 1 insertion(+), 68 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlxsw/reg.h b/drivers/net/ethernet/mellanox/mlxsw/reg.h
index 079b080de7f7..485e3e02eb70 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/reg.h
+++ b/drivers/net/ethernet/mellanox/mlxsw/reg.h
@@ -4174,7 +4174,6 @@ MLXSW_ITEM32(reg, ptys, an_status, 0x04, 28, 4);
 
 #define MLXSW_REG_PTYS_EXT_ETH_SPEED_SGMII_100M				BIT(0)
 #define MLXSW_REG_PTYS_EXT_ETH_SPEED_1000BASE_X_SGMII			BIT(1)
-#define MLXSW_REG_PTYS_EXT_ETH_SPEED_2_5GBASE_X_2_5GMII			BIT(2)
 #define MLXSW_REG_PTYS_EXT_ETH_SPEED_5GBASE_R				BIT(3)
 #define MLXSW_REG_PTYS_EXT_ETH_SPEED_XFI_XAUI_1_10G			BIT(4)
 #define MLXSW_REG_PTYS_EXT_ETH_SPEED_XLAUI_4_XLPPI_4_40G		BIT(5)
@@ -4197,7 +4196,6 @@ MLXSW_ITEM32(reg, ptys, ext_eth_proto_cap, 0x08, 0, 32);
 #define MLXSW_REG_PTYS_ETH_SPEED_10GBASE_CX4		BIT(2)
 #define MLXSW_REG_PTYS_ETH_SPEED_10GBASE_KX4		BIT(3)
 #define MLXSW_REG_PTYS_ETH_SPEED_10GBASE_KR		BIT(4)
-#define MLXSW_REG_PTYS_ETH_SPEED_20GBASE_KR2		BIT(5)
 #define MLXSW_REG_PTYS_ETH_SPEED_40GBASE_CR4		BIT(6)
 #define MLXSW_REG_PTYS_ETH_SPEED_40GBASE_KR4		BIT(7)
 #define MLXSW_REG_PTYS_ETH_SPEED_10GBASE_CR		BIT(12)
@@ -4210,10 +4208,6 @@ MLXSW_ITEM32(reg, ptys, ext_eth_proto_cap, 0x08, 0, 32);
 #define MLXSW_REG_PTYS_ETH_SPEED_100GBASE_CR4		BIT(20)
 #define MLXSW_REG_PTYS_ETH_SPEED_100GBASE_SR4		BIT(21)
 #define MLXSW_REG_PTYS_ETH_SPEED_100GBASE_KR4		BIT(22)
-#define MLXSW_REG_PTYS_ETH_SPEED_100GBASE_LR4_ER4	BIT(23)
-#define MLXSW_REG_PTYS_ETH_SPEED_100BASE_TX		BIT(24)
-#define MLXSW_REG_PTYS_ETH_SPEED_100BASE_T		BIT(25)
-#define MLXSW_REG_PTYS_ETH_SPEED_10GBASE_T		BIT(26)
 #define MLXSW_REG_PTYS_ETH_SPEED_25GBASE_CR		BIT(27)
 #define MLXSW_REG_PTYS_ETH_SPEED_25GBASE_KR		BIT(28)
 #define MLXSW_REG_PTYS_ETH_SPEED_25GBASE_SR		BIT(29)
diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
index 14c78f73bb65..f08cad5b5657 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
@@ -992,22 +992,12 @@ struct mlxsw_sp1_port_link_mode {
 };
 
 static const struct mlxsw_sp1_port_link_mode mlxsw_sp1_port_link_mode[] = {
-	{
-		.mask		= MLXSW_REG_PTYS_ETH_SPEED_100BASE_T,
-		.mask_ethtool	= ETHTOOL_LINK_MODE_100baseT_Full_BIT,
-		.speed		= SPEED_100,
-	},
 	{
 		.mask		= MLXSW_REG_PTYS_ETH_SPEED_SGMII |
 				  MLXSW_REG_PTYS_ETH_SPEED_1000BASE_KX,
 		.mask_ethtool	= ETHTOOL_LINK_MODE_1000baseKX_Full_BIT,
 		.speed		= SPEED_1000,
 	},
-	{
-		.mask		= MLXSW_REG_PTYS_ETH_SPEED_10GBASE_T,
-		.mask_ethtool	= ETHTOOL_LINK_MODE_10000baseT_Full_BIT,
-		.speed		= SPEED_10000,
-	},
 	{
 		.mask		= MLXSW_REG_PTYS_ETH_SPEED_10GBASE_CX4 |
 				  MLXSW_REG_PTYS_ETH_SPEED_10GBASE_KX4,
@@ -1022,11 +1012,6 @@ static const struct mlxsw_sp1_port_link_mode mlxsw_sp1_port_link_mode[] = {
 		.mask_ethtool	= ETHTOOL_LINK_MODE_10000baseKR_Full_BIT,
 		.speed		= SPEED_10000,
 	},
-	{
-		.mask		= MLXSW_REG_PTYS_ETH_SPEED_20GBASE_KR2,
-		.mask_ethtool	= ETHTOOL_LINK_MODE_20000baseKR2_Full_BIT,
-		.speed		= SPEED_20000,
-	},
 	{
 		.mask		= MLXSW_REG_PTYS_ETH_SPEED_40GBASE_CR4,
 		.mask_ethtool	= ETHTOOL_LINK_MODE_40000baseCR4_Full_BIT,
@@ -1092,11 +1077,6 @@ static const struct mlxsw_sp1_port_link_mode mlxsw_sp1_port_link_mode[] = {
 		.mask_ethtool	= ETHTOOL_LINK_MODE_100000baseKR4_Full_BIT,
 		.speed		= SPEED_100000,
 	},
-	{
-		.mask		= MLXSW_REG_PTYS_ETH_SPEED_100GBASE_LR4_ER4,
-		.mask_ethtool	= ETHTOOL_LINK_MODE_100000baseLR4_ER4_Full_BIT,
-		.speed		= SPEED_100000,
-	},
 };
 
 #define MLXSW_SP1_PORT_LINK_MODE_LEN ARRAY_SIZE(mlxsw_sp1_port_link_mode)
@@ -1236,14 +1216,6 @@ mlxsw_sp2_mask_ethtool_1000base_x_sgmii[] = {
 #define MLXSW_SP2_MASK_ETHTOOL_1000BASE_X_SGMII_LEN \
 	ARRAY_SIZE(mlxsw_sp2_mask_ethtool_1000base_x_sgmii)
 
-static const enum ethtool_link_mode_bit_indices
-mlxsw_sp2_mask_ethtool_2_5gbase_x_2_5gmii[] = {
-	ETHTOOL_LINK_MODE_2500baseX_Full_BIT,
-};
-
-#define MLXSW_SP2_MASK_ETHTOOL_2_5GBASE_X_2_5GMII_LEN \
-	ARRAY_SIZE(mlxsw_sp2_mask_ethtool_2_5gbase_x_2_5gmii)
-
 static const enum ethtool_link_mode_bit_indices
 mlxsw_sp2_mask_ethtool_5gbase_r[] = {
 	ETHTOOL_LINK_MODE_5000baseT_Full_BIT,
@@ -1407,16 +1379,6 @@ static const struct mlxsw_sp2_port_link_mode mlxsw_sp2_port_link_mode[] = {
 				  MLXSW_SP_PORT_MASK_WIDTH_8X,
 		.speed		= SPEED_1000,
 	},
-	{
-		.mask		= MLXSW_REG_PTYS_EXT_ETH_SPEED_2_5GBASE_X_2_5GMII,
-		.mask_ethtool	= mlxsw_sp2_mask_ethtool_2_5gbase_x_2_5gmii,
-		.m_ethtool_len	= MLXSW_SP2_MASK_ETHTOOL_2_5GBASE_X_2_5GMII_LEN,
-		.mask_width	= MLXSW_SP_PORT_MASK_WIDTH_1X |
-				  MLXSW_SP_PORT_MASK_WIDTH_2X |
-				  MLXSW_SP_PORT_MASK_WIDTH_4X |
-				  MLXSW_SP_PORT_MASK_WIDTH_8X,
-		.speed		= SPEED_2500,
-	},
 	{
 		.mask		= MLXSW_REG_PTYS_EXT_ETH_SPEED_5GBASE_R,
 		.mask_ethtool	= mlxsw_sp2_mask_ethtool_5gbase_r,
diff --git a/drivers/net/ethernet/mellanox/mlxsw/switchx2.c b/drivers/net/ethernet/mellanox/mlxsw/switchx2.c
index 6f9a725662fb..5023d91269f4 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/switchx2.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/switchx2.c
@@ -550,16 +550,6 @@ struct mlxsw_sx_port_link_mode {
 };
 
 static const struct mlxsw_sx_port_link_mode mlxsw_sx_port_link_mode[] = {
-	{
-		.mask		= MLXSW_REG_PTYS_ETH_SPEED_100BASE_T,
-		.supported	= SUPPORTED_100baseT_Full,
-		.advertised	= ADVERTISED_100baseT_Full,
-		.speed		= 100,
-	},
-	{
-		.mask		= MLXSW_REG_PTYS_ETH_SPEED_100BASE_TX,
-		.speed		= 100,
-	},
 	{
 		.mask		= MLXSW_REG_PTYS_ETH_SPEED_SGMII |
 				  MLXSW_REG_PTYS_ETH_SPEED_1000BASE_KX,
@@ -567,12 +557,6 @@ static const struct mlxsw_sx_port_link_mode mlxsw_sx_port_link_mode[] = {
 		.advertised	= ADVERTISED_1000baseKX_Full,
 		.speed		= 1000,
 	},
-	{
-		.mask		= MLXSW_REG_PTYS_ETH_SPEED_10GBASE_T,
-		.supported	= SUPPORTED_10000baseT_Full,
-		.advertised	= ADVERTISED_10000baseT_Full,
-		.speed		= 10000,
-	},
 	{
 		.mask		= MLXSW_REG_PTYS_ETH_SPEED_10GBASE_CX4 |
 				  MLXSW_REG_PTYS_ETH_SPEED_10GBASE_KX4,
@@ -589,12 +573,6 @@ static const struct mlxsw_sx_port_link_mode mlxsw_sx_port_link_mode[] = {
 		.advertised	= ADVERTISED_10000baseKR_Full,
 		.speed		= 10000,
 	},
-	{
-		.mask		= MLXSW_REG_PTYS_ETH_SPEED_20GBASE_KR2,
-		.supported	= SUPPORTED_20000baseKR2_Full,
-		.advertised	= ADVERTISED_20000baseKR2_Full,
-		.speed		= 20000,
-	},
 	{
 		.mask		= MLXSW_REG_PTYS_ETH_SPEED_40GBASE_CR4,
 		.supported	= SUPPORTED_40000baseCR4_Full,
@@ -634,8 +612,7 @@ static const struct mlxsw_sx_port_link_mode mlxsw_sx_port_link_mode[] = {
 	{
 		.mask		= MLXSW_REG_PTYS_ETH_SPEED_100GBASE_CR4 |
 				  MLXSW_REG_PTYS_ETH_SPEED_100GBASE_SR4 |
-				  MLXSW_REG_PTYS_ETH_SPEED_100GBASE_KR4 |
-				  MLXSW_REG_PTYS_ETH_SPEED_100GBASE_LR4_ER4,
+				  MLXSW_REG_PTYS_ETH_SPEED_100GBASE_KR4,
 		.speed		= 100000,
 	},
 };
-- 
2.26.2


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

* Re: [PATCH net-next 0/7] mlxsw: Misc updates
  2020-08-23  8:06 [PATCH net-next 0/7] mlxsw: Misc updates Ido Schimmel
                   ` (6 preceding siblings ...)
  2020-08-23  8:06 ` [PATCH net-next 7/7] mlxsw: spectrum_ethtool: Remove internal speeds from PTYS register Ido Schimmel
@ 2020-08-24 20:55 ` Jakub Kicinski
  2020-08-25  0:49 ` David Miller
  8 siblings, 0 replies; 13+ messages in thread
From: Jakub Kicinski @ 2020-08-24 20:55 UTC (permalink / raw)
  To: Ido Schimmel; +Cc: netdev, davem, jiri, mlxsw, Ido Schimmel

On Sun, 23 Aug 2020 11:06:21 +0300 Ido Schimmel wrote:
> From: Ido Schimmel <idosch@nvidia.com>
> 
> This patch set includes various updates for mlxsw.
> 
> Patches #1-#4 adjust the default burst size of packet trap policers to
> conform to Spectrum-{2,3} requirements. The corresponding selftest is
> also adjusted so that it could reliably pass on these platforms.
> 
> Patch #5 adjusts a selftest so that it could pass with both old and new
> versions of mausezahn.
> 
> Patch #6 significantly reduces the runtime of tc-police scale test by
> changing the preference and masks of the used tc filters.
> 
> Patch #7 prevents the driver from trying to set invalid ethtool link
> modes.

LGTM, so FWIW:

Reviewed-by: Jakub Kicinski <kuba@kernel.org>

5 and 7 could have gone to net IMHO. Especially 7 - do I misinterpret
that it exposes speeds which are not in fact supported? The commit
message is not very clear on impact, and how the quoted error is
triggered.

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

* Re: [PATCH net-next 0/7] mlxsw: Misc updates
  2020-08-23  8:06 [PATCH net-next 0/7] mlxsw: Misc updates Ido Schimmel
                   ` (7 preceding siblings ...)
  2020-08-24 20:55 ` [PATCH net-next 0/7] mlxsw: Misc updates Jakub Kicinski
@ 2020-08-25  0:49 ` David Miller
  8 siblings, 0 replies; 13+ messages in thread
From: David Miller @ 2020-08-25  0:49 UTC (permalink / raw)
  To: idosch; +Cc: netdev, kuba, jiri, mlxsw, idosch

From: Ido Schimmel <idosch@idosch.org>
Date: Sun, 23 Aug 2020 11:06:21 +0300

> From: Ido Schimmel <idosch@nvidia.com>
> 
> This patch set includes various updates for mlxsw.
> 
> Patches #1-#4 adjust the default burst size of packet trap policers to
> conform to Spectrum-{2,3} requirements. The corresponding selftest is
> also adjusted so that it could reliably pass on these platforms.
> 
> Patch #5 adjusts a selftest so that it could pass with both old and new
> versions of mausezahn.
> 
> Patch #6 significantly reduces the runtime of tc-police scale test by
> changing the preference and masks of the used tc filters.
> 
> Patch #7 prevents the driver from trying to set invalid ethtool link
> modes.

Applied, thanks Ido.

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

* [PATCH net-next 0/7] mlxsw: Misc updates
@ 2020-12-06  8:22 Ido Schimmel
  0 siblings, 0 replies; 13+ messages in thread
From: Ido Schimmel @ 2020-12-06  8:22 UTC (permalink / raw)
  To: netdev; +Cc: davem, kuba, jiri, petrm, mlxsw, Ido Schimmel

From: Ido Schimmel <idosch@nvidia.com>

This patch set contains various updates for mlxsw in various areas.

Patch #1 fixes a corner case in router interface (RIF) configuration.
Targeted at net-next since this is not a regression. Patch #2 adds a
test case.

Patch #3 enables tracing of EMAD events via 'devlink:devlink_hwmsg'
tracepoint, in addition to the existing request / response EMAD
messages. It enables a more complete logging of all the exchanged
hardware messages.

Patches #4-#5 suppress "WARNING use flexible-array member instead"
coccinelle warnings.

Patch #6 bumps the minimum firmware version enforced by the driver.

Patch #7 is a small refactoring in IPinIP code.

Ido Schimmel (5):
  mlxsw: spectrum: Apply RIF configuration when joining a LAG
  selftests: mlxsw: Test RIF's reference count when joining a LAG
  mlxsw: core: Trace EMAD events
  mlxsw: spectrum_mr: Use flexible-array member instead of zero-length
    array
  mlxsw: core_acl: Use an array instead of a struct with a zero-length
    array

Jiri Pirko (1):
  mlxsw: spectrum_router: Reduce mlxsw_sp_ipip_fib_entry_op_gre4()

Petr Machata (1):
  mlxsw: spectrum: Bump minimum FW version to xx.2008.2018

 drivers/net/ethernet/mellanox/mlxsw/core.c    |  7 +++
 .../mellanox/mlxsw/core_acl_flex_keys.c       | 26 +++++-----
 .../net/ethernet/mellanox/mlxsw/spectrum.c    | 23 +++++++--
 .../net/ethernet/mellanox/mlxsw/spectrum.h    |  4 ++
 .../ethernet/mellanox/mlxsw/spectrum_ipip.c   | 45 ++---------------
 .../ethernet/mellanox/mlxsw/spectrum_ipip.h   |  8 +--
 .../net/ethernet/mellanox/mlxsw/spectrum_mr.c |  2 +-
 .../ethernet/mellanox/mlxsw/spectrum_router.c | 49 +++++++++++++++----
 .../ethernet/mellanox/mlxsw/spectrum_router.h |  4 --
 .../selftests/drivers/net/mlxsw/rtnetlink.sh  | 43 ++++++++++++++++
 10 files changed, 129 insertions(+), 82 deletions(-)

-- 
2.28.0


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

* Re: [PATCH net-next 0/7] mlxsw: Misc updates
  2019-01-28 12:02 Ido Schimmel
@ 2019-01-28 18:43 ` David Miller
  0 siblings, 0 replies; 13+ messages in thread
From: David Miller @ 2019-01-28 18:43 UTC (permalink / raw)
  To: idosch; +Cc: netdev, jiri, mlxsw

From: Ido Schimmel <idosch@mellanox.com>
Date: Mon, 28 Jan 2019 12:02:06 +0000

> This patchset contains miscellaneous patches we gathered in our queue.
> Some of them are dependencies of larger patchsets that I will submit
> later this cycle.
> 
> Patches #1-#3 perform small non-functional changes in mlxsw.
> 
> Patch #4 adds more extended ack messages in mlxsw.
> 
> Patch #5 adds devlink parameters documentation for mlxsw. To be extended
> with more parameters this cycle.
> 
> Patches #6-#7 perform small changes in forwarding selftests
> infrastructure.

Series applied.

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

* [PATCH net-next 0/7] mlxsw: Misc updates
@ 2019-01-28 12:02 Ido Schimmel
  2019-01-28 18:43 ` David Miller
  0 siblings, 1 reply; 13+ messages in thread
From: Ido Schimmel @ 2019-01-28 12:02 UTC (permalink / raw)
  To: netdev; +Cc: davem, Jiri Pirko, mlxsw, Ido Schimmel

This patchset contains miscellaneous patches we gathered in our queue.
Some of them are dependencies of larger patchsets that I will submit
later this cycle.

Patches #1-#3 perform small non-functional changes in mlxsw.

Patch #4 adds more extended ack messages in mlxsw.

Patch #5 adds devlink parameters documentation for mlxsw. To be extended
with more parameters this cycle.

Patches #6-#7 perform small changes in forwarding selftests
infrastructure.

Ido Schimmel (2):
  mlxsw: spectrum_switchdev: Add more extack messages
  selftests: forwarding: Use OK instead of PASS in test output

Jiri Pirko (5):
  mlxsw: spectrum_acl: Remove unnecessary arg on action_replace call
    path
  mlxsw: spectrum_acl: Move mr_ruleset and mr_rule structs
  mlxsw: spectrum_acl: Fix rul/rule typo
  Documentation: add devlink param file for mlxsw driver
  selftests: net: forwarding: change devlink resource support checking

 .../networking/devlink-params-mlxsw.txt       |  2 ++
 .../net/ethernet/mellanox/mlxsw/spectrum.h    |  3 +-
 .../mellanox/mlxsw/spectrum1_acl_tcam.c       |  3 +-
 .../mellanox/mlxsw/spectrum2_acl_tcam.c       |  5 +---
 .../ethernet/mellanox/mlxsw/spectrum_acl.c    |  7 ++---
 .../mellanox/mlxsw/spectrum_acl_atcam.c       |  2 --
 .../mellanox/mlxsw/spectrum_acl_ctcam.c       |  1 -
 .../mellanox/mlxsw/spectrum_acl_tcam.c        | 29 +++++++++----------
 .../mellanox/mlxsw/spectrum_acl_tcam.h        |  5 +---
 .../mellanox/mlxsw/spectrum_switchdev.c       | 10 +++++--
 .../selftests/net/forwarding/devlink_lib.sh   |  2 +-
 tools/testing/selftests/net/forwarding/lib.sh |  2 +-
 12 files changed, 32 insertions(+), 39 deletions(-)
 create mode 100644 Documentation/networking/devlink-params-mlxsw.txt

-- 
2.20.1


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

end of thread, other threads:[~2020-12-06  8:24 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-23  8:06 [PATCH net-next 0/7] mlxsw: Misc updates Ido Schimmel
2020-08-23  8:06 ` [PATCH net-next 1/7] mlxsw: spectrum_trap: Adjust default policer burst size for Spectrum-{2, 3} Ido Schimmel
2020-08-23  8:06 ` [PATCH net-next 2/7] selftests: mlxsw: Decrease required rate accuracy Ido Schimmel
2020-08-23  8:06 ` [PATCH net-next 3/7] selftests: mlxsw: Increase burst size for rate test Ido Schimmel
2020-08-23  8:06 ` [PATCH net-next 4/7] selftests: mlxsw: Increase burst size for burst test Ido Schimmel
2020-08-23  8:06 ` [PATCH net-next 5/7] selftests: forwarding: Fix mausezahn delay parameter in mirror_test() Ido Schimmel
2020-08-23  8:06 ` [PATCH net-next 6/7] selftests: mlxsw: Reduce runtime of tc-police scale test Ido Schimmel
2020-08-23  8:06 ` [PATCH net-next 7/7] mlxsw: spectrum_ethtool: Remove internal speeds from PTYS register Ido Schimmel
2020-08-24 20:55 ` [PATCH net-next 0/7] mlxsw: Misc updates Jakub Kicinski
2020-08-25  0:49 ` David Miller
  -- strict thread matches above, loose matches on Subject: below --
2020-12-06  8:22 Ido Schimmel
2019-01-28 12:02 Ido Schimmel
2019-01-28 18:43 ` 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).