HEX

Warning: set_time_limit() [function.set-time-limit]: Cannot set time limit - prohibited by configuration in /home/u547966/brikov.ru/www/wp-content/plugins/admin-menu-editor/menu-editor.php on line 745
Server: Apache
System: Linux 4.19.0-0.bpo.9-amd64 x86_64 at red40
User: u547966 (5490)
PHP: 5.3.29-mh2
Disabled: syslog, dl, popen, proc_open, proc_nice, proc_get_status, proc_close, proc_terminate, posix_mkfifo, chown, chgrp, accelerator_reset, opcache_reset, accelerator_get_status, opcache_get_status, pcntl_alarm, pcntl_fork, pcntl_waitpid, pcntl_wait, pcntl_wifexited, pcntl_wifstopped, pcntl_wifsignaled, pcntl_wifcontinued, pcntl_wexitstatus, pcntl_wtermsig, pcntl_wstopsig, pcntl_signal, pcntl_signal_dispatch, pcntl_get_last_error, pcntl_strerror, pcntl_sigprocmask, pcntl_sigwaitinfo, pcntl_sigtimedwait, pcntl_exec, pcntl_getpriority, pcntl_setpriority
Upload Files
File: //etc/network/if-post-down.d/ifenslave
#!/bin/sh

[ "$VERBOSITY" = 1 ] && set -x

[ "$ADDRFAM" = meta ] && exit 0

sysfs()
{
	# Called with :
	# $1 = basename of the file in bonding/ to write to.
	# $2 = value to write. Won't write if $2 is empty.
	if [ "$2" ] ; then
		echo "$2" > "/sys/class/net/$IFACE/master/bonding/$1"
		return $?
	fi
	return 0
}

sysfs_remove_all()
{
	# Called with:
	# $1 = target filename
	read values < "/sys/class/net/$IFACE/bonding/$1"
	for value in $values ; do 
		echo "-$value" > "/sys/class/net/$IFACE/bonding/$1"
	done
}

BOND_PARAMS="/sys/class/net/$IFACE/bonding"

# free $IFACE if it is currently enslaved to a bonding device.
if [ -f "/sys/class/net/$IFACE/master/bonding/slaves" ] ; then
	echo "-$IFACE" > "/sys/class/net/$IFACE/master/bonding/slaves"

	# The first slave in bond-primary found in current slaves becomes the primary.
	# If no slave in bond-primary is found, then the primary does not change and might be undefined if just removed.
	for slave in $IF_BOND_PRIMARY ; do
		if grep -sq "\\<$slave\\>" "/sys/class/net/$IFACE/master/bonding/slaves" ; then
			sysfs primary "$slave"
			break
		fi
	done
fi

# If $IFACE is not a master, exit.
[ ! -f "$BOND_PARAMS/slaves" ] && exit

# Unset multivalue sysfs entries, so that re-enabling the interface later won't cause error.

sysfs_remove_all arp_ip_target

# Remove any slaves of $IFACE.

[ "$VERBOSITY" = 1 ] && v=-v
read slaves < "$BOND_PARAMS/slaves"
for slave in $slaves ; do
	# This is supposed to have the side effect of freeing the interface.
	ifquery --state $slave && ifdown $v $slave

	# Anyway, ensure $slave is free.
	if [ -f "/sys/class/net/$slave/master/bonding/slaves" ] ; then
		echo "-$slave" > "$BOND_PARAMS/slaves" 2> /dev/null
	fi
done