Man page of lpfc

# man lpfc
Reformatting page.  Please Wait... done

Devices                                                  lpfc(7D)

NAME
     lpfc - Emulex LightPulse Fibre  Channel  FCP/SCSI  host  bus
     adapter driver

SYNOPSIS
     pci10df,1ae5@slot    pci10df,f700@slot     pci10df,f800@slot
     pci10df,f900@slot

AVAILABILITY
     SPARC and x86 Edition

DESCRIPTION
     The lpfc host  bus  adapter  driver  provides  an  interface
     between  the  Emulex  LightPulse Family of Fibre Channel PCI
     host bus adapters and  Solaris  running  on  platforms  that
     offer PCI support.

     The driver is composed of two parts.  One part  is  lpfc,  a
     Solaris SCSA driver providing both low level support for the
     host bus adapter and FCP support.  The FCP protocol emulates
     SCSI-3  on  top  of  Fibre  Channel.   Thus, FCP disk drives
     appear to be SCSI disk drives from the standpoint of a host.

     The second part of the driver is  lpfn,  which  provides  IP
     networking  support.   The  IP driver, lpfn, is briefly men-
     tioned in this manual  page;  see  lpfn(7D)  for  additional
     details.

     The lpfc driver can be loaded by itself; lpfn, which  relies
     on  functionality  in  lpfc,  automatically loads lpfc.  The
     driver module as a whole, including both FCP and IP support,
     is  referred  to  as  lpfc.  The driver can be configured to
     support FCP by itself, IP by itself or FCP and IP  together.
     The  default  during installation is to support both FCP and
     IP; this choice can be changed in the driver's configuration
     file (see below).

     Fibre Channel is an interconnect  offering  high  throughput
     and low latency across copper and optical media at distances
     ranging up to 10 kilometers.  Fibre  Channel  configurations
     include  point-to-point, loop (up to 126 devices) and fabric
     (general switching network).  Fibre Channel offers emulation
     modes  for  SCSI  and  IP;  the former is called FCP and the
     latter is called IPP. Note that SCSI disk drives can not  be
     connected  directly  to  a  Fibre  Channel;  a Fibre Channel
     interface is considerably different from a SCSI interface.

     The Emulex LightPulse mediates between a host's PCI bus  and
     the Fibre Channel itself.

     This driver supports the LightPulse family, running FCP  and
     IP.

SunOS 5.8          Last change: 25 March 1999                   1

Devices                                                  lpfc(7D)

FCP DRIVER
     The lpfc Host Bus Adapter driver is an SCSA compliant  nexus
     driver  for  the  LightPulse. The lpfc driver provides basic
     support for LightPulse hardware.  Functions include  adapter
     initialization,   frame  transmit  and  receive,  and  error
     recovery  and  reporting.   Multiple   LightPulse   adapters
     installed  within  the  system  are supported by the driver.
     The lpfc driver supports the  standard  functions   provided
     by  the  SCSA  interface.   The  driver  supports tagged and
     untagged queuing and auto request sense.  Other SCSI proper-
     ties, such as fast and wide, are irrelevant to Fibre Channel
     and hence are ignored.  Linked commands are not supported.

FCP CONFIGURATION
     Most configuration options are addressed in the General Con-
     figuration  section,  below.  However, the target driver may
     need to be configured to probe  for  additional  targets  on
     Fibre  Channel.   The following discussion applies only when
     using FCP functionality in lpfc.

     Solaris target drivers must be  instructed  which  disks  to
     probe for at boot time.  These instructions are contained in
     a configuration file specific to  each  target  driver.   On
     SPARC,  the  target  driver is called sd; on x86, the target
     driver is called cmdk.  The configuration files are, respec-
     tively,  sd.conf  and  cmdk.conf  and  are  usually found in
     /kernel/drv. There will only be  one  of  these  two  target
     drivers on your system.  See the driver.conf(4) man page for
     additional details.

     Each disk drive on the Fibre Channel must have an  entry  in
     sd.conf  or  cmdk.conf. The system administrator may have to
     define additional targets and Logical Unit Numbers (LUNs) in
     these  files.  For FCP when using arbitrated loop, there can
     be up to 126 targets, with a maximum of 32 LUNs per  target.
     The  installation  procedure  for lpfc automatically updates
     sd.conf or  cmdk.conf  to  search  for  Fibre  Channel  disk
     drives.   The  instructions  added to the configuration file
     look like this:

          name="sd" parent="lpfc" target=0 lun=0;

     (On x86, you will see name="cmdk".)

     The lpfc installation procedure adds one line to the  target
     driver  configuration  file for the first 126 targets. Up to
     512  targets  can  be  supported.  However,  no  lines  were
     automatically  added for every possible LUN, as 4032 entries
     would be required.  Instead, the default configuration  only
     searches for devices at LUN 0.

