Nest: Reestablish preferred counters

This commit is contained in:
Ondrej Zajicek (work) 2019-02-02 13:28:16 +01:00
parent e84c81b76f
commit e1c275d87b
3 changed files with 13 additions and 4 deletions

View file

@ -1696,8 +1696,8 @@ channel_show_stats(struct channel *c)
cli_msg(-1006, " Routes: %u imported, %u filtered, %u exported", cli_msg(-1006, " Routes: %u imported, %u filtered, %u exported",
s->imp_routes, s->filt_routes, s->exp_routes); s->imp_routes, s->filt_routes, s->exp_routes);
else else
cli_msg(-1006, " Routes: %u imported, %u exported", cli_msg(-1006, " Routes: %u imported, %u exported, %u preferred",
s->imp_routes, s->exp_routes); s->imp_routes, s->exp_routes, s->pref_routes);
cli_msg(-1006, " Route change stats: received rejected filtered ignored accepted"); cli_msg(-1006, " Route change stats: received rejected filtered ignored accepted");
cli_msg(-1006, " Import updates: %10u %10u %10u %10u %10u", cli_msg(-1006, " Import updates: %10u %10u %10u %10u %10u",

View file

@ -134,6 +134,7 @@ struct proto_stats {
/* Import - from protocol to core */ /* Import - from protocol to core */
u32 imp_routes; /* Number of routes successfully imported to the (adjacent) routing table */ u32 imp_routes; /* Number of routes successfully imported to the (adjacent) routing table */
u32 filt_routes; /* Number of routes rejected in import filter but kept in the routing table */ u32 filt_routes; /* Number of routes rejected in import filter but kept in the routing table */
u32 pref_routes; /* Number of routes selected as best in the (adjacent) routing table */
u32 imp_updates_received; /* Number of route updates received */ u32 imp_updates_received; /* Number of route updates received */
u32 imp_updates_invalid; /* Number of route updates rejected as invalid */ u32 imp_updates_invalid; /* Number of route updates rejected as invalid */
u32 imp_updates_filtered; /* Number of route updates rejected by filters */ u32 imp_updates_filtered; /* Number of route updates rejected by filters */

View file

@ -901,8 +901,16 @@ rte_announce(rtable *tab, unsigned type, net *net, rte *new, rte *old,
if (!old && !new) if (!old && !new)
return; return;
if ((type == RA_OPTIMAL) && tab->hostcache) if (type == RA_OPTIMAL)
{
if (new)
new->sender->stats.pref_routes++;
if (old)
old->sender->stats.pref_routes--;
if (tab->hostcache)
rt_notify_hostcache(tab, net); rt_notify_hostcache(tab, net);
}
struct channel *c; node *n; struct channel *c; node *n;
WALK_LIST2(c, n, tab->channels, table_node) WALK_LIST2(c, n, tab->channels, table_node)