Commit 77addc52 authored by Parav Pandit's avatar Parav Pandit Committed by Jason Gunthorpe

RDMA/core: Rename rdma_copy_addr to rdma_copy_src_l2_addr

Now that rdma_copy_addr() only copies the source addresses and all callers
are interested in copying only source addresses, simplify it to drop the
destination address argument.

Given that it only copies source layer2 addresses, rename it to
rdma_copy_src_l2_addr for better code readability.
Signed-off-by: default avatarParav Pandit <parav@mellanox.com>
Reviewed-by: default avatarDaniel Jurgens <danielj@mellanox.com>
Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
parent a362ea1d
...@@ -219,18 +219,24 @@ int rdma_addr_size_kss(struct __kernel_sockaddr_storage *addr) ...@@ -219,18 +219,24 @@ int rdma_addr_size_kss(struct __kernel_sockaddr_storage *addr)
} }
EXPORT_SYMBOL(rdma_addr_size_kss); EXPORT_SYMBOL(rdma_addr_size_kss);
void rdma_copy_addr(struct rdma_dev_addr *dev_addr, /**
const struct net_device *dev, * rdma_copy_src_l2_addr - Copy netdevice source addresses
const unsigned char *dst_dev_addr) * @dev_addr: Destination address pointer where to copy the addresses
* @dev: Netdevice whose source addresses to copy
*
* rdma_copy_src_l2_addr() copies source addresses from the specified netdevice.
* This includes unicast address, broadcast address, device type and
* interface index.
*/
void rdma_copy_src_l2_addr(struct rdma_dev_addr *dev_addr,
const struct net_device *dev)
{ {
dev_addr->dev_type = dev->type; dev_addr->dev_type = dev->type;
memcpy(dev_addr->src_dev_addr, dev->dev_addr, MAX_ADDR_LEN); memcpy(dev_addr->src_dev_addr, dev->dev_addr, MAX_ADDR_LEN);
memcpy(dev_addr->broadcast, dev->broadcast, MAX_ADDR_LEN); memcpy(dev_addr->broadcast, dev->broadcast, MAX_ADDR_LEN);
if (dst_dev_addr)
memcpy(dev_addr->dst_dev_addr, dst_dev_addr, MAX_ADDR_LEN);
dev_addr->bound_dev_if = dev->ifindex; dev_addr->bound_dev_if = dev->ifindex;
} }
EXPORT_SYMBOL(rdma_copy_addr); EXPORT_SYMBOL(rdma_copy_src_l2_addr);
static struct net_device * static struct net_device *
rdma_find_ndev_for_src_ip_rcu(struct net *net, const struct sockaddr *src_in) rdma_find_ndev_for_src_ip_rcu(struct net *net, const struct sockaddr *src_in)
...@@ -271,7 +277,7 @@ int rdma_translate_ip(const struct sockaddr *addr, ...@@ -271,7 +277,7 @@ int rdma_translate_ip(const struct sockaddr *addr,
dev = dev_get_by_index(dev_addr->net, dev_addr->bound_dev_if); dev = dev_get_by_index(dev_addr->net, dev_addr->bound_dev_if);
if (!dev) if (!dev)
return -ENODEV; return -ENODEV;
rdma_copy_addr(dev_addr, dev, NULL); rdma_copy_src_l2_addr(dev_addr, dev);
dev_put(dev); dev_put(dev);
return 0; return 0;
} }
...@@ -279,7 +285,7 @@ int rdma_translate_ip(const struct sockaddr *addr, ...@@ -279,7 +285,7 @@ int rdma_translate_ip(const struct sockaddr *addr,
rcu_read_lock(); rcu_read_lock();
dev = rdma_find_ndev_for_src_ip_rcu(dev_addr->net, addr); dev = rdma_find_ndev_for_src_ip_rcu(dev_addr->net, addr);
if (!IS_ERR(dev)) if (!IS_ERR(dev))
rdma_copy_addr(dev_addr, dev, NULL); rdma_copy_src_l2_addr(dev_addr, dev);
rcu_read_unlock(); rcu_read_unlock();
return PTR_ERR_OR_ZERO(dev); return PTR_ERR_OR_ZERO(dev);
} }
...@@ -484,7 +490,7 @@ static int rdma_set_src_addr(const struct dst_entry *dst, ...@@ -484,7 +490,7 @@ static int rdma_set_src_addr(const struct dst_entry *dst,
if (dst->dev->flags & IFF_LOOPBACK) if (dst->dev->flags & IFF_LOOPBACK)
ret = rdma_translate_ip(dst_in, dev_addr); ret = rdma_translate_ip(dst_in, dev_addr);
else else
rdma_copy_addr(dev_addr, dst->dev, NULL); rdma_copy_src_l2_addr(dev_addr, dst->dev);
return ret; return ret;
} }
......
...@@ -1900,7 +1900,7 @@ cma_ib_new_conn_id(const struct rdma_cm_id *listen_id, ...@@ -1900,7 +1900,7 @@ cma_ib_new_conn_id(const struct rdma_cm_id *listen_id,
rt->path_rec[1] = *ib_event->param.req_rcvd.alternate_path; rt->path_rec[1] = *ib_event->param.req_rcvd.alternate_path;
if (net_dev) { if (net_dev) {
rdma_copy_addr(&rt->addr.dev_addr, net_dev, NULL); rdma_copy_src_l2_addr(&rt->addr.dev_addr, net_dev);
} else { } else {
if (!cma_protocol_roce(listen_id) && if (!cma_protocol_roce(listen_id) &&
cma_any_addr(cma_src_addr(id_priv))) { cma_any_addr(cma_src_addr(id_priv))) {
...@@ -1950,7 +1950,7 @@ cma_ib_new_udp_id(const struct rdma_cm_id *listen_id, ...@@ -1950,7 +1950,7 @@ cma_ib_new_udp_id(const struct rdma_cm_id *listen_id,
goto err; goto err;
if (net_dev) { if (net_dev) {
rdma_copy_addr(&id->route.addr.dev_addr, net_dev, NULL); rdma_copy_src_l2_addr(&id->route.addr.dev_addr, net_dev);
} else { } else {
if (!cma_any_addr(cma_src_addr(id_priv))) { if (!cma_any_addr(cma_src_addr(id_priv))) {
ret = cma_translate_addr(cma_src_addr(id_priv), ret = cma_translate_addr(cma_src_addr(id_priv),
......
...@@ -340,5 +340,7 @@ int rdma_addr_find_l2_eth_by_grh(const union ib_gid *sgid, ...@@ -340,5 +340,7 @@ int rdma_addr_find_l2_eth_by_grh(const union ib_gid *sgid,
const union ib_gid *dgid, const union ib_gid *dgid,
u8 *dmac, const struct net_device *ndev, u8 *dmac, const struct net_device *ndev,
int *hoplimit); int *hoplimit);
void rdma_copy_src_l2_addr(struct rdma_dev_addr *dev_addr,
const struct net_device *dev);
#endif /* _CORE_PRIV_H */ #endif /* _CORE_PRIV_H */
...@@ -105,10 +105,6 @@ int rdma_resolve_ip(struct sockaddr *src_addr, const struct sockaddr *dst_addr, ...@@ -105,10 +105,6 @@ int rdma_resolve_ip(struct sockaddr *src_addr, const struct sockaddr *dst_addr,
void rdma_addr_cancel(struct rdma_dev_addr *addr); void rdma_addr_cancel(struct rdma_dev_addr *addr);
void rdma_copy_addr(struct rdma_dev_addr *dev_addr,
const struct net_device *dev,
const unsigned char *dst_dev_addr);
int rdma_addr_size(const struct sockaddr *addr); int rdma_addr_size(const struct sockaddr *addr);
int rdma_addr_size_in6(struct sockaddr_in6 *addr); int rdma_addr_size_in6(struct sockaddr_in6 *addr);
int rdma_addr_size_kss(struct __kernel_sockaddr_storage *addr); int rdma_addr_size_kss(struct __kernel_sockaddr_storage *addr);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment