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): n/a How reproducible: Always Steps to Reproduce: 1.n/a 2. 3. Additional info:
Created attachment 124620 [details] Source for Management Module This needs a modified Makefile for inclusion into the RHEL4 kernel tree.
Created attachment 125217 [details] Proposed Makefile Here's a proposed makefile. Assumes that the ioctl module is in a subdirectory of the lpfc sources (e.g. .../drivers/scsi/lpfc/lpfcdfc) -- james
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 from http://people.redhat.com/~jbaron/rhel4/
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 system. Chip
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. http://rhn.redhat.com/errata/RHSA-2006-0575.html