void bootpboot_p_rtlist(void) { printf("Routing table:\n"); bootpboot_p_tree(rt_tables[AF_INET]->rnh_treetop); }
void bootpboot_p_tree(struct radix_node *rn) { while (rn != NULL) { if (rn->rn_bit < 0) { if ((rn->rn_flags & RNF_ROOT) != 0) { } else { bootpboot_p_rtentry((struct rtentry *) rn); } rn = rn->rn_dupedkey; } else { bootpboot_p_tree(rn->rn_left); bootpboot_p_tree(rn->rn_right); return; } } }
void bootpboot_p_rtlist(void) { struct radix_node_head *rnh; printf("Routing table:\n"); rnh = rt_tables_get_rnh(0, AF_INET); if (rnh == NULL) return; RADIX_NODE_HEAD_RLOCK(rnh); /* could sleep XXX */ bootpboot_p_tree(rnh->rnh_treetop); RADIX_NODE_HEAD_RUNLOCK(rnh); }