summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bgpd/bgp_main.c12
-rw-r--r--ospf6d/ospf6_main.c15
-rw-r--r--ospfd/ospf_main.c17
-rw-r--r--ripd/rip_main.c10
-rw-r--r--ripngd/ripng_main.c19
-rw-r--r--zebra/main.c13
6 files changed, 65 insertions, 21 deletions
diff --git a/bgpd/bgp_main.c b/bgpd/bgp_main.c
index 7fc68fa7..70377914 100644
--- a/bgpd/bgp_main.c
+++ b/bgpd/bgp_main.c
@@ -113,7 +113,7 @@ sighup (int sig)
vty_read_config (config_file, config_current, config_default);
/* Create VTY's socket */
- vty_serv_sock (vty_addr, vty_port ? vty_port : BGP_VTY_PORT, BGP_VTYSH_PATH);
+ vty_serv_sock (vty_addr, vty_port, BGP_VTYSH_PATH);
/* Try to return to normal operation. */
}
@@ -222,7 +222,15 @@ main (int argc, char **argv)
vty_addr = optarg;
break;
case 'P':
- vty_port = atoi (optarg);
+ /* Deal with atoi() returning 0 on failure, and bgpd not
+ listening on bgp port... */
+ if (strcmp(optarg, "0") == 0)
+ {
+ vty_port = 0;
+ break;
+ }
+ vty_port = atoi (optarg);
+ vty_port = (vty_port ? vty_port : BGP_VTY_PORT);
break;
case 'r':
retain_mode = 1;
diff --git a/ospf6d/ospf6_main.c b/ospf6d/ospf6_main.c
index 5ab517f3..3f3d5508 100644
--- a/ospf6d/ospf6_main.c
+++ b/ospf6d/ospf6_main.c
@@ -206,7 +206,7 @@ main (int argc, char *argv[], char *envp[])
char *p;
int opt;
char *vty_addr = NULL;
- int vty_port = 0;
+ int vty_port = OSPF6_VTY_PORT;
char *config_file = NULL;
char *progname;
struct thread thread;
@@ -253,8 +253,16 @@ main (int argc, char *argv[], char *envp[])
pid_file = optarg;
break;
case 'P':
+ /* Deal with atoi() returning 0 on failure, and ospf6d not
+ listening on ospf6d port... */
+ if (strcmp(optarg, "0") == 0)
+ {
+ vty_port = 0;
+ break;
+ }
vty_port = atoi (optarg);
- break;
+ vty_port = (vty_port ? vty_port : OSPF6_VTY_PORT);
+ break;
case 'v':
print_version (progname);
exit (0);
@@ -305,8 +313,7 @@ main (int argc, char *argv[], char *envp[])
thread_add_read (master, ospf6_receive, NULL, ospf6_sock);
/* Make ospf vty socket. */
- vty_serv_sock (vty_addr,
- vty_port ? vty_port : OSPF6_VTY_PORT, OSPF6_VTYSH_PATH);
+ vty_serv_sock (vty_addr, vty_port, OSPF6_VTYSH_PATH);
/* Print start message */
zlog_notice ("OSPF6d (Zebra-%s ospf6d-%s) starts",
diff --git a/ospfd/ospf_main.c b/ospfd/ospf_main.c
index 82960b24..6f6262aa 100644
--- a/ospfd/ospf_main.c
+++ b/ospfd/ospf_main.c
@@ -170,7 +170,7 @@ main (int argc, char **argv)
{
char *p;
char *vty_addr = NULL;
- int vty_port = 0;
+ int vty_port = OSPF_VTY_PORT;
int daemon_mode = 0;
char *config_file = NULL;
char *progname;
@@ -219,8 +219,16 @@ main (int argc, char **argv)
pid_file = optarg;
break;
case 'P':
- vty_port = atoi (optarg);
- break;
+ /* Deal with atoi() returning 0 on failure, and ospfd not
+ listening on ospfd port... */
+ if (strcmp(optarg, "0") == 0)
+ {
+ vty_port = 0;
+ break;
+ }
+ vty_port = atoi (optarg);
+ vty_port = (vty_port ? vty_port : OSPF_VTY_PORT);
+ break;
case 'v':
print_version (progname);
exit (0);
@@ -277,8 +285,7 @@ main (int argc, char **argv)
pid_output (pid_file);
/* Create VTY socket */
- vty_serv_sock (vty_addr,
- vty_port ? vty_port : OSPF_VTY_PORT, OSPF_VTYSH_PATH);
+ vty_serv_sock (vty_addr, vty_port, OSPF_VTYSH_PATH);
/* Print banner. */
zlog (NULL, LOG_INFO, "OSPFd (%s) starts", ZEBRA_VERSION);
diff --git a/ripd/rip_main.c b/ripd/rip_main.c
index 1070fb45..5e560524 100644
--- a/ripd/rip_main.c
+++ b/ripd/rip_main.c
@@ -211,7 +211,15 @@ main (int argc, char **argv)
pid_file = optarg;
break;
case 'P':
- vty_port = atoi (optarg);
+ /* Deal with atoi() returning 0 on failure, and ripd not
+ listening on rip port... */
+ if (strcmp(optarg, "0") == 0)
+ {
+ vty_port = 0;
+ break;
+ }
+ vty_port = atoi (optarg);
+ vty_port = (vty_port ? vty_port : RIP_VTY_PORT);
break;
case 'r':
retain_mode = 1;
diff --git a/ripngd/ripng_main.c b/ripngd/ripng_main.c
index aec74bb4..3a7ed4a0 100644
--- a/ripngd/ripng_main.c
+++ b/ripngd/ripng_main.c
@@ -155,7 +155,7 @@ main (int argc, char **argv)
{
char *p;
char *vty_addr = NULL;
- int vty_port = 0;
+ int vty_port = RIPNG_VTY_PORT;
int daemon_mode = 0;
char *config_file = NULL;
char *progname;
@@ -197,10 +197,18 @@ main (int argc, char **argv)
break;
case 'i':
pid_file = optarg;
- break;
+ break;
case 'P':
- vty_port = atoi (optarg);
- break;
+ /* Deal with atoi() returning 0 on failure, and ripngd not
+ listening on ripngd port... */
+ if (strcmp(optarg, "0") == 0)
+ {
+ vty_port = 0;
+ break;
+ }
+ vty_port = atoi (optarg);
+ vty_port = (vty_port ? vty_port : RIPNG_VTY_PORT);
+ break;
case 'r':
retain_mode = 1;
break;
@@ -237,8 +245,7 @@ main (int argc, char **argv)
daemon (0, 0);
/* Create VTY socket */
- vty_serv_sock (vty_addr,
- vty_port ? vty_port : RIPNG_VTY_PORT, RIPNG_VTYSH_PATH);
+ vty_serv_sock (vty_addr, vty_port, RIPNG_VTYSH_PATH);
/* Process id file create. */
pid_output (pid_file);
diff --git a/zebra/main.c b/zebra/main.c
index 25d8b6de..66469a2f 100644
--- a/zebra/main.c
+++ b/zebra/main.c
@@ -174,7 +174,7 @@ main (int argc, char **argv)
{
char *p;
char *vty_addr = NULL;
- int vty_port = 0;
+ int vty_port = ZEBRA_VTY_PORT;
int batch_mode = 0;
int daemon_mode = 0;
char *config_file = NULL;
@@ -226,7 +226,15 @@ main (int argc, char **argv)
pid_file = optarg;
break;
case 'P':
+ /* Deal with atoi() returning 0 on failure, and zebra not
+ listening on zebra port... */
+ if (strcmp(optarg, "0") == 0)
+ {
+ vty_port = 0;
+ break;
+ }
vty_port = atoi (optarg);
+ vty_port = (vty_port ? vty_port : ZEBRA_VTY_PORT);
break;
case 'r':
retain_mode = 1;
@@ -305,8 +313,7 @@ main (int argc, char **argv)
pid = getpid ();
/* Make vty server socket. */
- vty_serv_sock (vty_addr,
- vty_port ? vty_port : ZEBRA_VTY_PORT, ZEBRA_VTYSH_PATH);
+ vty_serv_sock (vty_addr, vty_port, ZEBRA_VTYSH_PATH);
while (thread_fetch (master, &thread))
thread_call (&thread);