linux/include/rdma
Mark Zhang 5a37494933 RDMA/cma: Multiple path records support with netlink channel
Support receiving inbound and outbound IB path records (along with GMP
PathRecord) from user-space service through the RDMA netlink channel.
The LIDs in these 3 PRs can be used in this way:
1. GMP PR: used as the standard local/remote LIDs;
2. DLID of outbound PR: Used as the "dlid" field for outbound traffic;
3. DLID of inbound PR: Used as the "dlid" field for outbound traffic in
   responder side.

This is aimed to support adaptive routing. With current IB routing
solution when a packet goes out it's assigned with a fixed DLID per
target, meaning a fixed router will be used.
The LIDs in inbound/outbound path records can be used to identify group
of routers that allow communication with another subnet's entity. With
them packets from an inter-subnet connection may travel through any
router in the set to reach the target.

As confirmed with Jason, when sending a netlink request, kernel uses
LS_RESOLVE_PATH_USE_ALL so that the service knows kernel supports
multiple PRs.

Signed-off-by: Mark Zhang <markzhang@nvidia.com>
Reviewed-by: Mark Bloch <mbloch@nvidia.com>
Link: https://lore.kernel.org/r/2fa2b6c93c4c16c8915bac3cfc4f27be1d60519d.1662631201.git.leonro@nvidia.com
Signed-off-by: Leon Romanovsky <leon@kernel.org>
2022-09-22 12:35:21 +03:00
..
ib_addr.h net: don't include ethtool.h from netdevice.h 2020-11-23 17:27:04 -08:00
ib_cache.h RDMA: Support more than 255 rdma ports 2021-03-26 09:31:21 -03:00
ib_cm.h IB/cm: remove cm_id_priv->id.service_mask and service_mask parameter of cm_init_listen() 2022-08-30 12:14:23 +03:00
ib_hdrs.h RDMA/mlx5: Add steering support in optional flow counters 2021-10-12 12:48:06 -03:00
ib_mad.h IB/mlx5: Expose NDR speed through MAD 2022-01-05 16:40:35 -04:00
ib_marshall.h RDMA/include: Replace license text with SPDX tags 2020-07-29 14:48:36 -03:00
ib_pack.h RDMA/include: Replace license text with SPDX tags 2020-07-29 14:48:36 -03:00
ib_pma.h RDMA/include: Replace license text with SPDX tags 2020-07-29 14:48:36 -03:00
ib_sa.h RDMA/cma: Multiple path records support with netlink channel 2022-09-22 12:35:21 +03:00
ib_smi.h RDMA/mad: Delete duplicated init_query_mad functions 2022-01-05 15:18:36 -04:00
ib_sysfs.h RDMA: Change ops->init_port to ops->port_groups 2021-06-16 20:58:31 -03:00
ib_umem_odp.h IB/core: Enable ODP sync without faulting 2020-10-01 16:44:05 -03:00
ib_umem.h RDMA/umem: Allow pinned dmabuf umem usage 2021-10-28 08:58:26 -03:00
ib_verbs.h dma-mapping updates 2022-08-06 10:56:45 -07:00
ib.h uaccess: remove CONFIG_SET_FS 2022-02-25 09:36:06 +01:00
iba.h RDMA/cm: Add SET/GET implementations to hide IBA wire format 2020-01-25 15:05:59 -04:00
ibta_vol1_c12.h RDMA/cm: Add Enhanced Connection Establishment (ECE) bits 2020-05-27 16:05:05 -03:00
iw_cm.h RDMA/iwcm: Allow AFONLY binding for IPv6 addresses 2021-03-10 15:30:45 -04:00
iw_portmap.h RDMA/include: Replace license text with SPDX tags 2020-07-29 14:48:36 -03:00
lag.h RDMA/core: Add LAG functionality 2020-05-02 20:19:54 -03:00
mr_pool.h Linux 5.2-rc6 2019-06-28 21:18:23 -03:00
opa_addr.h RDMA/include: Replace license text with SPDX tags 2020-07-29 14:48:36 -03:00
opa_port_info.h RDMA/include: Replace license text with SPDX tags 2020-07-29 14:48:36 -03:00
opa_smi.h RDMA/include: Replace license text with SPDX tags 2020-07-29 14:48:36 -03:00
opa_vnic.h RDMA: Split kernel-only global device caps from uverbs device caps 2022-04-06 15:02:13 -03:00
rdma_cm_ib.h RDMA/include: Replace license text with SPDX tags 2020-07-29 14:48:36 -03:00
rdma_cm.h RDMA/cma: Multiple path records support with netlink channel 2022-09-22 12:35:21 +03:00
rdma_counter.h RDMA/counter: Add optional counter support 2021-10-12 12:48:05 -03:00
rdma_netlink.h RDMA/netlink: Add __maybe_unused to static inline in C file 2021-11-16 13:13:08 -04:00
rdma_vt.h IB: move from strlcpy with unused retval to strscpy 2022-08-21 14:18:02 +03:00
rdmavt_cq.h RDMA/include: Replace license text with SPDX tags 2020-07-29 14:48:36 -03:00
rdmavt_mr.h RDMA/include: Replace license text with SPDX tags 2020-07-29 14:48:36 -03:00
rdmavt_qp.h RDMA/rdmavt: Decouple QP and SGE lists allocations 2021-08-03 13:44:27 -03:00
restrack.h RDMA/restrack: Add support to get resource tracking for SRQ 2021-04-22 10:30:27 -03:00
rw.h RDMA: Support more than 255 rdma ports 2021-03-26 09:31:21 -03:00
signature.h RDMA: Make most headers compile stand alone 2019-07-25 13:58:47 -03:00
tid_rdma_defs.h IB/hfi1: Build TID RDMA WRITE request 2019-02-05 18:07:43 -05:00
uverbs_ioctl.h RDMA/uverbs: Fix -Wunused-function warning 2021-04-01 15:28:49 -03:00
uverbs_named_ioctl.h RDMA/uverbs: Make UVERBS_OBJECT_METHODS to consider line number 2021-04-13 19:36:35 -03:00
uverbs_std_types.h RDMA/include: Replace license text with SPDX tags 2020-07-29 14:48:36 -03:00
uverbs_types.h RDMA/uverbs: Allow drivers to create a new HW object during rereg_mr 2020-12-07 14:06:23 -04:00