📄 bonding
字号:
#!/bin/sh /etc/rc.common# Copyright (C) 2009 OpenRB.comSTART=43STOP=43LOADED=0# module configurationbonding() { PARAMS="bonding" # number of bonding devices in the system config_get max_bonds $1 max_bonds [ -z "$max_bonds" ] && max_bonds=1 PARAMS="$PARAMS max_bonds=$max_bonds" # bonding policy config_get mode $1 mode [ -z "$mode" ] && mode=0 PARAMS="$PARAMS mode=$mode" # monitoring mode settings config_get mon_mode $1 mon_mode config_get miimon $1 miimon config_get arp_ip_target $1 arp_ip_target config_get arp_interval $1 arp_interval # force miimon monitoring mode if no arp target or interval specified [ -z "$arp_ip_target" -o -z "$arp_interval" ] && mon_mode="miimon" # set monitoring mode parameters [ -z "$mon_mode" -o "$mon_mode" != "arp" ] && { [ -z "$miimon" ] && miimon=100 PARAMS="$PARAMS miimon=$miimon" } || { PARAMS="$PARAMS arp_interval=$arp_interval arp_ip_target=$arp_ip_target" } # insert module set state if module is loaded or stop execution on error insmod $PARAMS [ "$?" -eq 0 ] && LOADED=1 || exit 1}# interface configurationinterface() { config_get enabled $1 enabled [ "$enabled" -ne 1 ] && return 1 # static interface configuration config_get ipaddr $1 ipaddr config_get netmask $1 netmask config_get gateway $1 gateway # slave interfaces config_get ifname $1 ifname # interface won't be brought up without ip and netmask or without slaves [ -z "$ipaddr" -o -z "$netmask" -o -z "$ifname" ] && return 1 # bring interface up, ip will be set after all slaves have been added ifconfig "$1" up # stop if interface could not be brought up (max_bonds is incorrect?) [ "$?" -ne 0 ] && return 1 # setup slaves with no ip forced for sif in $ifname; do ifconfig "$sif" down ifconfig "$sif" 0.0.0.0 up ifenslave "$1" "$sif" done # setup interface and set default gateway if required sleep 2 ifconfig "$1" "$ipaddr" netmask "$netmask" [ -z "$gateway" ] || route add default gw "$gateway" dev "$1"}start() { rmmod bonding 2>/dev/null config_load bonding config_foreach bonding bonding [ "$LOADED" -ne 1 ] && exit 2 sleep 2 config_foreach interface interface}stop() { rmmod bonding 2>/dev/null}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -