mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-28 05:24:47 +08:00
RDMA/hns: Update the verbs of polling for completion
If the port is a RoCEv2 port, the remote port address and QP information which returned for UD will be modified. Signed-off-by: Lijun Ou <oulijun@huawei.com> Signed-off-by: Yixian Liu <liuyixian@huawei.com> Signed-off-by: Wei Hu (Xavier) <xavier.huwei@huawei.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
This commit is contained in:
parent
6c1f08b347
commit
2eade67535
@ -1913,6 +1913,18 @@ static int hns_roce_v2_poll_one(struct hns_roce_cq *hr_cq,
|
||||
wc->port_num = roce_get_field(cqe->byte_32,
|
||||
V2_CQE_BYTE_32_PORTN_M, V2_CQE_BYTE_32_PORTN_S);
|
||||
wc->pkey_index = 0;
|
||||
memcpy(wc->smac, cqe->smac, 4);
|
||||
wc->smac[4] = roce_get_field(cqe->byte_28,
|
||||
V2_CQE_BYTE_28_SMAC_4_M,
|
||||
V2_CQE_BYTE_28_SMAC_4_S);
|
||||
wc->smac[5] = roce_get_field(cqe->byte_28,
|
||||
V2_CQE_BYTE_28_SMAC_5_M,
|
||||
V2_CQE_BYTE_28_SMAC_5_S);
|
||||
wc->vlan_id = 0xffff;
|
||||
wc->wc_flags |= (IB_WC_WITH_VLAN | IB_WC_WITH_SMAC);
|
||||
wc->network_hdr_type = roce_get_field(cqe->byte_28,
|
||||
V2_CQE_BYTE_28_PORT_TYPE_M,
|
||||
V2_CQE_BYTE_28_PORT_TYPE_S);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
@ -769,7 +769,7 @@ struct hns_roce_v2_cqe {
|
||||
u32 byte_12;
|
||||
u32 byte_16;
|
||||
u32 byte_cnt;
|
||||
u32 smac;
|
||||
u8 smac[4];
|
||||
u32 byte_28;
|
||||
u32 byte_32;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user