## ## JNI Corporation jnic driver (Solaris SCSI) configuration file. ## ## jnic.conf ## ## Date last modified: January 11, 2001 ## ## For additional information and configuration examples, refer to the "readme.txt" ## and "config.txt" files provided with the jnic driver installation package. # # Configuration parameters: FcLoopEnabled, FcFabricEnabled, FcPortCfgEnable # Type: boolean # Default: FcLoopEnabled = 1 (true) # FcFabricEnabled = 0 (false) # FcPortCfgEnable = 1 (true) # # These parameters are used to configure HBA port topology. Since the JNI HBA # ports must be configured for operation as L_Port or N_Port, these parameters, # in conjunction with the current HBA port configuration, will determine if HBA # port reconfiguration is necessary. If HBA reconfiguration is necessary, # and the FcPortCfgEnable parameter is set, the change will take affect on the # subsequent adapter reboot. If HBA reconfiguration is necessary and the # FcPortCfgEnable parameter is not set, the driver/adapter will enter non- # participating mode. # # The HBA port will be set up or reconfigured as specified in the following # table: # # Current # Conf Param HBA Config # Loop Fabric (Loop or Fabric) FcPortCfgEn Action # ----------- ---------------- ----------- ------------------------------------ # 0 0 (don't care) X Enter non-participating Mode # 1 0 Loop X No change: L_Port Mode (private loop) # 1 0 Fabric 1 Configure HBA port (Reboot required) # 1 0 Fabric 0 Enter non-participating Mode # 0 1 Loop 1 Configure HBA port (Reboot required) # 0 1 Loop 0 Enter non-participating Mode # 0 1 Fabric X No change: N_Port Mode (fabric) # 1 1 Loop X Enter NL_Port Mode (public loop) # 1 1 Fabric X N_Port Mode (fabric) Note: You cannot # reconfigure directly from Fabric to # Public Loop. You must first recon- # figure to Private Loop, and then # to Public Loop. # #FcLoopEnabled = 1; #FcFabricEnabled = 0; FcPortCfgEnable=0; # # Configuration parameter: FcEngHeartbeatInterval # Type: integer # Default: 5 (sec) # # When the JNI adapter/driver detects that the Fibre Channel link is up (and # there is no I/O activity), it will send a "test frame" (or heartbeat) to # itself to verify link integrity. The test frame is sent at the interval # specified by this parameter. If the test frame does not complete, it is # assumed that there is a link problem. In this situation, the driver # initiates error recovery to re-establish a good link. A value of "0" # disables the heartbeat. # #FcEngHeartbeatInterval = 5; # # Configuration parameter: FcLrrTimeout # Type: integer # Default: 100 (msec) # Restrictions: N_Port mode only # # This value is valid in N_Port mode only. The Emerald Link Reset Received # (LRR) timeout value (msec) tunes link recovery behavior by synchronizing # the Emerald chip with the chip on the fabric switch. It determines how # long to send out LRs before getting back an LRR. If the timeout is reached # and an LRR has not been received, the controller will start sending off-line # sequences (OLS). The default value is adequate for most configurations. # #FcLrrTimeout = 100; # # Configuration parameter: FcLinkUpRecoveryTime # Type: integer # Default: 1000 (msec) # # Delay (msec) after the link is up before port discovery begins, allowing # the link to stabilize and protecting against a possible I/O surge. This timer # is reset every time the link comes up. The default value is adequate for most # configurations. # #FcLinkUpRecoveryTime = 1000; # # Configuration parameter: BusyRetryDelay # Type: integer # Default: 5000 (msec) # # Delay (msec) before retrying after receipt of an I/O with a "SCSI Busy" # status from a target. The number of retries is based on the Solaris retry # count associated with the I/O. # #BusyRetryDelay = 5000; # # Configuration parameter: FailoverDelay # Type: integer # Default: 0 (sec) # # Delay (seconds) before failing all I/O for an offline target. If the delay # timer expires, all I/O for the failed target is returned to the application. # A zero value disables failover. # #FailoverDelay = 30; # # Configuration parameter: TimeoutResetEnable # Type: boolean # Default: 0 (false) # # Boolean parameter for enabling SCSI target resets for timed out I/O. When # the timer expires (usually 60 seconds, as specified by the upper layers), # the driver issues a target reset to attempt to clear the device (which might # be either too busy to respond or stuck). # #TimeoutResetEnable = 0; # # Configuration parameter: QfullRetryCount # Type: integer # Default: 5 # # Number of times an I/O is retried due to receipt of a "SCSI QFULL" status # from a target. The delay between retries is based on the QfullRetryDelay # parameter. # #QfullRetryCount = 5; # # Configuration parameter: QfullRetryDelay # Type: integer # Default: 5000 (msec) # # Delay (msec) before retrying after receipt of an I/O with a "SCSI QFULL" # status from a target. The number of retries is based on the QfullRetryCount # parameter. # #QfullRetryDelay = 5000; # # Configuration parameter: IoRecoveryDelay # Type: integer # Default: 50 (msec) # # Delay (msec) between target online and I/O recovery. This allows time for # devices which must flush I/O that was in progress prior to a link going down. # #IoRecoveryDelay = 50; # # Configuration parameter: JniCreationDelay # Type: integer # Default: 5 (sec) # # Delay (seconds) after driver creation to allow the network to stabilize, # discover ports, and build the driver's database. Increase this value # if targets are being discovered too late in the boot process. # #JniCreationDelay = 5; # # Configuration parameter: FlogiRetryCount # Type: integer # Default: 3 # # Total number of Fabric Login (FLOGI) attempts before giving up logging in to # a switch. Failure prevents participation on a Fabric topology. # #FlogiRetryCount = 3; # # Configuration parameter: PlogiRetryCount # Type: integer # Default: 5 # # Total number of Port Login (PLOGI) attempts before giving up # logging in to a SCSI target. # #PlogiRetryCount = 5; # # Configuration parameter: FcEmldEngTcbCount # Type: integer # Default: 1533 # # Total number of concurrent exchanges (also called transfer control blocks) # allowed by the adapter. To optimize performance, set this parameter to match # the memory capacity of the hardware. # #FcEmldEngTcbCount = 1533; # # Binding Parameters: See "config.txt" file for binding examples. # # Configuration parameter: def_hba_binding # Type: string # Default: "jnic*" # # "jnic*" (means all target/LUN instances will be initialized by all # jnic instances) # # "null" (means no target/LUN instance will be initialized by any jnic # instance UNLESS the targetX_hba or targetX_lunY_hba binding # parameters are explicitly defined) # # Sets the default HBA binding for every target/LUN instance which does not # explicitly define one. # - A "*" following an HBA name indicates all instances of that HBA driver # #def_hba_binding = "jnic*"; # # Configuration parameter: def_wwnn_binding # Type: string # Default: "$xxxxxxxxxxxxxxxx" (means WWNN is "static don't care") # # Sets the 16 digit hexadecimal default WWNN binding for every target/LUN # instance which does not explicitly define one. # - A "$" preceding the string indicates static binding by WWNN enabled # - A "x" in place of a digit indicates "don't care" for that digit # # #def_wwnn_binding = "$xxxxxxxxxxxxxxxx"; # # Configuration parameter: def_wwpn_binding # Type: string # Default: "$xxxxxxxxxxxxxxxx" (means WWPN is "static don't care") # # Sets the 16 digit hexadecimal default WWPN binding for every target/LUN # instance which does not explicitly define one. # - A "$" preceding the string indicates static binding by WWPN enabled # - A "x" in place of a digit indicates "don't care" for that digit # #def_wwpn_binding = "$xxxxxxxxxxxxxxxx"; # # Configuration parameter: def_port_binding # Type: string # Default: "xxxxxx" (means PORT is "non-static don't care") # # Sets the 6 digit hexadecimal default port binding for every target/LUN # instance which does not explicitly define one. # - A "$" preceding the string indicates static binding by port ID enabled # - A "x" in place of a digit indicates "don't care" for that digit # #def_port_binding = "xxxxxx"; # # Configuration parameters for target to FC device mapping: # targetX_hba, # targetX_lunY_hba, # targetX_wwnn, # targetX_wwpn, # targetX_port, # # Type: string # Default: # # Example usage: Replace the 'x' characters with actual WWNN, WWPN, or port ID. # # target0_hba = "jnic0"; # target0_lun0_hba = "jnic0"; # target0_wwnn = "xxxxxxxxxxxxxxxx"; # target0_wwpn = "xxxxxxxxxxxxxxxx"; # target0_port = "xxxxxx"; # # Configuration parameters for target and LUN level throttling: # target_throttle , - Default throttle for all targets # lun_throttle , - Default throttle for all LUNS # targetX_throttle , - Specific throttle for targetX # targetX_lun_throttle - Default throttle for all targetX LUNS # targetX_lunY_throttle - Specific throttle for targetX LUN # # Type: integer # Default: # # Example usage: # # target_throttle = 256; # lun_throttle = 64; # target0_throttle = 256; # target0_lun_throttle = 64; # target0_lun1_throttle = 64; # # Configure parameter: automap # Set to 0 for persistence binding and 1 for auto mapping # Type: integer # Defalut: 0 # # Example usage: # automap = 0; # jnic0-automap = 0; # jnic0-FcLoopEnabled=0; jnic0-FcFabricEnabled=1; jnic0-FcPortCfgEnable=1; jnic0-JniCreationDelay=5; jnic0-FlogiRetryCount=3; jnic0-PlogiRetryCount=5; jnic0-BusyRetryDelay=5000; jnic0-FailoverDelay=0; jnic0-TimeoutResetEnable=0; jnic0-QfullRetryCount=5; jnic0-QfullRetryDelay=5000; jnic0-IoRecoveryDelay=50; jnic0-automap=0; jnic0-OverrunFailoverCount=0; jnic0-FcEmldEngTcbCount=1533; jnic0-FcLrrTimeout=100; jnic0-FcLinkUpRecoveryTime=1000; jnic0-FcEngHeartbeatInterval=5; def_hba_binding="null"; jnic0-def_hba_binding="null"; jnic1-FcLoopEnabled=0; jnic1-FcFabricEnabled=1; jnic1-FcPortCfgEnable=1; jnic1-JniCreationDelay=5; jnic1-FlogiRetryCount=3; jnic1-PlogiRetryCount=5; jnic1-BusyRetryDelay=5000; jnic1-FailoverDelay=30; jnic1-TimeoutResetEnable=0; jnic1-QfullRetryCount=5; jnic1-QfullRetryDelay=5000; jnic1-IoRecoveryDelay=50; jnic1-automap=0; jnic1-OverrunFailoverCount=0; jnic1-FcEmldEngTcbCount=1533; jnic1-FcLrrTimeout=100; jnic1-FcLinkUpRecoveryTime=1000; jnic1-FcEngHeartbeatInterval=5; jnic1-def_hba_binding="null"; jnic4-FcLoopEnabled=0; jnic4-FcFabricEnabled=1; jnic4-FcPortCfgEnable=1; jnic4-JniCreationDelay=5; jnic4-FlogiRetryCount=3; jnic4-PlogiRetryCount=5; jnic4-BusyRetryDelay=5000; jnic4-FailoverDelay=30; jnic4-TimeoutResetEnable=0; jnic4-QfullRetryCount=5; jnic4-QfullRetryDelay=5000; jnic4-IoRecoveryDelay=50; jnic4-automap=0; jnic4-OverrunFailoverCount=0; jnic4-FcEmldEngTcbCount=1533; jnic4-FcLrrTimeout=100; jnic4-FcLinkUpRecoveryTime=1000; jnic4-FcEngHeartbeatInterval=5; jnic4-def_hba_binding="null"; jnic5-FcLoopEnabled=0; jnic5-FcFabricEnabled=1; jnic5-FcPortCfgEnable=1; jnic5-JniCreationDelay=5; jnic5-FlogiRetryCount=3; jnic5-PlogiRetryCount=5; jnic5-BusyRetryDelay=5000; jnic5-FailoverDelay=0; jnic5-TimeoutResetEnable=0; jnic5-QfullRetryCount=5; jnic5-QfullRetryDelay=5000; jnic5-IoRecoveryDelay=50; jnic5-automap=0; jnic5-OverrunFailoverCount=0; jnic5-FcEmldEngTcbCount=1533; jnic5-FcLrrTimeout=100; jnic5-FcLinkUpRecoveryTime=1000; jnic5-FcEngHeartbeatInterval=5; jnic5-def_hba_binding="null"; #jnic1-target125_wwnn="$500104f0006f7b77"; #jnic1-target125_lun0_hba="jnic1"; #jnic2-target125_wwnn="$500104f0006f7cc1"; #jnic2-target125_lun0_hba="jnic2"; #jnic3-target125_wwnn="$500104f0006f7be3"; #jnic3-target125_lun0_hba="jnic3"; #jnic0-target125_wwnn="$500104f000701cb5"; #jnic0-target125_lun0_hba="jnic0"; #jnic1-target125_wwnn="$500104f0006f7cc1"; #jnic1-target125_lun0_hba="jnic4"; #jnic0-target125_wwnn="$500104f000701e62"; #jnic0-target125_lun0_hba="jnic0"; #jnic5-target0_wwnn="$500104f000701b5f"; #jnic5-target0_lun0_hba="jnic5"; #jnic0-target0_wwnn="$500104f000701e62"; #jnic0-target0_lun0_hba="jnic0"; jnic5-target0_wwnn="$500104f000702760"; jnic5-target0_lun0_hba="jnic5"; jnic5-target1_wwnn="$500104f00070204e"; jnic5-target1_lun0_hba="jnic5"; jnic0-target0_wwnn="$500104f0006fa226"; jnic0-target0_lun0_hba="jnic0"; jnic0-target2_wwnn="$500104f0007cce43"; jnic0-target2_lun0_hba="jnic0"; jnic0-target1_wwnn="$500104f0006f7cc1"; jnic0-target1_lun0_hba="jnic0"; # # HDS 9585V bindings # # HDS Controller-0 ports = e0 & e1 # HDS Controller-1 ports = e4 & e5 # #jnic1-target30_wwnn="$50060e8000c3b0e5"; #jnic1-target30_lun0_hba="jnic1"; #jnic1-target30_lun1_hba="jnic1"; #jnic1-target30_lun2_hba="jnic1"; #jnic1-target30_lun3_hba="jnic1"; #jnic1-target30_lun254_hba="jnic1"; # # jnic1-target31_wwnn="$50060e8000c3b0e0"; jnic1-target31_lun0_hba="jnic1"; jnic1-target31_lun1_hba="jnic1"; jnic1-target31_lun2_hba="jnic1"; jnic1-target31_lun3_hba="jnic1"; jnic1-target31_lun4_hba="jnic1"; jnic1-target31_lun5_hba="jnic1"; jnic1-target31_lun6_hba="jnic1"; jnic1-target31_lun254_hba="jnic1"; jnic1-target31_lun255_hba="jnic1"; # # jnic4-target31_wwnn="$50060e8000c3b0e4"; jnic4-target31_lun0_hba="jnic4"; jnic4-target31_lun1_hba="jnic4"; jnic4-target31_lun2_hba="jnic4"; jnic4-target31_lun3_hba="jnic4"; jnic4-target31_lun4_hba="jnic4"; jnic4-target31_lun5_hba="jnic4"; jnic4-target31_lun6_hba="jnic4"; jnic4-target31_lun254_hba="jnic4"; jnic4-target31_lun255_hba="jnic4"; # # #jnic4-target30_wwnn="$50060e8000c3b0e1"; #jnic4-target30_lun0_hba="jnic4"; #jnic4-target30_lun1_hba="jnic4"; #jnic4-target30_lun2_hba="jnic4"; #jnic4-target30_lun3_hba="jnic4"; #jnic4-target30_lun255_hba="jnic4"; # #