On Sat, Jun 6, 2009 at 11:40 AM, Bart Van Assche <span dir="ltr"><<a href="mailto:bart.vanassche@gmail.com">bart.vanassche@gmail.com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div></div><div class="h5">On Sat, Jun 6, 2009 at 7:27 PM, Chris Worley <<a href="mailto:worleys@gmail.com">worleys@gmail.com</a>> wrote:<br>
><br>
> On Sat, Jun 6, 2009 at 1:36 AM, Bart Van Assche<br>
> <<a href="mailto:bart.vanassche@gmail.com">bart.vanassche@gmail.com</a>> wrote:<br>
> > On Sat, Jun 6, 2009 at 1:15 AM, Chris Worley<<a href="mailto:worleys@gmail.com">worleys@gmail.com</a>> wrote:<br>
> >> Setup: 1.4.1 w/ 3 dual-port QDR cards in each of two hosts, all ports<br>
> >> direct connected, opensm running on all port GUIDs from one host, all<br>
> >> links active.<br>
> >><br>
> >> Problem: ibsrpdm only advertises the first port of the first HCA of the target.<br>
> >> Next problem: I can add targets via<br>
> >> /sys/class/infiniband_srp/srp-*/add_target on the initiator, but only<br>
> >> when naming the two port guids of the first HCA on the target.  In<br>
> >> testing, both ports are used.<br>
> >><br>
> >> Can somebody aim me in the right direction of what/who's stopping<br>
> >> after the first HCA?<br>
> ><br>
> > Please have a look at the /sys/class/infiniband_srpt/srpt-*/login_info<br>
> > information on the target. The following information should be<br>
> > present:<br>
> > * One /sys/class/infiniband_srpt/srpt-* entry per HCA.<br>
> > * For each HCA, /sys/class/infiniband_srpt/srpt-${HCA}/login_info<br>
> > should contain one line for each port of that HCA.<br>
><br>
> # cat /sys/class/infiniband_srpt/srpt-*/login_info<br>
> tid_ext=0024710000000040,ioc_guid=0024710000000040,pkey=ffff,dgid=fe800000000000000024710000000041,service_id=0024710000000040<br>
> tid_ext=0024710000000040,ioc_guid=0024710000000040,pkey=ffff,dgid=fe800000000000000024710000000042,service_id=0024710000000040<br>
> tid_ext=0024710000000040,ioc_guid=0024710000000040,pkey=ffff,dgid=fe800000000000000024710000000045,service_id=0024710000000040<br>
> tid_ext=0024710000000040,ioc_guid=0024710000000040,pkey=ffff,dgid=fe800000000000000024710000000046,service_id=0024710000000040<br>
> tid_ext=0024710000000040,ioc_guid=0024710000000040,pkey=ffff,dgid=fe800000000000000002c903000292af,service_id=0024710000000040<br>
> tid_ext=0024710000000040,ioc_guid=0024710000000040,pkey=ffff,dgid=fe800000000000000002c903000292b0,service_id=0024710000000040<br>
><br>
> Each port has an entry, and the port GUIDs are correct (dgid's), but<br>
> the rest of the GUIDs refer to the node GUID of the first IB HCA:<br>
> 0024710000000040.<br>
><br>
> Is that expected?<br>
<br>
</div></div>Yes. The ioc_guid in the above output is a GUID that identifies the<br>
SRP target. A quote from the ib_srpt source code:<br>
<br>
/*<br>
 * We do not have a consistent service_id (ie. also id_ext of target_id)<br>
 * to identify this target. We currently use the guid of the first HCA<br>
 * in the system as service_id; therefore, the target_id will change<br>
 * if this HCA is gone bad and replaced by different HCA.<br>
 */<br>
<br>
I'm not sure however what ibsrpdm should display -- I don't know<br>
whether it should display one single set of login parameters or all<br>
possible login parameters.<br>
<div class="im"></div></blockquote><div><br>That works!  Thanks!  I've verified that I can control which ports are being used (and get multiple ports in use simultaneously) using the above approach.<br><br>This gives SRP a great performance edge over iSer... as I've found no way to effect which ports are used w/ iSer.<br>
<br>Thanks,<br><br>Chris<br></div></div>