| 1026 | } |
| 1027 | |
| 1028 | static void |
| 1029 | expire_mfc(struct mfc *rt) |
| 1030 | { |
| 1031 | struct rtdetq *rte, *nrte; |
| 1032 | |
| 1033 | MFC_LOCK_ASSERT(); |
| 1034 | |
| 1035 | free_bw_list(rt->mfc_bw_meter); |
| 1036 | |
| 1037 | TAILQ_FOREACH_SAFE(rte, &rt->mfc_stall, rte_link, nrte) { |
| 1038 | m_freem(rte->m); |
| 1039 | TAILQ_REMOVE(&rt->mfc_stall, rte, rte_link); |
| 1040 | free(rte, M_MRTABLE); |
| 1041 | } |
| 1042 | |
| 1043 | LIST_REMOVE(rt, mfc_hash); |
| 1044 | free(rt, M_MRTABLE); |
| 1045 | } |
| 1046 | |
| 1047 | /* |
| 1048 | * Add an mfc entry |
no test coverage detected