mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-14 00:24:15 +08:00
RDMA/hns: Add CM of vlan device support
This patch mainly sets the vlan_id field in the WC for rdma_listen() to work over vlan. This is required by ib_init_ah_attr_from_wc() which is called by the CM REQ handler. Signed-off-by: Lijun Ou <oulijun@huawei.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
This commit is contained in:
parent
384f881851
commit
944e64093a
@ -2292,7 +2292,14 @@ static int hns_roce_v2_poll_one(struct hns_roce_cq *hr_cq,
|
||||
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;
|
||||
if (roce_get_bit(cqe->byte_28, V2_CQE_BYTE_28_VID_VLD_S)) {
|
||||
wc->vlan_id = (u16)roce_get_field(cqe->byte_28,
|
||||
V2_CQE_BYTE_28_VID_M,
|
||||
V2_CQE_BYTE_28_VID_S);
|
||||
} else {
|
||||
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,
|
||||
|
@ -818,6 +818,11 @@ struct hns_roce_v2_cqe {
|
||||
#define V2_CQE_BYTE_28_PORT_TYPE_S 16
|
||||
#define V2_CQE_BYTE_28_PORT_TYPE_M GENMASK(17, 16)
|
||||
|
||||
#define V2_CQE_BYTE_28_VID_S 18
|
||||
#define V2_CQE_BYTE_28_VID_M GENMASK(29, 18)
|
||||
|
||||
#define V2_CQE_BYTE_28_VID_VLD_S 30
|
||||
|
||||
#define V2_CQE_BYTE_32_RMT_QPN_S 0
|
||||
#define V2_CQE_BYTE_32_RMT_QPN_M GENMASK(23, 0)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user