From 9b2bf404ff0594fc96c4b230a7b8d384afb14e65 Mon Sep 17 00:00:00 2001 From: Miloslav Trmac Date: Mon, 27 Mar 2006 02:12:15 +0000 Subject: Add support for DHCP on bridges (#125259, original patch by Anders Kaseorg ): - rc.d/init.d/network: Initialize bridges after bridged interfaces, deinitialize them before bridged interfaces - sysconfig/network-scripts/ifdown-eth: Destroy bridges lazily when the last bridged interface is stopped - sysconfig/network-scripts/ifup-eth: * Handle bridges before checking for module presence or wireless devices * Add bridges lazily when the first bridged interface is started --- rc.d/init.d/network | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) (limited to 'rc.d') diff --git a/rc.d/init.d/network b/rc.d/init.d/network index cf0fa00a..2a287dd6 100755 --- a/rc.d/init.d/network +++ b/rc.d/init.d/network @@ -94,12 +94,11 @@ case "$1" in # bring up all other interfaces configured to come up at boot time for i in $interfaces; do - unset DEVICE TYPE SLAVE BRIDGE + unset DEVICE TYPE SLAVE eval $(LANG=C fgrep "DEVICE=" ifcfg-$i) eval $(LANG=C fgrep "TYPE=" ifcfg-$i) eval $(LANG=C fgrep "SLAVE=" ifcfg-$i) - eval $(LANG=C fgrep "BRIDGE=" ifcfg-$i) - + if [ -z "$DEVICE" ] ; then DEVICE="$i"; fi if [ "${DEVICE##cipcb}" != "$DEVICE" ] ; then @@ -110,9 +109,8 @@ case "$1" in xdslinterfaces="$xdslinterfaces $i" continue fi - - if [ -n "$BRIDGE" ]; then - is_available $i + + if [ "$TYPE" = "Bridge" ]; then bridgeinterfaces="$bridgeinterfaces $i" continue fi @@ -197,18 +195,17 @@ case "$1" in # get list of bonding, cipe, and xdsl interfaces for i in $interfaces; do - unset DEVICE TYPE BRIDGE + unset DEVICE TYPE eval $(LANG=C fgrep "DEVICE=" ifcfg-$i) eval $(LANG=C fgrep "TYPE=" ifcfg-$i) - eval $(LANG=C fgrep "BRIDGE=" ifcfg-$i) - + if [ -z "$DEVICE" ] ; then DEVICE="$i"; fi if [ "${DEVICE##cipcb}" != "$DEVICE" ] ; then cipeinterfaces="$cipeinterfaces $i" continue fi - if [ -n "$BRIDGE" ]; then + if [ "$TYPE" = "Bridge" ]; then bridgeinterfaces="$bridgeinterfaces $i" continue fi -- cgit v1.2.1