IB: Let ib_core resolve destination mac address
Since IB/core resolves the destination mac address for user and kernel consumers, avoid resolving in multiple provider drivers. Only ib_core resolves DMAC now, therefore resolve_eth_dmac is removed as exported symbol. Signed-off-by: Parav Pandit <parav@mellanox.com> Signed-off-by: Leon Romanovsky <leon@kernel.org> Signed-off-by: Doug Ledford <dledford@redhat.com>
这个提交包含在:
@@ -201,21 +201,6 @@ struct ib_ah *ocrdma_create_ah(struct ib_pd *ibpd, struct rdma_ah_attr *attr,
|
||||
/* Get network header type for this GID */
|
||||
ah->hdr_type = ib_gid_to_network_type(sgid_attr.gid_type, &sgid);
|
||||
|
||||
if ((pd->uctx) &&
|
||||
(!rdma_is_multicast_addr((struct in6_addr *)grh->dgid.raw)) &&
|
||||
(!rdma_link_local_addr((struct in6_addr *)grh->dgid.raw))) {
|
||||
status = rdma_addr_find_l2_eth_by_grh(&sgid, &grh->dgid,
|
||||
attr->roce.dmac,
|
||||
&vlan_tag,
|
||||
&sgid_attr.ndev->ifindex,
|
||||
NULL);
|
||||
if (status) {
|
||||
pr_err("%s(): Failed to resolve dmac from gid."
|
||||
"status = %d\n", __func__, status);
|
||||
goto av_conf_err;
|
||||
}
|
||||
}
|
||||
|
||||
status = set_av_attr(dev, ah, attr, &sgid, pd->id, &isvlan, vlan_tag);
|
||||
if (status)
|
||||
goto av_conf_err;
|
||||
|
在新工单中引用
屏蔽一个用户