#!/bin/sh

if [ -n "$DEBUG" ]; then
  echo "$0: Beginning $1"
fi

if [ "$1" = "change" ]; then
  if [ "$GATEWAY" = "$OLD_GATEWAY" ]; then

    if [ -n "$VERBOSE" ]; then
      echo "$0 Default gateway unchanged; skipping"
    fi

    exit 0
  fi
fi


case "$1" in
  change)

    $0 down
    $0 up

    ;;

  up)
    if [ -z "${DEVICE}" ]; then
      echo "$0: DEVICE not set!" 1>&2
      exit 1
    fi

    if [ -z "${GATEWAY}" ]; then
      exit 0
    fi

    for gw in `echo "${GATEWAY}" |sed -e 's/,/ /g'` ; do

      if [ -n "$VERBOSE" ]; then
        echo "$0: About to run " route add default gw "${gw}" dev "${DEVICE}"
      fi

      route add default gw "${gw}" dev "${DEVICE}"
    done

    ;;

  down)
    if [ -z "${DEVICE}" ]; then
      echo "$0: DEVICE not set!" 1>&2
      exit 1
    fi

    if [ -z "${OLD_GATEWAY}" ]; then
      exit 0
    fi

    for gw in `echo "${OLD_GATEWAY}" |sed -e 's/,/ /g'`; do
      if [ -n "$VERBOSE" ]; then
        echo "$0: About to run " route delete default gw "${gw}" dev "${DEVICE}"
      fi
      route delete default gw "${gw}" dev "${DEVICE}"
    done
    ;;

  *)
    echo "Usage: $0 up|down|change" 1>&2
    exit 1
    ;;
esac

if [ -n "$DEBUG" ]; then
  echo "$0: Ending $1"
fi

exit 0
