X-Git-Url: https://git.tld-linux.org/?p=rc-scripts.git;a=blobdiff_plain;f=lib%2Fifup;h=4f5d2e71f9e47104b0581bbdf5598610e1e725b2;hp=c53444235e1b2f49ee6c3cbdc073e686e48afa35;hb=7469b84d1e7ffde6f48bf19b999c005249df5dae;hpb=22c356c886ee24fe1928a4ab6617be673e0fffe4 diff --git a/lib/ifup b/lib/ifup index c534442..4f5d2e7 100755 --- a/lib/ifup +++ b/lib/ifup @@ -120,11 +120,12 @@ if [ -n "$ETHTOOL_OPTS" ] ; then fi if is_yes "$SLAVE" && [ -n "$MASTER" ] ; then - nls "Enslaving %s to %s" "$DEVICE" "$MASTER" - ip link set "$DEVICE" master "$MASTER" - ip link set "$DEVICE" up - - exit 0 + if ! grep -wq "${DEVICE}" /sys/class/net/${MASTER}/bonding/slaves 2>/dev/null; then + nls "Enslaving %s to %s" "$DEVICE" "$MASTER" + ip link set dev ${DEVICE} down + echo "+${DEVICE}" > /sys/class/net/${MASTER}/bonding/slaves 2>/dev/null + fi + exit 0 fi if [ "$HANDLING" = "2" ]; then