lib/if.c part from [quagga-dev 552] and lib/inklist.c part from [quagga-dev
555]. Okayed by Paul.
diff --git a/lib/if.c b/lib/if.c
index db10bc0..8237b2f 100644
--- a/lib/if.c
+++ b/lib/if.c
@@ -120,7 +120,8 @@
   assert (namelen <= (INTERFACE_NAMSIZ + 1));
   strncpy (ifp->name, name, namelen);
   ifp->name[INTERFACE_NAMSIZ] = '\0';
-  listnode_add_sort (iflist, ifp);
+  if (if_lookup_by_name(ifp->name) == NULL)
+    listnode_add_sort (iflist, ifp);
   ifp->connected = list_new ();
   ifp->connected->del = (void (*) (void *)) connected_free;