#!/bin/sh

BRIDGE_ethB="1";
BRIDGE_ethC="1";
BRIDGE_ethD="1";

if [ -e /etc/default/bridge ];then
  source /etc/default/bridge
fi;

NAME_eth0="ethA";
NAME_eth1="ethB";
NAME_eth2="ethC";
NAME_usb0="ethD";

NAME2_eth1="usb0";

INAME="NAME_${1}"
NAME=${!INAME}

if [ ! "${NAME}" ];then
  exit 1;
fi;

if [ "${1}" == "eth0" ] && [ ! -d /sys/class/net/${1}/brif ];then
  /sbin/ip link set dev ${1} name ${NAME}
  /sbin/ip link add name ${1} type bridge
  /sbin/ip link set dev ${NAME} master eth0
 elif [ ! -d /sys/class/net/${NAME} ];then
  BIFACE="BRIDGE_${NAME}"
  INAME2="NAME2_${1}"
  NAME2=${!INAME2}
  if [ "${!BIFACE}" == "1" ] && [ -d /sys/class/net/eth0/brif ];then
    /sbin/ip link set dev ${1} name ${NAME}
    /sbin/ip link set dev ${NAME} master eth0
   elif [ "${!BIFACE}" == "2" ];then
     /sbin/udhcpc -b -q -t 6 -p /var/run/udhcpc.${1}.pid -i ${1}
   elif [ "${NAME2}" ] && [ ! -d /sys/class/net/${NAME2} ];then
    /sbin/ip link set dev ${1} name ${NAME2}
    /sbin/ip link set dev ${NAME2} up
  fi
fi

if [ -d /sys/class/net/${NAME} ];then
  /sbin/ip link set dev ${NAME} up
fi;

if [ -d /sys/class/net/${1} ];then
  /sbin/ip link set dev ${1} up
fi;
