diff --git a/TODO b/TODO index 34dd1dc1..9b21fe62 100644 --- a/TODO +++ b/TODO @@ -1,7 +1,5 @@ Core ~~~~ -* protocols: implement dumping of protocol-dependent rte attributes - - IPv6 support - io.c: refuse old-style multicasts for unnumbered interfaces? @@ -16,8 +14,6 @@ Core - static: check validity of route destination? - static: allow specifying a per-route filter program for setting route attributes? -- *: show route hooks - - rte_update: check whether all bits not covered by masklen are zero - rte_update: debug mode @@ -48,12 +44,11 @@ Commands ~~~~~~~~ shutdown # order system shutdown configure [] -debug # dump debugging information to log show # show everything you know about symbol rip ??? [] ospf ??? [] static ??? [] - filters [] + symbols (disable|enable|restart) # or ALL? Cleanup @@ -68,6 +63,7 @@ Cleanup - try compiling with -Wunused - does everybody test return value of sk_open? - add references to RFC's we did follow +- protocols: implement CLI hooks Various ideas ~~~~~~~~~~~~~ diff --git a/nest/config.Y b/nest/config.Y index b5940cf9..d357f253 100644 --- a/nest/config.Y +++ b/nest/config.Y @@ -251,30 +251,22 @@ r_args: } ; -/* FIXME: These are examples. Remove them soon. */ -CF_CLI_HELP(TEST, , [[Tests different subsystems]]) -CF_CLI(TEST LEDS, NUM, , [[Flash each LED times]]) { cli_msg(0, "%d", $3); } ; -CF_CLI(TEST MEMORY,,, [[Replace all useful information by testing patterns]]) { cli_msg(0, "DONE"); } ; -CF_CLI(TEST LONG,,, [[Test long replies]]) { - static void test_command(struct cli *); - this_cli->cont = test_command; - this_cli->rover = (void *) 1; - cli_msg(-2, "Start"); -} ; +CF_CLI_HELP(DEBUG, , [[Show debugging information]]) +CF_CLI(DEBUG RESOURCES,,, [[Show all allocated resource]]) +{ rdump(&root_pool); } +CF_CLI(DEBUG SOCKETS,,, [[Show open sockets]]) +{ sk_dump_all(); } +CF_CLI(DEBUG INTERFACES,,, [[Show interface information]]) +{ if_dump_all(); } +CF_CLI(DEBUG NEIGHBORS,,, [[Show neighbor cache]]) +{ neigh_dump_all(); } +CF_CLI(DEBUG ATTRIBUTES,,, [[Show attribute cache]]) +{ rta_dump_all(); } +CF_CLI(DEBUG ROUTES,,, [[Show routing table]]) +{ rt_dump_all(); } +CF_CLI(DEBUG PROTOCOLS,,, [[Show protocol information]]) +{ protos_dump_all(); } CF_CODE -/* FIXME: Test only, remove */ -static void test_command(struct cli *c) -{ - int i = (int) c->rover; - if (i < 10) { - cli_printf(c, -3, "%d", i); - c->rover = (void *) ++i; - } else { - c->cont = NULL; - cli_printf(c, 4, "DONE"); - } -} - CF_END