Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
labs
BIRD Internet Routing Daemon
Commits
23693958
Commit
23693958
authored
May 07, 2000
by
Martin Mareš
Browse files
Implemented `show route <...> stats'.
parent
6998bb9e
Changes
5
Hide whitespace changes
Inline
Side-by-side
TODO
View file @
23693958
...
...
@@ -9,11 +9,12 @@ Core
- Makefile: install target?
- forgetting device routes???
- filter-defined internal attributes
- netlink: realms
- filters: deletion of mandatory attributes?
- filters: user defined attributes?
- cli: show tables?
Documentation
~~~~~~~~~~~~~
...
...
doc/reply_codes
View file @
23693958
...
...
@@ -22,6 +22,7 @@ Reply codes of BIRD command-line interface
0011 Enabled
0012 Restarted
0013 Status report
0014 Route count
1000 BIRD version
1001 Interface list
...
...
nest/config.Y
View file @
23693958
...
...
@@ -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)
CF_KEYWORDS(PRIMARY
, STATS
)
CF_ENUM(T_ENUM_RTS, RTS_, DUMMY, STATIC, INHERIT, DEVICE, STATIC_DEVICE, REDIRECT,
RIP, OSPF, OSPF_EXT, OSPF_IA, OSPF_BOUNDARY, BGP, PIPE)
...
...
@@ -240,7 +240,7 @@ CF_CLI(SHOW INTERFACES,,, [[Show network interfaces]])
CF_CLI(SHOW INTERFACES SUMMARY,,, [[Show summary of network interfaces]])
{ if_show_summary(); } ;
CF_CLI(SHOW ROUTE, r_args, [<prefix>] [table <t>] [filter <f>] [all] [primary] [(import|protocol) <p>], [[Show routing table]])
CF_CLI(SHOW ROUTE, r_args, [<prefix>] [table <t>] [filter <f>] [all] [primary] [(import|protocol) <p>]
[stats]
, [[Show routing table]])
{ rt_show($3); } ;
r_args:
...
...
@@ -290,6 +290,10 @@ r_args:
$$->import_protocol = c->proto;
$$->running_on_config = c->proto->cf->global;
}
| r_args STATS {
$$ = $1;
$$->stats = 1;
}
;
import_or_proto:
...
...
nest/route.h
View file @
23693958
...
...
@@ -209,6 +209,8 @@ struct rt_show_data {
struct
proto
*
import_protocol
;
int
import_mode
,
primary_only
;
struct
config
*
running_on_config
;
int
net_counter
,
rt_counter
,
show_counter
;
int
stats
;
};
void
rt_show
(
struct
rt_show_data
*
);
...
...
nest/rt-table.c
View file @
23693958
...
...
@@ -720,11 +720,13 @@ rt_show_net(struct cli *c, net *n, struct rt_show_data *d)
int
ok
;
bsprintf
(
ia
,
"%I/%d"
,
n
->
n
.
prefix
,
n
->
n
.
pxlen
);
d
->
net_counter
++
;
for
(
e
=
n
->
routes
;
e
;
e
=
e
->
next
)
{
struct
ea_list
*
tmpa
,
*
old_tmpa
;
struct
proto
*
p0
=
e
->
attrs
->
proto
;
struct
proto
*
p1
=
d
->
import_protocol
;
d
->
rt_counter
++
;
ee
=
e
;
rte_update_lock
();
/* We use the update buffer for filtering */
old_tmpa
=
tmpa
=
p0
->
make_tmp_attrs
?
p0
->
make_tmp_attrs
(
e
,
rte_update_pool
)
:
NULL
;
...
...
@@ -743,6 +745,7 @@ 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
);
ia
[
0
]
=
0
;
}
...
...
@@ -789,7 +792,10 @@ rt_show_cont(struct cli *c)
rt_show_net
(
c
,
n
,
d
);
}
FIB_ITERATE_END
(
f
);
cli_printf
(
c
,
0
,
""
);
if
(
d
->
stats
)
cli_printf
(
c
,
14
,
"%d of %d routes for %d networks"
,
d
->
show_counter
,
d
->
rt_counter
,
d
->
net_counter
);
else
cli_printf
(
c
,
0
,
""
);
done:
c
->
cont
=
c
->
cleanup
=
NULL
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment