Mukker, Atul wrote: > Hi All, > > We would like expert comments on the following questions regarding > management of HBA from applications. > > Traditionally, our drivers create a character device node, whose > file_operations are then used by the management applications to > transfer HBA specific commands. In addition to being quirky, this > interface has a few limitations which we would like to remove, most > important being able to seamlessly handle asynchronous events with > data transfer. > > 1. What is (are) the other standard/recommended interfaces which > applications can use to transfer HBA specific commands and data. Depends on what the commands look like. With ipr, the commands that the management application need to send to the HBA look sufficiently like SCSI that I was able to report an sg device node for the adapter and use SG_IO to send these commands. sysfs, debugfs, and configfs are options as well. > 2. How should an LLD implement interfaces to transmit asynchronous > information to the management applications? The requirement is to be > able to transmit data buffer as well as notifications for events. I've had good success with netlink. In my use I only send a notification to userspace and let the application send some commands to figure out what happened, but netlink does allow to send data as well. It makes it very easy to have multiple concurrent readers of the data, which I've found very useful. > 3. The interface should be able to work even if no SCSI devices are > exported to the kernel. netlink allows this. > 4. Should work seamlessly across vmware and xen kernels. netlink should work here too. -Brian -- Brian King Linux on Power Virtualization IBM Linux Technology Center -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html