Blame etc/rc.d/init.d/network

rpm-build 133ac4
#! /bin/bash
rpm-build 133ac4
#
rpm-build 133ac4
# network       Bring up/down networking
rpm-build 133ac4
#
rpm-build 133ac4
# chkconfig: - 10 90
rpm-build 133ac4
# description: Activates/Deactivates all network interfaces configured to \
rpm-build 133ac4
#              start at boot time.
rpm-build 133ac4
#
rpm-build 133ac4
### BEGIN INIT INFO
rpm-build 133ac4
# Provides: $network
rpm-build 133ac4
# Should-Start: iptables ip6tables NetworkManager-wait-online NetworkManager $network-pre
rpm-build 133ac4
# Short-Description: Bring up/down networking
rpm-build 133ac4
# Description: Bring up/down networking
rpm-build 133ac4
### END INIT INFO
rpm-build 133ac4
rpm-build 133ac4
# Source function library.
rpm-build 133ac4
. /etc/init.d/functions
rpm-build 133ac4
rpm-build 133ac4
if [ ! -f /etc/sysconfig/network ]; then
rpm-build 133ac4
    exit 6
rpm-build 133ac4
fi
rpm-build 133ac4
rpm-build 133ac4
. /etc/sysconfig/network
rpm-build 133ac4
rpm-build 133ac4
if [ -f /etc/sysconfig/pcmcia ]; then
rpm-build 133ac4
    . /etc/sysconfig/pcmcia
rpm-build 133ac4
fi
rpm-build 133ac4
rpm-build 133ac4
rpm-build 133ac4
# Check that networking is up.
rpm-build 133ac4
[ "${NETWORKING}" = "no" ] && exit 6
rpm-build 133ac4
rpm-build 133ac4
# if the ip configuration utility isn't around we can't function.
rpm-build 133ac4
[ -x /sbin/ip ] || exit 1
rpm-build 133ac4
rpm-build 133ac4
rpm-build 133ac4
CWD=$(pwd)
rpm-build 133ac4
cd /etc/sysconfig/network-scripts
rpm-build 133ac4
rpm-build 133ac4
. ./network-functions
rpm-build 133ac4
rpm-build 133ac4
# find all the interfaces besides loopback.
rpm-build 133ac4
# ignore aliases, alternative configurations, and editor backup files
rpm-build 133ac4
interfaces=$(ls ifcfg-* | \
rpm-build 133ac4
        LC_ALL=C sed -e "$__sed_discard_ignored_files" \
rpm-build 133ac4
               -e '/\(ifcfg-lo$\|:\|ifcfg-.*-range\)/d' \
rpm-build 133ac4
               -e '{ s/^ifcfg-//g;s/[0-9]/ &/}' | \
rpm-build 133ac4
        LC_ALL=C sort -k 1,1 -k 2n | \
rpm-build 133ac4
        LC_ALL=C sed 's/ //')
rpm-build 133ac4
rc=0
rpm-build 133ac4
rpm-build 133ac4
if ! [ -f /etc/sysconfig/disable-deprecation-warnings ]; then
rpm-build 133ac4
    net_log $"You are using 'network' service provided by 'network-scripts', which are now deprecated." warning network >&2
rpm-build 133ac4
    net_log $"'network-scripts' will be removed in one of the next major releases of RHEL." warning network >&2
rpm-build 133ac4
    net_log $"It is advised to switch to 'NetworkManager' instead for network management." warning network >&2
rpm-build 133ac4
rpm-build 133ac4
    # This disables additional warnings during the boot process:
rpm-build 133ac4
    export DEPRECATION_WARNING_ISSUED='true'
rpm-build 133ac4
fi
rpm-build 133ac4
rpm-build 133ac4
# See how we were called.
rpm-build 133ac4
case "$1" in
rpm-build 133ac4
start)
rpm-build 133ac4
    [ "$EUID" != "0" ] && exit 4
rpm-build 133ac4
    rc=0
rpm-build 133ac4
    # IPv6 hook (pre IPv4 start)
rpm-build 133ac4
    if [ -x /etc/sysconfig/network-scripts/init.ipv6-global ]; then
rpm-build 133ac4
        /etc/sysconfig/network-scripts/init.ipv6-global start pre
rpm-build 133ac4
    fi
