RDMA/mlx5: Move default representors SQ steering to rule to modify QP
Currently the steering for SQs created on representors is done on creation, once we move to representors as ports of an IB device we need the port argument which is given only at the modify QP stage, adjust the code appropriately. Signed-off-by: Mark Bloch <markb@mellanox.com> Signed-off-by: Leon Romanovsky <leonro@mellanox.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
This commit is contained in:

zatwierdzone przez
Jason Gunthorpe

rodzic
6a4d00be08
commit
d5ed8ac34c
@@ -146,22 +146,21 @@ struct mlx5_eswitch_rep *mlx5_ib_vport_rep(struct mlx5_eswitch *esw, int vport)
|
||||
return mlx5_eswitch_vport_rep(esw, vport);
|
||||
}
|
||||
|
||||
int create_flow_rule_vport_sq(struct mlx5_ib_dev *dev,
|
||||
struct mlx5_ib_sq *sq)
|
||||
struct mlx5_flow_handle *create_flow_rule_vport_sq(struct mlx5_ib_dev *dev,
|
||||
struct mlx5_ib_sq *sq,
|
||||
u16 port)
|
||||
{
|
||||
struct mlx5_flow_handle *flow_rule;
|
||||
struct mlx5_eswitch *esw = dev->mdev->priv.eswitch;
|
||||
struct mlx5_eswitch_rep *rep;
|
||||
|
||||
if (!dev->is_rep)
|
||||
return 0;
|
||||
if (!dev->is_rep || !port)
|
||||
return NULL;
|
||||
|
||||
flow_rule =
|
||||
mlx5_eswitch_add_send_to_vport_rule(esw,
|
||||
dev->port[0].rep->vport,
|
||||
sq->base.mqp.qpn);
|
||||
if (IS_ERR(flow_rule))
|
||||
return PTR_ERR(flow_rule);
|
||||
sq->flow_rule = flow_rule;
|
||||
if (!dev->port[port - 1].rep)
|
||||
return ERR_PTR(-EINVAL);
|
||||
|
||||
return 0;
|
||||
rep = dev->port[port - 1].rep;
|
||||
|
||||
return mlx5_eswitch_add_send_to_vport_rule(esw, rep->vport,
|
||||
sq->base.mqp.qpn);
|
||||
}
|
||||
|
Reference in New Issue
Block a user