Re: [PATCH v5 13/27] IB/Verbs: Reserve legacy transport type in 'dev_addr'

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

 



On Mon, Apr 20, 2015 at 10:38:00AM +0200, Michael Wang wrote:
> 
> Reserve the legacy transport type for the 'transport' member
> of 'struct rdma_dev_addr' until we make sure this is no
> longer needed.
> 
> Cc: Hal Rosenstock <hal@xxxxxxxxxxxxxxxxxx>
> Cc: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx>
> Cc: Tom Talpey <tom@xxxxxxxxxx>
> Cc: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx>
> Cc: Doug Ledford <dledford@xxxxxxxxxx>
> Cc: Ira Weiny <ira.weiny@xxxxxxxxx>
> Cc: Sean Hefty <sean.hefty@xxxxxxxxx>
> Signed-off-by: Michael Wang <yun.wang@xxxxxxxxxxxxxxxx>

Reviewed-by: Ira Weiny <ira.weiny@xxxxxxxxx>

> ---
>  drivers/infiniband/core/cma.c | 25 +++++++++++++++++++++++--
>  1 file changed, 23 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c
> index ebac646..6195bf6 100644
> --- a/drivers/infiniband/core/cma.c
> +++ b/drivers/infiniband/core/cma.c
> @@ -244,14 +244,35 @@ static inline void cma_set_ip_ver(struct cma_hdr *hdr, u8 ip_ver)
>  	hdr->ip_version = (ip_ver << 4) | (hdr->ip_version & 0xF);
>  }
>  
> +static inline void cma_set_legacy_transport(struct rdma_cm_id *id)
> +{
> +	switch (id->device->node_type) {
> +	case RDMA_NODE_IB_CA:
> +	case RDMA_NODE_IB_SWITCH:
> +	case RDMA_NODE_IB_ROUTER:
> +		id->route.addr.dev_addr.transport = RDMA_TRANSPORT_IB;
> +		break;
> +	case RDMA_NODE_RNIC:
> +		id->route.addr.dev_addr.transport = RDMA_TRANSPORT_IWARP;
> +		break;
> +	case RDMA_NODE_USNIC:
> +		id->route.addr.dev_addr.transport = RDMA_TRANSPORT_USNIC;
> +		break;
> +	case RDMA_NODE_USNIC_UDP:
> +		id->route.addr.dev_addr.transport = RDMA_TRANSPORT_USNIC_UDP;
> +		break;
> +	default:
> +		BUG();
> +	}
> +}
> +
>  static void cma_attach_to_dev(struct rdma_id_private *id_priv,
>  			      struct cma_device *cma_dev)
>  {
>  	atomic_inc(&cma_dev->refcount);
>  	id_priv->cma_dev = cma_dev;
>  	id_priv->id.device = cma_dev->device;
> -	id_priv->id.route.addr.dev_addr.transport =
> -		rdma_node_get_transport(cma_dev->device->node_type);
> +	cma_set_legacy_transport(&id_priv->id);
>  	list_add_tail(&id_priv->list, &cma_dev->id_list);
>  }
>  
> -- 
> 2.1.0
--
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