[openib-general] [PATCH] IB/SRP: Enable multichannel

Vu Pham vuhuong at mellanox.com
Wed Sep 27 09:21:01 PDT 2006


Vu Pham wrote:
> Michael S. Tsirkin wrote:
> 
>>Quoting r. Vu Pham <vuhuong at mellanox.com>:
>>
>>
>>>Either you can use multiple channels or derive different 
>>>initiator_port_ID in the login req to have multiple paths on 
>>>the same physical port
>>
>>
>>So how about we just stick a pointer inside the indentifier extension
>>instead of enabling multichannel?
>>
> 
> 
> That's the simple change. Beside that you have to maintain a 
> list of connections/channels connected to the same target, 
> to manage/clean-up resource associated with these 
> connections, how to handle error recovery especially target 
> reset and host reset...
> 
> What is the advantage to have multiple connections/qps on 
> the same physical port to the same target? The disavantages 
> are wasting resources, instability, no fail-over on physical 
> port error...
> 

I see the limitation of current srp implementation. If we 
have the following topoloty
host port 1 -- target port 1
host port 1 -- target port 2

the current srp implementation will use the same 
initiator_port_id for both login requests and the target 
will reject the second login if you don't turn on 
SUPPORT_MULTI_CHANNEL

Another way to solve this is to use different 
initiator_port_id for the logins ie.

path 1: initiator_port_ID{target_port1_GUID, 
initiator_port1_GUID} and target_port_ID{id_ext, ioc_guid}

path 2: 
initiator_port_ID{target_port2_GUID,initiator_port1_GUID} 
and target_port_ID

This also will guarantee the uniqueness of initiator_port_id 
in the fabric





More information about the general mailing list