#!/bin/bash

# VERSION=2
# CHANGES="creating symbolic link to mdio"

BEROCONF=/usr/fallback/beroconf
CONF=/usr/conf

case "$1" in
	start)
		MODE=`/usr/fallback/beroconf get root lan-mode`
		if [ "$MODE" != "bonding" ]; then
			exit
		fi
		
		#create link to mdio, if not already existing
		bonding_manager_to_mdio=`readlink -f /sbin/bonding_manager`
		
		if [ "$bonding_manager_to_mdio" != /sbin/mdio ]; then
			mount -o remount,rw /
			rm -f /sbin/bonding_manager
			ln -s /sbin/mdio /sbin/bonding_manager
			mount -o remount,ro /
		fi
		
		# start isgw
		/sbin/start-stop-daemon -S \
			-x /sbin/safe_bonding_manager \
			-m -p $CONF/run/safe_bonding_manager.pid \
			-b
		;;
	stop)
	
		killall safe_bonding_manager
		sleep 1
		killall -9 safe_bonding_manager

		killall bonding_manager
		killall -9 bonding_manager
		#killall doesn't always work, try to kill the remaining bonding_manager
		for pid in `ps aux|grep '/sbin/bonding_manager'|grep -v grep|awk '{print $1}'`; do
			kill -9 $pid
		done
		
		rm -f $CONF/run/safe_bonding_manager.pid

		;;
	restart)
		$0 stop
		$0 start
		;;
	*)
		echo "Usage: $0 {start|stop|restart}" >&2
		exit 1
		;;
esac
