| 2457 | } |
| 2458 | |
| 2459 | void |
| 2460 | nd6_defrouter_timer(void) |
| 2461 | { |
| 2462 | struct nd_defrouter *dr, *ndr; |
| 2463 | struct nd6_drhead drq; |
| 2464 | |
| 2465 | TAILQ_INIT(&drq); |
| 2466 | |
| 2467 | ND6_WLOCK(); |
| 2468 | TAILQ_FOREACH_SAFE(dr, &V_nd6_defrouter, dr_entry, ndr) |
| 2469 | if (dr->expire && dr->expire < time_uptime) |
| 2470 | defrouter_unlink(dr, &drq); |
| 2471 | ND6_WUNLOCK(); |
| 2472 | |
| 2473 | while ((dr = TAILQ_FIRST(&drq)) != NULL) { |
| 2474 | TAILQ_REMOVE(&drq, dr, dr_entry); |
| 2475 | defrouter_del(dr); |
| 2476 | } |
| 2477 | } |
| 2478 | |
| 2479 | /* |
| 2480 | * Nuke default router list entries toward ifp. |
no test coverage detected