Only suppress adding a connected route to the kernel if it is
already marked "real" (ZEBRA_IFC_REAL), i.e., "in kernel." According
to Paul Jakma, this probably fixes Quagga bug #202.
diff --git a/zebra/connected.c b/zebra/connected.c
index 3fe9717..74e10ac 100644
--- a/zebra/connected.c
+++ b/zebra/connected.c
@@ -155,7 +155,7 @@
/* Avoid spurious withdraws, this might be just the kernel 'reflecting'
* back an address we have already added.
*/
- if (connected_same (current, ifc))
+ if (connected_same (current, ifc) && CHECK_FLAG(current->conf, ZEBRA_IFC_REAL))
{
/* nothing to do */
connected_free (ifc);