1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# CDDL HEADER START
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth#
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# The contents of this file are subject to the terms of the
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# Common Development and Distribution License (the "License").
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# You may not use this file except in compliance with the License.
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth#
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# or http://www.opensolaris.org/os/licensing.
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# See the License for the specific language governing permissions
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# and limitations under the License.
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth#
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# When distributing Covered Code, include this CDDL HEADER in each
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# If applicable, add the following below this CDDL HEADER, with the
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# fields enclosed by brackets "[]" replaced with your own identifying
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# information: Portions Copyright [yyyy] [name of copyright owner]
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth#
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# CDDL HEADER END
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth#
7bc7346c0c75ced7da727f63c2772fd53809244dcm# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# Use is subject to license terms.
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth#
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth#pragma ident "%Z%%M% %I% %E% SMI"
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth#
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcthname="scsi_vhci" class="root";
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth#
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# Load balancing global configuration: setting load-balance="none" will cause
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# all I/O to a given device (which supports multipath I/O) to occur via one
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# path. Setting load-balance="round-robin" will cause each path to the device
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# to be used in turn.
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth#
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcthload-balance="round-robin";
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth#
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# Automatic failback configuration
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# possible values are auto-failback="enable" or auto-failback="disable"
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcthauto-failback="enable";
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth#BEGIN: FAILOVER_MODULE_BLOCK (DO NOT MOVE OR DELETE)
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth#
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# Declare scsi_vhci failover module paths with 'ddi-forceload' so that
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# they get loaded early enough to be available for scsi_vhci root use.
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth#
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# NOTE: Correct operation depends on the value of 'ddi-forceload', this
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# value should not be changed. The ordering of entries is from
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# most-specific failover modules (with a "probe" implementation that is
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# completely VID/PID table based), to most generic (failover modules that
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# are based on T10 standards like TPGS). By convention the last part of a
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# failover module path, after "/scsi_vhci_", is called the
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# "failover-module-name", which begins with "f_" (like "f_asym_sun"). The
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# "failover-module-name" is also used in the override mechanism below.
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcthddi-forceload =
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth "misc/scsi_vhci/scsi_vhci_f_asym_sun",
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth "misc/scsi_vhci/scsi_vhci_f_asym_lsi",
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth "misc/scsi_vhci/scsi_vhci_f_asym_emc",
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth "misc/scsi_vhci/scsi_vhci_f_sym_emc",
7bc7346c0c75ced7da727f63c2772fd53809244dcm "misc/scsi_vhci/scsi_vhci_f_sym_hds",
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth "misc/scsi_vhci/scsi_vhci_f_sym",
0205780bc43902d17f94f07ceacb0cd8d5eab20frralphs# "misc/scsi_vhci/scsi_vhci_f_tpgs_tape",
0205780bc43902d17f94f07ceacb0cd8d5eab20frralphs# "misc/scsi_vhci/scsi_vhci_f_tape",
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth "misc/scsi_vhci/scsi_vhci_f_tpgs";
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth#
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# For a device that has a GUID, discovered on a pHCI with mpxio enabled, vHCI
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# access also depends on one of the scsi_vhci failover modules accepting the
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# device. The default way this occurs is by a failover module's "probe"
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# implementation (sfo_device_probe) indicating the device is supported under
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# scsi_vhci. To override this default probe-oriented configuration in
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# order to
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth#
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# 1) establish support for a device not currently accepted under scsi_vhci
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth#
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# or 2) override the module selected by "probe"
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth#
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# or 3) disable scsi_vhci support for a device
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth#
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# you can add a 'scsi-vhci-failover-override' tuple, as documented in
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# scsi_get_device_type_string(9F). For each tuple, the first part provides
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# basic device identity information (vid/pid) and the second part selects
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# the failover module by "failover-module-name". If you want to disable
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# scsi_vhci support for a device, use the special failover-module-name "NONE".
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# Currently, for each failover-module-name in 'scsi-vhci-failover-override'
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# (except "NONE") there needs to be a
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# "misc/scsi_vhci/scsi_vhci_<failover-module-name>" in 'ddi-forceload' above.
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth#
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# " 111111"
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# "012345670123456789012345", "failover-module-name" or "NONE"
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# "|-VID--||-----PID------|",
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# scsi-vhci-failover-override =
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# "STK FLEXLINE 400", "f_asym_lsi",
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# "SUN T4", "f_tpgs",
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth# "CME XIRTEMMYS", "NONE";
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth#
1e1ddd6cc98ab5af8293f7ebd132be62900730fdcth#END: FAILOVER_MODULE_BLOCK (DO NOT MOVE OR DELETE)