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

From: Michael Wang
Date: Tue Apr 21 2015 - 04:05:55 EST


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 majordomo@xxxxxxxxxxxxxxx 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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/