Re: [PATCH rdma-next] IB/ipoib: Enable ioctl for to IPoIB rdma netdevs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Aug 23, 2017 at 08:37:21AM +0300, Leon Romanovsky wrote:
> From: Feras Daoud <ferasda@xxxxxxxxxxxx>
> 
> Adds support for ioctl callback in the RDMA netdevs to allow
> supporting functions not handled by the generic interface code.

Suggesting:
s/supporting functions/supporting ioctl functions

Reviewed-by: Yuval Shaia <yuval.shaia@xxxxxxxxxx>

> 
> Signed-off-by: Feras Daoud <ferasda@xxxxxxxxxxxx>
> Signed-off-by: Eitan Rabin <rabin@xxxxxxxxxxxx>
> Signed-off-by: Leon Romanovsky <leon@xxxxxxxxxx>
> ---
>  drivers/infiniband/ulp/ipoib/ipoib_main.c | 15 +++++++++++++++
>  1 file changed, 15 insertions(+)
> 
> diff --git a/drivers/infiniband/ulp/ipoib/ipoib_main.c b/drivers/infiniband/ulp/ipoib/ipoib_main.c
> index 9e8dce6e9fc2..cc3615dd6f1a 100644
> --- a/drivers/infiniband/ulp/ipoib/ipoib_main.c
> +++ b/drivers/infiniband/ulp/ipoib/ipoib_main.c
> @@ -99,6 +99,8 @@ static struct net_device *ipoib_get_net_dev_by_params(
>  		const union ib_gid *gid, const struct sockaddr *addr,
>  		void *client_data);
>  static int ipoib_set_mac(struct net_device *dev, void *addr);
> +static int ipoib_ioctl(struct net_device *dev, struct ifreq *ifr,
> +		       int cmd);
> 
>  static struct ib_client ipoib_client = {
>  	.name   = "ipoib",
> @@ -1680,6 +1682,17 @@ static int ipoib_dev_init_default(struct net_device *dev)
>  	return -ENOMEM;
>  }
> 
> +static int ipoib_ioctl(struct net_device *dev, struct ifreq *ifr,
> +		       int cmd)
> +{
> +	struct ipoib_dev_priv *priv = ipoib_priv(dev);
> +
> +	if (!priv->rn_ops->ndo_do_ioctl)
> +		return -EOPNOTSUPP;
> +
> +	return priv->rn_ops->ndo_do_ioctl(dev, ifr, cmd);
> +}
> +
>  int ipoib_dev_init(struct net_device *dev, struct ib_device *ca, int port)
>  {
>  	struct ipoib_dev_priv *priv = ipoib_priv(dev);
> @@ -1834,6 +1847,7 @@ static const struct net_device_ops ipoib_netdev_ops_pf = {
>  	.ndo_set_vf_guid	 = ipoib_set_vf_guid,
>  	.ndo_set_mac_address	 = ipoib_set_mac,
>  	.ndo_get_stats64	 = ipoib_get_stats,
> +	.ndo_do_ioctl		 = ipoib_ioctl,
>  };
> 
>  static const struct net_device_ops ipoib_netdev_ops_vf = {
> @@ -1847,6 +1861,7 @@ static const struct net_device_ops ipoib_netdev_ops_vf = {
>  	.ndo_set_rx_mode	 = ipoib_set_mcast_list,
>  	.ndo_get_iflink		 = ipoib_get_iflink,
>  	.ndo_get_stats64	 = ipoib_get_stats,
> +	.ndo_do_ioctl		 = ipoib_ioctl,
>  };
> 
>  void ipoib_setup_common(struct net_device *dev)
> --
> 2.14.1
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> 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@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux