| 720 | } |
| 721 | |
| 722 | static void |
| 723 | pfr_enqueue_addrs(struct pfr_ktable *kt, struct pfr_kentryworkq *workq, |
| 724 | int *naddr, int sweep) |
| 725 | { |
| 726 | struct pfr_walktree w; |
| 727 | |
| 728 | SLIST_INIT(workq); |
| 729 | bzero(&w, sizeof(w)); |
| 730 | w.pfrw_op = sweep ? PFRW_SWEEP : PFRW_ENQUEUE; |
| 731 | w.pfrw_workq = workq; |
| 732 | if (kt->pfrkt_ip4 != NULL) |
| 733 | if (kt->pfrkt_ip4->rnh_walktree(&kt->pfrkt_ip4->rh, |
| 734 | pfr_walktree, &w)) |
| 735 | printf("pfr_enqueue_addrs: IPv4 walktree failed.\n"); |
| 736 | if (kt->pfrkt_ip6 != NULL) |
| 737 | if (kt->pfrkt_ip6->rnh_walktree(&kt->pfrkt_ip6->rh, |
| 738 | pfr_walktree, &w)) |
| 739 | printf("pfr_enqueue_addrs: IPv6 walktree failed.\n"); |
| 740 | if (naddr != NULL) |
| 741 | *naddr = w.pfrw_cnt; |
| 742 | } |
| 743 | |
| 744 | static void |
| 745 | pfr_mark_addrs(struct pfr_ktable *kt) |
no test coverage detected