diff options
author | Saeed Mahameed <saeedm@mellanox.com> | 2017-04-13 06:36:58 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-04-17 11:08:30 -0400 |
commit | 5426a0b2746a629eed8608397a385f34081f3f66 (patch) | |
tree | 6988a32505c62d6a251c511277b897da46ec4965 /drivers/net/ethernet/mellanox/mlx5/core/ipoib.c | |
parent | net/mlx5e: IPoIB, RSS flow steering tables (diff) | |
download | linux-dev-5426a0b2746a629eed8608397a385f34081f3f66.tar.xz linux-dev-5426a0b2746a629eed8608397a385f34081f3f66.zip |
net/mlx5e: IPoIB, TX TIS creation
Modify mlx5e tis creation function to accept underlay qp number, which
will be needed by IPoIB.
Implement mlx5i (IPoIB) tx init/cleanup netdevice profile flows to
create one TIS with the IPoIB underlay qp, for IPoIB TX SQs.
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Reviewed-by: Erez Shitrit <erezsh@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to '')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx5/core/ipoib.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/ipoib.c b/drivers/net/ethernet/mellanox/mlx5/core/ipoib.c index e16e1c7b246e..d7d705c840ae 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/ipoib.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/ipoib.c @@ -63,13 +63,23 @@ static void mlx5i_cleanup(struct mlx5e_priv *priv) static int mlx5i_init_tx(struct mlx5e_priv *priv) { + struct mlx5i_priv *ipriv = priv->ppriv; + int err; + /* TODO: Create IPoIB underlay QP */ - /* TODO: create IPoIB TX HW TIS */ + + err = mlx5e_create_tis(priv->mdev, 0 /* tc */, ipriv->qp.qpn, &priv->tisn[0]); + if (err) { + mlx5_core_warn(priv->mdev, "create tis failed, %d\n", err); + return err; + } + return 0; } -static void mlx5i_cleanup_tx(struct mlx5e_priv *priv) +void mlx5i_cleanup_tx(struct mlx5e_priv *priv) { + mlx5e_destroy_tis(priv->mdev, priv->tisn[0]); } static int mlx5i_create_flow_steering(struct mlx5e_priv *priv) |