Re: network interface activation order

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]





Matt Hyclak wrote:
On Fri, Nov 30, 2007 at 08:51:50AM -0800, John R Pierce enlightened us:
Graham Johnston wrote:
I am using CentOS as a firewall/router.  I am using bonded interfaces,
vlan interfaces, and bridge interfaces.  My problem currently is that on
boot the system is attempting to activate the bridge interface before
it's bonded-vlan members have been created.  What this means is that the
bridge is created but not activated.

Is there anyway for me to influence the activation order and have bridge
interfaces dealt with last?
there's probably a better way to do this, but what I've done in the past is to create special firewall related kinda stuff like your'e describing in my own script thats run quite late in the init sequence, usually from rc2.d/S99myfirewall or even from /etc/rc.d/rc.local



Yes, there is probably a better way. My initial thought was to set ONBOOT=no
for the bridge interfaces and then bring them up in an initscript or
rc.local later.

Looking at the network startup script (/etc/init.d/network), though, it
looks like you can probably achieve the same effect simply by renaming the
ifcfg-brX files to something like ifcfg-zbrX.

There is a loop to bring up interfaces that looks like:

# bring up all other interfaces configured to come up at boot time
        for i in $interfaces; do

and $interfaces is set just above by listing all files starting with ifcfg
and snagging the end part (e.g. eth0 or br0).

The loop figures out what kind of configuration it needs by reading the
file, so I don't think it cares what it is named, as long as it is
ifcfg-something. By renaming bridges to ifcfg-zbrX, it will come after
ifcfg-vlanX and I think solve your problem.

That was work, time for lunch :-)

Matt


I don't think so

the initial loop is not activating bridge and vlan:

		if [ "$TYPE" = "Bridge" ]; then
		        bridgeinterfaces="$bridgeinterfaces $i"
			continue
		fi

		if [ "${DEVICE%%.*}" != "$DEVICE" ] ; then
			vlaninterfaces="$vlaninterfaces $i"
			continue
		fi

Then later:
	for i in $vlaninterfaces $bridgeinterfaces ...
	<snip a few lines>
		action $"Bringing up interface $i: " ./ifup $i boot


So, it should be bringing up your vlan interfaces before the bridges

do you have
TYPE=Bridge
in your bridge ifcfg file?
_______________________________________________
CentOS mailing list
CentOS@xxxxxxxxxx
http://lists.centos.org/mailman/listinfo/centos

[Index of Archives]     [CentOS]     [CentOS Announce]     [CentOS Development]     [CentOS ARM Devel]     [CentOS Docs]     [CentOS Virtualization]     [Carrier Grade Linux]     [Linux Media]     [Asterisk]     [DCCP]     [Netdev]     [Xorg]     [Linux USB]
  Powered by Linux