RDMA/mlx5: Set lag tx affinity according to slave
authorMaor Gottlieb <maorg@mellanox.com>
Thu, 30 Apr 2020 19:21:46 +0000 (22:21 +0300)
committerJason Gunthorpe <jgg@mellanox.com>
Sat, 2 May 2020 23:19:54 +0000 (20:19 -0300)
commitcfc1a89e449c02207952c72a4c0394691fdedf43
treecca71bd406b38c90e95cb08f056885a5128c0af8
parent5163b2743ae00bf428a8a7e06839943b2f3965ed
RDMA/mlx5: Set lag tx affinity according to slave

The patch sets the lag tx affinity of the data QPs and the GSI QPs
according to the LAG xmit slave.

For GSI QPs, in case the link layer is Ethenet (RoCE) we create two GSI
QPs, one for each physical port. When the driver selects the GSI QP, it
will consider the port affinity result.  For connected QPs, the driver
sets the affinity of the xmit slave.

The above, ensures that RC QP and it's corresponding GSI QP will transmit
from the same physical port.

Link: https://lore.kernel.org/r/20200430192146.12863-17-maorg@mellanox.com
Signed-off-by: Maor Gottlieb <maorg@mellanox.com>
Reviewed-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/hw/mlx5/ah.c
drivers/infiniband/hw/mlx5/gsi.c
drivers/infiniband/hw/mlx5/main.c
drivers/infiniband/hw/mlx5/mlx5_ib.h
drivers/infiniband/hw/mlx5/qp.c
include/linux/mlx5/mlx5_ifc.h
include/linux/mlx5/qp.h