提交 14169e33 编写于 作者: P Parav Pandit 提交者: Jason Gunthorpe

IB/providers: Avoid zero GID check for RoCE

Now that the IB core GID cache ensures that a zero GID doesn't exist in
the GID table remove zero GID checks from the provider drivers for
clarity.
Reviewed-by: NMark Bloch <markb@mellanox.com>
Signed-off-by: NParav Pandit <parav@mellanox.com>
Signed-off-by: NLeon Romanovsky <leonro@mellanox.com>
Signed-off-by: NJason Gunthorpe <jgg@mellanox.com>
上级 598ff6ba
...@@ -411,9 +411,6 @@ int mlx4_ib_gid_index_to_real_index(struct mlx4_ib_dev *ibdev, ...@@ -411,9 +411,6 @@ int mlx4_ib_gid_index_to_real_index(struct mlx4_ib_dev *ibdev,
if (attr.ndev) if (attr.ndev)
dev_put(attr.ndev); dev_put(attr.ndev);
if (!memcmp(&gid, &zgid, sizeof(gid)))
return -EINVAL;
spin_lock_irqsave(&iboe->lock, flags); spin_lock_irqsave(&iboe->lock, flags);
port_gid_table = &iboe->gids[port_num - 1]; port_gid_table = &iboe->gids[port_num - 1];
......
...@@ -2370,8 +2370,6 @@ static int __mlx4_ib_modify_qp(void *src, enum mlx4_ib_source_type src_type, ...@@ -2370,8 +2370,6 @@ static int __mlx4_ib_modify_qp(void *src, enum mlx4_ib_source_type src_type,
status = ib_get_cached_gid(&dev->ib_dev, port_num, status = ib_get_cached_gid(&dev->ib_dev, port_num,
index, &gid, &gid_attr); index, &gid, &gid_attr);
if (!status && !memcmp(&gid, &zgid, sizeof(gid)))
status = -ENOENT;
if (!status && gid_attr.ndev) { if (!status && gid_attr.ndev) {
vlan = rdma_vlan_dev_vlan_id(gid_attr.ndev); vlan = rdma_vlan_dev_vlan_id(gid_attr.ndev);
memcpy(smac, gid_attr.ndev->dev_addr, ETH_ALEN); memcpy(smac, gid_attr.ndev->dev_addr, ETH_ALEN);
......
...@@ -2494,7 +2494,7 @@ static int ocrdma_set_av_params(struct ocrdma_qp *qp, ...@@ -2494,7 +2494,7 @@ static int ocrdma_set_av_params(struct ocrdma_qp *qp,
{ {
int status; int status;
struct rdma_ah_attr *ah_attr = &attrs->ah_attr; struct rdma_ah_attr *ah_attr = &attrs->ah_attr;
union ib_gid sgid, zgid; union ib_gid sgid;
struct ib_gid_attr sgid_attr; struct ib_gid_attr sgid_attr;
u32 vlan_id = 0xFFFF; u32 vlan_id = 0xFFFF;
u8 mac_addr[6], hdr_type; u8 mac_addr[6], hdr_type;
...@@ -2533,10 +2533,6 @@ static int ocrdma_set_av_params(struct ocrdma_qp *qp, ...@@ -2533,10 +2533,6 @@ static int ocrdma_set_av_params(struct ocrdma_qp *qp,
dev_put(sgid_attr.ndev); dev_put(sgid_attr.ndev);
} }
memset(&zgid, 0, sizeof(zgid));
if (!memcmp(&sgid, &zgid, sizeof(zgid)))
return -EINVAL;
qp->sgid_idx = grh->sgid_index; qp->sgid_idx = grh->sgid_index;
memcpy(&cmd->params.sgid[0], &sgid.raw[0], sizeof(cmd->params.sgid)); memcpy(&cmd->params.sgid[0], &sgid.raw[0], sizeof(cmd->params.sgid));
status = ocrdma_resolve_dmac(dev, ah_attr, &mac_addr[0]); status = ocrdma_resolve_dmac(dev, ah_attr, &mac_addr[0]);
......
...@@ -420,12 +420,6 @@ static inline int qedr_gsi_build_header(struct qedr_dev *dev, ...@@ -420,12 +420,6 @@ static inline int qedr_gsi_build_header(struct qedr_dev *dev,
dev_put(sgid_attr.ndev); dev_put(sgid_attr.ndev);
} }
if (!memcmp(&sgid, &zgid, sizeof(sgid))) {
DP_ERR(dev, "gsi post send: GID not found GID index %d\n",
grh->sgid_index);
return -ENOENT;
}
has_udp = (sgid_attr.gid_type == IB_GID_TYPE_ROCE_UDP_ENCAP); has_udp = (sgid_attr.gid_type == IB_GID_TYPE_ROCE_UDP_ENCAP);
if (!has_udp) { if (!has_udp) {
/* RoCE v1 */ /* RoCE v1 */
......
...@@ -1093,9 +1093,6 @@ static inline int get_gid_info_from_table(struct ib_qp *ibqp, ...@@ -1093,9 +1093,6 @@ static inline int get_gid_info_from_table(struct ib_qp *ibqp,
if (rc) if (rc)
return rc; return rc;
if (!memcmp(&gid, &zgid, sizeof(gid)))
return -ENOENT;
if (gid_attr.ndev) { if (gid_attr.ndev) {
qp_params->vlan_id = rdma_vlan_dev_vlan_id(gid_attr.ndev); qp_params->vlan_id = rdma_vlan_dev_vlan_id(gid_attr.ndev);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册