diff options
author | Laine Stump <laine@redhat.com> | 2014-11-11 14:13:22 -0500 |
---|---|---|
committer | Lukas Nykryn <lnykryn@redhat.com> | 2014-11-12 12:49:56 +0100 |
commit | 6708502ce8724feb143e5a97af43687cec901c99 (patch) | |
tree | 6d8dfc515e426e3d3e5187c29b69d4c3ac0ad80a /adjtime | |
parent | b14672c8a50e44e80a49b6982cbb4a38ef17a62c (diff) | |
download | initscripts-6708502ce8724feb143e5a97af43687cec901c99.tar initscripts-6708502ce8724feb143e5a97af43687cec901c99.tar.gz initscripts-6708502ce8724feb143e5a97af43687cec901c99.tar.bz2 initscripts-6708502ce8724feb143e5a97af43687cec901c99.tar.xz initscripts-6708502ce8724feb143e5a97af43687cec901c99.zip |
adjust LINKDELAY when STP is on
This resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1162822
When ifup is called on an interface that has BOOTPROTO=dhcp, ifup-eth
will call network-functions:check_link_down() to wait for carrier on
the interface before starting dhclient. If the interface happens to be
a bridge device, carrier will not come on until at least one attached
device is in "forwarding" mode. If the bridge has STP enabled, it
takes at least $DELAY * 2 + 5 seconds (sometimes slightly longer) for
any attached device to go into forwarding mode.
However, check_link_down() will only wait for max(${LINKDELAY}, 5)
seconds for carrier, and there are *many* existing configs that have
STP enabled but no setting for LINKDELAY. Every one of those configs
will now fail to ifup the bridge device.
The solution implemented in this patch is for ifup-eth to set
LINKDELAY to at least ${DELAY} * 2 + 7 when the device is a bridge an
STP is enabled. Since check_link_down() returns within .5 sec of
carrier coming up, the worst effect this could have would be to take
longer to fail in the case of a config where carrier was *never* going
to come up. Otherwise, it will not create any more delay than is
already present in cases that currently work, and will cause many
other configs to become unbroken.
Diffstat (limited to 'adjtime')
0 files changed, 0 insertions, 0 deletions