rpm-build 133ac4
rpm-build 133ac4
    apply_sysctl
rpm-build 133ac4
rpm-build 133ac4
    #tell NM to reload its configuration
rpm-build 133ac4
    if [ "$(LANG=C nmcli -t --fields running general status 2>/dev/null)" = "running" ]; then
rpm-build 133ac4
        nmcli connection reload
rpm-build 133ac4
    fi
rpm-build 133ac4
rpm-build 133ac4
    # bring up loopback interface
rpm-build 133ac4
    action $"Bringing up loopback interface: " ./ifup ifcfg-lo
rpm-build 133ac4
rpm-build 133ac4
    case "$VLAN" in
rpm-build 133ac4
    yes)
rpm-build 133ac4
        if [ ! -d /proc/net/vlan ] && ! modprobe 8021q >/dev/null 2>&1 ; then
rpm-build 133ac4
            net_log $"No 802.1Q VLAN support available in kernel."
rpm-build 133ac4
        fi
rpm-build 133ac4
        ;;
rpm-build 133ac4
    esac
rpm-build 133ac4
rpm-build 133ac4
    vlaninterfaces=""
rpm-build 133ac4
    vpninterfaces=""
rpm-build 133ac4
    xdslinterfaces=""
rpm-build 133ac4
    bridgeinterfaces=""
rpm-build 133ac4
rpm-build 133ac4
    # bring up all other interfaces configured to come up at boot time
rpm-build 133ac4
    for i in $interfaces; do
rpm-build 133ac4
        unset DEVICE TYPE SLAVE NM_CONTROLLED
rpm-build 133ac4
        eval $(LANG=C grep -F "DEVICE=" ifcfg-$i)
rpm-build 133ac4
        eval $(LANG=C grep -F "TYPE=" ifcfg-$i)
rpm-build 133ac4
        eval $(LANG=C grep -F "SLAVE=" ifcfg-$i)
rpm-build 133ac4
        eval $(LANG=C grep -F "NM_CONTROLLED=" ifcfg-$i)
rpm-build 133ac4
rpm-build 133ac4
        if [ -z "$DEVICE" ] ; then DEVICE="$i"; fi
rpm-build 133ac4
rpm-build 133ac4
        if [ "$SLAVE" = "yes" ] && ( ! is_nm_running || is_false $NM_CONTROLLED ) ; then
rpm-build 133ac4
            continue
rpm-build 133ac4
        fi
rpm-build 133ac4
rpm-build 133ac4
        if [ "${DEVICE##cipcb}" != "$DEVICE" ] ; then
rpm-build 133ac4
            vpninterfaces="$vpninterfaces $i"
rpm-build 133ac4
            continue
rpm-build 133ac4
        fi
rpm-build 133ac4
        if [ "$TYPE" = "xDSL"  -o  "$TYPE" = "Modem" ]; then
rpm-build 133ac4
            xdslinterfaces="$xdslinterfaces $i"
rpm-build 133ac4
            continue
rpm-build 133ac4
        fi
rpm-build 133ac4
rpm-build 133ac4
        if [ "$TYPE" = "Bridge" ]; then
rpm-build 133ac4
            bridgeinterfaces="$bridgeinterfaces $i"
rpm-build 133ac4
            continue
rpm-build 133ac4
        fi
rpm-build 133ac4
        if [ "$TYPE" = "IPSEC" ] || [ "$TYPE" = "IPIP" ] || [ "$TYPE" = "GRE" ]; then
rpm-build 133ac4
            vpninterfaces="$vpninterfaces $i"
rpm-build 133ac4
            continue
rpm-build 133ac4
        fi
rpm-build 133ac4
rpm-build 133ac4
        if [ "${DEVICE%%.*}" != "$DEVICE"  -o  "${DEVICE##vlan}" != "$DEVICE" ] ; then
rpm-build 133ac4
            vlaninterfaces="$vlaninterfaces $i"
rpm-build 133ac4
            continue
rpm-build 133ac4
        fi
rpm-build 133ac4
rpm-build 133ac4
        if ( . ./ifcfg-"$i" ; is_false "$ONBOOT" ) ; then
rpm-build 133ac4
            # this loads the module, to preserve ordering
rpm-build 133ac4
            is_available $i
