[CentOS] network interface activation order
Graham Johnston
johnstong at westmancom.com
Fri Nov 30 18:03:11 UTC 2007
On Fri, 2007-11-30 at 18:20 +0100, Nicolas Thierry-Mieg wrote:
>
> 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?
I had TYPE=bridge, and it very much so wants TYPE=Bridge.
thanks everyone for your help, it's working now.
Graham Johnston
Manager, Network Services
Westman Communications Group
204.571.7225
johnstong at westmancom.com
More information about the CentOS
mailing list