[Bug 213408] /etc/rc.d/netif restart not correctly work

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Wed Oct 12 07:16:55 UTC 2016


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=213408

            Bug ID: 213408
           Summary: /etc/rc.d/netif restart not correctly work
           Product: Base System
           Version: 10.1-RELEASE
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Many People
          Priority: ---
         Component: conf
          Assignee: freebsd-bugs at FreeBSD.org
          Reporter: andrii.hromov at gmail.com
                CC: freebsd-amd64 at FreeBSD.org
                CC: freebsd-amd64 at FreeBSD.org

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
}
...

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the freebsd-amd64 mailing list