* terminate DAD unconditionally. used for address removals. */
| 1316 | * terminate DAD unconditionally. used for address removals. |
| 1317 | */ |
| 1318 | void |
| 1319 | nd6_dad_stop(struct ifaddr *ifa) |
| 1320 | { |
| 1321 | struct dadq *dp; |
| 1322 | |
| 1323 | dp = nd6_dad_find(ifa, NULL); |
| 1324 | if (!dp) { |
| 1325 | /* DAD wasn't started yet */ |
| 1326 | return; |
| 1327 | } |
| 1328 | |
| 1329 | nd6_dad_stoptimer(dp); |
| 1330 | nd6_dad_del(dp); |
| 1331 | |
| 1332 | /* Release this function's reference, acquired by nd6_dad_find(). */ |
| 1333 | nd6_dad_rele(dp); |
| 1334 | } |
| 1335 | |
| 1336 | static void |
| 1337 | nd6_dad_timer(struct dadq *dp) |
no test coverage detected