#!/bin/sh

if [ "$#" -lt 1 ] ; then
    echo "Invalid arguments."
    exit 1
fi

IFCNAME=$1

IFCBASE=/etc/sysconfig/network-scripts
IFCFILE=$IFCBASE/ifcfg-$IFCNAME

if [ ! -f $IFCFILE ]; then
    echo "Interface configuration file for $IFCNAME does not exist."
    exit 2
fi

. $IFCFILE

if [ "$ONBOOT" != "yes" ] ; then
    echo "Interface $IFCNAME is disabled."
    exit 0
fi

# Stop autoip processes
AUTOIP_START_PID_FILE=/var/run/start_autoipd.$IFCNAME.pid
if [ -f $AUTOIP_START_PID_FILE ] ; then
    kill `cat $AUTOIP_START_PID_FILE` 2>/dev/null
    rm -f $AUTOIP_START_PID_FILE
fi
AUTOIP_PID_FILE=/var/run/avahi-autoipd.$IFCNAME.pid
if [ -f $AUTOIP_PID_FILE ] ; then
    kill `cat $AUTOIP_PID_FILE` 2>/dev/null
    rm -f $AUTOIP_PID_FILE
fi

if [ "$BOOTPROTO" = "dhcp" ] || [ "$BOOTPROTO" = "bootp" ] ; then
    DHCP_PID_FILE=/var/run/udhcpc.$IFCNAME.pid
    if [ -f $DHCP_PID_FILE ] ; then
        kill `cat /var/run/udhcpc.$IFCNAME.pid` 2>/dev/null
        rm -f $DHCP_PID_FILE
    fi
    rm -f /etc/sysconfig/dhcp_hostname_$IFCNAME
    rm -f /etc/sysconfig/dhcp_domain_$IFCNAME
    rm -f /etc/sysconfig/dhcp_dns_$IFCNAME
    rm -f /etc/sysconfig/dhcp_router_$IFCNAME
fi
rm -f /tmp/autoip.$IFCNAME
ifconfig $IFCNAME 0.0.0.0

exit 0
