#!/bin/sh ############################################################################### ## ## Startup script for Module ## ############################################################################### modName=LADVD cmd=$1 ############################################################################### ## ## Include module library ## ############################################################################### modLibDir=/raid/data/module/$modName/Shell { [ -r "$modLibDir/module.lib" ] && source "$modLibDir/module.lib"; } || { echo error; exit 1; } ############################################################################### ## ## Start ## ############################################################################### start () { ProcsRunning "ladvd" && $0 stop # Set interface to bind to intf=$(echo $(grep '^[ ]*eth[0-9]*:' /proc/net/dev | cut -d : -f 1)) args="-r" IF_MODE=$(/opt/bin/sqlite /app/cfg/conf.db "SELECT v FROM conf WHERE k = 'nic1_mode_8023ad';") if [ "$IF_MODE" != "none" ]; then # Bonding mgmt_ip=$(ip address show dev bond0 | awk '/inet/ { split($2, ip, "/"); print ip[1] }') $modDir/system/sbin/ladvd $args -m $mgmt_ip $intf else # Normal mode $modDir/system/sbin/ladvd $intf fi if ! ProcsRunning "ladvd" &>/dev/null ; then return 1 fi return 0 } ############################################################################### ## ## Stop ## ############################################################################### stop () { ProcKillall "ladvd" 15 return $? } ############################################################################### ## ## Boot ## ############################################################################### boot () { $0 start return $? } ############################################################################### ## ## Status ## ############################################################################### status () { if nProcs=$(ProcsRunning "ladvd") ; then echo "$modName running($nProcs)" else echo "$modName stopped!" fi } ############################################################################### ## ## Main ## ############################################################################### case "$cmd" in start) echo "Starting $modName..." if start ; then echo "Started $modName!" else echo "Failed to start $modName!" exit 1 fi ;; stop) echo "Stopping $modName..." if stop ; then echo "Stopped $modName!" else echo "Failed to stop $modName!" exit 1 fi ;; boot) echo "Booting $modName..." if boot ; then echo "Booted $modName!" else echo "Failed to boot $modName!" exit 1 fi ;; status) status ;; restart) echo "Restarting $modName..." if stop && start ; then echo "Restarted $modName!" else echo "Failed to restart $modName!" exit 1 fi ;; *) echo "Usage: $0 {start|stop|restart|boot|status}" exit 1 esac exit 0