forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-13 9d77db3c730780c8ef5ccd4b66403ff5675cfe4e
kernel/drivers/infiniband/hw/qedr/qedr_roce_cm.c
....@@ -397,13 +397,16 @@
397397 bool has_udp = false;
398398 int i;
399399
400
+ rc = rdma_read_gid_l2_fields(sgid_attr, &vlan_id, NULL);
401
+ if (rc)
402
+ return rc;
403
+
404
+ if (vlan_id < VLAN_CFI_MASK)
405
+ has_vlan = true;
406
+
400407 send_size = 0;
401408 for (i = 0; i < swr->num_sge; ++i)
402409 send_size += swr->sg_list[i].length;
403
-
404
- vlan_id = rdma_vlan_dev_vlan_id(sgid_attr->ndev);
405
- if (vlan_id < VLAN_CFI_MASK)
406
- has_vlan = true;
407410
408411 has_udp = (sgid_attr->gid_type == IB_GID_TYPE_ROCE_UDP_ENCAP);
409412 if (!has_udp) {
....@@ -519,9 +522,9 @@
519522 }
520523
521524 if (ether_addr_equal(udh.eth.smac_h, udh.eth.dmac_h))
522
- packet->tx_dest = QED_ROCE_LL2_TX_DEST_LB;
525
+ packet->tx_dest = QED_LL2_TX_DEST_LB;
523526 else
524
- packet->tx_dest = QED_ROCE_LL2_TX_DEST_NW;
527
+ packet->tx_dest = QED_LL2_TX_DEST_NW;
525528
526529 packet->roce_mode = roce_mode;
527530 memcpy(packet->header.vaddr, ud_header_buffer, header_size);