summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordyoung <dyoung>2007-04-16 05:54:02 +0000
committerdyoung <dyoung>2007-04-16 05:54:02 +0000
commitdc7f7832e88b7dcfd416d1b177d03d5f70f303b7 (patch)
treeb28c24431cebf007576f779cbaf5ec9cb7d1f2e8
parentecbac23d5537ed443aa060adfb150b227515c160 (diff)
downloadquagga-dc7f7832e88b7dcfd416d1b177d03d5f70f303b7.tar.bz2
quagga-dc7f7832e88b7dcfd416d1b177d03d5f70f303b7.tar.xz
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.
-rw-r--r--zebra/connected.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/zebra/connected.c b/zebra/connected.c
index 3fe9717d..74e10ac6 100644
--- a/zebra/connected.c
+++ b/zebra/connected.c
@@ -155,7 +155,7 @@ connected_implicit_withdraw (struct interface *ifp, struct connected *ifc)
/* 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);