| 3220 | } |
| 3221 | |
| 3222 | static void |
| 3223 | vxlan_clone_destroy(struct ifnet *ifp) |
| 3224 | { |
| 3225 | struct vxlan_softc *sc; |
| 3226 | |
| 3227 | sc = ifp->if_softc; |
| 3228 | |
| 3229 | vxlan_teardown(sc); |
| 3230 | |
| 3231 | vxlan_ftable_flush(sc, 1); |
| 3232 | |
| 3233 | ether_ifdetach(ifp); |
| 3234 | if_free(ifp); |
| 3235 | ifmedia_removeall(&sc->vxl_media); |
| 3236 | |
| 3237 | vxlan_ftable_fini(sc); |
| 3238 | |
| 3239 | vxlan_sysctl_destroy(sc); |
| 3240 | rm_destroy(&sc->vxl_lock); |
| 3241 | vxlan_stats_free(sc); |
| 3242 | free(sc, M_VXLAN); |
| 3243 | } |
| 3244 | |
| 3245 | /* BMV: Taken from if_bridge. */ |
| 3246 | static uint32_t |
nothing calls this directly
no test coverage detected