static struct radix_node * at_delroute(void *v_arg, void *netmask_arg, struct radix_node_head *head) { struct radix_node *rn; printf("at_delroute: v=%s\n", prsockaddr(v_arg)); printf("at_delroute: n=%s\n", prsockaddr(netmask_arg)); printf("at_delroute: head=%p\n", (void *)head); rn = rn_delete(v_arg, netmask_arg, head); printf("at_delroute: returns rn=%p\n", (void *)rn); return rn; }
void tuba_timer() { int s = splnet(); int i; register struct tuba_cache *tc; long timelimit = time.tv_sec - arpt_keep; timeout(tuba_timer, (caddr_t)0, arpt_prune * hz); for (i = tuba_table_size; i > 0; i--) if ((tc = tuba_table[i]) && (tc->tc_refcnt == 0) && (tc->tc_time < timelimit)) { tuba_table[i] = 0; rn_delete(&tc->tc_siso.siso_addr, NULL, tuba_tree); free((caddr_t)tc, M_RTABLE); } splx(s); }
static struct radix_node * in6_deleteroute(void * v_arg, void *netmask_arg, struct radix_node_head *head) { struct radix_node *rn; lck_mtx_assert(rnh_lock, LCK_MTX_ASSERT_OWNED); rn = rn_delete(v_arg, netmask_arg, head); if (rn != NULL) { struct rtentry *rt = (struct rtentry *)rn; RT_LOCK_SPIN(rt); if ((rt->rt_flags & RTF_DYNAMIC) != 0) in6dynroutes--; RT_UNLOCK(rt); } return (rn); }
static struct radix_node * at_delroute(void *v_arg, void *netmask_arg, struct radix_node_head *head) { return (rn_delete(v_arg, netmask_arg, head)); }