From: Jiri Pirko <jiri@resnulli•us>
To: netdev@vger•kernel.org
Cc: davem@davemloft•net, arkadis@mellanox•com, mlxsw@mellanox•com,
andrew@lunn•ch, vivien.didelot@savoirfairelinux•com,
f.fainelli@gmail•com, michael.chan@broadcom•com,
ganeshgr@chelsio•com, saeedm@mellanox•com, matanb@mellanox•com,
leonro@mellanox•com, idosch@mellanox•com,
jakub.kicinski@netronome•com, ast@kernel•org,
daniel@iogearbox•net, simon.horman@netronome•com,
pieter.jansenvanvuuren@netronome•com, john.hurley@netronome•com,
alexander.h.duyck@intel•com, linville@tuxdriver•com,
gospo@broadcom•com, steven.lin1@broadcom•com,
yuvalm@mellanox•com, ogerlitz@mellanox•com,
dsa@cumulusnetworks•com, roopa@cumulusnetworks•com
Subject: [patch net-next v2 07/10] mlxsw: spectrum_dpipe: Connect dpipe tables to resources
Date: Tue, 26 Dec 2017 12:23:56 +0100 [thread overview]
Message-ID: <20171226112359.5313-8-jiri@resnulli.us> (raw)
In-Reply-To: <20171226112359.5313-1-jiri@resnulli.us>
From: Arkadi Sharshevsky <arkadis@mellanox•com>
Connect current dpipe tables to resources. The tables are connected
in the following fashion:
1. IPv4 host - KVD hash single
2. IPv6 host - KVD hash double
3. Adjacency - KVD linear
Signed-off-by: Arkadi Sharshevsky <arkadis@mellanox•com>
Signed-off-by: Jiri Pirko <jiri@mellanox•com>
---
.../net/ethernet/mellanox/mlxsw/spectrum_dpipe.c | 72 ++++++++++++++++++----
1 file changed, 60 insertions(+), 12 deletions(-)
diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_dpipe.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_dpipe.c
index 96fdba7..282fe82 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_dpipe.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_dpipe.c
@@ -774,11 +774,27 @@ static struct devlink_dpipe_table_ops mlxsw_sp_host4_ops = {
static int mlxsw_sp_dpipe_host4_table_init(struct mlxsw_sp *mlxsw_sp)
{
struct devlink *devlink = priv_to_devlink(mlxsw_sp->core);
+ int err;
- return devlink_dpipe_table_register(devlink,
- MLXSW_SP_DPIPE_TABLE_NAME_HOST4,
- &mlxsw_sp_host4_ops,
- mlxsw_sp, false);
+ err = devlink_dpipe_table_register(devlink,
+ MLXSW_SP_DPIPE_TABLE_NAME_HOST4,
+ &mlxsw_sp_host4_ops,
+ mlxsw_sp, false);
+ if (err)
+ return err;
+
+ err = devlink_dpipe_table_resource_set(devlink,
+ MLXSW_SP_DPIPE_TABLE_NAME_HOST4,
+ MLXSW_SP_RESOURCE_KVD_HASH_SINGLE);
+ if (err)
+ goto err_resource_set;
+
+ return 0;
+
+err_resource_set:
+ devlink_dpipe_table_unregister(devlink,
+ MLXSW_SP_DPIPE_TABLE_NAME_HOST4);
+ return err;
}
static void mlxsw_sp_dpipe_host4_table_fini(struct mlxsw_sp *mlxsw_sp)
@@ -832,11 +848,27 @@ static struct devlink_dpipe_table_ops mlxsw_sp_host6_ops = {
static int mlxsw_sp_dpipe_host6_table_init(struct mlxsw_sp *mlxsw_sp)
{
struct devlink *devlink = priv_to_devlink(mlxsw_sp->core);
+ int err;
- return devlink_dpipe_table_register(devlink,
- MLXSW_SP_DPIPE_TABLE_NAME_HOST6,
- &mlxsw_sp_host6_ops,
- mlxsw_sp, false);
+ err = devlink_dpipe_table_register(devlink,
+ MLXSW_SP_DPIPE_TABLE_NAME_HOST6,
+ &mlxsw_sp_host6_ops,
+ mlxsw_sp, false);
+ if (err)
+ return err;
+
+ err = devlink_dpipe_table_resource_set(devlink,
+ MLXSW_SP_DPIPE_TABLE_NAME_HOST6,
+ MLXSW_SP_RESOURCE_KVD_HASH_DOUBLE);
+ if (err)
+ goto err_resource_set;
+
+ return 0;
+
+err_resource_set:
+ devlink_dpipe_table_unregister(devlink,
+ MLXSW_SP_DPIPE_TABLE_NAME_HOST6);
+ return err;
}
static void mlxsw_sp_dpipe_host6_table_fini(struct mlxsw_sp *mlxsw_sp)
@@ -1216,11 +1248,27 @@ static struct devlink_dpipe_table_ops mlxsw_sp_dpipe_table_adj_ops = {
static int mlxsw_sp_dpipe_adj_table_init(struct mlxsw_sp *mlxsw_sp)
{
struct devlink *devlink = priv_to_devlink(mlxsw_sp->core);
+ int err;
- return devlink_dpipe_table_register(devlink,
- MLXSW_SP_DPIPE_TABLE_NAME_ADJ,
- &mlxsw_sp_dpipe_table_adj_ops,
- mlxsw_sp, false);
+ err = devlink_dpipe_table_register(devlink,
+ MLXSW_SP_DPIPE_TABLE_NAME_ADJ,
+ &mlxsw_sp_dpipe_table_adj_ops,
+ mlxsw_sp, false);
+ if (err)
+ return err;
+
+ err = devlink_dpipe_table_resource_set(devlink,
+ MLXSW_SP_DPIPE_TABLE_NAME_ADJ,
+ MLXSW_SP_RESOURCE_KVD_LINEAR);
+ if (err)
+ goto err_resource_set;
+
+ return 0;
+
+err_resource_set:
+ devlink_dpipe_table_unregister(devlink,
+ MLXSW_SP_DPIPE_TABLE_NAME_ADJ);
+ return err;
}
static void mlxsw_sp_dpipe_adj_table_fini(struct mlxsw_sp *mlxsw_sp)
--
2.9.5
next prev parent reply other threads:[~2017-12-26 11:24 UTC|newest]
Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-26 11:23 [patch net-next v2 00/10] Add support for resource abstraction Jiri Pirko
2017-12-26 11:23 ` [patch net-next v2 01/10] devlink: Add per devlink instance lock Jiri Pirko
2017-12-26 11:23 ` [patch net-next v2 02/10] devlink: Add support for resource abstraction Jiri Pirko
2017-12-26 11:23 ` [patch net-next v2 03/10] devlink: Add support for reload Jiri Pirko
2017-12-26 11:23 ` [patch net-next v2 04/10] devlink: Add relation between dpipe and resource Jiri Pirko
2017-12-26 11:23 ` [patch net-next v2 05/10] mlxsw: pci: Add support for performing bus reset Jiri Pirko
2017-12-26 11:23 ` [patch net-next v2 06/10] mlxsw: spectrum: Register KVD resources with devlink Jiri Pirko
2017-12-26 11:23 ` Jiri Pirko [this message]
2017-12-26 11:23 ` [patch net-next v2 08/10] mlxsw: spectrum: Add support for getting kvdl occupancy Jiri Pirko
2017-12-26 11:23 ` [patch net-next v2 09/10] mlxsw: pci: Add support for getting resource through devlink Jiri Pirko
2017-12-26 11:23 ` [patch net-next v2 10/10] mlxsw: core: Add support for reload Jiri Pirko
2017-12-27 4:05 ` [patch net-next v2 00/10] Add support for resource abstraction David Ahern
2017-12-27 8:09 ` Jiri Pirko
2017-12-27 8:23 ` Andrew Lunn
2017-12-27 9:37 ` Jiri Pirko
2017-12-27 13:08 ` Andrew Lunn
2017-12-27 13:15 ` Jiri Pirko
2017-12-27 16:38 ` David Ahern
2017-12-27 19:31 ` Andrew Lunn
2017-12-27 20:16 ` David Ahern
2017-12-27 8:28 ` Yuval Mintz
2017-12-27 16:34 ` David Ahern
2017-12-27 19:43 ` Roopa Prabhu
2017-12-28 8:21 ` Yuval Mintz
2017-12-30 21:15 ` David Ahern
2017-12-31 10:52 ` Arkadi Sharshevsky
2017-12-31 15:46 ` David Ahern
2018-01-01 12:23 ` Arkadi Sharshevsky
2017-12-27 20:15 ` Arkadi Sharshevsky
2017-12-28 8:25 ` Yuval Mintz
2017-12-28 16:09 ` David Ahern
2017-12-28 16:23 ` Jiri Pirko
2017-12-28 16:33 ` David Ahern
2017-12-28 16:43 ` Jiri Pirko
2017-12-29 17:09 ` Arkadi Sharshevsky
2017-12-30 10:18 ` Andrew Lunn
2017-12-30 10:25 ` Jiri Pirko
2017-12-30 17:26 ` Andrew Lunn
2018-01-01 14:58 ` Arkadi Sharshevsky
2018-01-02 10:08 ` Jiri Pirko
2018-01-02 13:41 ` Andrew Lunn
2018-01-02 14:35 ` Jiri Pirko
2018-01-02 18:05 ` David Ahern
2018-01-03 18:05 ` Arkadi Sharshevsky
2018-01-03 18:14 ` David Ahern
2018-01-03 18:17 ` Jiri Pirko
2018-01-03 18:29 ` David Ahern
2018-01-03 18:36 ` Jiri Pirko
2018-01-04 16:58 ` David Ahern
2018-01-04 17:17 ` David Miller
2018-01-25 15:24 ` Jiri Pirko
2018-01-25 15:38 ` David Ahern
2018-01-25 15:50 ` Jiri Pirko
2018-01-04 0:07 ` Arkadi Sharshevsky
2018-01-04 2:28 ` David Ahern
2018-01-04 9:24 ` Arkadi Sharshevsky
2018-01-04 12:41 ` Andrew Lunn
2018-01-04 15:58 ` David Ahern
2018-01-04 16:13 ` Arkadi Sharshevsky
2018-01-04 16:44 ` David Ahern
2018-01-04 18:03 ` David Ahern
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20171226112359.5313-8-jiri@resnulli.us \
--to=jiri@resnulli$(echo .)us \
--cc=alexander.h.duyck@intel$(echo .)com \
--cc=andrew@lunn$(echo .)ch \
--cc=arkadis@mellanox$(echo .)com \
--cc=ast@kernel$(echo .)org \
--cc=daniel@iogearbox$(echo .)net \
--cc=davem@davemloft$(echo .)net \
--cc=dsa@cumulusnetworks$(echo .)com \
--cc=f.fainelli@gmail$(echo .)com \
--cc=ganeshgr@chelsio$(echo .)com \
--cc=gospo@broadcom$(echo .)com \
--cc=idosch@mellanox$(echo .)com \
--cc=jakub.kicinski@netronome$(echo .)com \
--cc=john.hurley@netronome$(echo .)com \
--cc=leonro@mellanox$(echo .)com \
--cc=linville@tuxdriver$(echo .)com \
--cc=matanb@mellanox$(echo .)com \
--cc=michael.chan@broadcom$(echo .)com \
--cc=mlxsw@mellanox$(echo .)com \
--cc=netdev@vger$(echo .)kernel.org \
--cc=ogerlitz@mellanox$(echo .)com \
--cc=pieter.jansenvanvuuren@netronome$(echo .)com \
--cc=roopa@cumulusnetworks$(echo .)com \
--cc=saeedm@mellanox$(echo .)com \
--cc=simon.horman@netronome$(echo .)com \
--cc=steven.lin1@broadcom$(echo .)com \
--cc=vivien.didelot@savoirfairelinux$(echo .)com \
--cc=yuvalm@mellanox$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox