* bridge_stop: * * Stop the bridge interface. */
| 1923 | * Stop the bridge interface. |
| 1924 | */ |
| 1925 | static void |
| 1926 | bridge_stop(struct ifnet *ifp, int disable) |
| 1927 | { |
| 1928 | struct bridge_softc *sc = ifp->if_softc; |
| 1929 | |
| 1930 | BRIDGE_LOCK_ASSERT(sc); |
| 1931 | |
| 1932 | if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) |
| 1933 | return; |
| 1934 | |
| 1935 | BRIDGE_RT_LOCK(sc); |
| 1936 | callout_stop(&sc->sc_brcallout); |
| 1937 | |
| 1938 | bstp_stop(&sc->sc_stp); |
| 1939 | |
| 1940 | bridge_rtflush(sc, IFBF_FLUSHDYN); |
| 1941 | BRIDGE_RT_UNLOCK(sc); |
| 1942 | |
| 1943 | ifp->if_drv_flags &= ~IFF_DRV_RUNNING; |
| 1944 | } |
| 1945 | |
| 1946 | /* |
| 1947 | * bridge_enqueue: |
no test coverage detected