aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorHiatt, Don <[email protected]>2017-06-08 13:37:49 -0400
committerDoug Ledford <[email protected]>2017-08-08 14:50:25 -0400
commit7db20ecd1d9700e2c240dee505162eb56ab55b5b (patch)
tree0e4d235e6c552bb8f9c708503d9aba0a102a7b93 /include
parentdb58540b021a17e0ede64f761b740556d77f1679 (diff)
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 <[email protected]> Reviewed-by: Ira Weiny <[email protected]> Signed-off-by: Don Hiatt <[email protected]> Signed-off-by: Doug Ledford <[email protected]>
Diffstat (limited to 'include')
-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 */