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

2015-04-21 Thread ira.weiny
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 
> Cc: Steve Wise 
> Cc: Tom Talpey 
> Cc: Jason Gunthorpe 
> Cc: Doug Ledford 
> Cc: Ira Weiny 
> Cc: Sean Hefty 
> Signed-off-by: Michael Wang 

Reviewed-by: Ira Weiny 

> ---
>  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(_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(_priv->id);
>   list_add_tail(_priv->list, _dev->id_list);
>  }
>  
> -- 
> 2.1.0
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2015-04-21 Thread Michael Wang
On 04/21/2015 07:58 AM, Devesh Sharma wrote:
[snip]
>>
>> 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;
> 
> What about IBOE transport, am I missing something here? As of today ocrdma 
> exports node_type  as RDMA_NODE_IB_CA, here transport will be set to 
> RDMA_TRANSPORT_IB,
> Should it be RDMA_TRANPORT_IBOE?

This part is actually just the old method we used to get transport type, I'm
not sure about the usage of this 'transport' so reserve the old way for it :-P

Actually I can't locate the place using this stuff in core layer, thus I guess 
it
may be used by user layer or the protocol, as long as these layer using the old
logical, we better don't touch anything ;-)

Regards,
Michael Wang

> 
>> +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(_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(_priv->id);
>>  list_add_tail(_priv->list, _dev->id_list);  }
>>
>> --
>> 2.1.0
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the 
>> body
>> of a message to majord...@vger.kernel.org More majordomo info at
>> http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2015-04-21 Thread Michael Wang
On 04/21/2015 07:58 AM, Devesh Sharma wrote:
[snip]

 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;
 
 What about IBOE transport, am I missing something here? As of today ocrdma 
 exports node_type  as RDMA_NODE_IB_CA, here transport will be set to 
 RDMA_TRANSPORT_IB,
 Should it be RDMA_TRANPORT_IBOE?

This part is actually just the old method we used to get transport type, I'm
not sure about the usage of this 'transport' so reserve the old way for it :-P

Actually I can't locate the place using this stuff in core layer, thus I guess 
it
may be used by user layer or the protocol, as long as these layer using the old
logical, we better don't touch anything ;-)

Regards,
Michael Wang

 
 +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 majord...@vger.kernel.org More majordomo info at
 http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2015-04-21 Thread ira.weiny
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 h...@dev.mellanox.co.il
 Cc: Steve Wise sw...@opengridcomputing.com
 Cc: Tom Talpey t...@talpey.com
 Cc: Jason Gunthorpe jguntho...@obsidianresearch.com
 Cc: Doug Ledford dledf...@redhat.com
 Cc: Ira Weiny ira.we...@intel.com
 Cc: Sean Hefty sean.he...@intel.com
 Signed-off-by: Michael Wang yun.w...@profitbricks.com

Reviewed-by: Ira Weiny ira.we...@intel.com

 ---
  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-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2015-04-20 Thread Devesh Sharma
> -Original Message-
> From: linux-rdma-ow...@vger.kernel.org [mailto:linux-rdma-
> ow...@vger.kernel.org] On Behalf Of Michael Wang
> Sent: Monday, April 20, 2015 2:08 PM
> To: Roland Dreier; Sean Hefty; linux-r...@vger.kernel.org; linux-
> ker...@vger.kernel.org; h...@dev.mellanox.co.il
> Cc: Michael Wang; Tom Tucker; Steve Wise; Hoang-Nam Nguyen; Christoph
> Raisch; Mike Marciniszyn; Eli Cohen; Faisal Latif; Jack Morgenstein; Or 
> Gerlitz;
> Haggai Eran; Ira Weiny; Tom Talpey; Jason Gunthorpe; Doug Ledford
> Subject: [PATCH v5 13/27] IB/Verbs: Reserve legacy transport type in
> 'dev_addr'
> 
> 
> 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 
> Cc: Steve Wise 
> Cc: Tom Talpey 
> Cc: Jason Gunthorpe 
> Cc: Doug Ledford 
> Cc: Ira Weiny 
> Cc: Sean Hefty 
> Signed-off-by: Michael Wang 
> ---
>  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;

What about IBOE transport, am I missing something here? As of today ocrdma 
exports node_type  as RDMA_NODE_IB_CA, here transport will be set to 
RDMA_TRANSPORT_IB,
Should it be RDMA_TRANPORT_IBOE?

> + 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(_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(_priv->id);
>   list_add_tail(_priv->list, _dev->id_list);  }
> 
> --
> 2.1.0
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the 
> body
> of a message to majord...@vger.kernel.org More majordomo info at
> http://vger.kernel.org/majordomo-info.html


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

2015-04-20 Thread Devesh Sharma
 -Original Message-
 From: linux-rdma-ow...@vger.kernel.org [mailto:linux-rdma-
 ow...@vger.kernel.org] On Behalf Of Michael Wang
 Sent: Monday, April 20, 2015 2:08 PM
 To: Roland Dreier; Sean Hefty; linux-r...@vger.kernel.org; linux-
 ker...@vger.kernel.org; h...@dev.mellanox.co.il
 Cc: Michael Wang; Tom Tucker; Steve Wise; Hoang-Nam Nguyen; Christoph
 Raisch; Mike Marciniszyn; Eli Cohen; Faisal Latif; Jack Morgenstein; Or 
 Gerlitz;
 Haggai Eran; Ira Weiny; Tom Talpey; Jason Gunthorpe; Doug Ledford
 Subject: [PATCH v5 13/27] IB/Verbs: Reserve legacy transport type in
 'dev_addr'
 
 
 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 h...@dev.mellanox.co.il
 Cc: Steve Wise sw...@opengridcomputing.com
 Cc: Tom Talpey t...@talpey.com
 Cc: Jason Gunthorpe jguntho...@obsidianresearch.com
 Cc: Doug Ledford dledf...@redhat.com
 Cc: Ira Weiny ira.we...@intel.com
 Cc: Sean Hefty sean.he...@intel.com
 Signed-off-by: Michael Wang yun.w...@profitbricks.com
 ---
  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;

What about IBOE transport, am I missing something here? As of today ocrdma 
exports node_type  as RDMA_NODE_IB_CA, here transport will be set to 
RDMA_TRANSPORT_IB,
Should it be RDMA_TRANPORT_IBOE?

 + 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 majord...@vger.kernel.org More majordomo info at
 http://vger.kernel.org/majordomo-info.html