From: Ondrej Zajicek Date: Sun, 31 May 2015 09:29:53 +0000 (+0200) Subject: Fixes bug in pipe feeding when filtered routes are kept in table X-Git-Tag: v1.6.0~45 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ca34698ca62d979c281ed517f040619e31c3ada3;p=thirdparty%2Fbird.git Fixes bug in pipe feeding when filtered routes are kept in table --- diff --git a/nest/rt-table.c b/nest/rt-table.c index d5af41c76..27c6cb762 100644 --- a/nest/rt-table.c +++ b/nest/rt-table.c @@ -1816,15 +1816,20 @@ again: { if (p->export_state != ES_FEEDING) return 1; /* In the meantime, the protocol fell down. */ + do_feed_baby(p, p->accept_ra_types, h, n, e); max_feed--; } if (p->accept_ra_types == RA_ANY) - for(e = n->routes; rte_is_valid(e); e = e->next) + for(e = n->routes; e; e = e->next) { if (p->export_state != ES_FEEDING) return 1; /* In the meantime, the protocol fell down. */ + + if (!rte_is_valid(e)) + continue; + do_feed_baby(p, RA_ANY, h, n, e); max_feed--; }