summaryrefslogtreecommitdiffstats
path: root/include/rdma
diff options
context:
space:
mode:
authorHiatt, Don <don.hiatt@intel.com>2017-06-08 19:37:49 +0200
committerDoug Ledford <dledford@redhat.com>2017-08-08 20:50:25 +0200
commit7db20ecd1d9700e2c240dee505162eb56ab55b5b (patch)
tree0e4d235e6c552bb8f9c708503d9aba0a102a7b93 /include/rdma
parentIB/core: Change port_attr.sm_lid from 16 to 32 bits (diff)
downloadlinux-7db20ecd1d9700e2c240dee505162eb56ab55b5b.tar.xz
linux-7db20ecd1d9700e2c240dee505162eb56ab55b5b.zip
IB/core: Change wc.slid from 16 to 32 bits
slid field in struct ib_wc is increased to 32 bits. This enables core components to use larger LIDs if needed. The user ABI is unchanged and return 16 bit values when queried. Signed-off-by: Dasaratharaman Chandramouli <dasaratharaman.chandramouli@intel.com> Reviewed-by: Ira Weiny <ira.weiny@intel.com> Signed-off-by: Don Hiatt <don.hiatt@intel.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'include/rdma')
-rw-r--r--include/rdma/ib_verbs.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
index 620535908118..7eaf7d2ab424 100644
--- a/include/rdma/ib_verbs.h
+++ b/include/rdma/ib_verbs.h
@@ -948,7 +948,7 @@ struct ib_wc {
u32 src_qp;
int wc_flags;
u16 pkey_index;
- u16 slid;
+ u32 slid;
u8 sl;
u8 dlid_path_bits;
u8 port_num; /* valid only for DR SMPs on switches */
@@ -3706,4 +3706,16 @@ static inline enum rdma_ah_attr_type rdma_ah_find_type(struct ib_device *dev,
else
return RDMA_AH_ATTR_TYPE_IB;
}
+
+/* Return slid in 16bit CPU encoding */
+static inline u16 ib_slid_cpu16(u32 slid)
+{
+ return (u16)slid;
+}
+
+/* Return slid in 16bit BE encoding */
+static inline u16 ib_slid_be16(u32 slid)
+{
+ return cpu_to_be16((u16)slid);
+}
#endif /* IB_VERBS_H */