SunOS 5.8          Last change: 25 March 1999                   2

Devices                                                  lpfc(7D)

     If you want to use disks (e.g., RAID arrays)  with  non-zero
     LUNs, or more then 126 targets, simply add lines to the tar-
     get driver configuration file specifying the desired  target
     ID  and  LUN(s).  For example, including the follwoing lines
     in the system's target driver configuration file:

          name="sd" parent="lpfc" target=127 lun=0;
          name="sd" parent="lpfc" target=127 lun=1;
          name="sd" parent="lpfc" target=127 lun=2;
          name="sd" parent="lpfc" target=127 lun=3;

     (On x86, you will see name="cmdk".)

     We use the parent keyword to ensure  that  Solaris  specifi-
     cally  probes  the lpfc driver for the specified targets and
     LUNs.  Note that changes to a target driver's  configuration
     file  will  only  take  effect  after  the  system  has been
     rebooted.

     Refer to scsi_hba_attach(9F) for details on setting  indivi-
     dual SCSI properties.

GENERAL CONFIGURATION
     All the variables that control driver initialization may  be
     found  in  a file called lpfc.conf.  This file is located in
     the installation directory containing  the  binary  for  the
     driver  itself,  lpfc.   Typically,  this  directory will be
     /kernel/drv.  Other information is obtained dynamically from
     probing the attached Fibre Channel.  The variables described
     in this section are the ones a system administrator is  most
     likely to be concerned with.

     Important:  These values are set per adapter; e.g.,  setting
     num-iocbs  to 300 allocates 300 I/O control blocks for every
     LightPulse present in the host machine.  In the descriptions
     below,  the  annotation (F) means that the variable only has
     meaning when FCP functionality is enabled  in  lpfc.   Vari-
     ables  lacking  an  annotation  have  meaning for the entire
     driver.  A boolean  variable  should  be  set  to  either  0
     (FALSE)  or  1 (TRUE), although any non-zero value will suf-
     fice for TRUE.  When a value can be set to infinity, we mean
     that  it can be set as high as the largest possible unsigned
     integer value.

     ack0
          If ack0 is 1, the adapter will try  to  use  ACK0  when
          running  Class  2  traffic  to  a device. If the device
          doesn't support ACK0, then the adapter will  use  ACK1.
          If  ack0  is  0,  only  ACK1  will be used when running
          Class2 traffic.

SunOS 5.8          Last change: 25 March 1999                   3

Devices                                                  lpfc(7D)

     automap
          If automap is 1, SCSI IDs for  all  FCP  nodes  without
          persistent bindings will be automatically generated. If
          FCP devices are added to  or  removed  from  the  Fibre
          Channel  network  when  the system is down, there is no
          guarantee that these SCSI IDs will remain the same when
          the  system  is booted again. If one of the FCP binding
          methods below is specified, then automap  devices  will
          use  the  same  mapping  to  try  to  preserve SCSI IDs
          between link down and link up.  If automap is  0,  only
          devices  with  persistentbindings will be recognized by
          the system.

     check-cond-err
          The driver will treat ckeck  condition  0x44,  Internal
          Target  Failure, check condition 0x25, Logical Unit Not
          Supported and check  condition  0x20,  Invalid  Command
          Operation Code, as FCP RSP errors.

     delay-rsp-err
          The driver will delay FCP RSP errors being returned  to
          the  upper SCSI layer based on the no-device-delay con-
          figuration parameter.

     dqfull-throttle
          This variable causes lpfc to decrement a LUNs  throttle
          (maximum  queue  depth)  if  a  queue full condition is
          received from the target.   The  queue  depth  will  be
          decremented  down  to  a  minimum of 3. The only way to
          restore the queue depth (besides  rebooting),  back  to
          the  original  LUN  throttle, is by running the command
          /usr/sbin/lpfc/resetqdepth X. This will restore the LUN
          throttle of all LUNs for adapter X back to the original
          value.

     fcp-bind-WWNN
          Setup persistent FCP binding based on a target device's
          WWNN.  THis  binding guarantees that target assignments
          will be preserved between reboots.  The  format  for  a
          bind    entry   is   "NNNNNNNNNNNNNNNN:lpfcXtY"   where
          NNNNNNNNNNNNNNNN is a 16 digit  representation  of  the
          targets  WorldWide  Node Name, X is the driver instance
          number and Y is the target assignment. Multiple entries
          must  be  separated  by a comma (,) with the last entry
          terminated with a semi-colon (;).  Target  assignments,
          with  all  supported  LUNs  must  also be configured in
          sd.conf or st.conf.  A sample entry follows:

               fcp-bind-WWNN="20000020370c396f:lpfc1t0",
                             "20000020370c27f7:lpfc0t2";