rpm-build 133ac4
            continue
rpm-build 133ac4
        fi
rpm-build 133ac4
        action $"Bringing up interface $i: " ./ifup $i boot
rpm-build 133ac4
        [ $? -ne 0 ] && rc=1
rpm-build 133ac4
    done
rpm-build 133ac4
rpm-build 133ac4
    # Bring up xDSL and VPN interfaces
rpm-build 133ac4
    for i in $vlaninterfaces $bridgeinterfaces $xdslinterfaces $vpninterfaces ; do
rpm-build 133ac4
        if ( . ./ifcfg-"$i" ; ! is_false "$ONBOOT" ) ; then
rpm-build 133ac4
            action $"Bringing up interface $i: " ./ifup $i boot
rpm-build 133ac4
            [ $? -ne 0 ] && rc=1
rpm-build 133ac4
        fi
rpm-build 133ac4
    done
rpm-build 133ac4
rpm-build 133ac4
    # Add non interface-specific static-routes.
rpm-build 133ac4
    if [ -f /etc/sysconfig/static-routes ]; then
rpm-build 133ac4
        if [ -x /sbin/route ]; then
rpm-build 133ac4
            grep "^any" /etc/sysconfig/static-routes | while read ignore args ; do
rpm-build 133ac4
                /sbin/route add -$args
rpm-build 133ac4
            done
rpm-build 133ac4
        else
rpm-build 133ac4
            net_log $"Legacy static-route support not available: /sbin/route not found"
rpm-build 133ac4
        fi
rpm-build 133ac4
    fi
rpm-build 133ac4
rpm-build 133ac4
    # IPv6 hook (post IPv4 start)
rpm-build 133ac4
    if [ -x /etc/sysconfig/network-scripts/init.ipv6-global ]; then
rpm-build 133ac4
        /etc/sysconfig/network-scripts/init.ipv6-global start post
rpm-build 133ac4
    fi
rpm-build 133ac4
    # Run this again to catch any interface-specific actions
rpm-build 133ac4
    apply_sysctl
rpm-build 133ac4
rpm-build 133ac4
    touch /var/lock/subsys/network
rpm-build 133ac4
rpm-build 133ac4
    [ -n "${NETWORKDELAY}" ] && /bin/sleep ${NETWORKDELAY}
rpm-build 133ac4
    ;;
rpm-build 133ac4
stop)
rpm-build 133ac4
    [ "$EUID" != "0" ] && exit 4
rpm-build 133ac4
    # Don't shut the network down if root or /usr is on NFS or a network
rpm-build 133ac4
    # block device.
rpm-build 133ac4
    if systemctl show --property=RequiredBy -- -.mount usr.mount | grep -q 'remote-fs.target' ; then
rpm-build 133ac4
        net_log $"rootfs or /usr is on network filesystem, leaving network up"
rpm-build 133ac4
        exit 1
rpm-build 133ac4
    fi
rpm-build 133ac4
rpm-build 133ac4
    # Don't shut the network down when shutting down the system if configured
rpm-build 133ac4
    # as such in sysconfig
rpm-build 133ac4
    if is_false "$IFDOWN_ON_SHUTDOWN"; then
rpm-build 133ac4
      if systemctl is-system-running | grep -q 'stopping'; then
rpm-build 133ac4
        net_log $"system is shutting down, leaving interfaces up as requested" info
rpm-build 133ac4
        exit 0
rpm-build 133ac4
      fi
rpm-build 133ac4
    fi
rpm-build 133ac4
rpm-build 133ac4
    vlaninterfaces=""
rpm-build 133ac4
    vpninterfaces=""
rpm-build 133ac4
    xdslinterfaces=""
rpm-build 133ac4
    bridgeinterfaces=""
rpm-build 133ac4
    remaining=""
rpm-build 133ac4
    rc=0
rpm-build 133ac4
rpm-build 133ac4
    # get list of bonding, vpn, and xdsl interfaces
rpm-build 133ac4
    for i in $interfaces; do
rpm-build 133ac4
        unset DEVICE TYPE
rpm-build 133ac4
        eval $(LANG=C grep -F "DEVICE=" ifcfg-$i)
rpm-build 133ac4
        eval $(LANG=C grep -F "TYPE=" ifcfg-$i)
