2003-06-15 Paul Jakma <paul@dishone.st>

	* lib/vty.{c,h}: Remove vty layer depending on a 'master' global,
	  pass the thread master in explicitly to vty_init. Sort out some
	  header dependency problems with lib/command.h
	* zebra/: Move globals to struct zebrad. Update vty_init().
	* (.*)/\1_main.c: update call to vty_init().
diff --git a/zebra/redistribute.c b/zebra/redistribute.c
index a3d4bad..2d30f79 100644
--- a/zebra/redistribute.c
+++ b/zebra/redistribute.c
@@ -36,6 +36,9 @@
 #include "zebra/redistribute.h"
 #include "zebra/debug.h"
 
+/* master zebra server structure */
+extern struct zebra_t zebrad;
+
 int
 zebra_check_addr (struct prefix *p)
 {
@@ -162,15 +165,13 @@
 #endif /* HAVE_IPV6 */
 }
 
-extern list client_list;
-
 void
 redistribute_add (struct prefix *p, struct rib *rib)
 {
   listnode node;
   struct zserv *client;
 
-  for (node = listhead (client_list); node; nextnode (node))
+  for (node = listhead (zebrad.client_list); node; nextnode (node))
     if ((client = getdata (node)) != NULL)
       {
 	if (is_default (p))
@@ -207,7 +208,7 @@
   if (rib->distance == DISTANCE_INFINITY)
     return;
 
-  for (node = listhead (client_list); node; nextnode (node))
+  for (node = listhead (zebrad.client_list); node; nextnode (node))
     if ((client = getdata (node)) != NULL)
       {
 	if (is_default (p))
@@ -310,7 +311,7 @@
   if (IS_ZEBRA_DEBUG_EVENT)
     zlog_info ("MESSAGE: ZEBRA_INTERFACE_UP %s", ifp->name);
 
-  for (node = listhead (client_list); node; nextnode (node))
+  for (node = listhead (zebrad.client_list); node; nextnode (node))
     if ((client = getdata (node)) != NULL)
       zsend_interface_up (client, ifp);
 }
@@ -325,7 +326,7 @@
   if (IS_ZEBRA_DEBUG_EVENT)
     zlog_info ("MESSAGE: ZEBRA_INTERFACE_DOWN %s", ifp->name);
 
-  for (node = listhead (client_list); node; nextnode (node))
+  for (node = listhead (zebrad.client_list); node; nextnode (node))
     if ((client = getdata (node)) != NULL)
       zsend_interface_down (client, ifp);
 }
@@ -340,7 +341,7 @@
   if (IS_ZEBRA_DEBUG_EVENT)
     zlog_info ("MESSAGE: ZEBRA_INTERFACE_ADD %s", ifp->name);
     
-  for (node = listhead (client_list); node; nextnode (node))
+  for (node = listhead (zebrad.client_list); node; nextnode (node))
     if ((client = getdata (node)) != NULL)
       if (client->ifinfo)
 	zsend_interface_add (client, ifp);
@@ -355,7 +356,7 @@
   if (IS_ZEBRA_DEBUG_EVENT)
     zlog_info ("MESSAGE: ZEBRA_INTERFACE_DELETE %s", ifp->name);
 
-  for (node = listhead (client_list); node; nextnode (node))
+  for (node = listhead (zebrad.client_list); node; nextnode (node))
     if ((client = getdata (node)) != NULL)
       if (client->ifinfo)
 	zsend_interface_delete (client, ifp);
@@ -379,7 +380,7 @@
 		 p->prefixlen, ifc->ifp->name);
     }
 
-  for (node = listhead (client_list); node; nextnode (node))
+  for (node = listhead (zebrad.client_list); node; nextnode (node))
     if ((client = getdata (node)) != NULL)
       if (client->ifinfo && CHECK_FLAG (ifc->conf, ZEBRA_IFC_REAL))
 	zsend_interface_address_add (client, ifp, ifc);
@@ -403,7 +404,7 @@
 		 p->prefixlen, ifc->ifp->name);
     }
 
-  for (node = listhead (client_list); node; nextnode (node))
+  for (node = listhead (zebrad.client_list); node; nextnode (node))
     if ((client = getdata (node)) != NULL)
       if (client->ifinfo && CHECK_FLAG (ifc->conf, ZEBRA_IFC_REAL))
 	zsend_interface_address_delete (client, ifp, ifc);