SunOS 5.8          Last change: 25 March 1999                   4

Devices                                                  lpfc(7D)

     fcp-bind-WWPN
          Setup persistent FCP binding based on a target device's
          WWPN.  THis  binding guarantees that target assignments
          will be preserved between reboots.  The  format  for  a
          bind    entry   is   "NNNNNNNNNNNNNNNN:lpfcXtY"   where
          NNNNNNNNNNNNNNNN is a 16 digit  representation  of  the
          targets  WorldWide  Port Name, X is the driver instance
          number and Y is the target assignment. Multiple entries
          must  be  separated  by a comma (,) with the last entry
          terminated with a semi-colon (;).  Target  assignments,
          with  all  supported  LUNs  must  also be configured in
          sd.conf or st.conf.  A sample entry follows:

               fcp-bind-WWPN="21000020370c396f:lpfc1t0";

     fcp-bind-DID
          Setup persistent FCP binding based on a target device's
          Port  ID.  THis  binding guarantees that target assign-
          ments will be preserved between reboots. The format for
          a  bind  entry  is "NNNNNN:lpfcXtY" where NNNNNN is a 6
          digit representation of the targets Port ID, X  is  the
          driver  instance number and Y is the target assignment.
          Multiple entries must be separated by a comma (,)  with
          the last entry terminated with a semi-colon (;). Target
          assignments, with all supported LUNs must also be  con-
          figured in sd.conf or st.conf.  A sample entry follows:

               fcp-bind-DID="0000ef:lpfc0t0";

     fcp-class
          The lpfc driver is capable of transmitting FCP data  in
          Class  2  or  Class3. the lpfc driver defaults to using
          Class 3 transmission.

     fcpfabric-tmo
          Extra timeout value, in seconds, to be applied to  each
          FCP  command  sent.  When  connecting  through  a large
          fabric, certain devices may require  a  longer  timeout
          value.

     fcp-on
          Enable the FCP functionality of lpfc. This variable  is
          a Boolean; Zero disables FCP while non-zero enables it.

     link-speed
          This causes lpfc to  set  the  adapter  link  speed  to
          auto-detect  (0), 1 gigabit (1) or 2 gigabits (2). This
          setting only applies to the LightPulse 9002 adapter.

SunOS 5.8          Last change: 25 March 1999                   5

Devices                                                  lpfc(7D)

     linkdown-tmo
          How long the driver will wait (1 to 255 seconds) before
          declaring  the  Fibre Channel link to be down. Commands
          waiting to be serviced will be aborted.  For  instance,
          FCP commands will be returned to the target driver. The
          lower this value is, the quicker the driver  will  fail
          commands  back  to the upper levels.  There is tradeoff
          here:  small vaules risk retrying commands when link is
          bouncing,  while large values risk delaying failover in
          a redundant loop environment.  Setting linkdown-tmo  to
          0  will  cause all commands issued to the device driver
          to be held internally (never  failed)  until  the  link
          comes back up.

     lun-queue-depth
          The driver uses this value as the default limit for the
          number  of  simultaneous  commands to issue to a single
          logical unit on a single target on the loop.  A  single
          logical  unit  will  never  be  sent more commands than
          allowed by lun-queue-depth; however, less may  be  sent
          when  sd_max_throttle or tgt-queue-depth is reached for
          the entire target.

     lpfcNtM-lun-throttle
          The maximum number of outstanding  commands  to  permit
          for  any  logical unit on a specific target. This value
          overrides lun-queue-depth.

     lpfcNtM-tgt-throttle
          The maximum number of outstanding  commands  to  permit
          for any target, including all LUNs on that target. This
          value overrides tgt-queue-depth.

     network-on
          This variable controls whether lpfc  provides  IP  net-
          working  functionality  over Fibre Channel.  This vari-
          able is a Boolean: when zero,  IP  networking  is  dis-
          abled; when non-zero, IP networking is enabled.

     log-only
          When set to 1, log messages are only logged to  syslog.
          When  set  to  0,  log messages are also printed on the
          console.

     log-verbose
          (bit mask) When set to non-zero  this  variable  causes
          lpfc  to  generate  additional  messages concerning the
          state of the driver and the I/O operations  it  carries
          out.   These  messages  may  go  to  the system console
          and/or the system log file, /var/adm/messages.

