Current File : //kernel/drv/scsi_vhci.conf
#
# Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
#
#
name="scsi_vhci" class="root";

#
# Load balancing global configuration: setting load-balance="none" will cause
# all I/O to a given device (which supports multipath I/O) to occur via one
# path.  Setting load-balance="round-robin" will cause each path to the device
# to be used in turn.
#
load-balance="round-robin";

#
# Automatic failback configuration
# possible values are auto-failback="enable" or auto-failback="disable"
auto-failback="enable";

#BEGIN: FAILOVER_MODULE_BLOCK (DO NOT MOVE OR DELETE)
#
# Declare scsi_vhci failover module paths with 'ddi-forceload' so that
# they get loaded early enough to be available for scsi_vhci root use.
#
# NOTE: Correct operation depends on the value of 'ddi-forceload', this
# value should not be changed. The ordering of entries is from
# most-specific failover modules (with a "probe" implementation that is
# completely VID/PID table based), to most generic (failover modules that
# are based on T10 standards like TPGS). By convention the last part of a
# failover module path, after "/scsi_vhci_", is called the
# "failover-module-name", which begins with "f_" (like "f_asym_sun"). The
# "failover-module-name" is also used in the override mechanism below.
ddi-forceload =
	"misc/scsi_vhci/scsi_vhci_f_asym_sun",
	"misc/scsi_vhci/scsi_vhci_f_asym_lsi",
	"misc/scsi_vhci/scsi_vhci_f_asym_emc",
	"misc/scsi_vhci/scsi_vhci_f_sym_emc",
	"misc/scsi_vhci/scsi_vhci_f_sym_hds",
	"misc/scsi_vhci/scsi_vhci_f_sym",
#	"misc/scsi_vhci/scsi_vhci_f_sym_enc",
#	"misc/scsi_vhci/scsi_vhci_f_tpgs_tape",
#	"misc/scsi_vhci/scsi_vhci_f_tape",
	"misc/scsi_vhci/scsi_vhci_f_tpgs";

#
# For a device that has a GUID, discovered on a pHCI with mpxio enabled, vHCI
# access also depends on one of the scsi_vhci failover modules accepting the
# device.  The default way this occurs is by a failover module's "probe"
# implementation (sfo_device_probe) indicating the device is supported under
# scsi_vhci.  To override this default probe-oriented configuration in
# order to
#
#    1)	establish support for a device not currently accepted under scsi_vhci
#
# or 2)	override the module selected by "probe"
#
# or 3)	disable scsi_vhci support for a device
#
# you can add a 'scsi-vhci-failover-override' tuple, as documented in
# scsi_get_device_type_string(9F). For each tuple, the first part provides
# basic device identity information (vid/pid) and the second part selects
# the failover module by "failover-module-name". If you want to disable
# scsi_vhci support for a device, use the special failover-module-name "NONE".
# Currently, for each failover-module-name in 'scsi-vhci-failover-override'
# (except "NONE") there needs to be a
# "misc/scsi_vhci/scsi_vhci_<failover-module-name>" in 'ddi-forceload' above.
#
#	"                  111111"
#	"012345670123456789012345",	"failover-module-name" or "NONE"
#	"|-VID--||-----PID------|",
# scsi-vhci-failover-override =
#	"STK     FLEXLINE 400",		"f_asym_lsi",
#	"SUN     T4",			"f_tpgs",
#	"CME     XIRTEMMYS",		"NONE";
#
#END: FAILOVER_MODULE_BLOCK (DO NOT MOVE OR DELETE)