rpm-build 133ac4
rpm-build 133ac4
        if [ -z "$DEVICE" ] ; then DEVICE="$i"; fi
rpm-build 133ac4
rpm-build 133ac4
        if [ "${DEVICE##cipcb}" != "$DEVICE" ] ; then
rpm-build 133ac4
            vpninterfaces="$vpninterfaces $i"
rpm-build 133ac4
            continue
rpm-build 133ac4
        fi
rpm-build 133ac4
        if [ "$TYPE" = "IPSEC" ] || [ "$TYPE" = "IPIP" ] || [ "$TYPE" = "GRE" ]; then
rpm-build 133ac4
            vpninterfaces="$vpninterfaces $i"
rpm-build 133ac4
            continue
rpm-build 133ac4
        fi
rpm-build 133ac4
        if [ "$TYPE" = "Bridge" ]; then
rpm-build 133ac4
            bridgeinterfaces="$bridgeinterfaces $i"
rpm-build 133ac4
            continue
rpm-build 133ac4
        fi
rpm-build 133ac4
        if [ "$TYPE" = "xDSL"  -o  "$TYPE" = "Modem" ]; then
rpm-build 133ac4
            xdslinterfaces="$xdslinterfaces $i"
rpm-build 133ac4
            continue
rpm-build 133ac4
        fi
rpm-build 133ac4
rpm-build 133ac4
        if [ "${DEVICE%%.*}" != "$DEVICE"  -o  "${DEVICE##vlan}" != "$DEVICE" ] ; then
rpm-build 133ac4
            vlaninterfaces="$vlaninterfaces $i"
rpm-build 133ac4
            continue
rpm-build 133ac4
        fi
rpm-build 133ac4
        remaining="$remaining $i"
rpm-build 133ac4
    done
rpm-build 133ac4
rpm-build 133ac4
    for i in $vpninterfaces $xdslinterfaces $bridgeinterfaces $vlaninterfaces $remaining; do
rpm-build 133ac4
        unset DEVICE TYPE
rpm-build 133ac4
        (. ./ifcfg-$i
rpm-build 133ac4
        if [ -z "$DEVICE" ] ; then DEVICE="$i"; fi
rpm-build 133ac4
rpm-build 133ac4
        if ! check_device_down $DEVICE; then
rpm-build 133ac4
            action $"Shutting down interface $i: " ./ifdown $i boot
rpm-build 133ac4
            [ $? -ne 0 ] && rc=1
rpm-build 133ac4
        fi
rpm-build 133ac4
        )
rpm-build 133ac4
    done
rpm-build 133ac4
rpm-build 133ac4
    action $"Shutting down loopback interface: " ./ifdown ifcfg-lo
rpm-build 133ac4
rpm-build 133ac4
    sysctl -w net.ipv4.ip_forward=0 > /dev/null 2>&1
rpm-build 133ac4
rpm-build 133ac4
    # IPv6 hook (post IPv4 stop)
rpm-build 133ac4
    if [ -x /etc/sysconfig/network-scripts/init.ipv6-global ]; then
rpm-build 133ac4
        /etc/sysconfig/network-scripts/init.ipv6-global stop post
rpm-build 133ac4
    fi
rpm-build 133ac4
rpm-build 133ac4
    rm -f /var/lock/subsys/network
rpm-build 133ac4
    ;;
rpm-build 133ac4
status)
rpm-build 133ac4
    echo $"Configured devices:"
rpm-build 133ac4
    echo lo $interfaces
rpm-build 133ac4
rpm-build 133ac4
    echo $"Currently active devices:"
rpm-build 133ac4
    echo $(/sbin/ip -o link show up | awk -F ": " '{ print $2 }')
rpm-build 133ac4
    ;;
rpm-build 133ac4
restart|force-reload)
rpm-build 133ac4
    cd "$CWD"
rpm-build 133ac4
    $0 stop
rpm-build 133ac4
    $0 start
rpm-build 133ac4
    rc=$?
rpm-build 133ac4
    ;;
rpm-build 133ac4
*)
rpm-build 133ac4
    echo $"Usage: $0 {start|stop|status|restart|force-reload}"
rpm-build 133ac4
    exit 2
rpm-build 133ac4
esac
rpm-build 133ac4
rpm-build 133ac4
exit $rc