| 1147 | } |
| 1148 | |
| 1149 | static void |
| 1150 | lagg_port_ifdetach(void *arg __unused, struct ifnet *ifp) |
| 1151 | { |
| 1152 | struct lagg_port *lp; |
| 1153 | struct lagg_softc *sc; |
| 1154 | |
| 1155 | if ((lp = ifp->if_lagg) == NULL) |
| 1156 | return; |
| 1157 | /* If the ifnet is just being renamed, don't do anything. */ |
| 1158 | if (ifp->if_flags & IFF_RENAMING) |
| 1159 | return; |
| 1160 | |
| 1161 | sc = lp->lp_softc; |
| 1162 | |
| 1163 | LAGG_XLOCK(sc); |
| 1164 | lp->lp_detaching = 1; |
| 1165 | lagg_port_destroy(lp, 1); |
| 1166 | LAGG_XUNLOCK(sc); |
| 1167 | VLAN_CAPABILITIES(sc->sc_ifp); |
| 1168 | } |
| 1169 | |
| 1170 | static void |
| 1171 | lagg_port2req(struct lagg_port *lp, struct lagg_reqport *rp) |
nothing calls this directly
no test coverage detected