diff options
author | Hiatt, Don <don.hiatt@intel.com> | 2017-06-08 13:37:49 -0400 |
---|---|---|
committer | Doug Ledford <dledford@redhat.com> | 2017-08-08 14:50:25 -0400 |
commit | 7db20ecd1d9700e2c240dee505162eb56ab55b5b (patch) | |
tree | 0e4d235e6c552bb8f9c708503d9aba0a102a7b93 /include/rdma | |
parent | db58540b021a17e0ede64f761b740556d77f1679 (diff) | |
download | linux-7db20ecd1d9700e2c240dee505162eb56ab55b5b.tar.gz linux-7db20ecd1d9700e2c240dee505162eb56ab55b5b.tar.bz2 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.h | 14 |
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 */ |