All,<br><br>We had a discussion on list for having a vendor defined device interface in ibiou.<br>Below is the link of discussions from the archives:--<br><br><a href="http://lists.openfabrics.org/pipermail/ofw/2009-January/004229.html">http://lists.openfabrics.org/pipermail/ofw/2009-January/004229.html</a><br>
<br>As discussed previously, we needed it for QLogic's EVIC Gateway device.<br><br>This solution involves changes in IBIOU and QLGCVNIC along with addition of a new user mode tool called "qlgcvnic_config".<br>
<br><b>Brief Description</b>:-<br><br>IBIOU driver doesn't create child PDO's on discovering a EVIC IOC. <br>It's behavior for SRP target IOCs is not altered and child devices for SRP targets will get created on their discovery.<br>
<br>IBIOU keeps a global list of reachable IOCs in iou_globals. IBIOU add/delete entries in this list on IOC ADD and IOC REMOVE PnP events.<br>User mode utility "qlgcvnic_config" is used to list all the reachable IOCs to the user and then to create the VNIC PDOs.<br>
"qlgcvnic_config" uses device IOCTLs to communicate with the IBIOU driver.<br>IBIOU creates the devices only if sees that EVIC IOC is reachable from the particular CA.<br>"qlgcvnic_config" utility writes this device information into the registry also, so that IBIOU can pick up these device creation information on <br>
next reboot.<br>In initialization phase, IBIOU reads the child device information from the registry and makes a list of VNIC child devices to be created.<br>On each IOC add events, it traverses the child device list (prepared during initialization) and create the child PDO for matching child device entries.<br>
<br>Leonid,<br><br>I have attached the patch for changes in IBIOU herewith.<br>I am sending other patches other relevant patches in seprate mails.<br>Please let me know your comments/suggestions, so that we can move it in asap.<br>
<br>Regards<br>Deepak<br>