Commit 548c329c authored by Ondrej Zajicek's avatar Ondrej Zajicek
Browse files

Adds rate limiting to some log messages.

parent 64534ea2
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -636,6 +636,7 @@ rte_recalculate(struct announce_hook *ah, net *net, rte *new, ea_list *tmpa, str
  struct proto *p = ah->proto;
  struct rtable *table = ah->table;
  struct proto_stats *stats = ah->stats;
  static struct rate_limit rl_pipe;
  rte *before_old = NULL;
  rte *old_best = net->routes;
  rte *old = NULL;
@@ -659,7 +660,7 @@ rte_recalculate(struct announce_hook *ah, net *net, rte *new, ea_list *tmpa, str
	    {
	      if (new)
		{
		  log(L_ERR "Pipe collision detected when sending %I/%d to table %s",
		  log_rl(&rl_pipe, L_ERR "Pipe collision detected when sending %I/%d to table %s",
		      net->n.prefix, net->n.pxlen, table->name);
		  rte_free_quick(new);
		}
@@ -1271,6 +1272,7 @@ rt_init(void)
static inline int
rt_prune_step(rtable *tab, int step, int *max_feed)
{
  static struct rate_limit rl_flush;
  struct fib_iterator *fit = &tab->prune_fit;

  DBG("Pruning route table %s\n", tab->name);
@@ -1305,7 +1307,7 @@ again:
	      }

	    if (step)
	      log(L_WARN "Route %I/%d from %s still in %s after flush",
	      log_rl(&rl_flush, L_WARN "Route %I/%d from %s still in %s after flush",
		  n->n.prefix, n->n.pxlen, e->attrs->proto->name, tab->name);

	    rte_discard(tab, e);