+ if ip link show $IF > /dev/null 2>&1 ; then
+ : # The interface exists already (bad badness); let things fail
+ elif ifquery --state $IF >/dev/null 2>&1 ; then
+ # doesn't exist but has residue state; quiet cleanup
+ ifdown -f $IF > /dev/null 2>&1
+ fi
+ if [ -z "$MAC" ] ; then
+ # set up veth with "random" mac address
+ ip link add $IF type veth peer name eth$i netns $NETNS
+ elif [ -z "${MAC%%.*}" ] ; then
+ # set up a host vlan with specified tag on previous eth
+ i=$((i-1))
+ IF=$NETNS$i$MAC
+ ifup $IF
+ else
+ # set up veth with specified mac address
+ ip link add $IF type veth peer name eth$i address $MAC netns $NETNS
+ fi