babeld: Error handling and tweaks for babeld commands.
diff --git a/babeld/babel_interface.c b/babeld/babel_interface.c
index a874289..906f349 100644
--- a/babeld/babel_interface.c
+++ b/babeld/babel_interface.c
@@ -429,13 +429,14 @@
{
struct interface *ifp;
babel_interface_nfo *babel_ifp;
+ int interval;
- int interval = atoi(argv[0]);
+ VTY_GET_INTEGER_RANGE("hello interval", interval, argv[0], 20, 10 * 0xFFFE);
ifp = vty->index;
babel_ifp = babel_get_if_nfo(ifp);
-
assert (babel_ifp != NULL);
+
babel_ifp->hello_interval = interval;
return CMD_SUCCESS;
}
@@ -450,7 +451,7 @@
if (allow_duplicates) {
return CMD_WARNING;
}
- parasitic = -1;
+ parasitic = 1;
return CMD_SUCCESS;
}
@@ -900,7 +901,7 @@
vty_out(vty, " -- Babel running configuration --%s", VTY_NEWLINE);
show_babel_main_configuration(vty);
show_babeld_configuration(vty);
- vty_out(vty, " -- ditribution lists --%s", VTY_NEWLINE);
+ vty_out(vty, " -- distribution lists --%s", VTY_NEWLINE);
config_show_distribute(vty);
return CMD_SUCCESS;
diff --git a/babeld/babel_main.c b/babeld/babel_main.c
index 951da7d..a75171e 100644
--- a/babeld/babel_main.c
+++ b/babeld/babel_main.c
@@ -227,8 +227,7 @@
break;
case 'P':
babel_vty_port = atoi (optarg);
- if (babel_vty_port < 0 || babel_vty_port > 0xffff
- || (babel_vty_port == 0 && optarg[0] != '0'/*atoi error*/))
+ if (babel_vty_port <= 0 || babel_vty_port > 0xffff)
babel_vty_port = BABEL_VTY_PORT;
break;
case 'u':
diff --git a/babeld/babeld.c b/babeld/babeld.c
index 33b5d9e..da07434 100644
--- a/babeld/babeld.c
+++ b/babeld/babeld.c
@@ -608,6 +608,7 @@
/* Notice to user we couldn't create Babel. */
if (ret < 0) {
zlog_warn ("can't create Babel");
+ return CMD_WARNING;
}
}
@@ -666,9 +667,11 @@
"Set the protocol port (default is defined in RFC).\n"
"IPv6 address")
{
- int port = atoi(argv[0]);
- protocol_port = port;
+ int port;
+ VTY_GET_INTEGER_RANGE("port", port, argv[0], 1, 0xFFFF);
+
+ protocol_port = port;
return CMD_SUCCESS;
}