Default rounting table for 'show route export/preexport/protocol' is the one related to a respective protocol.

This commit is contained in:
Ondrej Filip 2013-02-25 10:39:46 +01:00
parent a9c38203bd
commit e667622a35
3 changed files with 7 additions and 2 deletions

View file

@ -670,7 +670,8 @@ This argument can be omitted if there exists only a single instance.
Show the list of symbols defined in the configuration (names of protocols, routing tables etc.). Show the list of symbols defined in the configuration (names of protocols, routing tables etc.).
<tag>show route [[for] <m/prefix/|<m/IP/] [table <m/sym/] [filter <m/f/|where <m/c/] [(export|preexport) <m/p/] [protocol <m/p/] [<m/options/]</tag> <tag>show route [[for] <m/prefix/|<m/IP/] [table <m/sym/] [filter <m/f/|where <m/c/] [(export|preexport) <m/p/] [protocol <m/p/] [<m/options/]</tag>
Show contents of a routing table (by default of the main one), Show contents of a routing table (by default of the main one or
the table attached to a respective protocol),
that is routes, their metrics and (in case the <cf/all/ switch is given) that is routes, their metrics and (in case the <cf/all/ switch is given)
all their attributes. all their attributes.

View file

@ -427,7 +427,6 @@ r_args:
$$ = cfg_allocz(sizeof(struct rt_show_data)); $$ = cfg_allocz(sizeof(struct rt_show_data));
$$->pxlen = 256; $$->pxlen = 256;
$$->filter = FILTER_ACCEPT; $$->filter = FILTER_ACCEPT;
$$->table = config->master_rtc->table;
} }
| r_args prefix { | r_args prefix {
$$ = $1; $$ = $1;

View file

@ -2204,6 +2204,11 @@ rt_show(struct rt_show_data *d)
{ {
net *n; net *n;
/* Default is either a master table or a table related to a respective protocol */
if ((!d->table) && d->export_protocol) d->table = d->export_protocol->table;
if ((!d->table) && d->show_protocol) d->table = d->show_protocol->table;
if (!d->table) d->table = config->master_rtc->table;
if (d->pxlen == 256) if (d->pxlen == 256)
{ {
FIB_ITERATE_INIT(&d->fit, &d->table->fib); FIB_ITERATE_INIT(&d->fit, &d->table->fib);