diff --git a/TODO b/TODO index 22e7efe0..a5816d91 100644 --- a/TODO +++ b/TODO @@ -15,7 +15,6 @@ Core - filters: user defined attributes? - cli: show tables? -- cli: show route count (like stats, but doesn't print the routes) - cli: show where is routed given IP address? - client: Ctrl-R eats one more enter diff --git a/nest/config.Y b/nest/config.Y index 65142f76..e5249ea4 100644 --- a/nest/config.Y +++ b/nest/config.Y @@ -22,7 +22,7 @@ CF_DECLS CF_KEYWORDS(ROUTER, ID, PROTOCOL, PREFERENCE, DISABLED, DEBUG, ALL, OFF, DIRECT) CF_KEYWORDS(INTERFACE, IMPORT, EXPORT, FILTER, NONE, TABLE, STATES, ROUTES, FILTERS) CF_KEYWORDS(PASSWORD, FROM, PASSIVE, TO, ID, EVENTS, PACKETS, PROTOCOLS, INTERFACES) -CF_KEYWORDS(PRIMARY, STATS) +CF_KEYWORDS(PRIMARY, STATS, COUNT) CF_ENUM(T_ENUM_RTS, RTS_, DUMMY, STATIC, INHERIT, DEVICE, STATIC_DEVICE, REDIRECT, RIP, OSPF, OSPF_EXT, OSPF_IA, OSPF_BOUNDARY, BGP, PIPE) @@ -294,6 +294,10 @@ r_args: $$ = $1; $$->stats = 1; } + | r_args COUNT { + $$ = $1; + $$->stats = 2; + } ; import_or_proto: diff --git a/nest/rt-table.c b/nest/rt-table.c index 975874a0..cf87a707 100644 --- a/nest/rt-table.c +++ b/nest/rt-table.c @@ -749,7 +749,8 @@ rt_show_net(struct cli *c, net *n, struct rt_show_data *d) if (ok) { d->show_counter++; - rt_show_rte(c, ia, e, d, tmpa); + if (d->stats < 2) + rt_show_rte(c, ia, e, d, tmpa); ia[0] = 0; } if (e != ee)