Commit e667622a authored by Ondrej Filip's avatar Ondrej Filip
Browse files

Default rounting table for 'show route export/preexport/protocol' is the one...

Default rounting table for 'show route export/preexport/protocol' is the one related to a respective protocol.
parent a9c38203
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line Diff line number Diff line
@@ -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.


+0 −1
Original line number Original line Diff line number Diff line
@@ -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;
+5 −0
Original line number Original line Diff line number Diff line
@@ -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);