It seems the initscripts package contains a corrupt "ifup-eth" script.<br />
I found this because I got an error when doing a "ifup vlanbr6" on a system although the configuration was perfectly fine.<br />
<br />
Compare this segment starting at line 223 in /etc/sysconfig/network-scripts/ifup-eth (Centos 5.6, initscripts-8.45.33-1.el5.centos):<br />
<br />
if [ -z "${IPADDR}" ]; then<br />
# enable device without IP, useful for e.g. PPPoE<br />
ip link set dev ${REALDEVICE} up<br />
if [ -n "$ETHTOOL_OPTS" ] ; then<br />
/sbin/ethtool -s ${REALDEVICE} $ETHTOOL_OPTS<br />
fi<br />
[ -n "${LINKDELAY}" ] && /bin/sleep ${LINKDELAY}<br />
<br />
if [ "${NETWORKING_IPV6}" = "yes" ]; then<br />
/etc/sysconfig/network-scripts/ifup-ipv6 ${CONFIG}<br />
fi<br />
exec /etc/sysconfig/network-scripts/ifup-post ${CONFIG} ${2}<br />
fi<br />
<br />
expand_config<br />
...<br />
<br />
with this segment in the same file starting at line 229 (Centos 5.7, initscripts-8.45.38-2.el5.centos):<br />
<br />
if [ -z "${IPADDR}" ]; then<br />
# enable device without IP, useful for e.g. PPPoE<br />
ip link set dev ${REALDEVICE} up<br />
if [ -n "$ETHTOOL_OPTS" ] ; then<br />
/sbin/ethtool -s ${REALDEVICE} $ETHTOOL_OPTS<br />
fi<br />
[ -n "${LINKDELAY}" ] && /bin/sleep ${LINKDELAY}<br />
else<br />
<br />
expand_config<br />
...<br />
<br />
In the newer initscript the "if" block is clearly broken and misses some code and there is an "else" where you would expect a "fi".<br />
<br />
This results in a completely different execution path.
↧