diff mbox

[v1] IB/core: Make function rdma_copy_addr return void

Message ID 20171106114926.18385-1-yuval.shaia@oracle.com (mailing list archive)
State Superseded
Headers show

Commit Message

Yuval Shaia Nov. 6, 2017, 11:49 a.m. UTC
Function returns zero - make it void.

While there make struct net_device const.

Signed-off-by: Yuval Shaia <yuval.shaia@oracle.com>
---
v0 -> v1:
	* Accept comment from Parav Pandit and make struct net_device const
---
 drivers/infiniband/core/addr.c | 26 ++++++++++++++------------
 drivers/infiniband/core/cma.c  |  8 ++------
 include/rdma/ib_addr.h         |  5 +++--
 3 files changed, 19 insertions(+), 20 deletions(-)

Comments

Parav Pandit Nov. 6, 2017, 5:05 p.m. UTC | #1
> -----Original Message-----
> From: Yuval Shaia [mailto:yuval.shaia@oracle.com]
> Sent: Monday, November 06, 2017 5:49 AM
> To: dledford@redhat.com; sean.hefty@intel.com; hal.rosenstock@gmail.com;
> Leon Romanovsky <leonro@mellanox.com>; swise@opengridcomputing.com;
> pabeni@redhat.com; johannes.berg@intel.com; Moni Shoua
> <monis@mellanox.com>; yuval.shaia@oracle.com; Parav Pandit
> <parav@mellanox.com>; Mark Bloch <markb@mellanox.com>;
> ira.weiny@intel.com; don.hiatt@intel.com;
> dasaratharaman.chandramouli@intel.com; Majd Dibbiny
> <majd@mellanox.com>; arnd@arndb.de; linux-rdma@vger.kernel.org
> Subject: [PATCH v1] IB/core: Make function rdma_copy_addr return void
> 
> Function returns zero - make it void.
> 
> While there make struct net_device const.
> 
> Signed-off-by: Yuval Shaia <yuval.shaia@oracle.com>
> ---
> v0 -> v1:
> 	* Accept comment from Parav Pandit and make struct net_device const
> ---
>  drivers/infiniband/core/addr.c | 26 ++++++++++++++------------
> drivers/infiniband/core/cma.c  |  8 ++------
>  include/rdma/ib_addr.h         |  5 +++--
>  3 files changed, 19 insertions(+), 20 deletions(-)
> 
> diff --git a/drivers/infiniband/core/addr.c b/drivers/infiniband/core/addr.c index
> 12523f630b61..a80a4040352a 100644
> --- a/drivers/infiniband/core/addr.c
> +++ b/drivers/infiniband/core/addr.c
> @@ -229,8 +229,9 @@ void rdma_addr_unregister_client(struct
> rdma_addr_client *client)  }  EXPORT_SYMBOL(rdma_addr_unregister_client);
> 
> -int rdma_copy_addr(struct rdma_dev_addr *dev_addr, struct net_device *dev,
> -		     const unsigned char *dst_dev_addr)
> +void rdma_copy_addr(struct rdma_dev_addr *dev_addr,
> +		    const struct net_device *dev,
> +		    const unsigned char *dst_dev_addr)
>  {
>  	dev_addr->dev_type = dev->type;
>  	memcpy(dev_addr->src_dev_addr, dev->dev_addr, MAX_ADDR_LEN);
> @@ -238,7 +239,6 @@ int rdma_copy_addr(struct rdma_dev_addr *dev_addr,
> struct net_device *dev,
>  	if (dst_dev_addr)
>  		memcpy(dev_addr->dst_dev_addr, dst_dev_addr,
> MAX_ADDR_LEN);
>  	dev_addr->bound_dev_if = dev->ifindex;
> -	return 0;
>  }
>  EXPORT_SYMBOL(rdma_copy_addr);
> 
> @@ -247,15 +247,14 @@ int rdma_translate_ip(const struct sockaddr *addr,
>  		      u16 *vlan_id)
>  {
>  	struct net_device *dev;
> -	int ret = -EADDRNOTAVAIL;
> 
>  	if (dev_addr->bound_dev_if) {
>  		dev = dev_get_by_index(dev_addr->net, dev_addr-
> >bound_dev_if);
>  		if (!dev)
>  			return -ENODEV;
> -		ret = rdma_copy_addr(dev_addr, dev, NULL);
> +		rdma_copy_addr(dev_addr, dev, NULL);
>  		dev_put(dev);
> -		return ret;
> +		return 0;
>  	}
> 
>  	switch (addr->sa_family) {
> @@ -264,9 +263,9 @@ int rdma_translate_ip(const struct sockaddr *addr,
>  			((const struct sockaddr_in *)addr)->sin_addr.s_addr);
> 
>  		if (!dev)
> -			return ret;
> +			return -EADDRNOTAVAIL;
> 
> -		ret = rdma_copy_addr(dev_addr, dev, NULL);
> +		rdma_copy_addr(dev_addr, dev, NULL);
>  		dev_addr->bound_dev_if = dev->ifindex;
>  		if (vlan_id)
>  			*vlan_id = rdma_vlan_dev_vlan_id(dev); @@ -279,7
> +278,7 @@ int rdma_translate_ip(const struct sockaddr *addr,
>  			if (ipv6_chk_addr(dev_addr->net,
>  					  &((const struct sockaddr_in6 *)addr)-
> >sin6_addr,
>  					  dev, 1)) {
> -				ret = rdma_copy_addr(dev_addr, dev, NULL);
> +				rdma_copy_addr(dev_addr, dev, NULL);
>  				dev_addr->bound_dev_if = dev->ifindex;
>  				if (vlan_id)
>  					*vlan_id =
> rdma_vlan_dev_vlan_id(dev); @@ -290,7 +289,7 @@ int
> rdma_translate_ip(const struct sockaddr *addr,
>  		break;
>  #endif
>  	}
> -	return ret;
> +	return 0;
>  }
>  EXPORT_SYMBOL(rdma_translate_ip);
> 
> @@ -346,7 +345,8 @@ static int dst_fetch_ha(struct dst_entry *dst, struct
> rdma_dev_addr *dev_addr,
>  			neigh_event_send(n, NULL);
>  		ret = -ENODATA;
>  	} else {
> -		ret = rdma_copy_addr(dev_addr, dst->dev, n->ha);
> +		rdma_copy_addr(dev_addr, dst->dev, n->ha);
> +		ret = 0;
>  	}
>  	rcu_read_unlock();
> 
> @@ -494,7 +494,9 @@ static int addr_resolve_neigh(struct dst_entry *dst,
>  	if (!(dst->dev->flags & IFF_NOARP))
>  		return fetch_ha(dst, addr, dst_in, seq);
> 
> -	return rdma_copy_addr(addr, dst->dev, NULL);
> +	rdma_copy_addr(addr, dst->dev, NULL);
> +
> +	return 0;
>  }
> 
>  static int addr_resolve(struct sockaddr *src_in, diff --git
> a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c index
> 852c8fec8088..0527a6a7ef26 100644
> --- a/drivers/infiniband/core/cma.c
> +++ b/drivers/infiniband/core/cma.c
> @@ -1846,9 +1846,7 @@ static struct rdma_id_private
> *cma_new_conn_id(struct rdma_cm_id *listen_id,
>  		rt->path_rec[1] = *ib_event->param.req_rcvd.alternate_path;
> 
>  	if (net_dev) {
> -		ret = rdma_copy_addr(&rt->addr.dev_addr, net_dev, NULL);
> -		if (ret)
> -			goto err;
> +		rdma_copy_addr(&rt->addr.dev_addr, net_dev, NULL);
>  	} else {
>  		if (!cma_protocol_roce(listen_id) &&
>  		    cma_any_addr(cma_src_addr(id_priv))) { @@ -1894,9
> +1892,7 @@ static struct rdma_id_private *cma_new_udp_id(struct
> rdma_cm_id *listen_id,
>  		goto err;
> 
>  	if (net_dev) {
> -		ret = rdma_copy_addr(&id->route.addr.dev_addr, net_dev,
> NULL);
> -		if (ret)
> -			goto err;
> +		rdma_copy_addr(&id->route.addr.dev_addr, net_dev, NULL);
>  	} else {
>  		if (!cma_any_addr(cma_src_addr(id_priv))) {
>  			ret = cma_translate_addr(cma_src_addr(id_priv),
> diff --git a/include/rdma/ib_addr.h b/include/rdma/ib_addr.h index
> ec5008cf5d51..910a5703d9a9 100644
> --- a/include/rdma/ib_addr.h
> +++ b/include/rdma/ib_addr.h
> @@ -125,8 +125,9 @@ int rdma_resolve_ip_route(struct sockaddr *src_addr,
> 
>  void rdma_addr_cancel(struct rdma_dev_addr *addr);
> 
> -int rdma_copy_addr(struct rdma_dev_addr *dev_addr, struct net_device *dev,
> -	      const unsigned char *dst_dev_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(struct sockaddr *addr);
> 
> --
> 2.13.6

I prefer subject to be RDMA/core <..> as this change is applicable to IB, iWarp and RoCE.
Reviewed-by: Parav Pandit <parav@mellanox.com>
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Yuval Shaia Nov. 7, 2017, 6:38 a.m. UTC | #2
On Mon, Nov 06, 2017 at 05:05:10PM +0000, Parav Pandit wrote:
> 
> 
> > -----Original Message-----
> > From: Yuval Shaia [mailto:yuval.shaia@oracle.com]
> > Sent: Monday, November 06, 2017 5:49 AM
> > To: dledford@redhat.com; sean.hefty@intel.com; hal.rosenstock@gmail.com;
> > Leon Romanovsky <leonro@mellanox.com>; swise@opengridcomputing.com;
> > pabeni@redhat.com; johannes.berg@intel.com; Moni Shoua
> > <monis@mellanox.com>; yuval.shaia@oracle.com; Parav Pandit
> > <parav@mellanox.com>; Mark Bloch <markb@mellanox.com>;
> > ira.weiny@intel.com; don.hiatt@intel.com;
> > dasaratharaman.chandramouli@intel.com; Majd Dibbiny
> > <majd@mellanox.com>; arnd@arndb.de; linux-rdma@vger.kernel.org
> > Subject: [PATCH v1] IB/core: Make function rdma_copy_addr return void
> > 
> > Function returns zero - make it void.
> > 
> > While there make struct net_device const.
> > 
> > Signed-off-by: Yuval Shaia <yuval.shaia@oracle.com>
> > ---
> > v0 -> v1:
> > 	* Accept comment from Parav Pandit and make struct net_device const
> > ---
> >  drivers/infiniband/core/addr.c | 26 ++++++++++++++------------
> > drivers/infiniband/core/cma.c  |  8 ++------
> >  include/rdma/ib_addr.h         |  5 +++--
> >  3 files changed, 19 insertions(+), 20 deletions(-)
> > 
> > diff --git a/drivers/infiniband/core/addr.c b/drivers/infiniband/core/addr.c index
> > 12523f630b61..a80a4040352a 100644
> > --- a/drivers/infiniband/core/addr.c
> > +++ b/drivers/infiniband/core/addr.c
> > @@ -229,8 +229,9 @@ void rdma_addr_unregister_client(struct
> > rdma_addr_client *client)  }  EXPORT_SYMBOL(rdma_addr_unregister_client);
> > 
> > -int rdma_copy_addr(struct rdma_dev_addr *dev_addr, struct net_device *dev,
> > -		     const unsigned char *dst_dev_addr)
> > +void rdma_copy_addr(struct rdma_dev_addr *dev_addr,
> > +		    const struct net_device *dev,
> > +		    const unsigned char *dst_dev_addr)
> >  {
> >  	dev_addr->dev_type = dev->type;
> >  	memcpy(dev_addr->src_dev_addr, dev->dev_addr, MAX_ADDR_LEN);
> > @@ -238,7 +239,6 @@ int rdma_copy_addr(struct rdma_dev_addr *dev_addr,
> > struct net_device *dev,
> >  	if (dst_dev_addr)
> >  		memcpy(dev_addr->dst_dev_addr, dst_dev_addr,
> > MAX_ADDR_LEN);
> >  	dev_addr->bound_dev_if = dev->ifindex;
> > -	return 0;
> >  }
> >  EXPORT_SYMBOL(rdma_copy_addr);
> > 
> > @@ -247,15 +247,14 @@ int rdma_translate_ip(const struct sockaddr *addr,
> >  		      u16 *vlan_id)
> >  {
> >  	struct net_device *dev;
> > -	int ret = -EADDRNOTAVAIL;
> > 
> >  	if (dev_addr->bound_dev_if) {
> >  		dev = dev_get_by_index(dev_addr->net, dev_addr-
> > >bound_dev_if);
> >  		if (!dev)
> >  			return -ENODEV;
> > -		ret = rdma_copy_addr(dev_addr, dev, NULL);
> > +		rdma_copy_addr(dev_addr, dev, NULL);
> >  		dev_put(dev);
> > -		return ret;
> > +		return 0;
> >  	}
> > 
> >  	switch (addr->sa_family) {
> > @@ -264,9 +263,9 @@ int rdma_translate_ip(const struct sockaddr *addr,
> >  			((const struct sockaddr_in *)addr)->sin_addr.s_addr);
> > 
> >  		if (!dev)
> > -			return ret;
> > +			return -EADDRNOTAVAIL;
> > 
> > -		ret = rdma_copy_addr(dev_addr, dev, NULL);
> > +		rdma_copy_addr(dev_addr, dev, NULL);
> >  		dev_addr->bound_dev_if = dev->ifindex;
> >  		if (vlan_id)
> >  			*vlan_id = rdma_vlan_dev_vlan_id(dev); @@ -279,7
> > +278,7 @@ int rdma_translate_ip(const struct sockaddr *addr,
> >  			if (ipv6_chk_addr(dev_addr->net,
> >  					  &((const struct sockaddr_in6 *)addr)-
> > >sin6_addr,
> >  					  dev, 1)) {
> > -				ret = rdma_copy_addr(dev_addr, dev, NULL);
> > +				rdma_copy_addr(dev_addr, dev, NULL);
> >  				dev_addr->bound_dev_if = dev->ifindex;
> >  				if (vlan_id)
> >  					*vlan_id =
> > rdma_vlan_dev_vlan_id(dev); @@ -290,7 +289,7 @@ int
> > rdma_translate_ip(const struct sockaddr *addr,
> >  		break;
> >  #endif
> >  	}
> > -	return ret;
> > +	return 0;
> >  }
> >  EXPORT_SYMBOL(rdma_translate_ip);
> > 
> > @@ -346,7 +345,8 @@ static int dst_fetch_ha(struct dst_entry *dst, struct
> > rdma_dev_addr *dev_addr,
> >  			neigh_event_send(n, NULL);
> >  		ret = -ENODATA;
> >  	} else {
> > -		ret = rdma_copy_addr(dev_addr, dst->dev, n->ha);
> > +		rdma_copy_addr(dev_addr, dst->dev, n->ha);
> > +		ret = 0;
> >  	}
> >  	rcu_read_unlock();
> > 
> > @@ -494,7 +494,9 @@ static int addr_resolve_neigh(struct dst_entry *dst,
> >  	if (!(dst->dev->flags & IFF_NOARP))
> >  		return fetch_ha(dst, addr, dst_in, seq);
> > 
> > -	return rdma_copy_addr(addr, dst->dev, NULL);
> > +	rdma_copy_addr(addr, dst->dev, NULL);
> > +
> > +	return 0;
> >  }
> > 
> >  static int addr_resolve(struct sockaddr *src_in, diff --git
> > a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c index
> > 852c8fec8088..0527a6a7ef26 100644
> > --- a/drivers/infiniband/core/cma.c
> > +++ b/drivers/infiniband/core/cma.c
> > @@ -1846,9 +1846,7 @@ static struct rdma_id_private
> > *cma_new_conn_id(struct rdma_cm_id *listen_id,
> >  		rt->path_rec[1] = *ib_event->param.req_rcvd.alternate_path;
> > 
> >  	if (net_dev) {
> > -		ret = rdma_copy_addr(&rt->addr.dev_addr, net_dev, NULL);
> > -		if (ret)
> > -			goto err;
> > +		rdma_copy_addr(&rt->addr.dev_addr, net_dev, NULL);
> >  	} else {
> >  		if (!cma_protocol_roce(listen_id) &&
> >  		    cma_any_addr(cma_src_addr(id_priv))) { @@ -1894,9
> > +1892,7 @@ static struct rdma_id_private *cma_new_udp_id(struct
> > rdma_cm_id *listen_id,
> >  		goto err;
> > 
> >  	if (net_dev) {
> > -		ret = rdma_copy_addr(&id->route.addr.dev_addr, net_dev,
> > NULL);
> > -		if (ret)
> > -			goto err;
> > +		rdma_copy_addr(&id->route.addr.dev_addr, net_dev, NULL);
> >  	} else {
> >  		if (!cma_any_addr(cma_src_addr(id_priv))) {
> >  			ret = cma_translate_addr(cma_src_addr(id_priv),
> > diff --git a/include/rdma/ib_addr.h b/include/rdma/ib_addr.h index
> > ec5008cf5d51..910a5703d9a9 100644
> > --- a/include/rdma/ib_addr.h
> > +++ b/include/rdma/ib_addr.h
> > @@ -125,8 +125,9 @@ int rdma_resolve_ip_route(struct sockaddr *src_addr,
> > 
> >  void rdma_addr_cancel(struct rdma_dev_addr *addr);
> > 
> > -int rdma_copy_addr(struct rdma_dev_addr *dev_addr, struct net_device *dev,
> > -	      const unsigned char *dst_dev_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(struct sockaddr *addr);
> > 
> > --
> > 2.13.6
> 
> I prefer subject to be RDMA/core <..> as this change is applicable to IB, iWarp and RoCE.
> Reviewed-by: Parav Pandit <parav@mellanox.com>

Will fix and post v2.

btw, for my understanding:
Isn't it that all (at least most of) IB Verbs applies also to RoCE but
function names are still prefixed by ib_ ?

> --
> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Leon Romanovsky Nov. 7, 2017, 8:13 a.m. UTC | #3
On Tue, Nov 07, 2017 at 08:38:42AM +0200, Yuval Shaia wrote:
> On Mon, Nov 06, 2017 at 05:05:10PM +0000, Parav Pandit wrote:
> >
> >
> > > -----Original Message-----
> > > From: Yuval Shaia [mailto:yuval.shaia@oracle.com]
> > > Sent: Monday, November 06, 2017 5:49 AM
> > > To: dledford@redhat.com; sean.hefty@intel.com; hal.rosenstock@gmail.com;
> > > Leon Romanovsky <leonro@mellanox.com>; swise@opengridcomputing.com;
> > > pabeni@redhat.com; johannes.berg@intel.com; Moni Shoua
> > > <monis@mellanox.com>; yuval.shaia@oracle.com; Parav Pandit
> > > <parav@mellanox.com>; Mark Bloch <markb@mellanox.com>;
> > > ira.weiny@intel.com; don.hiatt@intel.com;
> > > dasaratharaman.chandramouli@intel.com; Majd Dibbiny
> > > <majd@mellanox.com>; arnd@arndb.de; linux-rdma@vger.kernel.org
> > > Subject: [PATCH v1] IB/core: Make function rdma_copy_addr return void
> > >
> > > Function returns zero - make it void.
> > >
> > > While there make struct net_device const.
> > >
> > > Signed-off-by: Yuval Shaia <yuval.shaia@oracle.com>
> > > ---
> > > v0 -> v1:
> > > 	* Accept comment from Parav Pandit and make struct net_device const
> > > ---
> > >  drivers/infiniband/core/addr.c | 26 ++++++++++++++------------
> > > drivers/infiniband/core/cma.c  |  8 ++------
> > >  include/rdma/ib_addr.h         |  5 +++--
> > >  3 files changed, 19 insertions(+), 20 deletions(-)
> > >
> > > diff --git a/drivers/infiniband/core/addr.c b/drivers/infiniband/core/addr.c index
> > > 12523f630b61..a80a4040352a 100644
> > > --- a/drivers/infiniband/core/addr.c
> > > +++ b/drivers/infiniband/core/addr.c
> > > @@ -229,8 +229,9 @@ void rdma_addr_unregister_client(struct
> > > rdma_addr_client *client)  }  EXPORT_SYMBOL(rdma_addr_unregister_client);
> > >
> > > -int rdma_copy_addr(struct rdma_dev_addr *dev_addr, struct net_device *dev,
> > > -		     const unsigned char *dst_dev_addr)
> > > +void rdma_copy_addr(struct rdma_dev_addr *dev_addr,
> > > +		    const struct net_device *dev,
> > > +		    const unsigned char *dst_dev_addr)
> > >  {
> > >  	dev_addr->dev_type = dev->type;
> > >  	memcpy(dev_addr->src_dev_addr, dev->dev_addr, MAX_ADDR_LEN);
> > > @@ -238,7 +239,6 @@ int rdma_copy_addr(struct rdma_dev_addr *dev_addr,
> > > struct net_device *dev,
> > >  	if (dst_dev_addr)
> > >  		memcpy(dev_addr->dst_dev_addr, dst_dev_addr,
> > > MAX_ADDR_LEN);
> > >  	dev_addr->bound_dev_if = dev->ifindex;
> > > -	return 0;
> > >  }
> > >  EXPORT_SYMBOL(rdma_copy_addr);
> > >
> > > @@ -247,15 +247,14 @@ int rdma_translate_ip(const struct sockaddr *addr,
> > >  		      u16 *vlan_id)
> > >  {
> > >  	struct net_device *dev;
> > > -	int ret = -EADDRNOTAVAIL;
> > >
> > >  	if (dev_addr->bound_dev_if) {
> > >  		dev = dev_get_by_index(dev_addr->net, dev_addr-
> > > >bound_dev_if);
> > >  		if (!dev)
> > >  			return -ENODEV;
> > > -		ret = rdma_copy_addr(dev_addr, dev, NULL);
> > > +		rdma_copy_addr(dev_addr, dev, NULL);
> > >  		dev_put(dev);
> > > -		return ret;
> > > +		return 0;
> > >  	}
> > >
> > >  	switch (addr->sa_family) {
> > > @@ -264,9 +263,9 @@ int rdma_translate_ip(const struct sockaddr *addr,
> > >  			((const struct sockaddr_in *)addr)->sin_addr.s_addr);
> > >
> > >  		if (!dev)
> > > -			return ret;
> > > +			return -EADDRNOTAVAIL;
> > >
> > > -		ret = rdma_copy_addr(dev_addr, dev, NULL);
> > > +		rdma_copy_addr(dev_addr, dev, NULL);
> > >  		dev_addr->bound_dev_if = dev->ifindex;
> > >  		if (vlan_id)
> > >  			*vlan_id = rdma_vlan_dev_vlan_id(dev); @@ -279,7
> > > +278,7 @@ int rdma_translate_ip(const struct sockaddr *addr,
> > >  			if (ipv6_chk_addr(dev_addr->net,
> > >  					  &((const struct sockaddr_in6 *)addr)-
> > > >sin6_addr,
> > >  					  dev, 1)) {
> > > -				ret = rdma_copy_addr(dev_addr, dev, NULL);
> > > +				rdma_copy_addr(dev_addr, dev, NULL);
> > >  				dev_addr->bound_dev_if = dev->ifindex;
> > >  				if (vlan_id)
> > >  					*vlan_id =
> > > rdma_vlan_dev_vlan_id(dev); @@ -290,7 +289,7 @@ int
> > > rdma_translate_ip(const struct sockaddr *addr,
> > >  		break;
> > >  #endif
> > >  	}
> > > -	return ret;
> > > +	return 0;
> > >  }
> > >  EXPORT_SYMBOL(rdma_translate_ip);
> > >
> > > @@ -346,7 +345,8 @@ static int dst_fetch_ha(struct dst_entry *dst, struct
> > > rdma_dev_addr *dev_addr,
> > >  			neigh_event_send(n, NULL);
> > >  		ret = -ENODATA;
> > >  	} else {
> > > -		ret = rdma_copy_addr(dev_addr, dst->dev, n->ha);
> > > +		rdma_copy_addr(dev_addr, dst->dev, n->ha);
> > > +		ret = 0;
> > >  	}
> > >  	rcu_read_unlock();
> > >
> > > @@ -494,7 +494,9 @@ static int addr_resolve_neigh(struct dst_entry *dst,
> > >  	if (!(dst->dev->flags & IFF_NOARP))
> > >  		return fetch_ha(dst, addr, dst_in, seq);
> > >
> > > -	return rdma_copy_addr(addr, dst->dev, NULL);
> > > +	rdma_copy_addr(addr, dst->dev, NULL);
> > > +
> > > +	return 0;
> > >  }
> > >
> > >  static int addr_resolve(struct sockaddr *src_in, diff --git
> > > a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c index
> > > 852c8fec8088..0527a6a7ef26 100644
> > > --- a/drivers/infiniband/core/cma.c
> > > +++ b/drivers/infiniband/core/cma.c
> > > @@ -1846,9 +1846,7 @@ static struct rdma_id_private
> > > *cma_new_conn_id(struct rdma_cm_id *listen_id,
> > >  		rt->path_rec[1] = *ib_event->param.req_rcvd.alternate_path;
> > >
> > >  	if (net_dev) {
> > > -		ret = rdma_copy_addr(&rt->addr.dev_addr, net_dev, NULL);
> > > -		if (ret)
> > > -			goto err;
> > > +		rdma_copy_addr(&rt->addr.dev_addr, net_dev, NULL);
> > >  	} else {
> > >  		if (!cma_protocol_roce(listen_id) &&
> > >  		    cma_any_addr(cma_src_addr(id_priv))) { @@ -1894,9
> > > +1892,7 @@ static struct rdma_id_private *cma_new_udp_id(struct
> > > rdma_cm_id *listen_id,
> > >  		goto err;
> > >
> > >  	if (net_dev) {
> > > -		ret = rdma_copy_addr(&id->route.addr.dev_addr, net_dev,
> > > NULL);
> > > -		if (ret)
> > > -			goto err;
> > > +		rdma_copy_addr(&id->route.addr.dev_addr, net_dev, NULL);
> > >  	} else {
> > >  		if (!cma_any_addr(cma_src_addr(id_priv))) {
> > >  			ret = cma_translate_addr(cma_src_addr(id_priv),
> > > diff --git a/include/rdma/ib_addr.h b/include/rdma/ib_addr.h index
> > > ec5008cf5d51..910a5703d9a9 100644
> > > --- a/include/rdma/ib_addr.h
> > > +++ b/include/rdma/ib_addr.h
> > > @@ -125,8 +125,9 @@ int rdma_resolve_ip_route(struct sockaddr *src_addr,
> > >
> > >  void rdma_addr_cancel(struct rdma_dev_addr *addr);
> > >
> > > -int rdma_copy_addr(struct rdma_dev_addr *dev_addr, struct net_device *dev,
> > > -	      const unsigned char *dst_dev_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(struct sockaddr *addr);
> > >
> > > --
> > > 2.13.6
> >
> > I prefer subject to be RDMA/core <..> as this change is applicable to IB, iWarp and RoCE.
> > Reviewed-by: Parav Pandit <parav@mellanox.com>
>
> Will fix and post v2.
>
> btw, for my understanding:
> Isn't it that all (at least most of) IB Verbs applies also to RoCE but
> function names are still prefixed by ib_ ?

It doesn't matter, both ib_ and rdma_ are good.

Thanks

>
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/infiniband/core/addr.c b/drivers/infiniband/core/addr.c
index 12523f630b61..a80a4040352a 100644
--- a/drivers/infiniband/core/addr.c
+++ b/drivers/infiniband/core/addr.c
@@ -229,8 +229,9 @@  void rdma_addr_unregister_client(struct rdma_addr_client *client)
 }
 EXPORT_SYMBOL(rdma_addr_unregister_client);
 
-int rdma_copy_addr(struct rdma_dev_addr *dev_addr, struct net_device *dev,
-		     const unsigned char *dst_dev_addr)
+void rdma_copy_addr(struct rdma_dev_addr *dev_addr,
+		    const struct net_device *dev,
+		    const unsigned char *dst_dev_addr)
 {
 	dev_addr->dev_type = dev->type;
 	memcpy(dev_addr->src_dev_addr, dev->dev_addr, MAX_ADDR_LEN);
@@ -238,7 +239,6 @@  int rdma_copy_addr(struct rdma_dev_addr *dev_addr, struct net_device *dev,
 	if (dst_dev_addr)
 		memcpy(dev_addr->dst_dev_addr, dst_dev_addr, MAX_ADDR_LEN);
 	dev_addr->bound_dev_if = dev->ifindex;
-	return 0;
 }
 EXPORT_SYMBOL(rdma_copy_addr);
 
@@ -247,15 +247,14 @@  int rdma_translate_ip(const struct sockaddr *addr,
 		      u16 *vlan_id)
 {
 	struct net_device *dev;
-	int ret = -EADDRNOTAVAIL;
 
 	if (dev_addr->bound_dev_if) {
 		dev = dev_get_by_index(dev_addr->net, dev_addr->bound_dev_if);
 		if (!dev)
 			return -ENODEV;
-		ret = rdma_copy_addr(dev_addr, dev, NULL);
+		rdma_copy_addr(dev_addr, dev, NULL);
 		dev_put(dev);
-		return ret;
+		return 0;
 	}
 
 	switch (addr->sa_family) {
@@ -264,9 +263,9 @@  int rdma_translate_ip(const struct sockaddr *addr,
 			((const struct sockaddr_in *)addr)->sin_addr.s_addr);
 
 		if (!dev)
-			return ret;
+			return -EADDRNOTAVAIL;
 
-		ret = rdma_copy_addr(dev_addr, dev, NULL);
+		rdma_copy_addr(dev_addr, dev, NULL);
 		dev_addr->bound_dev_if = dev->ifindex;
 		if (vlan_id)
 			*vlan_id = rdma_vlan_dev_vlan_id(dev);
@@ -279,7 +278,7 @@  int rdma_translate_ip(const struct sockaddr *addr,
 			if (ipv6_chk_addr(dev_addr->net,
 					  &((const struct sockaddr_in6 *)addr)->sin6_addr,
 					  dev, 1)) {
-				ret = rdma_copy_addr(dev_addr, dev, NULL);
+				rdma_copy_addr(dev_addr, dev, NULL);
 				dev_addr->bound_dev_if = dev->ifindex;
 				if (vlan_id)
 					*vlan_id = rdma_vlan_dev_vlan_id(dev);
@@ -290,7 +289,7 @@  int rdma_translate_ip(const struct sockaddr *addr,
 		break;
 #endif
 	}
-	return ret;
+	return 0;
 }
 EXPORT_SYMBOL(rdma_translate_ip);
 
@@ -346,7 +345,8 @@  static int dst_fetch_ha(struct dst_entry *dst, struct rdma_dev_addr *dev_addr,
 			neigh_event_send(n, NULL);
 		ret = -ENODATA;
 	} else {
-		ret = rdma_copy_addr(dev_addr, dst->dev, n->ha);
+		rdma_copy_addr(dev_addr, dst->dev, n->ha);
+		ret = 0;
 	}
 	rcu_read_unlock();
 
@@ -494,7 +494,9 @@  static int addr_resolve_neigh(struct dst_entry *dst,
 	if (!(dst->dev->flags & IFF_NOARP))
 		return fetch_ha(dst, addr, dst_in, seq);
 
-	return rdma_copy_addr(addr, dst->dev, NULL);
+	rdma_copy_addr(addr, dst->dev, NULL);
+
+	return 0;
 }
 
 static int addr_resolve(struct sockaddr *src_in,
diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c
index 852c8fec8088..0527a6a7ef26 100644
--- a/drivers/infiniband/core/cma.c
+++ b/drivers/infiniband/core/cma.c
@@ -1846,9 +1846,7 @@  static struct rdma_id_private *cma_new_conn_id(struct rdma_cm_id *listen_id,
 		rt->path_rec[1] = *ib_event->param.req_rcvd.alternate_path;
 
 	if (net_dev) {
-		ret = rdma_copy_addr(&rt->addr.dev_addr, net_dev, NULL);
-		if (ret)
-			goto err;
+		rdma_copy_addr(&rt->addr.dev_addr, net_dev, NULL);
 	} else {
 		if (!cma_protocol_roce(listen_id) &&
 		    cma_any_addr(cma_src_addr(id_priv))) {
@@ -1894,9 +1892,7 @@  static struct rdma_id_private *cma_new_udp_id(struct rdma_cm_id *listen_id,
 		goto err;
 
 	if (net_dev) {
-		ret = rdma_copy_addr(&id->route.addr.dev_addr, net_dev, NULL);
-		if (ret)
-			goto err;
+		rdma_copy_addr(&id->route.addr.dev_addr, net_dev, NULL);
 	} else {
 		if (!cma_any_addr(cma_src_addr(id_priv))) {
 			ret = cma_translate_addr(cma_src_addr(id_priv),
diff --git a/include/rdma/ib_addr.h b/include/rdma/ib_addr.h
index ec5008cf5d51..910a5703d9a9 100644
--- a/include/rdma/ib_addr.h
+++ b/include/rdma/ib_addr.h
@@ -125,8 +125,9 @@  int rdma_resolve_ip_route(struct sockaddr *src_addr,
 
 void rdma_addr_cancel(struct rdma_dev_addr *addr);
 
-int rdma_copy_addr(struct rdma_dev_addr *dev_addr, struct net_device *dev,
-	      const unsigned char *dst_dev_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(struct sockaddr *addr);