#!/bin/bash
#
# chkconfig: 34 96 4
# description: prepare omgbridge

### BEGIN INIT INFO
# Provides: omgbridge
# Required-Start: $network $local_fs $remote_fs 
# Required-Stop: $network $local_fs $remote_fs
# Should-Start: $syslog $named
# Should-Stop: $syslog $named
# Short-Description: start and stop networkbridge
# Description: prepare omgbridge
### END INIT INFO

echo "$0 start: $(date)" >> /tmp/sequence

#
# some inits
#
OMGBRIDGE_IP="10.254.0.233"
OMGBRIDGE_MASK="255.255.255.0"
OMGBRIDGE_GW="10.254.0.1"
OMGBRIDGE_NETWORK="10.254.0.0/24"
OMGBRIDGE_IF1="eth0"
OMGBRIDGE_IF2="eth2"


# color => new RH6.0 bootup
# verbose => old-style bootup
# anything else => new style bootup without ANSI colors or positioning
BOOTUP=color
# column to start "[  OK  ]" label in 
RES_COL=60
# terminal sequence to move to that column. You could change this
# to something like "tput hpa ${RES_COL}" if your terminal supports it
MOVE_TO_COL="echo -en \\033[${RES_COL}G"
# terminal sequence to set color to a 'success' color (currently: green)
SETCOLOR_SUCCESS="echo -en \\033[0;32m"
# terminal sequence to set color to a 'failure' color (currently: red)
SETCOLOR_FAILURE="echo -en \\033[0;31m"
# terminal sequence to set color to a 'warning' color (currently: yellow)
SETCOLOR_WARNING="echo -en \\033[0;33m"
# terminal sequence to reset to the default color.
SETCOLOR_NORMAL="echo -en \\033[0;39m"

echo_success() {
  [ "$BOOTUP" = "color" ] && $MOVE_TO_COL
  echo -n "["
  [ "$BOOTUP" = "color" ] && $SETCOLOR_SUCCESS
  echo -n $"  OK  "
  [ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
  echo -n "]"
  echo -ne "\r"
  return 0
}
echo_failure() {
  [ "$BOOTUP" = "color" ] && $MOVE_TO_COL
  echo -n "["
  [ "$BOOTUP" = "color" ] && $SETCOLOR_FAILURE
  echo -n $"FAILED"
  [ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
  echo -n "]"
  echo -ne "\r"
  return 1
}

echo_info() {
  [ "$BOOTUP" = "color" ] && $MOVE_TO_COL
  echo -n "["
  [ "$BOOTUP" = "color" ] && $SETCOLOR_SUCCESS
  echo -n $" INFO "
  [ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
  echo -n "]"
  echo -ne "\r"
  return 1
}

echo_warning() {
  [ "$BOOTUP" = "color" ] && $MOVE_TO_COL
  echo -n "["
  [ "$BOOTUP" = "color" ] && $SETCOLOR_WARNING
  echo -n $" WARN "
  [ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
  echo -n "]"
  echo -ne "\r"
  return 1
}

# The following line will be modified by mkdebian. Don't touch!
echo "export FEATUREVERSION=5" >> /tmp/cmdline

which checkmsc >/dev/null && checkmsc

touser () {
    echo "$@"
}
touserOk (){
    echo -n "$@"
	echo_success
	echo
}
touserFail (){
    echo -n "$@"
	echo_failure
	echo
}
touserWarn (){
    echo -n "$@"
	echo_warning
	echo
}
touserInfo (){
    echo -n "$@"
	echo_info
	echo
}

start () {
      ifconfig bridge down 2>/dev/null
      brctl delbr bridge 2>/dev/null
      route del -net $OMGBRIDGE_NETWORK
      route del default
	  ifconfig $OMGBRIDGE_IF1 up
      brctl addbr bridge
      brctl addif bridge $OMGBRIDGE_IF1
      brctl addif bridge $OMGBRIDGE_IF2
      ifconfig bridge $OMGBRIDGE_IP netmask $OMGBRIDGE_MASK up
      route add default gw $OMGBRIDGE_GW bridge
}

stop () {
    echo ""
}

# See how we were called.
case "$1" in
    start)
	start
	;;
    stop)
	stop
	;;
    status)
	status $prog
	;;
    restart|force-reload)
	stop
	start
	;;
    try-restart|condrestart)
	if status $prog > /dev/null; then
	    stop
	    start
	fi
	;;
    reload)
	exit 3
	;;
    *)
	echo $"Usage: $0 {start|stop|status|restart|try-restart|force-reload}"
	exit 2
esac
