[ofw] Why is __srp_pnp_cb called when the subnet is up?
Erez Zilber
erezz at voltaire.com
Fri Jun 29 03:21:06 PDT 2007
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