Red Hat Bugzilla – Bug 181475
lpfc driver: add managment ioctl module to kernel tree
Last modified: 2007-11-30 17:07:23 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7
Description of problem:
Emulex is requesting that RHEL4 include Emulex's Management Module that accompanies the lpfc driver. This module includes ioctls to provide interfaces for management software such as hbaapi and Emulex utilities. The ioctls are necessary as the kernel for RHEL4 does not include the necessary sysfs functionality for items such as FC transport remote ports, CT-passthru, ELS send/receive, etc.
Emulex has been shipping this management module as part of a separate applications kit. The module loads and interacts with the (unmodified) base driver. Several significant (wall-st) customers have complained to Emulex and Red Hat about the difficulties of having a separately packaged kernel module, and have asked that they be built and packaged together. These customers originally made the request against RHEL3, where the managment module was eventually included in RHEL3. They are now reitterating the request with RHEL4.
Emulex hopes to have this issue resolved for RHEL5. The upstream kernel, with fc transport remote port support, resolves many of the issues. To date, there are only 3 items outstanding for hbaapi support: CT-passthru, ELS send/receive, and hbaapi events. Emulex has posted and rfc for hbaapi events to linux-scsi. The other two items have been under discussion with members of the community for many months now in determining the proper mechanism to deal with large buffer payloads. Emulex expects to post and RFC for them in the month of February.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
Created attachment 124620 [details]
Source for Management Module
This needs a modified Makefile for inclusion into the RHEL4 kernel tree.
Created attachment 125217 [details]
Here's a proposed makefile. Assumes that the ioctl module is in a subdirectory
of the lpfc sources (e.g. .../drivers/scsi/lpfc/lpfcdfc)
Let me add 'me too'. I have a wall-st customer that won't allow me to install
compilers on there systems, therefore I must go through contortions just to
make Emulex's (propietary) apps work.
Most of what I need can be done via sysfs, however I cannot flash the firmware
without the ioctl module.
Also, I'm just going to put 'lpfcdfc' in here, since that's what I searched
for at first and didn't find it :-)
Created attachment 128087 [details]
adds lpfcdfc driver (ver. 2.0.14) to kernel tree in drivers/scsi/lpfc/lpfcdfc directory
Created attachment 128222 [details]
tweaks to Emulex Makefile so it builds
committed in stream U4 build 34.25. A test kernel with this patch is available
It turns out that the Makefile kludges (such as creating symlinks in the
lpfcdfc subdir) are breaking out-of-tree builds. So I suggest that we put
the lpfcdfc files into the drivers/scsi/lpfc directory, and build the two
modules in there. That's the easiest thing to integrate into the kbuild
Created attachment 128451 [details]
Patch to add lpfcdfc ioctl driver to kernel tree
This version puts the lpfcdfc driver files in the same directory with the
lpfc driver files. The previous version put them in a subdirectory, which
broke out-of-tree builds.
Created attachment 128763 [details]
version 2.0.15 of the emulex ioctl driver
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.