Re: Recommended HBA management interfaces

Brian King
2009-07-17T15:39:35Z

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