#BEGIN: UPDATE_PATHSTATE_ON_RESET_BLOCK (DO NOT MOVE OR DELETE)
#
# Tunable for updating path states after a UNIT ATTENTION reset.
# There are arrays which do not queue UAs during resets
# after an implicit failover. For such arrays, we need to
# update the path states after any type of UA resets, since
# UA resets take higher precedence among other UNIT ATTENTION
# conditions. By default, scsi_vhci does not update path states
# on UA resets. To make scsi_vhci do that for such arrays, you need
# to set the tunable scsi-vhci-update-pathstate-on-reset to "yes"
# for the VID/PID combination as described below.
#
#	"012345670123456789012345",	"yes" or "no"
#	"|-VID--||-----PID------|",
#
scsi-vhci-update-pathstate-on-reset =
	"Pillar  Axiom",		"yes",
	"Oracle  Oracle FS",		"yes";
#
#END: UPDATE_PATHSTATE_ON_RESET_BLOCK (DO NOT MOVE OR DELETE)

#BEGIN: SPREAD_IPORT_RESERVATION_BLOCK
#
# Tunable for path selection optimization of SCSI reservation command. With
# this optimization, a path with least busy initiator port will be selected
# for a SCSI reservation command. If optimization is disabled scsi_vhci will
# use load balancing policy "none" for SCSI reservation command's path
# selection. Tunable spread-iport-reservation is used to establish the default
# value. Its default value is "yes". To make scsi_vhci to turn off the
# optimization globally, you need to set the tunable spread-iport-reservation
# to "no". Tunable spread-iport-reservation-exceptions can describe exceptional
# cases with the VID/PID combination specified, which has higher priority than
# the tunable spread-iport-reservation.
#
spread-iport-reservation = "yes";
#
#	"012345670123456789012345",	"yes" or "no"
#	"|-VID--||-----PID------|",
# spread-iport-reservation-exceptions = 
#	"STK     T10000C",		"yes",
#	"HP      Ultrium 4-SCSI",	"no";
# 
# To find the least busy initiator port, traffic load of every initiator port
# need to be monitored. One important traffic load metric is rlentime: the
# cumulative run length*time product of every initiator port. Delta rlentime
# of latest period of time is used to represent the historical traffic load.
# The simultaneous snapshot rlentime of every initiator port is needed to
# calculate the delta rlentime. Tunable iport-rlentime-snapshot-interval is
# used to configure the time interval in seconds to create rlentime snapshot
# of every initiator port. Its default value is 30 seconds.
#
iport-rlentime-snapshot-interval = 30;
#
#END: SPREAD_IPORT_RESERVATION_BLOCK

#BEGIN: LSR_CLIENT_GRACE_PERIOD_BLOCK
#
# Keep the LSR suspended client device as attached for
# lsr-client-lifetime seconds when all paths are LSR suspended.
# During this extended lifetime, all I/O requests would be queued up. When the
# extended lifetime is over, the I/O requests in the queue would be
# re-processed with the client device detached.
#
# Setting this value to 0 will disable the feature.
#
# suspend-client-grace-period = 0;
#
#END: LSR_CLIENT_GRACE_PERIOD_BLOCK

#BEGIN: NOTE_BLOCK
# The VID fields above should contain exactly eight left-aligned ASCII
# characters. If the VID is less than 8 characters, it should be padded with
# spaces (ASCII 0x20) to 8 characters.
#
# The PID fields above should contain at most sixteen left-aligned ASCII
# characters. The PID field has an implicit wild-card rule. The product ID
# in the returned SCSI inquiry string is considered a match if it has the
# PID field as its prefix. For example, "Pillar  Axiom" applies to both
# the "Pillar  Axiom 600" and the "Pillar  Axiom 500".
#
#END: NOTE_BLOCK

#BEGIN: ddi-child-instance-transient
# When set to "yes" both here and in the corresponding pHCI driver .conf file
# target devices will not have permanent instances assigned (e.g. no entry for
# the device will be added to /etc/path_to_inst). If a target is beneath
# multiple pHCI's, if any of those pHCI's do not have
# ddi-child-instane-transient set to "yes", a permanent instance will be
# assigned to the target device.
ddi-child-instance-transient="yes";
#END: ddi-child-instance-transient