SunOS 5.8          Last change: 25 March 1999                   6

Devices                                                  lpfc(7D)

     no-device-delay
          This variable [0 to 30] - determines the length of  the
          interval  between deciding to fail an I/O because there
          is no way to communicate  with  its  particular  device
          (e.g.,  due  to  device  failure or device removal) and
          actually failing the command.  A value of zero  implies
          no  delay  whatsoever.   This  delay  is  specified  in
          seconds. A minimum value of 1 (1 second) is recommanded
          when communicating with any Tachyon based device.

     nodev-holdio
          This variable controls if I/O errors are  held  by  the
          driver  if a device on the loop disappears. If set, I/O
          errors will be held until the device  returns  back  to
          the loop (potentially indefinitely). The upper sd layer
          may retry the command once the error is returned.

     nodev-tmo
          The variable controls how long I/O errors are  held  by
          the  driver if a device on the loop disappears. If set,
          I/O errors will be held for  the  specified  number  of
          seconds.  The upper sd layer may retry the command once
          the error is returned.
     num-bufs
          This variable  specifies  the  number  of  ELS  command
          buffers  to  allocate. These buffers are used for Fibre
          Channel Extended Link Services (ELS), and one for  each
          FCP  command issued in SLI-2 mode. If you want to queue
          lots of FCP commands to the adapter,  then  you  should
          increase num-bufs for better performance. These buffers
          consume physical memory and are also used by the device
          driver  to process loop initialization and re-discovery
          activities.  Important: The driver must always be  con-
          figured   with  at  least  several  dozen  ELS  command
          buffers; we recommend at least 256.

     num-iocbs
          This variable indicates the number of Input/Output con-
          trol  block  (IOCB)  buffers  to  allocate.   IOCBs are
          internal data structures used to send and  receive  I/O
          requests  to and from the LightPulse Sbus hardware. Too
          few IOCBs can temporarily prevent the driver from  com-
          municating with the adapter, thus lowering performance.
          (This condition is not fatal.)  If  you  run  heavy  IP
          traffic,  you should increase num-iocbs for better per-
          formance.

     scan-down
          There are three scanning algorithms used to map an ALPA
          to a SCSI ID in a private loop.  Refer to the "informa-
          tive annex" of the FC-AL profile, which  describes  the
          algorithm for this translation.  Scan-down values 0 and

SunOS 5.8          Last change: 25 March 1999                   7

