summaryrefslogtreecommitdiff
path: root/bgpd
diff options
context:
space:
mode:
authorVyacheslav Trushkin <me@dogonthesun.net>2011-11-25 18:51:48 +0400
committerDenis Ovsienko <infrastation@yandex.ru>2011-12-13 14:13:06 +0400
commit271ee735ed3a42a1fe52f6401ddf72bd5d3e4f10 (patch)
tree6e8995fe61efdf88513c697e1d84d4108fabbf3a /bgpd
parent844ee4a8acf1a7b34e6a4a0bdf701496302a7416 (diff)
quagga: option "-z" ("--socket <path>") added
All daemons modified to support custom path to zserv socket. lib: generalize a zclient connection zclient_socket_connect added. zclient_socket and zclient_socket_un were hidden under static expression. "zclient_serv_path_set" modified.
Diffstat (limited to 'bgpd')
-rw-r--r--bgpd/bgp_main.c7
-rw-r--r--bgpd/bgp_nexthop.c7
2 files changed, 7 insertions, 7 deletions
diff --git a/bgpd/bgp_main.c b/bgpd/bgp_main.c
index 4a38c15a..778067a8 100644
--- a/bgpd/bgp_main.c
+++ b/bgpd/bgp_main.c
@@ -54,6 +54,7 @@ static const struct option longopts[] =
{ "daemon", no_argument, NULL, 'd'},
{ "config_file", required_argument, NULL, 'f'},
{ "pid_file", required_argument, NULL, 'i'},
+ { "socket", required_argument, NULL, 'z'},
{ "bgp_port", required_argument, NULL, 'p'},
{ "listenon", required_argument, NULL, 'l'},
{ "vty_addr", required_argument, NULL, 'A'},
@@ -150,6 +151,7 @@ redistribution between different routing protocols.\n\n\
-d, --daemon Runs 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\
-p, --bgp_port Set bgp protocol's port number\n\
-l, --listenon Listen on specified address (implies -n)\n\
-A, --vty_addr Set vty's bind address\n\
@@ -328,7 +330,7 @@ main (int argc, char **argv)
/* Command line argument treatment. */
while (1)
{
- opt = getopt_long (argc, argv, "df:i:hp:l:A:P:rnu:g:vC", longopts, 0);
+ opt = getopt_long (argc, argv, "df:i:z:hp:l:A:P:rnu:g:vC", longopts, 0);
if (opt == EOF)
break;
@@ -346,6 +348,9 @@ main (int argc, char **argv)
case 'i':
pid_file = optarg;
break;
+ case 'z':
+ zclient_serv_path_set (optarg);
+ break;
case 'p':
tmp_port = atoi (optarg);
if (tmp_port <= 0 || tmp_port > 0xffff)
diff --git a/bgpd/bgp_nexthop.c b/bgpd/bgp_nexthop.c
index 1a2923cc..f8d1adec 100644
--- a/bgpd/bgp_nexthop.c
+++ b/bgpd/bgp_nexthop.c
@@ -1064,12 +1064,7 @@ zlookup_connect (struct thread *t)
if (zlookup->sock != -1)
return 0;
-#ifdef HAVE_TCP_ZEBRA
- zlookup->sock = zclient_socket ();
-#else
- zlookup->sock = zclient_socket_un (ZEBRA_SERV_PATH);
-#endif /* HAVE_TCP_ZEBRA */
- if (zlookup->sock < 0)
+ if (zclient_socket_connect (zlookup) < 0)
return -1;
return 0;