Revision 0521e4f6

View differences:

nest/rt-table.c
538 538
  int rcnt = 0, rdel = 0, ncnt = 0, ndel = 0;
539 539

  
540 540
  DBG("Pruning route table %s\n", tab->name);
541
#ifdef DEBUGGING
542
  fib_check(&tab->fib);
543
#endif
541 544
  FIB_ITERATE_INIT(&fit, &tab->fib);
542 545
again:
543 546
  FIB_ITERATE_START(&tab->fib, &fit, f)
......
547 550
      ncnt++;
548 551
    rescan:
549 552
      for (e=n->routes; e; e=e->next, rcnt++)
550
	if (e->attrs->proto->core_state != FS_HAPPY)
553
	if (e->attrs->proto->core_state != FS_HAPPY &&
554
	    e->attrs->proto->core_state != FS_FEEDING)
551 555
	  {
552 556
	    rte_discard(tab, e);
553 557
	    rdel++;
......
563 567
    }
564 568
  FIB_ITERATE_END(f);
565 569
  DBG("Pruned %d of %d routes and %d of %d networks\n", rcnt, rdel, ncnt, ndel);
570
#ifdef DEBUGGING
571
  fib_check(&tab->fib);
572
#endif
566 573
  tab->gc_counter = 0;
567 574
  tab->gc_time = now;
568 575
}

Also available in: Unified diff