Devices                                                  lpfc(7D)

          1 do not apply if a loop map is obtained.  See the  FC-
          AL  profile  for  the definition of a loop map.  If the
          adapter is not attached to a fabric,  these  parameters
          do not apply (use persistent binding).  If scan-down is
          1, SCSI IDs are scanned starting from ALPA 0xEF through
          ALPA  0x01.   If  scan-down  is 0, SCSI IDs are scanned
          starting fro  ALPA  0x1  on  up.   If  scan-down  is  2
          (default  value),  SCSI IDs are hard coded based on the
          ALPA (0xEF=SCSI ID 0, 0xE*=SCSI ID 1.....). This param-
          eter  is  userd to maintain backward compatibility with
          the SCSI ID assignments of the 2.05 Solaris driver.

     tgt-queue-depth
          The driver uses this value as the default limit for the
          number  of  simultaneous  commands to issue to a single
          target on the loop.  A value  of  0  causes  no  target
          throttling  to  occur.   A  single target will never be
          send more commands  than  allowed  by  tgt-queue-depth;
          however,  less  may  be  sent  when  sd_max_throttle is
          reached for the entire target.

     topology
          This  variable  controls  the  Fibre  Channel  topology
          expected  by  lpfc  at boot time.  Fibre Channel offers
          point-to-point, fabric, and arbitrated loop topologies.
          This variables encodes these topologies as follows:

               0 Attempt loop mode, if it fails attempt point-to-point mode
               2 Attempt point-to-point only
               4 Attempt loop only
               6 Attempt point-to-point mode, if it fails attempt loop mode

          To make  the  adapter  operate  as  an  N_Port,  select
          point-to-point  mode  (used  for  N_Port to F_Port, and
          N_Port to N_Port  connections).  To  make  the  adapter
          operate  in  a Fibre Channel loop as an NL_Port, select
          loop mode (used for private loop and public loop  topo-
          logies).   The driver will reject an attempt to set the
          topology to a value not in the above list.   The  auto-
          topology  setting  (0  and  6) will not work unless the
          adapter is using firmware version 3.20 or higher.

     use-adisc
          The variable controls the  ELS  command  used  for  FCP
          address  authentication during discovery. If set, ADISC
          is used, otherwise, PLOGI is used.

     use-lomempages
          This variable applies only to x86 platforms.  The  set-
          ting  of  this  variable  can  affect whether lpfc runs
          correctly on an x86 host.  The Solaris DDI/DKI requires
          that   kernel   memory   be   allocated  using  special

SunOS 5.8          Last change: 25 March 1999                   8

Devices                                                  lpfc(7D)

          primitives if that memory may be the target  of  a  DMA
          operation.   On  the x86, this memory comes from a spe-
          cial low memory pool that is guaranteed to be safe  for
          DMA  operations  across all x86 platforms.  (Some plat-
          forms do not correctly handle DMA operations on  physi-
          cal  memory  above  the  16 megabyte boundary.)  Unfor-
          tunately, the size of the low memory pool is very  lim-
          ited; in fact, the standard Solaris releases default to
          a size of 36 pages in this pool.  While the size of the
          pool can be increased, on most x86 systems a reasonable
          alternative is to not use this pool at all.   On  these
          systems,  ordinary  memory  works correctly as a target
          for DMA operations.  As lpfc is distributed, we set the
          value  of  this variable to 0, disabling the use of the
          low memory pool.  If you suspect that your x86 platform
          can't  handle  arbitrary  DMA  correctly above the 16MB
          boundary,  set  this  variable  to  1;  you  must  also
          increase the size of the low memory pool.  Refer to the
          release notes for more information.

     zone-rscn
          If zone-rscn is 1, the driver will check the NameServer
          data to see if an N_Port ID received in an RSCN is per-
          tinent to this adapter.   This  behavior  is  necessary
          when  running  soft  zoning  in  a  Brocade fabric.  If
          zone-rscn is 0, the RSCN is assumed to  apply  to  this
          adapter, and no NameServer query is performed.

BUGS
     Refer to the release notes for information about known bugs.

FILES
     /kernel/drv/lpfc              ELF Kernel Module 32b mode
     /kernel/drv/sparcv9/lpfc      ELF Kernel Module 64b mode
     /kernel/drv/lpfc.conf         configuration  file  for   the
                                   entire lpfc driver
     /kernel/drv/cmdk.conf         (x86) Target driver configura-
                                   tion file
     /kernel/drv/sd.conf           (SPARC) Target  driver  confi-
                                   guration file
     /etc/system                   System-wide configuration file

SEE ALSO
     prtconf(1M),         driver.conf(4),         scsi_abort(9F),
     scsi_device(9S),                    scsi_extended_sense(9S),
     scsi_hba_attach(9F),  scsi_ifgetcap(9F),   scsi_inquiry(9S),
     scsi_pkt(9S) scsi_reset(9F), scsi_transport(9F), pkgadd(1M),

     Writing Device Drivers

     OpenBoot Command Reference

SunOS 5.8          Last change: 25 March 1999                   9

Devices                                                  lpfc(7D)

     ANSI Small Computer System Interface-3 (SCSI-3)

     LightPulse PCI Host Adapter User Guide

     LightPulse Host Adapter Release Notes

     lpfc:  LightPulse Solaris HBA Driver Release Notes

SunOS 5.8          Last change: 25 March 1999                  10

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值