| 467 | } |
| 468 | |
| 469 | static void |
| 470 | schedule_fd_rebuild(struct fib_data *fd, const char *reason) |
| 471 | { |
| 472 | |
| 473 | RIB_WLOCK_ASSERT(fd->fd_rh); |
| 474 | |
| 475 | if (!fd->fd_need_rebuild) { |
| 476 | fd->fd_need_rebuild = true; |
| 477 | |
| 478 | /* |
| 479 | * Potentially re-schedules pending callout |
| 480 | * initiated by schedule_algo_eval. |
| 481 | */ |
| 482 | FD_PRINTF(LOG_INFO, fd, "Scheduling rebuild: %s (failures=%d)", |
| 483 | reason, fd->fd_failed_rebuilds); |
| 484 | schedule_callout(fd, callout_calc_delay_ms(fd)); |
| 485 | } |
| 486 | } |
| 487 | |
| 488 | static void |
| 489 | schedule_algo_eval(struct fib_data *fd) |
no test coverage detected