postinstall revision fcf3ce441efd61da9bb2884968af01cb7c1452cc
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey#!/bin/sh
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey#
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey# CDDL HEADER START
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey#
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey# The contents of this file are subject to the terms of the
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey# Common Development and Distribution License (the "License").
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey# You may not use this file except in compliance with the License.
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey#
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey# or http://www.opensolaris.org/os/licensing.
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey# See the License for the specific language governing permissions
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey# and limitations under the License.
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey#
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey# When distributing Covered Code, include this CDDL HEADER in each
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey# If applicable, add the following below this CDDL HEADER, with the
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey# fields enclosed by brackets "[]" replaced with your own identifying
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey# information: Portions Copyright [yyyy] [name of copyright owner]
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey#
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey# CDDL HEADER END
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey#
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey#
4a44f0a129f99893a7aef6325037c5e1fa702a0fAnurag S. Maskey# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey# Use is subject to license terms.
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey#
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. MaskeyPATH="/usr/bin:/usr/sbin:$PATH"; export PATH
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey# Driver definitions
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. MaskeyDRVR_NAME=emlxs
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. MaskeyPERM_OPT="-m '* 0600 root sys'"
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. MaskeyCLASS_OPT="-c fibre-channel"
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. MaskeyALIAS_FILE=/etc/driver_aliases
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. MaskeySUPPORT_LIST="\
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey pci10df,fc00 \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey pci10df,f800 \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey pci10df,f900 \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey pci10df,f980 \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey pci10df,fa00 \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey pci10df,fd00 \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey pci10df,f0a5 \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey pci10df,fc10 \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey pci10df,fc20 \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey pci10df,fe00 \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey pciex10df,f100 \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey pciex10df,f111 \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey pciex10df,f112 \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey pciex10df,fc20 \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey pciex10df,fc40 \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey pciex10df,fe00 \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey pciex10df,fe05 \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey lpfs \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey "
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. MaskeyCheckAlias()
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey{
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey DRIVER=$1
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey PCI_STRING=$2
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey grep "^${DRIVER}[ ]\"*${PCI_STRING}\"*" ${BASEDIR}${ALIAS_FILE} > /dev/null 2>&1
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey STATUS=$?
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey return $STATUS
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey}
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. MaskeyGenerateSupportList()
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey{
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey LPFC_DRVR=lpfc
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey GEN_LIST=""
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey for HBA in ${SUPPORT_LIST}
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey do
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey CheckAlias ${LPFC_DRVR} ${HBA}
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey if [ $STATUS -ne 0 ]; then
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey if [ -z "${GEN_LIST}" ]; then
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey GEN_LIST="\"$HBA\""
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey else
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey GEN_LIST="${GEN_LIST} \"$HBA\""
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey fi
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey fi
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey done
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey}
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. MaskeyGenerateSupportList
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
03e9aa6d0661fbdf89669b14e801767d7e504fe8Renee Danson SommerfeldALIASES_OPT="-i '${GEN_LIST}'"
03e9aa6d0661fbdf89669b14e801767d7e504fe8Renee Danson Sommerfeld
03e9aa6d0661fbdf89669b14e801767d7e504fe8Renee Danson Sommerfeldif [ -z "${BASEDIR}" ]; then
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey echo "\n$0 Failed: BASEDIR is not set.\n" >&2
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey exit 1
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskeyfi
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey# Remove existing definition, if it exists.
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey/usr/sbin/rem_drv -b "${BASEDIR}" ${DRVR_NAME} > /dev/null 2>&1
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. MaskeyADD_DRV="add_drv -n -b ${BASEDIR}"
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskeyeval ${ADD_DRV} "${PERM_OPT}" ${CLASS_OPT} "${ALIASES_OPT}" ${DRVR_NAME}
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. MaskeySTATUS=$?
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskeyif [ $STATUS -ne 0 ]; then
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey echo "\nCommand Failed:" >&2
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey echo "\t${ADD_DRV} "${PERM_OPT}" ${CLASS_OPT} "${ALIASES_OPT}" ${DRVR_NAME}\n" >&2
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey echo "\tReturned: $STATUS" >&2
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey exit 1
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskeyfi
03e9aa6d0661fbdf89669b14e801767d7e504fe8Renee Danson Sommerfeld
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskeyexit 0
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey