pimd: -z command-line switch to specify zebra socket path.
diff --git a/pimd/pim_main.c b/pimd/pim_main.c
index 64d7787..b314df2 100644
--- a/pimd/pim_main.c
+++ b/pimd/pim_main.c
@@ -98,6 +98,7 @@
 -d, --daemon         Run in daemon mode\n\
 -f, --config_file    Set configuration file name\n\
 -i, --pid_file       Set process identifier file name\n\
+-z, --socket         Set path of zebra socket\n\
 -A, --vty_addr       Set vty's bind address\n\
 -P, --vty_port       Set vty's port number\n\
 -v, --version        Print program version\n\
@@ -125,6 +126,7 @@
   int vty_port = -1;
   int daemon_mode = 0;
   char *config_file = NULL;
+  char *zebra_sock_path = NULL;
   struct thread thread;
           
   umask(0027);
@@ -138,7 +140,7 @@
   while (1) {
     int opt;
             
-    opt = getopt_long (argc, argv, "df:i:A:P:vZh", longopts, 0);
+    opt = getopt_long (argc, argv, "df:i:z:A:P:vZh", longopts, 0);
                       
     if (opt == EOF)
       break;
@@ -155,6 +157,9 @@
     case 'i':
       pid_file = optarg;
       break;
+    case 'z':
+      zebra_sock_path = optarg;
+      break;
     case 'A':
       vty_addr = optarg;
       break;
@@ -298,10 +303,11 @@
   zlog_notice("!HAVE_CLOCK_MONOTONIC");
 #endif
 
+
   /*
     Initialize zclient "update" and "lookup" sockets
    */
-  pim_zebra_init();
+  pim_zebra_init(zebra_sock_path);
     
   while (thread_fetch(master, &thread))
     thread_call(&thread);