mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-10 16:42:44 +00:00
isisd: API: timers (IIH, CSNP, PSNP)
No setters needed since change of fields doesn't require any specific action to make it apply. Just move the CLI defs to isis_vty.c. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
This commit is contained in:
parent
50c7d14a2a
commit
01bb08b6dc
@ -1370,668 +1370,6 @@ isis_circuit_passwd_hmac_md5_set (struct isis_circuit *circuit, const char *pass
|
||||
{
|
||||
return isis_circuit_passwd_set (circuit, ISIS_PASSWD_TYPE_HMAC_MD5, passwd);
|
||||
}
|
||||
|
||||
DEFUN (isis_hello_interval,
|
||||
isis_hello_interval_cmd,
|
||||
"isis hello-interval <1-600>",
|
||||
"IS-IS commands\n"
|
||||
"Set Hello interval\n"
|
||||
"Hello interval value\n"
|
||||
"Holdtime 1 seconds, interval depends on multiplier\n")
|
||||
{
|
||||
int interval;
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
interval = atoi (argv[0]);
|
||||
if (interval < MIN_HELLO_INTERVAL || interval > MAX_HELLO_INTERVAL)
|
||||
{
|
||||
vty_out (vty, "Invalid hello-interval %d - should be <1-600>%s",
|
||||
interval, VTY_NEWLINE);
|
||||
return CMD_ERR_AMBIGUOUS;
|
||||
}
|
||||
|
||||
circuit->hello_interval[0] = (u_int16_t) interval;
|
||||
circuit->hello_interval[1] = (u_int16_t) interval;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUN (no_isis_hello_interval,
|
||||
no_isis_hello_interval_cmd,
|
||||
"no isis hello-interval",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set Hello interval\n")
|
||||
{
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
circuit->hello_interval[0] = DEFAULT_HELLO_INTERVAL;
|
||||
circuit->hello_interval[1] = DEFAULT_HELLO_INTERVAL;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
ALIAS (no_isis_hello_interval,
|
||||
no_isis_hello_interval_arg_cmd,
|
||||
"no isis hello-interval <1-600>",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set Hello interval\n"
|
||||
"Hello interval value\n"
|
||||
"Holdtime 1 second, interval depends on multiplier\n")
|
||||
|
||||
DEFUN (isis_hello_interval_l1,
|
||||
isis_hello_interval_l1_cmd,
|
||||
"isis hello-interval <1-600> level-1",
|
||||
"IS-IS commands\n"
|
||||
"Set Hello interval\n"
|
||||
"Hello interval value\n"
|
||||
"Holdtime 1 second, interval depends on multiplier\n"
|
||||
"Specify hello-interval for level-1 IIHs\n")
|
||||
{
|
||||
long interval;
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
interval = atoi (argv[0]);
|
||||
if (interval < MIN_HELLO_INTERVAL || interval > MAX_HELLO_INTERVAL)
|
||||
{
|
||||
vty_out (vty, "Invalid hello-interval %ld - should be <1-600>%s",
|
||||
interval, VTY_NEWLINE);
|
||||
return CMD_ERR_AMBIGUOUS;
|
||||
}
|
||||
|
||||
circuit->hello_interval[0] = (u_int16_t) interval;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUN (no_isis_hello_interval_l1,
|
||||
no_isis_hello_interval_l1_cmd,
|
||||
"no isis hello-interval level-1",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set Hello interval\n"
|
||||
"Specify hello-interval for level-1 IIHs\n")
|
||||
{
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
circuit->hello_interval[0] = DEFAULT_HELLO_INTERVAL;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
ALIAS (no_isis_hello_interval_l1,
|
||||
no_isis_hello_interval_l1_arg_cmd,
|
||||
"no isis hello-interval <1-600> level-1",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set Hello interval\n"
|
||||
"Hello interval value\n"
|
||||
"Holdtime 1 second, interval depends on multiplier\n"
|
||||
"Specify hello-interval for level-1 IIHs\n")
|
||||
|
||||
DEFUN (isis_hello_interval_l2,
|
||||
isis_hello_interval_l2_cmd,
|
||||
"isis hello-interval <1-600> level-2",
|
||||
"IS-IS commands\n"
|
||||
"Set Hello interval\n"
|
||||
"Hello interval value\n"
|
||||
"Holdtime 1 second, interval depends on multiplier\n"
|
||||
"Specify hello-interval for level-2 IIHs\n")
|
||||
{
|
||||
long interval;
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
interval = atoi (argv[0]);
|
||||
if (interval < MIN_HELLO_INTERVAL || interval > MAX_HELLO_INTERVAL)
|
||||
{
|
||||
vty_out (vty, "Invalid hello-interval %ld - should be <1-600>%s",
|
||||
interval, VTY_NEWLINE);
|
||||
return CMD_ERR_AMBIGUOUS;
|
||||
}
|
||||
|
||||
circuit->hello_interval[1] = (u_int16_t) interval;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUN (no_isis_hello_interval_l2,
|
||||
no_isis_hello_interval_l2_cmd,
|
||||
"no isis hello-interval level-2",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set Hello interval\n"
|
||||
"Specify hello-interval for level-2 IIHs\n")
|
||||
{
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
circuit->hello_interval[1] = DEFAULT_HELLO_INTERVAL;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
ALIAS (no_isis_hello_interval_l2,
|
||||
no_isis_hello_interval_l2_arg_cmd,
|
||||
"no isis hello-interval <1-600> level-2",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set Hello interval\n"
|
||||
"Hello interval value\n"
|
||||
"Holdtime 1 second, interval depends on multiplier\n"
|
||||
"Specify hello-interval for level-2 IIHs\n")
|
||||
|
||||
DEFUN (isis_hello_multiplier,
|
||||
isis_hello_multiplier_cmd,
|
||||
"isis hello-multiplier <2-100>",
|
||||
"IS-IS commands\n"
|
||||
"Set multiplier for Hello holding time\n"
|
||||
"Hello multiplier value\n")
|
||||
{
|
||||
int mult;
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
mult = atoi (argv[0]);
|
||||
if (mult < MIN_HELLO_MULTIPLIER || mult > MAX_HELLO_MULTIPLIER)
|
||||
{
|
||||
vty_out (vty, "Invalid hello-multiplier %d - should be <2-100>%s",
|
||||
mult, VTY_NEWLINE);
|
||||
return CMD_ERR_AMBIGUOUS;
|
||||
}
|
||||
|
||||
circuit->hello_multiplier[0] = (u_int16_t) mult;
|
||||
circuit->hello_multiplier[1] = (u_int16_t) mult;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUN (no_isis_hello_multiplier,
|
||||
no_isis_hello_multiplier_cmd,
|
||||
"no isis hello-multiplier",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set multiplier for Hello holding time\n")
|
||||
{
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
circuit->hello_multiplier[0] = DEFAULT_HELLO_MULTIPLIER;
|
||||
circuit->hello_multiplier[1] = DEFAULT_HELLO_MULTIPLIER;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
ALIAS (no_isis_hello_multiplier,
|
||||
no_isis_hello_multiplier_arg_cmd,
|
||||
"no isis hello-multiplier <2-100>",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set multiplier for Hello holding time\n"
|
||||
"Hello multiplier value\n")
|
||||
|
||||
DEFUN (isis_hello_multiplier_l1,
|
||||
isis_hello_multiplier_l1_cmd,
|
||||
"isis hello-multiplier <2-100> level-1",
|
||||
"IS-IS commands\n"
|
||||
"Set multiplier for Hello holding time\n"
|
||||
"Hello multiplier value\n"
|
||||
"Specify hello multiplier for level-1 IIHs\n")
|
||||
{
|
||||
int mult;
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
mult = atoi (argv[0]);
|
||||
if (mult < MIN_HELLO_MULTIPLIER || mult > MAX_HELLO_MULTIPLIER)
|
||||
{
|
||||
vty_out (vty, "Invalid hello-multiplier %d - should be <2-100>%s",
|
||||
mult, VTY_NEWLINE);
|
||||
return CMD_ERR_AMBIGUOUS;
|
||||
}
|
||||
|
||||
circuit->hello_multiplier[0] = (u_int16_t) mult;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUN (no_isis_hello_multiplier_l1,
|
||||
no_isis_hello_multiplier_l1_cmd,
|
||||
"no isis hello-multiplier level-1",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set multiplier for Hello holding time\n"
|
||||
"Specify hello multiplier for level-1 IIHs\n")
|
||||
{
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
circuit->hello_multiplier[0] = DEFAULT_HELLO_MULTIPLIER;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
ALIAS (no_isis_hello_multiplier_l1,
|
||||
no_isis_hello_multiplier_l1_arg_cmd,
|
||||
"no isis hello-multiplier <2-100> level-1",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set multiplier for Hello holding time\n"
|
||||
"Hello multiplier value\n"
|
||||
"Specify hello multiplier for level-1 IIHs\n")
|
||||
|
||||
DEFUN (isis_hello_multiplier_l2,
|
||||
isis_hello_multiplier_l2_cmd,
|
||||
"isis hello-multiplier <2-100> level-2",
|
||||
"IS-IS commands\n"
|
||||
"Set multiplier for Hello holding time\n"
|
||||
"Hello multiplier value\n"
|
||||
"Specify hello multiplier for level-2 IIHs\n")
|
||||
{
|
||||
int mult;
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
mult = atoi (argv[0]);
|
||||
if (mult < MIN_HELLO_MULTIPLIER || mult > MAX_HELLO_MULTIPLIER)
|
||||
{
|
||||
vty_out (vty, "Invalid hello-multiplier %d - should be <2-100>%s",
|
||||
mult, VTY_NEWLINE);
|
||||
return CMD_ERR_AMBIGUOUS;
|
||||
}
|
||||
|
||||
circuit->hello_multiplier[1] = (u_int16_t) mult;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUN (no_isis_hello_multiplier_l2,
|
||||
no_isis_hello_multiplier_l2_cmd,
|
||||
"no isis hello-multiplier level-2",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set multiplier for Hello holding time\n"
|
||||
"Specify hello multiplier for level-2 IIHs\n")
|
||||
{
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
circuit->hello_multiplier[1] = DEFAULT_HELLO_MULTIPLIER;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
ALIAS (no_isis_hello_multiplier_l2,
|
||||
no_isis_hello_multiplier_l2_arg_cmd,
|
||||
"no isis hello-multiplier <2-100> level-2",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set multiplier for Hello holding time\n"
|
||||
"Hello multiplier value\n"
|
||||
"Specify hello multiplier for level-2 IIHs\n")
|
||||
|
||||
DEFUN (isis_hello_padding,
|
||||
isis_hello_padding_cmd,
|
||||
"isis hello padding",
|
||||
"IS-IS commands\n"
|
||||
"Add padding to IS-IS hello packets\n"
|
||||
"Pad hello packets\n"
|
||||
"<cr>\n")
|
||||
{
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
circuit->pad_hellos = 1;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUN (no_isis_hello_padding,
|
||||
no_isis_hello_padding_cmd,
|
||||
"no isis hello padding",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Add padding to IS-IS hello packets\n"
|
||||
"Pad hello packets\n"
|
||||
"<cr>\n")
|
||||
{
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
circuit->pad_hellos = 0;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUN (csnp_interval,
|
||||
csnp_interval_cmd,
|
||||
"isis csnp-interval <1-600>",
|
||||
"IS-IS commands\n"
|
||||
"Set CSNP interval in seconds\n"
|
||||
"CSNP interval value\n")
|
||||
{
|
||||
unsigned long interval;
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
interval = atol (argv[0]);
|
||||
if (interval < MIN_CSNP_INTERVAL || interval > MAX_CSNP_INTERVAL)
|
||||
{
|
||||
vty_out (vty, "Invalid csnp-interval %lu - should be <1-600>%s",
|
||||
interval, VTY_NEWLINE);
|
||||
return CMD_ERR_AMBIGUOUS;
|
||||
}
|
||||
|
||||
circuit->csnp_interval[0] = (u_int16_t) interval;
|
||||
circuit->csnp_interval[1] = (u_int16_t) interval;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUN (no_csnp_interval,
|
||||
no_csnp_interval_cmd,
|
||||
"no isis csnp-interval",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set CSNP interval in seconds\n")
|
||||
{
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
circuit->csnp_interval[0] = DEFAULT_CSNP_INTERVAL;
|
||||
circuit->csnp_interval[1] = DEFAULT_CSNP_INTERVAL;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
ALIAS (no_csnp_interval,
|
||||
no_csnp_interval_arg_cmd,
|
||||
"no isis csnp-interval <1-600>",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set CSNP interval in seconds\n"
|
||||
"CSNP interval value\n")
|
||||
|
||||
DEFUN (csnp_interval_l1,
|
||||
csnp_interval_l1_cmd,
|
||||
"isis csnp-interval <1-600> level-1",
|
||||
"IS-IS commands\n"
|
||||
"Set CSNP interval in seconds\n"
|
||||
"CSNP interval value\n"
|
||||
"Specify interval for level-1 CSNPs\n")
|
||||
{
|
||||
unsigned long interval;
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
interval = atol (argv[0]);
|
||||
if (interval < MIN_CSNP_INTERVAL || interval > MAX_CSNP_INTERVAL)
|
||||
{
|
||||
vty_out (vty, "Invalid csnp-interval %lu - should be <1-600>%s",
|
||||
interval, VTY_NEWLINE);
|
||||
return CMD_ERR_AMBIGUOUS;
|
||||
}
|
||||
|
||||
circuit->csnp_interval[0] = (u_int16_t) interval;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUN (no_csnp_interval_l1,
|
||||
no_csnp_interval_l1_cmd,
|
||||
"no isis csnp-interval level-1",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set CSNP interval in seconds\n"
|
||||
"Specify interval for level-1 CSNPs\n")
|
||||
{
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
circuit->csnp_interval[0] = DEFAULT_CSNP_INTERVAL;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
ALIAS (no_csnp_interval_l1,
|
||||
no_csnp_interval_l1_arg_cmd,
|
||||
"no isis csnp-interval <1-600> level-1",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set CSNP interval in seconds\n"
|
||||
"CSNP interval value\n"
|
||||
"Specify interval for level-1 CSNPs\n")
|
||||
|
||||
DEFUN (csnp_interval_l2,
|
||||
csnp_interval_l2_cmd,
|
||||
"isis csnp-interval <1-600> level-2",
|
||||
"IS-IS commands\n"
|
||||
"Set CSNP interval in seconds\n"
|
||||
"CSNP interval value\n"
|
||||
"Specify interval for level-2 CSNPs\n")
|
||||
{
|
||||
unsigned long interval;
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
interval = atol (argv[0]);
|
||||
if (interval < MIN_CSNP_INTERVAL || interval > MAX_CSNP_INTERVAL)
|
||||
{
|
||||
vty_out (vty, "Invalid csnp-interval %lu - should be <1-600>%s",
|
||||
interval, VTY_NEWLINE);
|
||||
return CMD_ERR_AMBIGUOUS;
|
||||
}
|
||||
|
||||
circuit->csnp_interval[1] = (u_int16_t) interval;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUN (no_csnp_interval_l2,
|
||||
no_csnp_interval_l2_cmd,
|
||||
"no isis csnp-interval level-2",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set CSNP interval in seconds\n"
|
||||
"Specify interval for level-2 CSNPs\n")
|
||||
{
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
circuit->csnp_interval[1] = DEFAULT_CSNP_INTERVAL;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
ALIAS (no_csnp_interval_l2,
|
||||
no_csnp_interval_l2_arg_cmd,
|
||||
"no isis csnp-interval <1-600> level-2",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set CSNP interval in seconds\n"
|
||||
"CSNP interval value\n"
|
||||
"Specify interval for level-2 CSNPs\n")
|
||||
|
||||
DEFUN (psnp_interval,
|
||||
psnp_interval_cmd,
|
||||
"isis psnp-interval <1-120>",
|
||||
"IS-IS commands\n"
|
||||
"Set PSNP interval in seconds\n"
|
||||
"PSNP interval value\n")
|
||||
{
|
||||
unsigned long interval;
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
interval = atol (argv[0]);
|
||||
if (interval < MIN_PSNP_INTERVAL || interval > MAX_PSNP_INTERVAL)
|
||||
{
|
||||
vty_out (vty, "Invalid psnp-interval %lu - should be <1-120>%s",
|
||||
interval, VTY_NEWLINE);
|
||||
return CMD_ERR_AMBIGUOUS;
|
||||
}
|
||||
|
||||
circuit->psnp_interval[0] = (u_int16_t) interval;
|
||||
circuit->psnp_interval[1] = (u_int16_t) interval;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUN (no_psnp_interval,
|
||||
no_psnp_interval_cmd,
|
||||
"no isis psnp-interval",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set PSNP interval in seconds\n")
|
||||
{
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
circuit->psnp_interval[0] = DEFAULT_PSNP_INTERVAL;
|
||||
circuit->psnp_interval[1] = DEFAULT_PSNP_INTERVAL;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
ALIAS (no_psnp_interval,
|
||||
no_psnp_interval_arg_cmd,
|
||||
"no isis psnp-interval <1-120>",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set PSNP interval in seconds\n"
|
||||
"PSNP interval value\n")
|
||||
|
||||
DEFUN (psnp_interval_l1,
|
||||
psnp_interval_l1_cmd,
|
||||
"isis psnp-interval <1-120> level-1",
|
||||
"IS-IS commands\n"
|
||||
"Set PSNP interval in seconds\n"
|
||||
"PSNP interval value\n"
|
||||
"Specify interval for level-1 PSNPs\n")
|
||||
{
|
||||
unsigned long interval;
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
interval = atol (argv[0]);
|
||||
if (interval < MIN_PSNP_INTERVAL || interval > MAX_PSNP_INTERVAL)
|
||||
{
|
||||
vty_out (vty, "Invalid psnp-interval %lu - should be <1-120>%s",
|
||||
interval, VTY_NEWLINE);
|
||||
return CMD_ERR_AMBIGUOUS;
|
||||
}
|
||||
|
||||
circuit->psnp_interval[0] = (u_int16_t) interval;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUN (no_psnp_interval_l1,
|
||||
no_psnp_interval_l1_cmd,
|
||||
"no isis psnp-interval level-1",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set PSNP interval in seconds\n"
|
||||
"Specify interval for level-1 PSNPs\n")
|
||||
{
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
circuit->psnp_interval[0] = DEFAULT_PSNP_INTERVAL;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
ALIAS (no_psnp_interval_l1,
|
||||
no_psnp_interval_l1_arg_cmd,
|
||||
"no isis psnp-interval <1-120> level-1",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set PSNP interval in seconds\n"
|
||||
"PSNP interval value\n"
|
||||
"Specify interval for level-1 PSNPs\n")
|
||||
|
||||
DEFUN (psnp_interval_l2,
|
||||
psnp_interval_l2_cmd,
|
||||
"isis psnp-interval <1-120> level-2",
|
||||
"IS-IS commands\n"
|
||||
"Set PSNP interval in seconds\n"
|
||||
"PSNP interval value\n"
|
||||
"Specify interval for level-2 PSNPs\n")
|
||||
{
|
||||
unsigned long interval;
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
interval = atol (argv[0]);
|
||||
if (interval < MIN_PSNP_INTERVAL || interval > MAX_PSNP_INTERVAL)
|
||||
{
|
||||
vty_out (vty, "Invalid psnp-interval %lu - should be <1-120>%s",
|
||||
interval, VTY_NEWLINE);
|
||||
return CMD_ERR_AMBIGUOUS;
|
||||
}
|
||||
|
||||
circuit->psnp_interval[1] = (u_int16_t) interval;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUN (no_psnp_interval_l2,
|
||||
no_psnp_interval_l2_cmd,
|
||||
"no isis psnp-interval level-2",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set PSNP interval in seconds\n"
|
||||
"Specify interval for level-2 PSNPs\n")
|
||||
{
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
circuit->psnp_interval[1] = DEFAULT_PSNP_INTERVAL;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
ALIAS (no_psnp_interval_l2,
|
||||
no_psnp_interval_l2_arg_cmd,
|
||||
"no isis psnp-interval <1-120> level-2",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set PSNP interval in seconds\n"
|
||||
"PSNP interval value\n"
|
||||
"Specify interval for level-2 PSNPs\n")
|
||||
|
||||
struct cmd_node interface_node = {
|
||||
INTERFACE_NODE,
|
||||
"%s(config-if)# ",
|
||||
@ -2114,48 +1452,5 @@ isis_circuit_init ()
|
||||
install_element (INTERFACE_NODE, &interface_desc_cmd);
|
||||
install_element (INTERFACE_NODE, &no_interface_desc_cmd);
|
||||
|
||||
install_element (INTERFACE_NODE, &isis_hello_interval_cmd);
|
||||
install_element (INTERFACE_NODE, &no_isis_hello_interval_cmd);
|
||||
install_element (INTERFACE_NODE, &no_isis_hello_interval_arg_cmd);
|
||||
install_element (INTERFACE_NODE, &isis_hello_interval_l1_cmd);
|
||||
install_element (INTERFACE_NODE, &no_isis_hello_interval_l1_cmd);
|
||||
install_element (INTERFACE_NODE, &no_isis_hello_interval_l1_arg_cmd);
|
||||
install_element (INTERFACE_NODE, &isis_hello_interval_l2_cmd);
|
||||
install_element (INTERFACE_NODE, &no_isis_hello_interval_l2_cmd);
|
||||
install_element (INTERFACE_NODE, &no_isis_hello_interval_l2_arg_cmd);
|
||||
|
||||
install_element (INTERFACE_NODE, &isis_hello_multiplier_cmd);
|
||||
install_element (INTERFACE_NODE, &no_isis_hello_multiplier_cmd);
|
||||
install_element (INTERFACE_NODE, &no_isis_hello_multiplier_arg_cmd);
|
||||
install_element (INTERFACE_NODE, &isis_hello_multiplier_l1_cmd);
|
||||
install_element (INTERFACE_NODE, &no_isis_hello_multiplier_l1_cmd);
|
||||
install_element (INTERFACE_NODE, &no_isis_hello_multiplier_l1_arg_cmd);
|
||||
install_element (INTERFACE_NODE, &isis_hello_multiplier_l2_cmd);
|
||||
install_element (INTERFACE_NODE, &no_isis_hello_multiplier_l2_cmd);
|
||||
install_element (INTERFACE_NODE, &no_isis_hello_multiplier_l2_arg_cmd);
|
||||
|
||||
install_element (INTERFACE_NODE, &isis_hello_padding_cmd);
|
||||
install_element (INTERFACE_NODE, &no_isis_hello_padding_cmd);
|
||||
|
||||
install_element (INTERFACE_NODE, &csnp_interval_cmd);
|
||||
install_element (INTERFACE_NODE, &no_csnp_interval_cmd);
|
||||
install_element (INTERFACE_NODE, &no_csnp_interval_arg_cmd);
|
||||
install_element (INTERFACE_NODE, &csnp_interval_l1_cmd);
|
||||
install_element (INTERFACE_NODE, &no_csnp_interval_l1_cmd);
|
||||
install_element (INTERFACE_NODE, &no_csnp_interval_l1_arg_cmd);
|
||||
install_element (INTERFACE_NODE, &csnp_interval_l2_cmd);
|
||||
install_element (INTERFACE_NODE, &no_csnp_interval_l2_cmd);
|
||||
install_element (INTERFACE_NODE, &no_csnp_interval_l2_arg_cmd);
|
||||
|
||||
install_element (INTERFACE_NODE, &psnp_interval_cmd);
|
||||
install_element (INTERFACE_NODE, &no_psnp_interval_cmd);
|
||||
install_element (INTERFACE_NODE, &no_psnp_interval_arg_cmd);
|
||||
install_element (INTERFACE_NODE, &psnp_interval_l1_cmd);
|
||||
install_element (INTERFACE_NODE, &no_psnp_interval_l1_cmd);
|
||||
install_element (INTERFACE_NODE, &no_psnp_interval_l1_arg_cmd);
|
||||
install_element (INTERFACE_NODE, &psnp_interval_l2_cmd);
|
||||
install_element (INTERFACE_NODE, &no_psnp_interval_l2_cmd);
|
||||
install_element (INTERFACE_NODE, &no_psnp_interval_l2_arg_cmd);
|
||||
|
||||
isis_vty_init ();
|
||||
}
|
||||
|
704
isisd/isis_vty.c
704
isisd/isis_vty.c
@ -694,6 +694,667 @@ ALIAS (no_isis_metric_l2,
|
||||
"Specify metric for level-2 routing\n")
|
||||
/* end of metrics */
|
||||
|
||||
DEFUN (isis_hello_interval,
|
||||
isis_hello_interval_cmd,
|
||||
"isis hello-interval <1-600>",
|
||||
"IS-IS commands\n"
|
||||
"Set Hello interval\n"
|
||||
"Hello interval value\n"
|
||||
"Holdtime 1 seconds, interval depends on multiplier\n")
|
||||
{
|
||||
int interval;
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
interval = atoi (argv[0]);
|
||||
if (interval < MIN_HELLO_INTERVAL || interval > MAX_HELLO_INTERVAL)
|
||||
{
|
||||
vty_out (vty, "Invalid hello-interval %d - should be <1-600>%s",
|
||||
interval, VTY_NEWLINE);
|
||||
return CMD_ERR_AMBIGUOUS;
|
||||
}
|
||||
|
||||
circuit->hello_interval[0] = (u_int16_t) interval;
|
||||
circuit->hello_interval[1] = (u_int16_t) interval;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUN (no_isis_hello_interval,
|
||||
no_isis_hello_interval_cmd,
|
||||
"no isis hello-interval",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set Hello interval\n")
|
||||
{
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
circuit->hello_interval[0] = DEFAULT_HELLO_INTERVAL;
|
||||
circuit->hello_interval[1] = DEFAULT_HELLO_INTERVAL;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
ALIAS (no_isis_hello_interval,
|
||||
no_isis_hello_interval_arg_cmd,
|
||||
"no isis hello-interval <1-600>",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set Hello interval\n"
|
||||
"Hello interval value\n"
|
||||
"Holdtime 1 second, interval depends on multiplier\n")
|
||||
|
||||
DEFUN (isis_hello_interval_l1,
|
||||
isis_hello_interval_l1_cmd,
|
||||
"isis hello-interval <1-600> level-1",
|
||||
"IS-IS commands\n"
|
||||
"Set Hello interval\n"
|
||||
"Hello interval value\n"
|
||||
"Holdtime 1 second, interval depends on multiplier\n"
|
||||
"Specify hello-interval for level-1 IIHs\n")
|
||||
{
|
||||
long interval;
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
interval = atoi (argv[0]);
|
||||
if (interval < MIN_HELLO_INTERVAL || interval > MAX_HELLO_INTERVAL)
|
||||
{
|
||||
vty_out (vty, "Invalid hello-interval %ld - should be <1-600>%s",
|
||||
interval, VTY_NEWLINE);
|
||||
return CMD_ERR_AMBIGUOUS;
|
||||
}
|
||||
|
||||
circuit->hello_interval[0] = (u_int16_t) interval;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUN (no_isis_hello_interval_l1,
|
||||
no_isis_hello_interval_l1_cmd,
|
||||
"no isis hello-interval level-1",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set Hello interval\n"
|
||||
"Specify hello-interval for level-1 IIHs\n")
|
||||
{
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
circuit->hello_interval[0] = DEFAULT_HELLO_INTERVAL;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
ALIAS (no_isis_hello_interval_l1,
|
||||
no_isis_hello_interval_l1_arg_cmd,
|
||||
"no isis hello-interval <1-600> level-1",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set Hello interval\n"
|
||||
"Hello interval value\n"
|
||||
"Holdtime 1 second, interval depends on multiplier\n"
|
||||
"Specify hello-interval for level-1 IIHs\n")
|
||||
|
||||
DEFUN (isis_hello_interval_l2,
|
||||
isis_hello_interval_l2_cmd,
|
||||
"isis hello-interval <1-600> level-2",
|
||||
"IS-IS commands\n"
|
||||
"Set Hello interval\n"
|
||||
"Hello interval value\n"
|
||||
"Holdtime 1 second, interval depends on multiplier\n"
|
||||
"Specify hello-interval for level-2 IIHs\n")
|
||||
{
|
||||
long interval;
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
interval = atoi (argv[0]);
|
||||
if (interval < MIN_HELLO_INTERVAL || interval > MAX_HELLO_INTERVAL)
|
||||
{
|
||||
vty_out (vty, "Invalid hello-interval %ld - should be <1-600>%s",
|
||||
interval, VTY_NEWLINE);
|
||||
return CMD_ERR_AMBIGUOUS;
|
||||
}
|
||||
|
||||
circuit->hello_interval[1] = (u_int16_t) interval;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUN (no_isis_hello_interval_l2,
|
||||
no_isis_hello_interval_l2_cmd,
|
||||
"no isis hello-interval level-2",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set Hello interval\n"
|
||||
"Specify hello-interval for level-2 IIHs\n")
|
||||
{
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
circuit->hello_interval[1] = DEFAULT_HELLO_INTERVAL;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
ALIAS (no_isis_hello_interval_l2,
|
||||
no_isis_hello_interval_l2_arg_cmd,
|
||||
"no isis hello-interval <1-600> level-2",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set Hello interval\n"
|
||||
"Hello interval value\n"
|
||||
"Holdtime 1 second, interval depends on multiplier\n"
|
||||
"Specify hello-interval for level-2 IIHs\n")
|
||||
|
||||
DEFUN (isis_hello_multiplier,
|
||||
isis_hello_multiplier_cmd,
|
||||
"isis hello-multiplier <2-100>",
|
||||
"IS-IS commands\n"
|
||||
"Set multiplier for Hello holding time\n"
|
||||
"Hello multiplier value\n")
|
||||
{
|
||||
int mult;
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
mult = atoi (argv[0]);
|
||||
if (mult < MIN_HELLO_MULTIPLIER || mult > MAX_HELLO_MULTIPLIER)
|
||||
{
|
||||
vty_out (vty, "Invalid hello-multiplier %d - should be <2-100>%s",
|
||||
mult, VTY_NEWLINE);
|
||||
return CMD_ERR_AMBIGUOUS;
|
||||
}
|
||||
|
||||
circuit->hello_multiplier[0] = (u_int16_t) mult;
|
||||
circuit->hello_multiplier[1] = (u_int16_t) mult;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUN (no_isis_hello_multiplier,
|
||||
no_isis_hello_multiplier_cmd,
|
||||
"no isis hello-multiplier",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set multiplier for Hello holding time\n")
|
||||
{
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
circuit->hello_multiplier[0] = DEFAULT_HELLO_MULTIPLIER;
|
||||
circuit->hello_multiplier[1] = DEFAULT_HELLO_MULTIPLIER;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
ALIAS (no_isis_hello_multiplier,
|
||||
no_isis_hello_multiplier_arg_cmd,
|
||||
"no isis hello-multiplier <2-100>",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set multiplier for Hello holding time\n"
|
||||
"Hello multiplier value\n")
|
||||
|
||||
DEFUN (isis_hello_multiplier_l1,
|
||||
isis_hello_multiplier_l1_cmd,
|
||||
"isis hello-multiplier <2-100> level-1",
|
||||
"IS-IS commands\n"
|
||||
"Set multiplier for Hello holding time\n"
|
||||
"Hello multiplier value\n"
|
||||
"Specify hello multiplier for level-1 IIHs\n")
|
||||
{
|
||||
int mult;
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
mult = atoi (argv[0]);
|
||||
if (mult < MIN_HELLO_MULTIPLIER || mult > MAX_HELLO_MULTIPLIER)
|
||||
{
|
||||
vty_out (vty, "Invalid hello-multiplier %d - should be <2-100>%s",
|
||||
mult, VTY_NEWLINE);
|
||||
return CMD_ERR_AMBIGUOUS;
|
||||
}
|
||||
|
||||
circuit->hello_multiplier[0] = (u_int16_t) mult;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUN (no_isis_hello_multiplier_l1,
|
||||
no_isis_hello_multiplier_l1_cmd,
|
||||
"no isis hello-multiplier level-1",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set multiplier for Hello holding time\n"
|
||||
"Specify hello multiplier for level-1 IIHs\n")
|
||||
{
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
circuit->hello_multiplier[0] = DEFAULT_HELLO_MULTIPLIER;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
ALIAS (no_isis_hello_multiplier_l1,
|
||||
no_isis_hello_multiplier_l1_arg_cmd,
|
||||
"no isis hello-multiplier <2-100> level-1",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set multiplier for Hello holding time\n"
|
||||
"Hello multiplier value\n"
|
||||
"Specify hello multiplier for level-1 IIHs\n")
|
||||
|
||||
DEFUN (isis_hello_multiplier_l2,
|
||||
isis_hello_multiplier_l2_cmd,
|
||||
"isis hello-multiplier <2-100> level-2",
|
||||
"IS-IS commands\n"
|
||||
"Set multiplier for Hello holding time\n"
|
||||
"Hello multiplier value\n"
|
||||
"Specify hello multiplier for level-2 IIHs\n")
|
||||
{
|
||||
int mult;
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
mult = atoi (argv[0]);
|
||||
if (mult < MIN_HELLO_MULTIPLIER || mult > MAX_HELLO_MULTIPLIER)
|
||||
{
|
||||
vty_out (vty, "Invalid hello-multiplier %d - should be <2-100>%s",
|
||||
mult, VTY_NEWLINE);
|
||||
return CMD_ERR_AMBIGUOUS;
|
||||
}
|
||||
|
||||
circuit->hello_multiplier[1] = (u_int16_t) mult;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUN (no_isis_hello_multiplier_l2,
|
||||
no_isis_hello_multiplier_l2_cmd,
|
||||
"no isis hello-multiplier level-2",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set multiplier for Hello holding time\n"
|
||||
"Specify hello multiplier for level-2 IIHs\n")
|
||||
{
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
circuit->hello_multiplier[1] = DEFAULT_HELLO_MULTIPLIER;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
ALIAS (no_isis_hello_multiplier_l2,
|
||||
no_isis_hello_multiplier_l2_arg_cmd,
|
||||
"no isis hello-multiplier <2-100> level-2",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set multiplier for Hello holding time\n"
|
||||
"Hello multiplier value\n"
|
||||
"Specify hello multiplier for level-2 IIHs\n")
|
||||
|
||||
DEFUN (isis_hello_padding,
|
||||
isis_hello_padding_cmd,
|
||||
"isis hello padding",
|
||||
"IS-IS commands\n"
|
||||
"Add padding to IS-IS hello packets\n"
|
||||
"Pad hello packets\n"
|
||||
"<cr>\n")
|
||||
{
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
circuit->pad_hellos = 1;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUN (no_isis_hello_padding,
|
||||
no_isis_hello_padding_cmd,
|
||||
"no isis hello padding",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Add padding to IS-IS hello packets\n"
|
||||
"Pad hello packets\n"
|
||||
"<cr>\n")
|
||||
{
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
circuit->pad_hellos = 0;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUN (csnp_interval,
|
||||
csnp_interval_cmd,
|
||||
"isis csnp-interval <1-600>",
|
||||
"IS-IS commands\n"
|
||||
"Set CSNP interval in seconds\n"
|
||||
"CSNP interval value\n")
|
||||
{
|
||||
unsigned long interval;
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
interval = atol (argv[0]);
|
||||
if (interval < MIN_CSNP_INTERVAL || interval > MAX_CSNP_INTERVAL)
|
||||
{
|
||||
vty_out (vty, "Invalid csnp-interval %lu - should be <1-600>%s",
|
||||
interval, VTY_NEWLINE);
|
||||
return CMD_ERR_AMBIGUOUS;
|
||||
}
|
||||
|
||||
circuit->csnp_interval[0] = (u_int16_t) interval;
|
||||
circuit->csnp_interval[1] = (u_int16_t) interval;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUN (no_csnp_interval,
|
||||
no_csnp_interval_cmd,
|
||||
"no isis csnp-interval",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set CSNP interval in seconds\n")
|
||||
{
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
circuit->csnp_interval[0] = DEFAULT_CSNP_INTERVAL;
|
||||
circuit->csnp_interval[1] = DEFAULT_CSNP_INTERVAL;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
ALIAS (no_csnp_interval,
|
||||
no_csnp_interval_arg_cmd,
|
||||
"no isis csnp-interval <1-600>",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set CSNP interval in seconds\n"
|
||||
"CSNP interval value\n")
|
||||
|
||||
DEFUN (csnp_interval_l1,
|
||||
csnp_interval_l1_cmd,
|
||||
"isis csnp-interval <1-600> level-1",
|
||||
"IS-IS commands\n"
|
||||
"Set CSNP interval in seconds\n"
|
||||
"CSNP interval value\n"
|
||||
"Specify interval for level-1 CSNPs\n")
|
||||
{
|
||||
unsigned long interval;
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
interval = atol (argv[0]);
|
||||
if (interval < MIN_CSNP_INTERVAL || interval > MAX_CSNP_INTERVAL)
|
||||
{
|
||||
vty_out (vty, "Invalid csnp-interval %lu - should be <1-600>%s",
|
||||
interval, VTY_NEWLINE);
|
||||
return CMD_ERR_AMBIGUOUS;
|
||||
}
|
||||
|
||||
circuit->csnp_interval[0] = (u_int16_t) interval;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUN (no_csnp_interval_l1,
|
||||
no_csnp_interval_l1_cmd,
|
||||
"no isis csnp-interval level-1",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set CSNP interval in seconds\n"
|
||||
"Specify interval for level-1 CSNPs\n")
|
||||
{
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
circuit->csnp_interval[0] = DEFAULT_CSNP_INTERVAL;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
ALIAS (no_csnp_interval_l1,
|
||||
no_csnp_interval_l1_arg_cmd,
|
||||
"no isis csnp-interval <1-600> level-1",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set CSNP interval in seconds\n"
|
||||
"CSNP interval value\n"
|
||||
"Specify interval for level-1 CSNPs\n")
|
||||
|
||||
DEFUN (csnp_interval_l2,
|
||||
csnp_interval_l2_cmd,
|
||||
"isis csnp-interval <1-600> level-2",
|
||||
"IS-IS commands\n"
|
||||
"Set CSNP interval in seconds\n"
|
||||
"CSNP interval value\n"
|
||||
"Specify interval for level-2 CSNPs\n")
|
||||
{
|
||||
unsigned long interval;
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
interval = atol (argv[0]);
|
||||
if (interval < MIN_CSNP_INTERVAL || interval > MAX_CSNP_INTERVAL)
|
||||
{
|
||||
vty_out (vty, "Invalid csnp-interval %lu - should be <1-600>%s",
|
||||
interval, VTY_NEWLINE);
|
||||
return CMD_ERR_AMBIGUOUS;
|
||||
}
|
||||
|
||||
circuit->csnp_interval[1] = (u_int16_t) interval;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUN (no_csnp_interval_l2,
|
||||
no_csnp_interval_l2_cmd,
|
||||
"no isis csnp-interval level-2",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set CSNP interval in seconds\n"
|
||||
"Specify interval for level-2 CSNPs\n")
|
||||
{
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
circuit->csnp_interval[1] = DEFAULT_CSNP_INTERVAL;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
ALIAS (no_csnp_interval_l2,
|
||||
no_csnp_interval_l2_arg_cmd,
|
||||
"no isis csnp-interval <1-600> level-2",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set CSNP interval in seconds\n"
|
||||
"CSNP interval value\n"
|
||||
"Specify interval for level-2 CSNPs\n")
|
||||
|
||||
DEFUN (psnp_interval,
|
||||
psnp_interval_cmd,
|
||||
"isis psnp-interval <1-120>",
|
||||
"IS-IS commands\n"
|
||||
"Set PSNP interval in seconds\n"
|
||||
"PSNP interval value\n")
|
||||
{
|
||||
unsigned long interval;
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
interval = atol (argv[0]);
|
||||
if (interval < MIN_PSNP_INTERVAL || interval > MAX_PSNP_INTERVAL)
|
||||
{
|
||||
vty_out (vty, "Invalid psnp-interval %lu - should be <1-120>%s",
|
||||
interval, VTY_NEWLINE);
|
||||
return CMD_ERR_AMBIGUOUS;
|
||||
}
|
||||
|
||||
circuit->psnp_interval[0] = (u_int16_t) interval;
|
||||
circuit->psnp_interval[1] = (u_int16_t) interval;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUN (no_psnp_interval,
|
||||
no_psnp_interval_cmd,
|
||||
"no isis psnp-interval",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set PSNP interval in seconds\n")
|
||||
{
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
circuit->psnp_interval[0] = DEFAULT_PSNP_INTERVAL;
|
||||
circuit->psnp_interval[1] = DEFAULT_PSNP_INTERVAL;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
ALIAS (no_psnp_interval,
|
||||
no_psnp_interval_arg_cmd,
|
||||
"no isis psnp-interval <1-120>",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set PSNP interval in seconds\n"
|
||||
"PSNP interval value\n")
|
||||
|
||||
DEFUN (psnp_interval_l1,
|
||||
psnp_interval_l1_cmd,
|
||||
"isis psnp-interval <1-120> level-1",
|
||||
"IS-IS commands\n"
|
||||
"Set PSNP interval in seconds\n"
|
||||
"PSNP interval value\n"
|
||||
"Specify interval for level-1 PSNPs\n")
|
||||
{
|
||||
unsigned long interval;
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
interval = atol (argv[0]);
|
||||
if (interval < MIN_PSNP_INTERVAL || interval > MAX_PSNP_INTERVAL)
|
||||
{
|
||||
vty_out (vty, "Invalid psnp-interval %lu - should be <1-120>%s",
|
||||
interval, VTY_NEWLINE);
|
||||
return CMD_ERR_AMBIGUOUS;
|
||||
}
|
||||
|
||||
circuit->psnp_interval[0] = (u_int16_t) interval;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUN (no_psnp_interval_l1,
|
||||
no_psnp_interval_l1_cmd,
|
||||
"no isis psnp-interval level-1",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set PSNP interval in seconds\n"
|
||||
"Specify interval for level-1 PSNPs\n")
|
||||
{
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
circuit->psnp_interval[0] = DEFAULT_PSNP_INTERVAL;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
ALIAS (no_psnp_interval_l1,
|
||||
no_psnp_interval_l1_arg_cmd,
|
||||
"no isis psnp-interval <1-120> level-1",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set PSNP interval in seconds\n"
|
||||
"PSNP interval value\n"
|
||||
"Specify interval for level-1 PSNPs\n")
|
||||
|
||||
DEFUN (psnp_interval_l2,
|
||||
psnp_interval_l2_cmd,
|
||||
"isis psnp-interval <1-120> level-2",
|
||||
"IS-IS commands\n"
|
||||
"Set PSNP interval in seconds\n"
|
||||
"PSNP interval value\n"
|
||||
"Specify interval for level-2 PSNPs\n")
|
||||
{
|
||||
unsigned long interval;
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
interval = atol (argv[0]);
|
||||
if (interval < MIN_PSNP_INTERVAL || interval > MAX_PSNP_INTERVAL)
|
||||
{
|
||||
vty_out (vty, "Invalid psnp-interval %lu - should be <1-120>%s",
|
||||
interval, VTY_NEWLINE);
|
||||
return CMD_ERR_AMBIGUOUS;
|
||||
}
|
||||
|
||||
circuit->psnp_interval[1] = (u_int16_t) interval;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUN (no_psnp_interval_l2,
|
||||
no_psnp_interval_l2_cmd,
|
||||
"no isis psnp-interval level-2",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set PSNP interval in seconds\n"
|
||||
"Specify interval for level-2 PSNPs\n")
|
||||
{
|
||||
struct isis_circuit *circuit = isis_circuit_lookup (vty);
|
||||
if (!circuit)
|
||||
return CMD_ERR_NO_MATCH;
|
||||
|
||||
circuit->psnp_interval[1] = DEFAULT_PSNP_INTERVAL;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
ALIAS (no_psnp_interval_l2,
|
||||
no_psnp_interval_l2_arg_cmd,
|
||||
"no isis psnp-interval <1-120> level-2",
|
||||
NO_STR
|
||||
"IS-IS commands\n"
|
||||
"Set PSNP interval in seconds\n"
|
||||
"PSNP interval value\n"
|
||||
"Specify interval for level-2 PSNPs\n")
|
||||
|
||||
static int
|
||||
validate_metric_style_narrow (struct vty *vty, struct isis_area *area)
|
||||
{
|
||||
@ -899,6 +1560,49 @@ isis_vty_init (void)
|
||||
install_element (INTERFACE_NODE, &no_isis_metric_l2_cmd);
|
||||
install_element (INTERFACE_NODE, &no_isis_metric_l2_arg_cmd);
|
||||
|
||||
install_element (INTERFACE_NODE, &isis_hello_interval_cmd);
|
||||
install_element (INTERFACE_NODE, &no_isis_hello_interval_cmd);
|
||||
install_element (INTERFACE_NODE, &no_isis_hello_interval_arg_cmd);
|
||||
install_element (INTERFACE_NODE, &isis_hello_interval_l1_cmd);
|
||||
install_element (INTERFACE_NODE, &no_isis_hello_interval_l1_cmd);
|
||||
install_element (INTERFACE_NODE, &no_isis_hello_interval_l1_arg_cmd);
|
||||
install_element (INTERFACE_NODE, &isis_hello_interval_l2_cmd);
|
||||
install_element (INTERFACE_NODE, &no_isis_hello_interval_l2_cmd);
|
||||
install_element (INTERFACE_NODE, &no_isis_hello_interval_l2_arg_cmd);
|
||||
|
||||
install_element (INTERFACE_NODE, &isis_hello_multiplier_cmd);
|
||||
install_element (INTERFACE_NODE, &no_isis_hello_multiplier_cmd);
|
||||
install_element (INTERFACE_NODE, &no_isis_hello_multiplier_arg_cmd);
|
||||
install_element (INTERFACE_NODE, &isis_hello_multiplier_l1_cmd);
|
||||
install_element (INTERFACE_NODE, &no_isis_hello_multiplier_l1_cmd);
|
||||
install_element (INTERFACE_NODE, &no_isis_hello_multiplier_l1_arg_cmd);
|
||||
install_element (INTERFACE_NODE, &isis_hello_multiplier_l2_cmd);
|
||||
install_element (INTERFACE_NODE, &no_isis_hello_multiplier_l2_cmd);
|
||||
install_element (INTERFACE_NODE, &no_isis_hello_multiplier_l2_arg_cmd);
|
||||
|
||||
install_element (INTERFACE_NODE, &isis_hello_padding_cmd);
|
||||
install_element (INTERFACE_NODE, &no_isis_hello_padding_cmd);
|
||||
|
||||
install_element (INTERFACE_NODE, &csnp_interval_cmd);
|
||||
install_element (INTERFACE_NODE, &no_csnp_interval_cmd);
|
||||
install_element (INTERFACE_NODE, &no_csnp_interval_arg_cmd);
|
||||
install_element (INTERFACE_NODE, &csnp_interval_l1_cmd);
|
||||
install_element (INTERFACE_NODE, &no_csnp_interval_l1_cmd);
|
||||
install_element (INTERFACE_NODE, &no_csnp_interval_l1_arg_cmd);
|
||||
install_element (INTERFACE_NODE, &csnp_interval_l2_cmd);
|
||||
install_element (INTERFACE_NODE, &no_csnp_interval_l2_cmd);
|
||||
install_element (INTERFACE_NODE, &no_csnp_interval_l2_arg_cmd);
|
||||
|
||||
install_element (INTERFACE_NODE, &psnp_interval_cmd);
|
||||
install_element (INTERFACE_NODE, &no_psnp_interval_cmd);
|
||||
install_element (INTERFACE_NODE, &no_psnp_interval_arg_cmd);
|
||||
install_element (INTERFACE_NODE, &psnp_interval_l1_cmd);
|
||||
install_element (INTERFACE_NODE, &no_psnp_interval_l1_cmd);
|
||||
install_element (INTERFACE_NODE, &no_psnp_interval_l1_arg_cmd);
|
||||
install_element (INTERFACE_NODE, &psnp_interval_l2_cmd);
|
||||
install_element (INTERFACE_NODE, &no_psnp_interval_l2_cmd);
|
||||
install_element (INTERFACE_NODE, &no_psnp_interval_l2_arg_cmd);
|
||||
|
||||
install_element (ISIS_NODE, &metric_style_cmd);
|
||||
install_element (ISIS_NODE, &no_metric_style_cmd);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user