--- /sbin/ifdown.orig 2011-03-15 23:52:20 +0100 +++ /sbin/ifdown 2011-03-16 00:53:38 +0100 @@ -3,6 +3,7 @@ cd /etc/sysconfig/network-scripts . network-functions +. /etc/sysconfig/network CONFIG=$1 @@ -62,4 +63,14 @@ # the interface went down. fi +if [ -n "$VLAN" -a -x /usr/sbin/vconfig ]; then + # 802.1q VLAN + if echo ${DEVICE} | LANG=C egrep -v '(:)' | LANG=C egrep -q '(eth|bond)[0-9][0-9]*\.[0-9][0-9]?[0-9]?[0-9]?' \ + || echo ${DEVICE} | LANG=C egrep -q 'vlan[0-9][0-9]?[0-9]?[0-9]?' ; then + [ -f /proc/net/vlan/${DEVICE} ] && { + /usr/sbin/vconfig rem ${DEVICE} + } + fi +fi + exit $retcode