0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2024-12-23 02:01:55 +00:00

Merge commit 'a9fc659b840e13323aa43e92eb8f39ceb19b5ed6' into integrated

Conflicts:

	proto/rip/rip.c
This commit is contained in:
Ondrej Zajicek 2013-05-22 15:56:00 +02:00
commit 92fd1fc02f
4 changed files with 13 additions and 10 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

@ -434,7 +434,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

@ -2285,6 +2285,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);

View File

@ -6,10 +6,10 @@
* *
* Can be freely distributed and used under the terms of the GNU GPL. * Can be freely distributed and used under the terms of the GNU GPL.
* *
FIXME: IpV6 support: packet size FIXME: IPv6 support: packet size
FIXME: (nonurgent) IPv6 support: receive "route using" blocks FIXME: (nonurgent) IPv6 support: receive "route using" blocks
FIXME: (nonurgent) IPv6 support: generate "nexthop" blocks FIXME: (nonurgent) IPv6 support: generate "nexthop" blocks
next hops are only advisory, and they are pretty ugly in IpV6. next hops are only advisory, and they are pretty ugly in IPv6.
I suggest just forgetting about them. I suggest just forgetting about them.
FIXME: (nonurgent): fold rip_connection into rip_interface? FIXME: (nonurgent): fold rip_connection into rip_interface?
@ -46,6 +46,7 @@
*/ */
#undef LOCAL_DEBUG #undef LOCAL_DEBUG
#define LOCAL_DEBUG 1
#include "nest/bird.h" #include "nest/bird.h"
#include "nest/iface.h" #include "nest/iface.h"
@ -532,13 +533,10 @@ rip_timer(timer *t)
WALK_LIST_DELSAFE( e, et, P->garbage ) { WALK_LIST_DELSAFE( e, et, P->garbage ) {
rte *rte; rte *rte;
rte = SKIP_BACK( struct rte, u.rip.garbage, e ); rte = SKIP_BACK( struct rte, u.rip.garbage, e );
#ifdef LOCAL_DEBUG
{
struct proto *p = rte->attrs->proto;
CHK_MAGIC; CHK_MAGIC;
}
DBG( "Garbage: (%p)", rte ); rte_dump( rte ); DBG( "Garbage: (%p)", rte ); rte_dump( rte );
#endif
if (now - rte->lastmod > P_CF->timeout_time) { if (now - rte->lastmod > P_CF->timeout_time) {
TRACE(D_EVENTS, "entry is too old: %I", rte->net->n.prefix ); TRACE(D_EVENTS, "entry is too old: %I", rte->net->n.prefix );