mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-06 13:09:58 +00:00
RDMA/irdma: Use net_type to check network type
The member variable net_type is to check the type of network. Link: https://lore.kernel.org/r/20220223024252.3873736-2-yanjun.zhu@linux.dev Signed-off-by: Zhu Yanjun <yanjun.zhu@linux.dev> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
This commit is contained in:
parent
6090a0c4c7
commit
80005c43d4
@ -1200,7 +1200,7 @@ int irdma_modify_qp_roce(struct ib_qp *ibqp, struct ib_qp_attr *attr,
|
|||||||
av->attrs = attr->ah_attr;
|
av->attrs = attr->ah_attr;
|
||||||
rdma_gid2ip((struct sockaddr *)&av->sgid_addr, &sgid_attr->gid);
|
rdma_gid2ip((struct sockaddr *)&av->sgid_addr, &sgid_attr->gid);
|
||||||
rdma_gid2ip((struct sockaddr *)&av->dgid_addr, &attr->ah_attr.grh.dgid);
|
rdma_gid2ip((struct sockaddr *)&av->dgid_addr, &attr->ah_attr.grh.dgid);
|
||||||
if (av->sgid_addr.saddr.sa_family == AF_INET6) {
|
if (av->net_type == RDMA_NETWORK_IPV6) {
|
||||||
__be32 *daddr =
|
__be32 *daddr =
|
||||||
av->dgid_addr.saddr_in6.sin6_addr.in6_u.u6_addr32;
|
av->dgid_addr.saddr_in6.sin6_addr.in6_u.u6_addr32;
|
||||||
__be32 *saddr =
|
__be32 *saddr =
|
||||||
@ -1216,7 +1216,7 @@ int irdma_modify_qp_roce(struct ib_qp *ibqp, struct ib_qp_attr *attr,
|
|||||||
&local_ip[0],
|
&local_ip[0],
|
||||||
false, NULL,
|
false, NULL,
|
||||||
IRDMA_ARP_RESOLVE);
|
IRDMA_ARP_RESOLVE);
|
||||||
} else {
|
} else if (av->net_type == RDMA_NETWORK_IPV4) {
|
||||||
__be32 saddr = av->sgid_addr.saddr_in.sin_addr.s_addr;
|
__be32 saddr = av->sgid_addr.saddr_in.sin_addr.s_addr;
|
||||||
__be32 daddr = av->dgid_addr.saddr_in.sin_addr.s_addr;
|
__be32 daddr = av->dgid_addr.saddr_in.sin_addr.s_addr;
|
||||||
|
|
||||||
@ -4129,8 +4129,6 @@ static int irdma_create_ah(struct ib_ah *ibah,
|
|||||||
rdma_gid2ip((struct sockaddr *)&dgid_addr, &ah_attr->grh.dgid);
|
rdma_gid2ip((struct sockaddr *)&dgid_addr, &ah_attr->grh.dgid);
|
||||||
ah->av.attrs = *ah_attr;
|
ah->av.attrs = *ah_attr;
|
||||||
ah->av.net_type = rdma_gid_attr_network_type(sgid_attr);
|
ah->av.net_type = rdma_gid_attr_network_type(sgid_attr);
|
||||||
ah->av.sgid_addr.saddr = sgid_addr.saddr;
|
|
||||||
ah->av.dgid_addr.saddr = dgid_addr.saddr;
|
|
||||||
ah_info = &sc_ah->ah_info;
|
ah_info = &sc_ah->ah_info;
|
||||||
ah_info->ah_idx = ah_id;
|
ah_info->ah_idx = ah_id;
|
||||||
ah_info->pd_idx = pd->sc_pd.pd_id;
|
ah_info->pd_idx = pd->sc_pd.pd_id;
|
||||||
@ -4141,7 +4139,7 @@ static int irdma_create_ah(struct ib_ah *ibah,
|
|||||||
}
|
}
|
||||||
|
|
||||||
ether_addr_copy(dmac, ah_attr->roce.dmac);
|
ether_addr_copy(dmac, ah_attr->roce.dmac);
|
||||||
if (rdma_gid_attr_network_type(sgid_attr) == RDMA_NETWORK_IPV4) {
|
if (ah->av.net_type == RDMA_NETWORK_IPV4) {
|
||||||
ah_info->ipv4_valid = true;
|
ah_info->ipv4_valid = true;
|
||||||
ah_info->dest_ip_addr[0] =
|
ah_info->dest_ip_addr[0] =
|
||||||
ntohl(dgid_addr.saddr_in.sin_addr.s_addr);
|
ntohl(dgid_addr.saddr_in.sin_addr.s_addr);
|
||||||
|
Loading…
Reference in New Issue
Block a user