netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next 0/7] mlxsw: Misc updates
@ 2019-01-28 12:02 Ido Schimmel
  2019-01-28 12:02 ` [PATCH net-next 1/7] mlxsw: spectrum_acl: Remove unnecessary arg on action_replace call path Ido Schimmel
                   ` (7 more replies)
  0 siblings, 8 replies; 13+ messages in thread
From: Ido Schimmel @ 2019-01-28 12:02 UTC (permalink / raw)
  To: netdev@vger.kernel.org
  Cc: davem@davemloft.net, 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

* [PATCH net-next 1/7] mlxsw: spectrum_acl: Remove unnecessary arg on action_replace call path
  2019-01-28 12:02 [PATCH net-next 0/7] mlxsw: Misc updates Ido Schimmel
@ 2019-01-28 12:02 ` Ido Schimmel
  2019-01-28 12:02 ` [PATCH net-next 2/7] mlxsw: spectrum_acl: Move mr_ruleset and mr_rule structs Ido Schimmel
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 13+ messages in thread
From: Ido Schimmel @ 2019-01-28 12:02 UTC (permalink / raw)
  To: netdev@vger.kernel.org
  Cc: davem@davemloft.net, Jiri Pirko, mlxsw, Ido Schimmel

From: Jiri Pirko <jiri@mellanox.com>

No need to pass ruleset/group and chunk pointers on action_replace call
path, nobody uses them.

Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
---
 drivers/net/ethernet/mellanox/mlxsw/spectrum.h        |  3 +--
 .../net/ethernet/mellanox/mlxsw/spectrum1_acl_tcam.c  |  3 +--
 .../net/ethernet/mellanox/mlxsw/spectrum2_acl_tcam.c  |  5 +----
 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c    |  3 +--
 .../net/ethernet/mellanox/mlxsw/spectrum_acl_atcam.c  |  2 --
 .../net/ethernet/mellanox/mlxsw/spectrum_acl_ctcam.c  |  1 -
 .../net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c   | 11 ++++-------
 .../net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.h   |  5 +----
 8 files changed, 9 insertions(+), 24 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum.h b/drivers/net/ethernet/mellanox/mlxsw/spectrum.h
