@@ -98,6 +98,10 @@ struct rxe_send_wr {
__u32 remote_qpn;
__u32 remote_qkey;
__u16 pkey_index;
+ __u16 reserved;
+ __u32 ah_num;
+ __u32 pad[4];
+ struct rxe_av av; /* deprecated */
} ud;
struct {
__aligned_u64 addr;
@@ -148,7 +152,6 @@ struct rxe_dma_info {
struct rxe_send_wqe {
struct rxe_send_wr wr;
- struct rxe_av av;
__u32 status;
__u32 state;
__aligned_u64 iova;
@@ -168,6 +171,11 @@ struct rxe_recv_wqe {
struct rxe_dma_info dma;
};
+struct rxe_create_ah_resp {
+ __u32 ah_num;
+ __u32 reserved;
+};
+
struct rxe_create_cq_resp {
struct mminfo mi;
};
@@ -982,7 +982,7 @@ static void wr_set_ud_addr(struct ibv_qp_ex *ibqp, struct ibv_ah *ibah,
if (qp->err)
return;
- memcpy(&wqe->av, &ah->av, sizeof(ah->av));
+ memcpy(&wqe->wr.wr.ud.av, &ah->av, sizeof(ah->av));
wqe->wr.wr.ud.remote_qpn = remote_qpn;
wqe->wr.wr.ud.remote_qkey = remote_qkey;
}
@@ -1467,7 +1467,7 @@ static int init_send_wqe(struct rxe_qp *qp, struct rxe_wq *sq,
convert_send_wr(&wqe->wr, ibwr);
if (qp_type(qp) == IBV_QPT_UD)
- memcpy(&wqe->av, &to_rah(ibwr->wr.ud.ah)->av,
+ memcpy(&wqe->wr.wr.ud.av, &to_rah(ibwr->wr.ud.ah)->av,
sizeof(struct rxe_av));
if (ibwr->send_flags & IBV_SEND_INLINE) {
To commit ?? ("RDMA/rxe: Convert kernel UD post send to use ah_num"). Signed-off-by: Bob Pearson <rpearsonhpe@gmail.com> --- kernel-headers/rdma/rdma_user_rxe.h | 10 +++++++++- providers/rxe/rxe.c | 4 ++-- 2 files changed, 11 insertions(+), 3 deletions(-)