[ofw] Why is __srp_pnp_cb called when the subnet is up?

Fab Tillier ftillier at windows.microsoft.com
Mon Jul 2 11:38:36 PDT 2007


It's not that the iSCSI target didn't respond to DM queries, but rather
that the device ID generated (based on the information in the I/O
Controller profile using the rules in the IB spec for creating HW IDs)
didn't match the SRP driver.  Standard driver matching rules apply for
SRP.

I don't know how iSER over IB works - do the targets get discovered like
regular I/O Units and I/O Controllers, or is it done via IPoIB and some
other iSCSI discovery mechanism?

If the target doesn't respond to DM queries you wouldn't see it get
reported in the device manager.  If it is getting reported, but no
driver is loading, it's a device ID issue.  If it's not getting reported
at all, it's a DM query issue.

IBAL doesn't provide path PnP notifications for devices other than IOU
and IOCs (it might even be limited to IOC only).  You can however issue
path queries from your driver.  This assumes that there is some
discovery mechanism that allows you to identify the target port GID so
that you can issue such a query.

Hopefully that helps!
-Fab

-----Original Message-----
From: Erez Zilber [mailto:erezz at voltaire.com] 
Sent: Friday, June 29, 2007 3:21 AM
To: Fab Tillier; ofw at lists.openfabrics.org
Subject: RE: [ofw] Why is __srp_pnp_cb called when the subnet is up?

Fab,
 
Thanks for the quick answer. Before I ask more questions, I will explain
the motivation for my questions: we are working on an iSCSI over iSER
driver for windows. I'm trying to use the SRP driver as a reference for
some parts of my driver.
 
I've noticed that when I have a SRP target on the fabric, __srp_pnp_cb
is called and the SRP initiator tries to connect. This doesn't happen
when I have an iSCSI over iSER target (instead of the SRP target). Is it
correct to say that __srp_pnp_cb isn't called because the SRP target
didn't respond to DM queries?
 
You said that "when a path is added it attempts to connect to the
target". I need to be able to connect to a target (even if it doesn't
respond to DM queries) when a path is discovered. How do you suggest to
do that?
 
Thanks,
Erez

________________________________

From: Fab Tillier [mailto:ftillier at windows.microsoft.com]
Sent: Thu 6/28/2007 10:33 PM
To: Erez Zilber; ofw at lists.openfabrics.org
Subject: RE: [ofw] Why is __srp_pnp_cb called when the subnet is up?



Hi Erez,

When the port goes active (due to the SM configuring it) the bus driver
sweeps the fabric looking for I/O Units.  When it finds the I/O Units it
creates a device object for it, and loads ibiou.sys as the function
driver.  Ibiou.sys creates device objects for all child I/O controllers
of the I/O Unit, in your case SRP Controllers.  The SRP driver is then
loaded as the function driver for those device nodes.  The SRP driver
registers for IB PnP events for path notifications, and when a path is
added it attempts to connect to the target.

The target doesn't need to do much aside from responding to device
management queries.  If it didn't respond to DM queries no driver would
get loaded.

Hopefully that helps.

-Fab

-----Original Message-----
From: ofw-bounces at lists.openfabrics.org
[mailto:ofw-bounces at lists.openfabrics.org] On Behalf Of Erez Zilber
Sent: Thursday, June 28, 2007 7:49 AM
To: ofw at lists.openfabrics.org
Subject: [ofw] Why is __srp_pnp_cb called when the subnet is up?

Hi,


I'm going over the srp code, and I saw that when I start opensm, the srp
driver is loaded, and I see the following call stack:


srp!__srp_connect_sessions

srp!__srp_connect_path

srp!__srp_pnp_cb

ibbus!__notify_users

ibbus!__report_path

ibbus!__add_ioc_paths

ibbus!__report_ioc_add

ibbus!__add_iocs

ibbus!__report_iou_add

ibbus!__add_ious

ibbus!ioc_pnp_process_reg

ibbus!__cl_async_proc_worker

ibbus!__cl_thread_pool_routime

ibbus!__thread_callback

nt!PspSystemThreadStartup

nt!KxStartSystemThread


My questions is: what is the trigger for these events? Is it because the
subnet is up or because the srp target on the other side did something
when its IB interface became active?


Thanks,

--

____________________________________________________________

Erez Zilber | 972-9-971-7689

Software Engineer, Storage Team

Voltaire - _The Grid Backbone_

__

www.voltaire.com <http://www.voltaire.com/>



_______________________________________________
ofw mailing list
ofw at lists.openfabrics.org
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw






More information about the ofw mailing list