index 9384b108c8c2..4fe0996c7cdd 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/spectrum.h
+++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum.h
@@ -721,8 +721,7 @@ struct mlxsw_sp_acl_tcam_ops {
 			  void *region_priv, void *chunk_priv,
 			  void *entry_priv);
 	int (*entry_action_replace)(struct mlxsw_sp *mlxsw_sp,
-				    void *region_priv, void *chunk_priv,
-				    void *entry_priv,
+				    void *region_priv, void *entry_priv,
 				    struct mlxsw_sp_acl_rule_info *rulei);
 	int (*entry_activity_get)(struct mlxsw_sp *mlxsw_sp,
 				  void *region_priv, void *entry_priv,
diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum1_acl_tcam.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum1_acl_tcam.c
index fe270c1a26a6..6e444525713f 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/spectrum1_acl_tcam.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum1_acl_tcam.c
@@ -194,8 +194,7 @@ static void mlxsw_sp1_acl_tcam_entry_del(struct mlxsw_sp *mlxsw_sp,
 
 static int
 mlxsw_sp1_acl_tcam_entry_action_replace(struct mlxsw_sp *mlxsw_sp,
-					void *region_priv, void *chunk_priv,
-					void *entry_priv,
+					void *region_priv, void *entry_priv,
 					struct mlxsw_sp_acl_rule_info *rulei)
 {
 	return -EOPNOTSUPP;
diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum2_acl_tcam.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum2_acl_tcam.c
index 234ab51916db..d380b3403960 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/spectrum2_acl_tcam.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum2_acl_tcam.c
@@ -212,18 +212,15 @@ static void mlxsw_sp2_acl_tcam_entry_del(struct mlxsw_sp *mlxsw_sp,
 
 static int
 mlxsw_sp2_acl_tcam_entry_action_replace(struct mlxsw_sp *mlxsw_sp,
-					void *region_priv, void *chunk_priv,
-					void *entry_priv,
+					void *region_priv, void *entry_priv,
 					struct mlxsw_sp_acl_rule_info *rulei)
 {
 	struct mlxsw_sp2_acl_tcam_region *region = region_priv;
-	struct mlxsw_sp2_acl_tcam_chunk *chunk = chunk_priv;
 	struct mlxsw_sp2_acl_tcam_entry *entry = entry_priv;
 
 	entry->act_block = rulei->act_block;
 	return mlxsw_sp_acl_atcam_entry_action_replace(mlxsw_sp,
 						       &region->aregion,
-						       &chunk->achunk,
 						       &entry->aentry, rulei);
 }
 
diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c
index 695d33358988..bd40ed065f3e 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c
@@ -742,8 +742,7 @@ int mlxsw_sp_acl_rule_action_replace(struct mlxsw_sp *mlxsw_sp,
 	rulei = mlxsw_sp_acl_rule_rulei(rule);
 	rulei->act_block = afa_block;
 
-	return ops->rule_action_replace(mlxsw_sp, ruleset->priv, rule->priv,
-					rule->rulei);
+	return ops->rule_action_replace(mlxsw_sp, rule->priv, rule->rulei);
 }
 
 struct mlxsw_sp_acl_rule *
diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_atcam.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_atcam.c
index 80fb268d51a5..40dc76a5c412 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_atcam.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_atcam.c
@@ -603,7 +603,6 @@ void mlxsw_sp_acl_atcam_entry_del(struct mlxsw_sp *mlxsw_sp,
 int
 mlxsw_sp_acl_atcam_entry_action_replace(struct mlxsw_sp *mlxsw_sp,
 					struct mlxsw_sp_acl_atcam_region *aregion,
-					struct mlxsw_sp_acl_atcam_chunk *achunk,
 					struct mlxsw_sp_acl_atcam_entry *aentry,
 					struct mlxsw_sp_acl_rule_info *rulei)
 {
@@ -612,7 +611,6 @@ mlxsw_sp_acl_atcam_entry_action_replace(struct mlxsw_sp *mlxsw_sp,
 	if (mlxsw_sp_acl_atcam_is_centry(aentry))
 		err = mlxsw_sp_acl_ctcam_entry_action_replace(mlxsw_sp,
 							      &aregion->cregion,
-							      &achunk->cchunk,
 							      &aentry->centry,
 							      rulei);
 	else
diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_ctcam.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_ctcam.c
index ac222833a5cf..05680a7e6c56 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_ctcam.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_ctcam.c
@@ -223,7 +223,6 @@ void mlxsw_sp_acl_ctcam_entry_del(struct mlxsw_sp *mlxsw_sp,
 
 int mlxsw_sp_acl_ctcam_entry_action_replace(struct mlxsw_sp *mlxsw_sp,
 					    struct mlxsw_sp_acl_ctcam_region *cregion,
-					    struct mlxsw_sp_acl_ctcam_chunk *cchunk,
 					    struct mlxsw_sp_acl_ctcam_entry *centry,
 					    struct mlxsw_sp_acl_rule_info *rulei)
 {
diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c
index fe230acf92a9..5d29c5050401 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c
@@ -781,7 +781,6 @@ static void mlxsw_sp_acl_tcam_entry_del(struct mlxsw_sp *mlxsw_sp,
 
 static int
 mlxsw_sp_acl_tcam_entry_action_replace(struct mlxsw_sp *mlxsw_sp,
-				       struct mlxsw_sp_acl_tcam_group *group,
 				       struct mlxsw_sp_acl_tcam_entry *entry,
 				       struct mlxsw_sp_acl_rule_info *rulei)
 {
@@ -789,7 +788,7 @@ mlxsw_sp_acl_tcam_entry_action_replace(struct mlxsw_sp *mlxsw_sp,
 	struct mlxsw_sp_acl_tcam_chunk *chunk = entry->chunk;
 	struct mlxsw_sp_acl_tcam_region *region = chunk->region;
 
-	return ops->entry_action_replace(mlxsw_sp, region->priv, chunk->priv,
+	return ops->entry_action_replace(mlxsw_sp, region->priv,
 					 entry->priv, rulei);
 }
 
@@ -955,7 +954,6 @@ mlxsw_sp_acl_tcam_flower_rule_del(struct mlxsw_sp *mlxsw_sp, void *rule_priv)
 
 static int
 mlxsw_sp_acl_tcam_flower_rule_action_replace(struct mlxsw_sp *mlxsw_sp,
-					     void *ruleset_priv,
 					     void *rule_priv,
 					     struct mlxsw_sp_acl_rule_info *rulei)
 {
@@ -1084,14 +1082,13 @@ mlxsw_sp_acl_tcam_mr_rule_del(struct mlxsw_sp *mlxsw_sp, void *rule_priv)
 
 static int
 mlxsw_sp_acl_tcam_mr_rule_action_replace(struct mlxsw_sp *mlxsw_sp,
-					 void *ruleset_priv, void *rule_priv,
+					 void *rule_priv,
 					 struct mlxsw_sp_acl_rule_info *rulei)
 {
-	struct mlxsw_sp_acl_tcam_mr_ruleset *ruleset = ruleset_priv;
 	struct mlxsw_sp_acl_tcam_mr_rule *rule = rule_priv;
 
-	return mlxsw_sp_acl_tcam_entry_action_replace(mlxsw_sp, &ruleset->group,
-						      &rule->entry, rulei);
+	return mlxsw_sp_acl_tcam_entry_action_replace(mlxsw_sp, &rule->entry,
+						      rulei);
 }
 
 static int
diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.h b/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.h
index 0f1a9dee63de..10512b7c6d50 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.h
+++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.h
@@ -48,8 +48,7 @@ struct mlxsw_sp_acl_profile_ops {
 			void *ruleset_priv, void *rule_priv,
 			struct mlxsw_sp_acl_rule_info *rulei);
 	void (*rule_del)(struct mlxsw_sp *mlxsw_sp, void *rule_priv);
-	int (*rule_action_replace)(struct mlxsw_sp *mlxsw_sp,
-				   void *ruleset_priv, void *rule_priv,
+	int (*rule_action_replace)(struct mlxsw_sp *mlxsw_sp, void *rule_priv,
 				   struct mlxsw_sp_acl_rule_info *rulei);
 	int (*rule_activity_get)(struct mlxsw_sp *mlxsw_sp, void *rule_priv,
 				 bool *activity);
@@ -126,7 +125,6 @@ void mlxsw_sp_acl_ctcam_entry_del(struct mlxsw_sp *mlxsw_sp,
 				  struct mlxsw_sp_acl_ctcam_entry *centry);
 int mlxsw_sp_acl_ctcam_entry_action_replace(struct mlxsw_sp *mlxsw_sp,
 					    struct mlxsw_sp_acl_ctcam_region *cregion,
-					    struct mlxsw_sp_acl_ctcam_chunk *cchunk,
 					    struct mlxsw_sp_acl_ctcam_entry *centry,
 					    struct mlxsw_sp_acl_rule_info *rulei);
 static inline unsigned int
@@ -224,7 +222,6 @@ void mlxsw_sp_acl_atcam_entry_del(struct mlxsw_sp *mlxsw_sp,
 				  struct mlxsw_sp_acl_atcam_entry *aentry);
 int mlxsw_sp_acl_atcam_entry_action_replace(struct mlxsw_sp *mlxsw_sp,
 					    struct mlxsw_sp_acl_atcam_region *aregion,
-					    struct mlxsw_sp_acl_atcam_chunk *achunk,
 					    struct mlxsw_sp_acl_atcam_entry *aentry,
 					    struct mlxsw_sp_acl_rule_info *rulei);
 int mlxsw_sp_acl_atcam_init(struct mlxsw_sp *mlxsw_sp,
-- 
2.20.1


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

* [PATCH net-next 2/7] mlxsw: spectrum_acl: Move mr_ruleset and mr_rule structs
  2019-01-28 12:02 [PATCH net-next 0/7] mlxsw: Misc updates Ido Schimmel
  2019-01-28 12:02 ` [PATCH net-next 1/7] mlxsw: spectrum_acl: Remove unnecessary arg on action_replace call path Ido Schimmel
@ 2019-01-28 12:02 ` Ido Schimmel
  2019-01-28 12:02 ` [PATCH net-next 3/7] mlxsw: spectrum_acl: Fix rul/rule typo Ido Schimmel
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 13+ messages in thread
From: Ido Schimmel @ 2019-01-28 12:02 UTC (permalink / raw)
  To: netdev@vger.kernel.org
  Cc: davem@davemloft.net, Jiri Pirko, mlxsw, Ido Schimmel

From: Jiri Pirko <jiri@mellanox.com>

Move the struct to the place where they belong, alongside with the rest
of the MR code.

Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
---
 .../mellanox/mlxsw/spectrum_acl_tcam.c         | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c
index 5d29c5050401..11456e1f236f 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c
@@ -862,15 +862,6 @@ struct mlxsw_sp_acl_tcam_flower_rule {
 	struct mlxsw_sp_acl_tcam_entry entry;
 };
 
-struct mlxsw_sp_acl_tcam_mr_ruleset {
-	struct mlxsw_sp_acl_tcam_chunk *chunk;
-	struct mlxsw_sp_acl_tcam_group group;
-};
-
-struct mlxsw_sp_acl_tcam_mr_rule {
-	struct mlxsw_sp_acl_tcam_entry entry;
-};
-
 static int
 mlxsw_sp_acl_tcam_flower_ruleset_add(struct mlxsw_sp *mlxsw_sp,
 				     struct mlxsw_sp_acl_tcam *tcam,
@@ -984,6 +975,15 @@ static const struct mlxsw_sp_acl_profile_ops mlxsw_sp_acl_tcam_flower_ops = {
 	.rule_activity_get	= mlxsw_sp_acl_tcam_flower_rule_activity_get,
 };
 
+struct mlxsw_sp_acl_tcam_mr_ruleset {
+	struct mlxsw_sp_acl_tcam_chunk *chunk;
+	struct mlxsw_sp_acl_tcam_group group;
+};
+
+struct mlxsw_sp_acl_tcam_mr_rule {
+	struct mlxsw_sp_acl_tcam_entry entry;
+};
+
 static int
 mlxsw_sp_acl_tcam_mr_ruleset_add(struct mlxsw_sp *mlxsw_sp,
 				 struct mlxsw_sp_acl_tcam *tcam,
-- 
2.20.1


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

* [PATCH net-next 3/7] mlxsw: spectrum_acl: Fix rul/rule typo
  2019-01-28 12:02 [PATCH net-next 0/7] mlxsw: Misc updates Ido Schimmel
  2019-01-28 12:02 ` [PATCH net-next 1/7] mlxsw: spectrum_acl: Remove unnecessary arg on action_replace call path Ido Schimmel
  2019-01-28 12:02 ` [PATCH net-next 2/7] mlxsw: spectrum_acl: Move mr_ruleset and mr_rule structs Ido Schimmel
@ 2019-01-28 12:02 ` Ido Schimmel
  2019-01-28 12:02 ` [PATCH net-next 4/7] mlxsw: spectrum_switchdev: Add more extack messages Ido Schimmel
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 13+ messages in thread
From: Ido Schimmel @ 2019-01-28 12:02 UTC (permalink / raw)
  To: netdev@vger.kernel.org
  Cc: davem@davemloft.net, Jiri Pirko, mlxsw, Ido Schimmel

From: Jiri Pirko <jiri@mellanox.com>

Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
---
 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c
index bd40ed065f3e..a69e3462b65e 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c
@@ -805,7 +805,7 @@ static void mlxsw_sp_acl_rule_activity_work_schedule(struct mlxsw_sp_acl *acl)
 			       msecs_to_jiffies(interval));
 }
 
-static void mlxsw_sp_acl_rul_activity_update_work(struct work_struct *work)
+static void mlxsw_sp_acl_rule_activity_update_work(struct work_struct *work)
 {
 	struct mlxsw_sp_acl *acl = container_of(work, struct mlxsw_sp_acl,
 						rule_activity_update.dw.work);
@@ -884,7 +884,7 @@ int mlxsw_sp_acl_init(struct mlxsw_sp *mlxsw_sp)
 
 	/* Create the delayed work for the rule activity_update */
 	INIT_DELAYED_WORK(&acl->rule_activity_update.dw,
-			  mlxsw_sp_acl_rul_activity_update_work);
+			  mlxsw_sp_acl_rule_activity_update_work);
 	acl->rule_activity_update.interval = MLXSW_SP_ACL_RULE_ACTIVITY_UPDATE_PERIOD_MS;
 	mlxsw_core_schedule_dw(&acl->rule_activity_update.dw, 0);
 	return 0;
-- 
2.20.1


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

* [PATCH net-next 4/7] mlxsw: spectrum_switchdev: Add more extack messages
  2019-01-28 12:02 [PATCH net-next 0/7] mlxsw: Misc updates Ido Schimmel
                   ` (2 preceding siblings ...)
  2019-01-28 12:02 ` [PATCH net-next 3/7] mlxsw: spectrum_acl: Fix rul/rule typo Ido Schimmel
@ 2019-01-28 12:02 ` Ido Schimmel
  2019-01-28 12:02 ` [PATCH net-next 5/7] Documentation: add devlink param file for mlxsw driver Ido Schimmel
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 13+ messages in thread
From: Ido Schimmel @ 2019-01-28 12:02 UTC (permalink / raw)
  To: netdev@vger.kernel.org
  Cc: davem@davemloft.net, Jiri Pirko, mlxsw, Ido Schimmel, David Ahern

Add more extack messages that let the user know why VXLAN offload
failed.

Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Suggested-by: David Ahern <dsahern@gmail.com>
Cc: David Ahern <dsahern@gmail.com>
---
 .../net/ethernet/mellanox/mlxsw/spectrum_switchdev.c   | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
index 0f4e68d31cc3..a4a9fe992193 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
@@ -2027,6 +2027,7 @@ mlxsw_sp_bridge_8021q_vxlan_join(struct mlxsw_sp_bridge_device *bridge_device,
 		return 0;
 
 	if (mlxsw_sp_fid_vni_is_set(fid)) {
+		NL_SET_ERR_MSG_MOD(extack, "VNI is already set on FID");
 		err = -EINVAL;
 		goto err_vni_exists;
 	}
@@ -2213,10 +2214,13 @@ mlxsw_sp_bridge_8021d_vxlan_join(struct mlxsw_sp_bridge_device *bridge_device,
 	int err;
 
 	fid = mlxsw_sp_fid_8021d_lookup(mlxsw_sp, bridge_device->dev->ifindex);
-	if (!fid)
+	if (!fid) {
+		NL_SET_ERR_MSG_MOD(extack, "Did not find a corresponding FID");
 		return -EINVAL;
+	}
 
 	if (mlxsw_sp_fid_vni_is_set(fid)) {
+		NL_SET_ERR_MSG_MOD(extack, "VNI is already set on FID");
 		err = -EINVAL;
 		goto err_vni_exists;
 	}
@@ -3231,8 +3235,10 @@ mlxsw_sp_switchdev_vxlan_vlan_add(struct mlxsw_sp *mlxsw_sp,
 	 * the lookup function to return 'vxlan_dev'
 	 */
 	if (flag_untagged && flag_pvid &&
-	    mlxsw_sp_bridge_8021q_vxlan_dev_find(bridge_device->dev, vid))
+	    mlxsw_sp_bridge_8021q_vxlan_dev_find(bridge_device->dev, vid)) {
+		NL_SET_ERR_MSG_MOD(extack, "VLAN already mapped to a different VNI");
 		return -EINVAL;
+	}
 
 	if (!netif_running(vxlan_dev))
 		return 0;
-- 
2.20.1


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

* [PATCH net-next 5/7] Documentation: add devlink param file for mlxsw driver
  2019-01-28 12:02 [PATCH net-next 0/7] mlxsw: Misc updates Ido Schimmel
                   ` (3 preceding siblings ...)
  2019-01-28 12:02 ` [PATCH net-next 4/7] mlxsw: spectrum_switchdev: Add more extack messages Ido Schimmel
@ 2019-01-28 12:02 ` Ido Schimmel
  2019-01-28 12:02 ` [PATCH net-next 6/7] selftests: net: forwarding: change devlink resource support checking Ido Schimmel
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 13+ messages in thread
From: Ido Schimmel @ 2019-01-28 12:02 UTC (permalink / raw)
  To: netdev@vger.kernel.org
  Cc: davem@davemloft.net, Jiri Pirko, mlxsw, Ido Schimmel

From: Jiri Pirko <jiri@mellanox.com>

Add initial documentation file for devlink params of mlxsw driver. Only
"fw_load_policy" is now supported.

Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
---
 Documentation/networking/devlink-params-mlxsw.txt | 2 ++
 1 file changed, 2 insertions(+)
 create mode 100644 Documentation/networking/devlink-params-mlxsw.txt

diff --git a/Documentation/networking/devlink-params-mlxsw.txt b/Documentation/networking/devlink-params-mlxsw.txt
new file mode 100644
index 000000000000..2c5c67a920c9
--- /dev/null
+++ b/Documentation/networking/devlink-params-mlxsw.txt
@@ -0,0 +1,2 @@
+fw_load_policy		[DEVICE, GENERIC]
+			Configuration mode: driverinit
-- 
2.20.1


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

* [PATCH net-next 6/7] selftests: net: forwarding: change devlink resource support checking
  2019-01-28 12:02 [PATCH net-next 0/7] mlxsw: Misc updates Ido Schimmel
                   ` (4 preceding siblings ...)
  2019-01-28 12:02 ` [PATCH net-next 5/7] Documentation: add devlink param file for mlxsw driver Ido Schimmel
@ 2019-01-28 12:02 ` Ido Schimmel
  2019-01-28 12:02 ` [PATCH net-next 7/7] selftests: forwarding: Use OK instead of PASS in test output Ido Schimmel
  2019-01-28 18:43 ` [PATCH net-next 0/7] mlxsw: Misc updates David Miller
  7 siblings, 0 replies; 13+ messages in thread
From: Ido Schimmel @ 2019-01-28 12:02 UTC (permalink / raw)
  To: netdev@vger.kernel.org
  Cc: davem@davemloft.net, Jiri Pirko, mlxsw, Ido Schimmel

From: Jiri Pirko <jiri@mellanox.com>

As for the others, check help message output to find out if devlink
supports "resource" object.

Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
---
 tools/testing/selftests/net/forwarding/devlink_lib.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/testing/selftests/net/forwarding/devlink_lib.sh b/tools/testing/selftests/net/forwarding/devlink_lib.sh
index 5ab1e5f43022..57cf8914910d 100644
--- a/tools/testing/selftests/net/forwarding/devlink_lib.sh
+++ b/tools/testing/selftests/net/forwarding/devlink_lib.sh
@@ -32,7 +32,7 @@ DEVLINK_VIDDID=$(lspci -s $(echo $DEVLINK_DEV | cut -d"/" -f2) \
 ##############################################################################
 # Sanity checks
 
-devlink -j resource show "$DEVLINK_DEV" &> /dev/null
+devlink help 2>&1 | grep resource &> /dev/null
 if [ $? -ne 0 ]; then
 	echo "SKIP: iproute2 too old, missing devlink resource support"
 	exit 1
-- 
2.20.1


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

* [PATCH net-next 7/7] selftests: forwarding: Use OK instead of PASS in test output
  2019-01-28 12:02 [PATCH net-next 0/7] mlxsw: Misc updates Ido Schimmel
                   ` (5 preceding siblings ...)
  2019-01-28 12:02 ` [PATCH net-next 6/7] selftests: net: forwarding: change devlink resource support checking Ido Schimmel
@ 2019-01-28 12:02 ` Ido Schimmel
  2019-01-28 18:43 ` [PATCH net-next 0/7] mlxsw: Misc updates David Miller
  7 siblings, 0 replies; 13+ messages in thread
From: Ido Schimmel @ 2019-01-28 12:02 UTC (permalink / raw)
  To: netdev@vger.kernel.org
  Cc: davem@davemloft.net, Jiri Pirko, mlxsw, Ido Schimmel, David Ahern

It is easier to distinguish "[ OK ]" from "[FAIL]" than "[PASS]".

Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Suggested-by: David Ahern <dsahern@gmail.com>
Cc: David Ahern <dsahern@gmail.com>
---
 tools/testing/selftests/net/forwarding/lib.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/testing/selftests/net/forwarding/lib.sh b/tools/testing/selftests/net/forwarding/lib.sh
index 3f248d1f5b91..c1f16bb992dc 100644
--- a/tools/testing/selftests/net/forwarding/lib.sh
+++ b/tools/testing/selftests/net/forwarding/lib.sh
@@ -211,7 +211,7 @@ log_test()
 		return 1
 	fi
 
-	printf "TEST: %-60s  [PASS]\n" "$test_name $opt_str"
+	printf "TEST: %-60s  [ OK ]\n" "$test_name $opt_str"
 	return 0
 }
 
-- 
2.20.1


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

* Re: [PATCH net-next 0/7] mlxsw: Misc updates
  2019-01-28 12:02 [PATCH net-next 0/7] mlxsw: Misc updates Ido Schimmel
                   ` (6 preceding siblings ...)
  2019-01-28 12:02 ` [PATCH net-next 7/7] selftests: forwarding: Use OK instead of PASS in test output Ido Schimmel
@ 2019-01-28 18:43 ` David Miller
  7 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
@ 2020-08-23  8:06 Ido Schimmel
  2020-08-24 20:55 ` Jakub Kicinski
  2020-08-25  0:49 ` David Miller
  0 siblings, 2 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

* Re: [PATCH net-next 0/7] mlxsw: Misc updates
  2020-08-23  8:06 Ido Schimmel
@ 2020-08-24 20:55 ` Jakub Kicinski
  2020-08-25  0:49 ` David Miller
  1 sibling, 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 Ido Schimmel
  2020-08-24 20:55 ` Jakub Kicinski
@ 2020-08-25  0:49 ` David Miller
  1 sibling, 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

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 --
2019-01-28 12:02 [PATCH net-next 0/7] mlxsw: Misc updates Ido Schimmel
2019-01-28 12:02 ` [PATCH net-next 1/7] mlxsw: spectrum_acl: Remove unnecessary arg on action_replace call path Ido Schimmel
2019-01-28 12:02 ` [PATCH net-next 2/7] mlxsw: spectrum_acl: Move mr_ruleset and mr_rule structs Ido Schimmel
2019-01-28 12:02 ` [PATCH net-next 3/7] mlxsw: spectrum_acl: Fix rul/rule typo Ido Schimmel
2019-01-28 12:02 ` [PATCH net-next 4/7] mlxsw: spectrum_switchdev: Add more extack messages Ido Schimmel
2019-01-28 12:02 ` [PATCH net-next 5/7] Documentation: add devlink param file for mlxsw driver Ido Schimmel
2019-01-28 12:02 ` [PATCH net-next 6/7] selftests: net: forwarding: change devlink resource support checking Ido Schimmel
2019-01-28 12:02 ` [PATCH net-next 7/7] selftests: forwarding: Use OK instead of PASS in test output Ido Schimmel
2019-01-28 18:43 ` [PATCH net-next 0/7] mlxsw: Misc updates David Miller
  -- strict thread matches above, loose matches on Subject: below --
2020-08-23  8:06 Ido Schimmel
2020-08-24 20:55 ` Jakub Kicinski
2020-08-25  0:49 ` David Miller
2020-12-06  8:22 Ido Schimmel

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).