diff options
author | 2004-03-18 11:31:04 +0000 | |
---|---|---|
committer | 2004-03-18 11:31:04 +0000 | |
commit | 06f49f4357b76fd892c84645a20c37deae399334 (patch) | |
tree | b6708fa12d8d67f9131387763a92815ae1b67a2c /net-misc/bridge-utils/files/bridge.rc | |
parent | Changelog fix (diff) | |
download | historical-06f49f4357b76fd892c84645a20c37deae399334.tar.gz historical-06f49f4357b76fd892c84645a20c37deae399334.tar.bz2 historical-06f49f4357b76fd892c84645a20c37deae399334.zip |
Added init script to create network bridges using brctl (bug #21418)
Diffstat (limited to 'net-misc/bridge-utils/files/bridge.rc')
-rw-r--r-- | net-misc/bridge-utils/files/bridge.rc | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/net-misc/bridge-utils/files/bridge.rc b/net-misc/bridge-utils/files/bridge.rc new file mode 100644 index 000000000000..388e47356321 --- /dev/null +++ b/net-misc/bridge-utils/files/bridge.rc @@ -0,0 +1,47 @@ +#!/sbin/runscript + +depend() { + use modules +} + +start() { + for b in ${bridge} + do + ebegin "Create Bridge ${b}" + /sbin/brctl addbr ${b} || { + retval=$? + eend ${retval} "Failed to create bridge ${b}" + continue + } + for i in $(eval echo \$\{bridge_${b}_devices\}) + do + /sbin/brctl addif ${b} ${i} || { + retval=$? + eend ${retval} "Failed to add interface ${i}" + continue + } + ifconfig ${i} 0.0.0.0 promisc || \ + eend $? "Failed to set up interface ${i}" + done + done +} + +stop() { + for b in ${bridge} + do + ebegin "Destroy Bridge ${b}" + for i in $(eval echo \$\{bridge_${b}_devices\}) + do + ifconfig ${i} down || \ + eend $? "Failed to set down interface ${i}" + /sbin/brctl delif ${b} ${i} || { + retval=$? + eend ${retval} "Failed to del interface ${i}" + return ${retval} + } + done + /sbin/brctl delbr ${b} || \ + eend ${retval} "Failed to destroy bridge ${b}" + done + eend $? "Failed to stop bridge" +} |