1
0
mirror of https://github.com/CumulusNetworks/ifupdown2.git synced 2024-05-06 15:54:50 +00:00
Cumulus Builds 1d46fe02eb Merge branch 'CumulusLinux-2.1_br'
Conflicts:
	build-config/Makefile
	build-config/conf/extra-pkgs
	build-config/conf/linux.amd64.config
	build-config/conf/linux.powerpc-e500.config
	build-config/conf/linux.vci.config
	build-config/conf/snapshot-manifest-amd64
	build-config/conf/snapshot-manifest-powerpc
	build-config/installer/arch/amd64-installer-functions
	build-config/installer/cumulus/init/im_n29xx_t40n/platform.conf
	build-config/make/bcm-sdk.make
	build-config/make/images.make
	build-config/make/kernel.make
	build-config/make/lkm.make
	build-config/make/local-pkgs.make
	build-config/make/local-pkgs2.make
	build-config/scripts/kernel-builddeb
	build-config/scripts/mkimage-amd64.sh
	modules/Makefile
	modules/accton_as5712_54x_platform.c
	modules/cel_redstone_xp_muxpld.c
	modules/dell_s6000_platform.c
	modules/platform_defs.h
	packages/cafe/clobjects.py
	packages/cafe/scripts/build.py
	packages/cafe/scripts/supporttarball.py
	packages/cafe/scripts/test_ci.sh
	packages/cl-basefiles/etc/cumulus/datapath/traffic.conf
	packages/cl-image/bin/cl-img-install
	packages/cl-image/bin/cl-img-select
	packages/cl-image/img/functions
	packages/cl-platform-config/usr/share/platform-config/accton/as5712_54x/bin/eeprom.py
	packages/cl-platform-config/usr/share/platform-config/accton/as5712_54x/etc/bcm.d/config.d/01config.bcm
	packages/cl-platform-config/usr/share/platform-config/accton/as5712_54x/etc/modules
	packages/cl-platform-config/usr/share/platform-config/accton/as5712_54x/etc/sensors.d/accton_as5712_54x.conf
	packages/cl-platform-config/usr/share/platform-config/accton/as6701_32x/etc/bcm.d/config.d/01config.bcm
	packages/cl-platform-config/usr/share/platform-config/cel/redstone_xp/bin/eeprom.py
	packages/cl-platform-config/usr/share/platform-config/cel/redstone_xp/etc/bcm.d/config.d/01config.bcm
	packages/cl-platform-config/usr/share/platform-config/cel/redstone_xp/etc/bcm.d/default_config_values
	packages/cl-platform-config/usr/share/platform-config/cel/redstone_xp/etc/bcm.d/hw_desc
	packages/cl-platform-config/usr/share/platform-config/cel/redstone_xp/etc/bcm.d/rc.soc
	packages/cl-platform-config/usr/share/platform-config/cel/redstone_xp/etc/modules
	packages/cl-platform-config/usr/share/platform-config/cel/redstone_xp/etc/sensors.d/cel_redstone_xp.conf
	packages/cl-platform-config/usr/share/platform-config/cel/redstone_xp/hw_init.d/S20qsfp_init.sh
	packages/cl-platform-config/usr/share/platform-config/cel/smallstone/etc/bcm.d/config.d/01config.bcm
	packages/cl-platform-config/usr/share/platform-config/dell/s6000_s1220/bin/eeprom.py
	packages/cl-platform-config/usr/share/platform-config/dell/s6000_s1220/etc/bcm.d/config.d/01config.bcm
	packages/cl-platform-config/usr/share/platform-config/dell/s6000_s1220/etc/modules
	packages/cl-platform-config/usr/share/platform-config/dell/s6000_s1220/etc/sensors.d/dell_s6000_s1220.conf
	packages/cl-platform-config/usr/share/platform-config/dni/c7448n/etc/bcm.d/default_config_values
	packages/cl-platform-config/usr/share/platform-config/dni/c7448n/etc/bcm.d/hw_desc
	packages/cl-platform-config/usr/share/platform-config/im/n29xx_t40n/etc/bcm.d/rc.soc
	packages/cl-platform-config/usr/share/platform-config/im/n29xx_t40n/etc/cumulus/ports.conf
	packages/cl-platform-config/usr/share/platform-config/quanta/ly6_p2020/etc/bcm.d/config.d/01config.bcm
	packages/cl-utilities/dist-packages/cumulus/__chip_config/bcm/Trident/rc.forwarding
	packages/cl-utilities/dist-packages/cumulus/__chip_config/bcm/TridentTwo/rc.forwarding
	packages/cl-utilities/dist-packages/cumulus/__chip_config/bcm/Triumph/rc.forwarding
	packages/cl-utilities/dist-packages/cumulus/__chip_config/bcm/datapath.conf
	packages/cl-utilities/dist-packages/cumulus/platform.py
	packages/cl-utilities/dist-packages/cumulus/platforms/accton.py
	packages/cl-utilities/dist-packages/cumulus/platforms/cel.py
	packages/cl-utilities/dist-packages/cumulus/platforms/dell.py
	packages/cl-utilities/dist-packages/cumulus/platforms/quanta.py
	packages/cl-utilities/dist-packages/cumulus/portconfig.py
	packages/cl-utilities/dist-packages/cumulus/sensors.py
	packages/cl-utilities/rst/pwmd.8.rst
	packages/cl-utilities/rst/smonctl.8.rst
	packages/cl-utilities/usrlib/datapath-config
	packages/cl-utilities/usrlib/datapath-update
	packages/cl-utilities/usrlib/update-ports
	packages/clag/man/clagctl.8
	packages/clag/man/clagd.8
	packages/clag/sbin/clagctl
	packages/clag/sbin/clagd
	packages/clag/setup.py
	packages/ifupdown2-addons/addons/bridge.py
	packages/ifupdown2-addons/addons/mstpctl.py
	packages/ifupdown2-addons/pkg/bridgeutils.py
	packages/ifupdown2-addons/pkg/ifenslaveutil.py
	packages/ifupdown2-addons/pkg/modulebase.py
	packages/ifupdown2/init.d/networking
	packages/ifupdown2/pkg/iface.py
	packages/ifupdown2/pkg/ifupdownbase.py
	packages/ifupdown2/pkg/ifupdownmain.py
	packages/ifupdown2/pkg/networkinterfaces.py
	packages/ifupdown2/pkg/scheduler.py
	packages/ifupdown2/sbin/ifupdown
	packages/iorw/Makefile
	packages/iorw/iorw.c
	packages/lnv/debian/control
	packages/lnv/debian/install
	packages/lnv/debian/lnv-dsr.init
	packages/lnv/debian/lnv-pdd.init
	packages/lnv/debian/postinst
	packages/lnv/lnv-dsr
	packages/lnv/lnv-pdd
	packages/lnv/lnv.conf
	packages/lnv/lnv/common.py
	packages/lnv/lnv/config.py
	packages/ptm/debian/ptmd.install
	patches/bcm-sdk/series
	patches/bridge-utils/remove-ifupdown-support.patch
	patches/ethtool/force-speed-and-duplex-setting.patch
	patches/ethtool/series
	patches/iproute/series
	patches/iproute/update-neighbour-h-to-latest-upstream.patch
	patches/kernel/arch-intel-centerton-reboot-cf9.patch
	patches/kernel/debian-cumulus-controlfiles.patch
	patches/kernel/driver-hwmon-max6620-fix-rpm-calc.patch
	patches/kernel/driver-hwmon-pmbus-dni_dps460.patch
	patches/kernel/driver-support-intel-avoton-ethernet-with-broadcom-phy.patch
	patches/kernel/network-bridge-igmp-fast-leave.patch
	patches/kernel/network-bridge-igmpv3.patch
	patches/kernel/network-bridge-querier-ifaddr.patch
	patches/kernel/network-bridge-use-spin_lock_bh-from-process-context.patch
	patches/kernel/network-ipv6-route-fix-multipath-duplicate-nexthops.patch
	patches/kernel/network-tun-ethtool.patch
	patches/kernel/series
	patches/libnl/series
	patches/lldpd/add-rport-notification-on-linkdown.patch
	patches/lldpd/series
	patches/monit/cumulus-monitrc.patch
	patches/monit/series
	patches/quagga/bgp-interface-config.patch
	patches/quagga/bgpd-anvl-aggregate-failures.patch
	patches/quagga/bgpd-as-override.patch
	patches/quagga/bgpd-atomic-aggregate-missing.patch
	patches/quagga/bgpd-connected-nht.patch
	patches/quagga/bgpd-establish-peers-faster.patch
	patches/quagga/bgpd-event-driven-route-map-updates.patch
	patches/quagga/bgpd-fsm-fix.patch
	patches/quagga/bgpd-gr-route-selection-fix.patch
	patches/quagga/bgpd-maxmed-administrative-onstartup.patch
	patches/quagga/bgpd-pfxrcd-include-unuseable.patch
	patches/quagga/bgpd-route-map-dry-run.patch
	patches/quagga/bgpd-route-map-match-interface.patch
	patches/quagga/bgpd-rr-allow-policy-outbound.patch
	patches/quagga/bgpd-save-last-bad-msg.patch
	patches/quagga/bgpd-scale-update-delay-packing.patch
	patches/quagga/nexthop-tracking.patch
	patches/quagga/ospfd-mi.patch
	patches/quagga/ospfd-p2p-destination-fix.patch
	patches/quagga/ptm-bfd-integration.patch
	patches/quagga/quagga-faster-compile.patch
	patches/quagga/series
	patches/quagga/zebra-client-info-detail.patch
	patches/quagga/zebra-nht-routemap.patch
	patches/quagga/zebra-recursive-route.patch
	patches/quagga/zebra-redistribute-table.patch
	patches/quagga/zebra-route-tags.patch
	patches/quagga/zebra-set-src-routemap.patch
	patches/quagga/zebra-static-route-nht.patch
	rootconf/default/etc/cumulus/switchd.conf
	rootconf/default/home/cumulus/sysroot-complete
	rootconf/default/home/cumulus/sysroot-config
	switchd/hal.c
	switchd/hal.h
	switchd/hal_acl_bcm.c
	switchd/hal_bcm.c
	switchd/hal_bcm.h
	switchd/hal_bcm_vxlan.c
	switchd/hal_dummy.c
	switchd/hal_int.h
	switchd/hal_util.c
	switchd/netlink.c
	switchd/switchd.c
	switchd/sync.c
	tests/config/__init__.py
	tests/config/default.cfg
	tests/data/specs/bgp_stress.py
	tests/examples/testssim2.py
	tests/infra/testssim2.py
	tests/l2/l2_lldp_test.py
	tests/l3/bgp_alpm_test.py
	tests/l3/bgp_msft_fastreboot_test.py
	tests/l3/bgp_scale_amzn_test.py
	tests/l3/bgp_smoke_test.py
	tests/l3/bgp_v4_v6.py
	tests/l3/l3_helper.py
	tests/l3/traffic_utils.py
	tests/l3/zebra_test.py
	tests/lib/decorators.py
	tests/platform/cl-img.py
	tests/smoke/testcommands.py
	tests/smoke/testifupdown2.py
	tests/smoke/testneighborcheck.py
	tests/smoke/testroutecheck.py
	tests/smoke/testroutes2.py
	tests/tests/examples/testssim2.py
	utilities/distro-cmd
	utilities/packages/autolib/fs.py
	utilities/packages/autolib/netobjects.py
	utilities/packages/autolib/scripts/watch.py
	utilities/packages/autolib/timeout.py
	utilities/packages/ssim2/net.py
	utilities/packages/ssim2/scripts/nodecom.py
	utilities/packages/ssim2/simlib.py
	utilities/packages/ssim2/spec.py
	utilities/packages/ssim2/templates/interfaces.tmpl
	utilities/packages/testfu/buildout.cfg
	utilities/packages/testfu/scripts/runteststmpl.sh
	utilities/packages/testfu/scripts/xmltoresults.py
