if (old)
{
+ /* There are more old routes but these we should have
+ * never seen these newer old routes because we haven't
+ * seen the appropriate journal items */
EXPORT_FLAG_EXPECT(c, oo, accepted, 0);
EXPORT_FLAG_EXPECT(c, oo, rejected, 0);
oo->src = NULL;
old = oo;
}
+ /* Check whether the old route was actually seen because this may
+ * an initial feed. */
+ bool oacc = old && bmap_test(&c->export_accepted_map, old->id);
+ bool orej = old && bmap_test(&c->export_rejected_map, old->id);
+
+ /* Not seen */
+ if (!oacc && !orej)
+ old = NULL;
+
/* Invalid routes become withdraws */
if (!rte_is_valid(new))
new = NULL;