summaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw/i40iw/i40iw_cm.h
diff options
context:
space:
mode:
authorShiraz Saleem <shiraz.saleem@intel.com>2017-09-19 09:19:13 -0500
committerDoug Ledford <dledford@redhat.com>2017-09-22 13:43:36 -0400
commitf16dc0aa5ea20a2cf173e82ade5f05bfecaa850a (patch)
tree5c8c786dd3a266b2596011d0e2fae433c66fc32e /drivers/infiniband/hw/i40iw/i40iw_cm.h
parentdfc612b3407e88913a58db00b3bca93685d4f4f9 (diff)
i40iw: Add support for port reuse on active side connections
During OpenMPI scale up testing, we observe rdma_connect failures if ports are reused on multiple connections. This is because the Control Queue-Pair (CQP) command to add the reused port to Accelerated Port Bit VectorTable (APBVT) fails as there already exists an entry. Check for duplicate port before invoking the CQP command to add APBVT entry and delete the entry only if the port is not in use. Signed-off-by: Shiraz Saleem <shiraz.saleem@intel.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'drivers/infiniband/hw/i40iw/i40iw_cm.h')
-rw-r--r--drivers/infiniband/hw/i40iw/i40iw_cm.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/i40iw/i40iw_cm.h b/drivers/infiniband/hw/i40iw/i40iw_cm.h
index 8626e7f1fdd3..45abef76295b 100644
--- a/drivers/infiniband/hw/i40iw/i40iw_cm.h
+++ b/drivers/infiniband/hw/i40iw/i40iw_cm.h
@@ -71,6 +71,7 @@
#define I40IW_HW_IRD_SETTING_32 32
#define I40IW_HW_IRD_SETTING_64 64
+#define MAX_PORTS 65536
#define I40IW_VLAN_PRIO_SHIFT 13
enum ietf_mpa_flags {
@@ -413,6 +414,8 @@ struct i40iw_cm_core {
spinlock_t ht_lock; /* manage hash table */
spinlock_t listen_list_lock; /* listen list */
+ unsigned long active_side_ports[BITS_TO_LONGS(MAX_PORTS)];
+
u64 stats_nodes_created;
u64 stats_nodes_destroyed;
u64 stats_listen_created;