|
Packit Service |
bca4e3 |
#!/bin/sh
|
|
Packit Service |
bca4e3 |
#
|
|
Packit Service |
bca4e3 |
# Copyright(c) 2010-2011 Intel Corporation. All rights reserved.
|
|
Packit Service |
bca4e3 |
#
|
|
Packit Service |
bca4e3 |
# This program is free software; you can redistribute it and/or modify it
|
|
Packit Service |
bca4e3 |
# under the terms and conditions of the GNU General Public License,
|
|
Packit Service |
bca4e3 |
# version 2, as published by the Free Software Foundation.
|
|
Packit Service |
bca4e3 |
#
|
|
Packit Service |
bca4e3 |
# This program is distributed in the hope it will be useful, but WITHOUT
|
|
Packit Service |
bca4e3 |
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
Packit Service |
bca4e3 |
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
|
Packit Service |
bca4e3 |
# more details.
|
|
Packit Service |
bca4e3 |
#
|
|
Packit Service |
bca4e3 |
# You should have received a copy of the GNU General Public License along with
|
|
Packit Service |
bca4e3 |
# this program; if not, write to the Free Software Foundation, Inc.,
|
|
Packit Service |
bca4e3 |
# 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
|
|
Packit Service |
bca4e3 |
#
|
|
Packit Service |
bca4e3 |
# Maintained at www.Open-FCoE.org
|
|
Packit Service |
bca4e3 |
#
|
|
Packit Service |
bca4e3 |
#
|
|
Packit Service |
bca4e3 |
# Open-FCoE User-Space Software
|
|
Packit Service |
bca4e3 |
# Based on:
|
|
Packit Service |
bca4e3 |
# Template LSB system startup script for example service/daemon FOO
|
|
Packit Service |
bca4e3 |
# Copyright (C) 1995--2005 Kurt Garloff, SUSE / Novell Inc.
|
|
Packit Service |
bca4e3 |
#
|
|
Packit Service |
bca4e3 |
# /etc/init.d/fcoe This shell script takes care of starting and stopping
|
|
Packit Service |
bca4e3 |
# of the fcoemon daemon
|
|
Packit Service |
bca4e3 |
# and its symbolic link
|
|
Packit Service |
bca4e3 |
# /sbin/rcfcoe
|
|
Packit Service |
bca4e3 |
#
|
|
Packit Service |
bca4e3 |
# chkconfig: 345 20 80
|
|
Packit Service |
bca4e3 |
#
|
|
Packit Service |
bca4e3 |
### BEGIN INIT INFO
|
|
Packit Service |
bca4e3 |
# Provides: fcoe
|
|
Packit Service |
bca4e3 |
# Required-Start: network
|
|
Packit Service |
bca4e3 |
# Required-Stop:
|
|
Packit Service |
bca4e3 |
# Default-Start: 3 5
|
|
Packit Service |
bca4e3 |
# Default-Stop: 3 5
|
|
Packit Service |
bca4e3 |
# Description: Open-FCoE Initiator
|
|
Packit Service |
bca4e3 |
### END INIT INFO
|
|
Packit Service |
bca4e3 |
|
|
Packit Service |
bca4e3 |
CONFIG_DIR=/etc/fcoe
|
|
Packit Service |
bca4e3 |
LOG_FILE="/var/log/fcoemon.log"
|
|
Packit Service |
bca4e3 |
FCOEMON=/usr/sbin/fcoemon
|
|
Packit Service |
bca4e3 |
FCOEADM=/usr/sbin/fcoeadm
|
|
Packit Service |
bca4e3 |
FCOEMON_OPTS=
|
|
Packit Service |
bca4e3 |
|
|
Packit Service |
bca4e3 |
. /etc/rc.status
|
|
Packit Service |
bca4e3 |
rc_reset
|
|
Packit Service |
bca4e3 |
|
|
Packit Service |
bca4e3 |
. $CONFIG_DIR/config
|
|
Packit Service |
bca4e3 |
|
|
Packit Service |
bca4e3 |
if [ "$USE_SYSLOG" = "yes" ] || [ "$USE_SYSLOG" = "YES" ]; then
|
|
Packit Service |
bca4e3 |
FCOEMON_OPTS+=" --syslog"
|
|
Packit Service |
bca4e3 |
fi
|
|
Packit Service |
bca4e3 |
|
|
Packit Service |
bca4e3 |
if [ "$DEBUG" = "yes" ] || [ "$DEBUG" = "YES" ]; then
|
|
Packit Service |
bca4e3 |
FCOEMON_OPTS+=" --debug"
|
|
Packit Service |
bca4e3 |
fi
|
|
Packit Service |
bca4e3 |
|
|
Packit Service |
bca4e3 |
test -x $FCOEADM || {
|
|
Packit Service |
bca4e3 |
echo "$FCOEADM not installed";
|
|
Packit Service |
bca4e3 |
if [ "$1" = "stop" ]; then exit 0;
|
|
Packit Service |
bca4e3 |
else
|
|
Packit Service |
bca4e3 |
rc_failed
|
|
Packit Service |
bca4e3 |
rc_status -v
|
|
Packit Service |
bca4e3 |
rc_exit
|
|
Packit Service |
bca4e3 |
fi
|
|
Packit Service |
bca4e3 |
}
|
|
Packit Service |
bca4e3 |
|
|
Packit Service |
bca4e3 |
test -x $FCOEMON || {
|
|
Packit Service |
bca4e3 |
echo "$FCOEMON not installed";
|
|
Packit Service |
bca4e3 |
if [ "$1" = "stop" ]; then exit 0;
|
|
Packit Service |
bca4e3 |
else
|
|
Packit Service |
bca4e3 |
rc_failed
|
|
Packit Service |
bca4e3 |
rc_status -v
|
|
Packit Service |
bca4e3 |
rc_exit
|
|
Packit Service |
bca4e3 |
fi
|
|
Packit Service |
bca4e3 |
}
|
|
Packit Service |
bca4e3 |
|
|
Packit Service |
bca4e3 |
startup_fcoe_modules()
|
|
Packit Service |
bca4e3 |
{
|
|
Packit Service |
bca4e3 |
modprobe -a $SUPPORTED_DRIVERS > /dev/null 2>&1
|
|
Packit Service |
bca4e3 |
}
|
|
Packit Service |
bca4e3 |
|
|
Packit Service |
bca4e3 |
start()
|
|
Packit Service |
bca4e3 |
{
|
|
Packit Service |
bca4e3 |
echo -n $"Starting FCoE initiator service: "
|
|
Packit Service |
bca4e3 |
|
|
Packit Service |
bca4e3 |
pid=$($FCOEADM -p 2> /dev/null)
|
|
Packit Service |
bca4e3 |
if [ -z "$pid" ] ; then
|
|
Packit Service |
bca4e3 |
startup_fcoe_modules
|
|
Packit Service |
bca4e3 |
|
|
Packit Service |
bca4e3 |
startproc -l ${LOG_FILE} ${FCOEMON} ${FCOEMON_OPTS}
|
|
Packit Service |
bca4e3 |
else
|
|
Packit Service |
bca4e3 |
echo -n "(already running)"
|
|
Packit Service |
bca4e3 |
rc_reset
|
|
Packit Service |
bca4e3 |
fi
|
|
Packit Service |
bca4e3 |
rc_status -v
|
|
Packit Service |
bca4e3 |
}
|
|
Packit Service |
bca4e3 |
|
|
Packit Service |
bca4e3 |
stop()
|
|
Packit Service |
bca4e3 |
{
|
|
Packit Service |
bca4e3 |
local force=$1
|
|
Packit Service |
bca4e3 |
|
|
Packit Service |
bca4e3 |
echo -n $"Stopping FCoE initiator service: "
|
|
Packit Service |
bca4e3 |
pid=$($FCOEADM -p)
|
|
Packit Service |
bca4e3 |
if [ "$force" == "force" ]
|
|
Packit Service |
bca4e3 |
then
|
|
Packit Service |
bca4e3 |
echo -n "Destroying any active fcoe interface/s"
|
|
Packit Service |
bca4e3 |
[ "$pid" ] && kill -HUP $pid
|
|
Packit Service |
bca4e3 |
rc_status -v
|
|
Packit Service |
bca4e3 |
else
|
|
Packit Service |
bca4e3 |
[ "$pid" ] && kill -TERM $pid
|
|
Packit Service |
bca4e3 |
fi
|
|
Packit Service |
bca4e3 |
|
|
Packit Service |
bca4e3 |
|
|
Packit Service |
bca4e3 |
rc_status -v
|
|
Packit Service |
bca4e3 |
}
|
|
Packit Service |
bca4e3 |
|
|
Packit Service |
bca4e3 |
status()
|
|
Packit Service |
bca4e3 |
{
|
|
Packit Service |
bca4e3 |
echo -n "Checking status for fcoe service "
|
|
Packit Service |
bca4e3 |
pid=$($FCOEADM -p 2> /dev/null)
|
|
Packit Service |
bca4e3 |
if [ $? -eq 12 ]; then
|
|
Packit Service |
bca4e3 |
rc_failed 3
|
|
Packit Service |
bca4e3 |
rc_status -v
|
|
Packit Service |
bca4e3 |
elif [ -z "$pid" ] ; then
|
|
Packit Service |
bca4e3 |
rc_failed 1
|
|
Packit Service |
bca4e3 |
rc_status -v
|
|
Packit Service |
bca4e3 |
else
|
|
Packit Service |
bca4e3 |
rc_reset
|
|
Packit Service |
bca4e3 |
rc_status -v
|
|
Packit Service |
bca4e3 |
interfaces=`$FCOEADM -i 2>&1 | \
|
|
Packit Service |
bca4e3 |
awk '/Symbolic Name:/{print $6}' | \
|
|
Packit Service |
bca4e3 |
sort | awk '{printf("%s ", $1)}'`
|
|
Packit Service |
bca4e3 |
if [ -z "$interfaces" ]; then
|
|
Packit Service |
bca4e3 |
echo "No interfaces created."
|
|
Packit Service |
bca4e3 |
else
|
|
Packit Service |
bca4e3 |
echo "Created interfaces: $interfaces"
|
|
Packit Service |
bca4e3 |
fi
|
|
Packit Service |
bca4e3 |
fi
|
|
Packit Service |
bca4e3 |
}
|
|
Packit Service |
bca4e3 |
|
|
Packit Service |
bca4e3 |
case "$1" in
|
|
Packit Service |
bca4e3 |
start)
|
|
Packit Service |
bca4e3 |
start
|
|
Packit Service |
bca4e3 |
;;
|
|
Packit Service |
bca4e3 |
|
|
Packit Service |
bca4e3 |
stop)
|
|
Packit Service |
bca4e3 |
stop $2
|
|
Packit Service |
bca4e3 |
;;
|
|
Packit Service |
bca4e3 |
|
|
Packit Service |
bca4e3 |
restart)
|
|
Packit Service |
bca4e3 |
stop $2
|
|
Packit Service |
bca4e3 |
start
|
|
Packit Service |
bca4e3 |
rc_status
|
|
Packit Service |
bca4e3 |
;;
|
|
Packit Service |
bca4e3 |
|
|
Packit Service |
bca4e3 |
force-reload)
|
|
Packit Service |
bca4e3 |
echo "force-reload not yet implemented"
|
|
Packit Service |
bca4e3 |
;;
|
|
Packit Service |
bca4e3 |
|
|
Packit Service |
bca4e3 |
reload)
|
|
Packit Service |
bca4e3 |
echo "reload not yet implemented"
|
|
Packit Service |
bca4e3 |
rc_failed 3
|
|
Packit Service |
bca4e3 |
;;
|
|
Packit Service |
bca4e3 |
|
|
Packit Service |
bca4e3 |
status)
|
|
Packit Service |
bca4e3 |
status
|
|
Packit Service |
bca4e3 |
;;
|
|
Packit Service |
bca4e3 |
|
|
Packit Service |
bca4e3 |
*)
|
|
Packit Service |
bca4e3 |
echo "Usage: $0 {start|stop [force]|status|restart [force]}"
|
|
Packit Service |
bca4e3 |
exit 1
|
|
Packit Service |
bca4e3 |
;;
|
|
Packit Service |
bca4e3 |
esac
|
|
Packit Service |
bca4e3 |
rc_exit
|