Enable flow steering on IPoIB UD QP
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest6 patches 20 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/6 | IB/core: Enable QP creation which is associated to underlay QPinclude/ | +2 | 6 replies | |
| 2/6 | IB/uverbs: Enable QP creation which is associated to underlay QPdrivers/ include/ | +9 | 14 replies | |
| 3/6 | IB/mlx5: Add support for underlay QP managingdrivers/ drivers/ | +59 | 0 replies | |
| 4/6 | IB/mlx5: Add multicast flow steering support for underlay QPdrivers/ | +31 | 0 replies | |
| 5/6 | net/mlx5: Report enhanced capabilities for IPoIBdrivers/ include/ | +11 | 0 replies | |
| 6/6 | IB/mlx5: Report RX checksum capabilities for IPoIBdrivers/ | +4 | 0 replies |
Reviews trailers per patch
All 6 patches have a Reviewed-by or Acked-by.
| Patch | Maor Gottlieb |
|---|---|
| 1/6 | R-b |
| 2/6 | R-b |
| 3/6 | R-b |
| 4/6 | R-b |
| 5/6 | R-b |
| 6/6 | R-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH rdma-next 0/6] Enable flow steering on IPoIB UD QP
Hi Doug,
---
Quoted 1 line
From Yishai:
This series comes to allow user space applications to accelerate send and receive traffic which is typically handled by IPoIB ULP. On the receive flow, the user space application will use flow steering rules to direct the ingress IPoIB UD QP traffic to its own user space UD QP. On the send flow, the user space application will send from its own UD QP with UD AH, while the packet on the wire will have the source QPN of the underlay IPoIB UD QP, which is the network interface advertised L2 hardware address.
This will be achieved by extending QP creation of IB UD QP to be "Associated" with IPoIB UD QP number. In order to create such a UD QP which can receive and send IPoIB traffic, needs to provide the associated QPN of the IPoIB network interface. The created QP will manage the scattering objects as of RQ and SQ, while the transport attributes will be managed by its underlay QP which is owned by IPoIB ULP.
The QPN should be achieved by using some networking tool as of ifconfig ,ip link show on the associated interface. For example, when IPoIB is used, the QPN is the value of 3 bytes from the hardware address starting after the first byte as defined by rfc4391 [1]
This API enables generic QPN association, current mlx5 driver implements this API for the IPoIB ULP.
[1] https://tools.ietf.org/html/rfc4391#page-11
---
Available in the "topic/underlay_qp" topic branch of this git repo:git://git.kernel.org/pub/scm/linux/kernel/git/leon/linux-rdma.git
Or for browsing:
https://git.kernel.org/cgit/linux/kernel/git/leon/linux-rdma.git/log/?h=topic/underlay_qp
Possible merge conflicts resolution is available in:
https://git.kernel.org/cgit/linux/kernel/git/leon/linux-rdma.git/log/?h=testing/queue-next
Yishai Hadas (6):
IB/core: Enable QP creation which is associated to underlay QP IB/uverbs: Enable QP creation which is associated to underlay QP IB/mlx5: Add support for underlay QP managing IB/mlx5: Add multicast flow steering support for underlay QP net/mlx5: Report enhanced capabilities for IPoIB IB/mlx5: Report RX checksum capabilities for IPoIB
drivers/infiniband/core/uverbs_cmd.c | 11 +++-- drivers/infiniband/hw/mlx5/main.c | 47 +++++++++++++----- drivers/infiniband/hw/mlx5/mlx5_ib.h | 2 + drivers/infiniband/hw/mlx5/qp.c | 72 ++++++++++++++++++++++------ drivers/net/ethernet/mellanox/mlx5/core/fw.c | 6 +++ include/linux/mlx5/device.h | 6 ++- include/rdma/ib_verbs.h | 2 + include/uapi/rdma/ib_user_verbs.h | 2 +- 8 files changed, 116 insertions(+), 32 deletions(-)
--
2.12.2
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html