2014-08-24 18:39:31 -07:00

218 lines
4.7 KiB
Bash

#!/bin/bash
### BEGIN INIT INFO
# Provides: networking ifupdown
# Required-Start: mountkernfs $local_fs urandom
# Required-Stop: $local_fs
# Default-Start: S
# Default-Stop: 0 6
# Short-Description: Raise network interfaces.
# Description: Prepare /run/network directory, ifstate file and raise network interfaces, or take them down.
### END INIT INFO
PATH="/sbin:/bin"
RUN_DIR="/run/network"
IFSTATE="$RUN_DIR/ifstate"
NAME=networking
SCRIPTNAME=/etc/init.d/$NAME
[ -x /sbin/ifup ] || exit 0
[ -x /sbin/ifdown ] || exit 0
. /lib/lsb/init-functions
CONFIGURE_INTERFACES=yes
EXCLUDE_INTERFACES=
REMOTE_SYSLOG_SERVER=
VERBOSE=no
verbose=
[ -f /etc/default/networking ] && . /etc/default/networking
[ "$VERBOSE" = yes ] && verbose=-v
gen_examples() {
# Generate sample interfaces file. The interfaces files are
# generated under /usr/share/doc/python-ifupdown2/examples/
#
# generate files only at boot
[ -f /var/tmp/network/ifstatenew ] && return
python_ifupdown2_docdir="/usr/share/doc/python-ifupdown2"
swpfile=${python_ifupdown2_docdir}"/examples/swp_defaults"
bridgedefaultfile=${python_ifupdown2_docdir}"/examples/bridge_untagged_default"
interfaces_gen_script=${python_ifupdown2_docdir}"/examples/generate_interfaces.py"
[ ! -e $interfaces_gen_script ] && return
ret=$($interfaces_gen_script -s 2>&1 >$swpfile)
ret=$($interfaces_gen_script -b 2>&1 >$bridgedefaultfile)
return
}
perf_options() {
# At bootup lets set perfmode
[ -f /var/tmp/network/ifstatenew ] && echo -n "" && return
echo -n "--perfmode"
}
process_exclusions() {
set -- $EXCLUDE_INTERFACES
exclusions=""
for d
do
exclusions="-X $d $exclusions"
done
echo $exclusions
}
check_network_file_systems() {
[ -e /proc/mounts ] || return 0
if [ -e /etc/iscsi/iscsi.initramfs ]; then
log_warning_msg "not deconfiguring network interfaces: iSCSI root is mounted."
exit 0
fi
while read DEV MTPT FSTYPE REST; do
case $DEV in
/dev/nbd*|/dev/nd[a-z]*|/dev/etherd/e*)
log_warning_msg "not deconfiguring network interfaces: network devices still mounted."
exit 0
;;
esac
case $FSTYPE in
nfs|nfs4|smbfs|ncp|ncpfs|cifs|coda|ocfs2|gfs|pvfs|pvfs2|fuse.httpfs|fuse.curlftpfs)
log_warning_msg "not deconfiguring network interfaces: network file systems still mounted."
exit 0
;;
esac
done < /proc/mounts
}
check_network_swap() {
[ -e /proc/swaps ] || return 0
while read DEV MTPT FSTYPE REST; do
case $DEV in
/dev/nbd*|/dev/nd[a-z]*|/dev/etherd/e*)
log_warning_msg "not deconfiguring network interfaces: network swap still mounted."
exit 0
;;
esac
done < /proc/swaps
}
ifup_hotplug () {
if [ -d /sys/class/net ]
then
ifaces=$(for iface in $(ifquery --list --allow=hotplug 2>/dev/null)
do
link=${iface##:*}
link=${link##.*}
if [ -e "/sys/class/net/$link" ] && [ "$(cat /sys/class/net/$link/operstate)" = up ]
then
echo "$iface"
fi
done)
if [ -n "$ifaces" ]
then
ifup $ifaces "$@" || true
fi
fi
}
ifupdown_init() {
[ ! -e /run/network ] && mkdir -p /run/network &>/dev/null
[ ! -e /etc/network/run ] && \
ln -sf /run/network /etc/network/run &>/dev/null
}
case "$1" in
start)
gen_examples
ifupdown_init
if [ "$CONFIGURE_INTERFACES" = no ]
then
log_action_msg "Not configuring network interfaces, see /etc/default/networking"
exit 0
fi
set -f
exclusions=$(process_exclusions)
perfoptions=$(perf_options)
log_action_begin_msg "Configuring network interfaces"
if is_bootup ; then
ifup -a $verbose $perfoptions 2>&1 | /usr/bin/logger \
$REMOTE_SYSLOG_SERVER -s -i -t $SCRIPTNAME
else
ifup -a $verbose $perfoptions
fi
log_action_end_msg $?
;;
stop)
ifupdown_init
check_network_file_systems
check_network_swap
log_action_begin_msg "Deconfiguring network interfaces"
if ifdown -a $verbose; then
log_action_end_msg $?
else
log_action_end_msg $?
fi
;;
reload)
ifupdown_init
log_action_begin_msg "Reloading network interfaces configuration"
if ifreload -a
then
log_action_end_msg $?
else
log_action_end_msg $?
fi
;;
force-reload)
ifupdown_init
log_action_begin_msg "Reloading network interfaces configuration"
if ifreload -a
then
log_action_end_msg $?
else
log_action_end_msg $?
fi
;;
restart)
ifupdown_init
log_action_begin_msg "Reconfiguring network interfaces"
ifdown -a $verbose || true
set -f
exclusions=$(process_exclusions)
if ifup -a $verbose
then
log_action_end_msg $?
else
log_action_end_msg $?
fi
;;
*)
echo "Usage: /etc/init.d/networking {start|stop|reload|restart|force-reload}"
exit 1
;;
esac
exit 0
# vim: noet ts=8