diff options
author | Philippe Guibert <philippe.guibert@6wind.com> | 2023-11-09 14:49:18 +0100 |
---|---|---|
committer | Philippe Guibert <philippe.guibert@6wind.com> | 2023-11-21 18:02:10 +0100 |
commit | d6d2527448efbdbb6ee7c8d9ae1ac58ee7e0b912 (patch) | |
tree | a857b8efc71801904645649c2c400504d68f03a3 /pathd | |
parent | pathd: fix space before pcep port in running-config (diff) | |
download | frr-d6d2527448efbdbb6ee7c8d9ae1ac58ee7e0b912.tar.xz frr-d6d2527448efbdbb6ee7c8d9ae1ac58ee7e0b912.zip |
pathd: fix 'no msd' command not possible under pcc node
It should be possible to reset the configured msd value,
and not mentioning the previous msd value.
> ubuntu2204(config-sr-te-pcep-pcc)# no msd
> % Command incomplete: no msd
> ubuntu2204(config-sr-te-pcep-pcc)#
Fix this by defining the msd parameter optional, and
separating the 'no msd' command from the 'msd' command.
Fixe: efba0985fcdd ("pathd: Add optional support for PCEP to pathd")
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Diffstat (limited to 'pathd')
-rw-r--r-- | pathd/path_pcep_cli.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/pathd/path_pcep_cli.c b/pathd/path_pcep_cli.c index 298dd74d2..f0c145c5d 100644 --- a/pathd/path_pcep_cli.c +++ b/pathd/path_pcep_cli.c @@ -1026,7 +1026,7 @@ static int path_pcep_cli_pcc_pcc_msd(struct vty *vty, const char *msd_str, { if (reset) pcc_msd_configured_g = false; - else { + else if (msd_str) { pcc_msd_configured_g = true; PCEP_VTYSH_INT_ARG_CHECK(msd_str, msd, pcc_msd_g, 0, 33); } @@ -2043,12 +2043,22 @@ DEFPY(pcep_cli_no_pcc, DEFPY(pcep_cli_pcc_pcc_msd, pcep_cli_pcc_pcc_msd_cmd, - "[no] msd (1-32)", + "msd (1-32)", NO_STR "PCC maximum SID depth \n" "PCC maximum SID depth value\n") { - return path_pcep_cli_pcc_pcc_msd(vty, msd_str, msd, no); + return path_pcep_cli_pcc_pcc_msd(vty, msd_str, msd, false); +} + +DEFPY(no_pcep_cli_pcc_pcc_msd, + no_pcep_cli_pcc_pcc_msd_cmd, + "no msd [(1-32)]", + NO_STR + "PCC maximum SID depth \n" + "PCC maximum SID depth value\n") +{ + return path_pcep_cli_pcc_pcc_msd(vty, msd_str, msd, true); } DEFPY(pcep_cli_pcc_pcc_peer, @@ -2153,6 +2163,7 @@ void pcep_cli_init(void) install_element(PCEP_NODE, &pcep_cli_no_pcc_cmd); install_element(PCEP_PCC_NODE, &pcep_cli_pcc_pcc_peer_cmd); install_element(PCEP_PCC_NODE, &pcep_cli_pcc_pcc_msd_cmd); + install_element(PCEP_PCC_NODE, &no_pcep_cli_pcc_pcc_msd_cmd); /* Top commands */ install_element(CONFIG_NODE, &pcep_cli_debug_cmd); |