diff options
author | Patrisious Haddad <phaddad@nvidia.com> | 2022-06-07 13:32:44 +0200 |
---|---|---|
committer | Leon Romanovsky <leonro@nvidia.com> | 2022-06-16 08:54:42 +0200 |
commit | 925d046e7e52c71c3531199ce137e141807ef740 (patch) | |
tree | 347be7f1443aa9c5d295e5ad5827b99330a92b84 /include/rdma | |
parent | RDMA/core: Add an rb_tree that stores cm_ids sorted by ifindex and remote IP (diff) | |
download | linux-925d046e7e52c71c3531199ce137e141807ef740.tar.xz linux-925d046e7e52c71c3531199ce137e141807ef740.zip |
RDMA/core: Add a netevent notifier to cma
Add a netevent callback for cma, mainly to catch NETEVENT_NEIGH_UPDATE.
Previously, when a system with failover MAC mechanism change its MAC address
during a CM connection attempt, the RDMA-CM would take a lot of time till
it disconnects and timesout due to the incorrect MAC address.
Now when we get a NETEVENT_NEIGH_UPDATE we check if it is due to a failover
MAC change and if so, we instantly destroy the CM and notify the user in order
to spare the unnecessary waiting for the timeout.
Link: https://lore.kernel.org/r/bb255c9e301cd50b905663b8e73f7f5133d0e4c5.1654601342.git.leonro@nvidia.com
Signed-off-by: Patrisious Haddad <phaddad@nvidia.com>
Reviewed-by: Mark Zhang <markzhang@nvidia.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Diffstat (limited to 'include/rdma')
-rw-r--r-- | include/rdma/rdma_cm.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/rdma/rdma_cm.h b/include/rdma/rdma_cm.h index d989f030fae0..5b18e2e36ee6 100644 --- a/include/rdma/rdma_cm.h +++ b/include/rdma/rdma_cm.h @@ -108,6 +108,7 @@ struct rdma_cm_id { enum rdma_ucm_port_space ps; enum ib_qp_type qp_type; u32 port_num; + struct work_struct net_work; }; struct rdma_cm_id * |