summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Mares <mj@ucw.cz>1999-12-04 23:17:29 +0000
committerMartin Mares <mj@ucw.cz>1999-12-04 23:17:29 +0000
commit305a01f57bd97906000c36bb154d63bc90012ef7 (patch)
treeecfc75702b3b60c2513b8bc62f1883a1af47217f
parentfeed82267663c6826da896309de180417bd0b39f (diff)
Added DEBUG commands.
Removed CLI tests, real commands now serve as much better examples.
-rw-r--r--TODO8
-rw-r--r--nest/config.Y38
2 files changed, 17 insertions, 29 deletions
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 [<file>]
-debug <what> # dump debugging information to log
show <name> # show everything you know about symbol <name>
rip ??? [<name>]
ospf ??? [<name>]
static ??? [<name>]
- filters [<name>]
+ symbols
(disable|enable|restart) <protocol> # 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, <subsystem>, [[Tests different subsystems]])
-CF_CLI(TEST LEDS, NUM, <N>, [[Flash each LED <N> 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, <subsystem>, [[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