diff options
-rw-r--r-- | babeld/babel_interface.c | 67 | ||||
-rw-r--r-- | babeld/babeld.c | 17 |
2 files changed, 61 insertions, 23 deletions
diff --git a/babeld/babel_interface.c b/babeld/babel_interface.c index 0f254ecc..bc58b7e3 100644 --- a/babeld/babel_interface.c +++ b/babeld/babel_interface.c @@ -293,7 +293,7 @@ babel_enable_if_delete (const char *ifname) DEFUN (babel_network, babel_network_cmd, "network IF_OR_ADDR", - "Babel enable on specified interface or network.\n" + "Enable Babel protocol on specified interface or network.\n" "Interface or address") { int ret; @@ -321,7 +321,7 @@ DEFUN (no_babel_network, no_babel_network_cmd, "no network IF_OR_ADDR", NO_STR - "Babel enable on specified interface or network.\n" + "Disable Babel protocol on specified interface or network.\n" "Interface or address") { int ret; @@ -348,8 +348,8 @@ DEFUN (no_babel_network, DEFUN (babel_set_wired, babel_set_wired_cmd, "babel wired", - "Set this interface as wired (default: wireless).\n" - "No attributes") + "Babel interface commands\n" + "Enable wired optimisations") { struct interface *ifp; babel_interface_nfo *babel_ifp; @@ -366,9 +366,8 @@ DEFUN (babel_set_wired, DEFUN (babel_set_wireless, babel_set_wireless_cmd, "babel wireless", - NO_STR - "Set this interface as wireless (is default).\n" - "No attributes") + "Babel interface commands\n" + "Disable wired optimiations (assume wireless)") { struct interface *ifp; babel_interface_nfo *babel_ifp; @@ -385,9 +384,8 @@ DEFUN (babel_set_wireless, DEFUN (babel_split_horizon, babel_split_horizon_cmd, "babel split-horizon", - IPV6_STR - "Perform split horizon\n" - "No attributes\n") + "Babel interface commands\n" + "Enable split horizon processing") { struct interface *ifp; babel_interface_nfo *babel_ifp; @@ -405,9 +403,8 @@ DEFUN (no_babel_split_horizon, no_babel_split_horizon_cmd, "no babel split-horizon", NO_STR - IPV6_STR - "Disable split horizon\n" - "No attributes\n") + "Babel interface commands\n" + "Disable split horizon processing") { struct interface *ifp; babel_interface_nfo *babel_ifp; @@ -423,15 +420,16 @@ DEFUN (no_babel_split_horizon, /* [Interface Command]. */ DEFUN (babel_set_hello_interval, babel_set_hello_interval_cmd, - "hello interval <5-1000000>", - "Set interface's hello interval (default: 4000).\n" - "Value in miliseconds\n") + "babel hello-interval <20-655340>", + "Babel interface commands\n" + "Time between scheduled hellos\n" + "Milliseconds\n") { struct interface *ifp; babel_interface_nfo *babel_ifp; int interval; - VTY_GET_INTEGER_RANGE("hello interval", interval, argv[0], 20, 10 * 0xFFFE); + VTY_GET_INTEGER_RANGE("milliseconds", interval, argv[0], 20, 10 * 0xFFFE); ifp = vty->index; babel_ifp = babel_get_if_nfo(ifp); @@ -442,11 +440,33 @@ DEFUN (babel_set_hello_interval, } /* [Interface Command]. */ +DEFUN (babel_set_update_interval, + babel_set_update_interval_cmd, + "babel update-interval <20-655340>", + "Babel interface commands\n" + "Time between scheduled updates\n" + "Milliseconds\n") +{ + struct interface *ifp; + babel_interface_nfo *babel_ifp; + int interval; + + VTY_GET_INTEGER_RANGE("milliseconds", interval, argv[0], 20, 10 * 0xFFFE); + + ifp = vty->index; + babel_ifp = babel_get_if_nfo(ifp); + assert (babel_ifp != NULL); + + babel_ifp->update_interval = interval; + return CMD_SUCCESS; +} + +/* [Interface Command]. */ DEFUN (babel_passive_interface, babel_passive_interface_cmd, - "passive-interface", - "The daemon will only announce redistributed routes\n" - "No attributes\n") + "babel passive-interface", + "Babel interface commands\n" + "Only announce redistributed routes on this interface\n") { if (allow_duplicates) { return CMD_WARNING; @@ -458,10 +478,10 @@ DEFUN (babel_passive_interface, /* [Interface Command]. */ DEFUN (no_babel_passive_interface, no_babel_passive_interface_cmd, - "no passive-interface", + "no babel passive-interface", NO_STR - "The daemon will announce all (filtred) routes\n" - "No attributes\n") + "Babel interface commands\n" + "Announce all routes on this interface\n") { parasitic = 0; return CMD_SUCCESS; @@ -899,6 +919,7 @@ babel_if_init () install_element(INTERFACE_NODE, &babel_set_wired_cmd); install_element(INTERFACE_NODE, &babel_set_wireless_cmd); install_element(INTERFACE_NODE, &babel_set_hello_interval_cmd); + install_element(INTERFACE_NODE, &babel_set_update_interval_cmd); install_element(INTERFACE_NODE, &babel_passive_interface_cmd); install_element(INTERFACE_NODE, &no_babel_passive_interface_cmd); diff --git a/babeld/babeld.c b/babeld/babeld.c index f42a81b6..07dd92a3 100644 --- a/babeld/babeld.c +++ b/babeld/babeld.c @@ -629,6 +629,22 @@ DEFUN (no_router_babel, return CMD_SUCCESS; } +/* [Babel Command] */ +DEFUN (babel_set_resend_delay, + babel_set_resend_delay_cmd, + "babel resend-delay <20-655340>", + "Babel commands\n" + "Time before resending a message\n" + "Milliseconds\n") +{ + int interval; + + VTY_GET_INTEGER_RANGE("milliseconds", interval, argv[0], 20, 10 * 0xFFFE); + + resend_delay = interval; + return CMD_SUCCESS; +} + void babeld_quagga_init(void) { @@ -639,6 +655,7 @@ babeld_quagga_init(void) install_element(CONFIG_NODE, &no_router_babel_cmd); install_default(BABEL_NODE); + install_element(BABEL_NODE, &babel_set_resend_delay_cmd); babel_if_init(); |