This script does not correctly overloaded interfaces. When stopping, first dismantle basic user interface of the network then vlans, and at the start of the first vlan then parent interfaces. Here is my solution: in the script I made changes to these blocks, and now everything is working properly ... network_start() { local _if # Set the list of interfaces to work on. # cmdifn=$* if [ -z "$cmdifn" ]; then # # We're operating as a general network start routine. # # disable SIGINT (Ctrl-c) when running at startup trap : 2 # Create Fast EtherChannel interfaces fec_up fi # Rename interfaces. ifnet_rename $cmdifn # Configure the interface(s). network_common ifn_start $cmdifn # Create cloned interfaces clone_up $cmdifn if [ -f /etc/rc.d/ipfilter ] ; then # Resync ipfilter /etc/rc.d/ipfilter quietresync fi if [ -f /etc/rc.d/bridge -a -n "$cmdifn" ] ; then /etc/rc.d/bridge start $cmdifn fi if [ -f /etc/rc.d/routing -a -n "$cmdifn" ] ; then for _if in $cmdifn; do /etc/rc.d/routing start any $_if done fi } ... ... network_stop0() { local _if # Set the list of interfaces to work on. # cmdifn=$* # Destroy cloned interfaces if [ -n "$_clone_down" ]; then clone_down $cmdifn fi # Deconfigure the interface(s) network_common ifn_stop $cmdifn if [ -f /etc/rc.d/routing -a -n "$cmdifn" ] ; then for _if in $cmdifn; do /etc/rc.d/routing stop any $_if done fi } ...