aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2020-07-27 14:26:28 -0700
committerAndrew Yourtchenko <ayourtch@gmail.com>2020-08-18 19:47:21 +0000
commit554159af58505dd41fc2db2f813a1270452ef746 (patch)
treeac2b9d3fb29021215c2206c94c728d2dedc4de62
parent0e67a25052dde565e5a6a30e1fb37bba770074b6 (diff)
lisp: fix lisp/one enable/disable
Type: fix Change-Id: Iefe6b3a1a0a999d89ef9812fc14d31159043e60c Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit 508dc51bd075f6bb16862265c0c43e8efb76349c)
-rw-r--r--src/vnet/lisp-cp/lisp_cli.c86
-rw-r--r--src/vnet/lisp-cp/one_cli.c66
2 files changed, 67 insertions, 85 deletions
diff --git a/src/vnet/lisp-cp/lisp_cli.c b/src/vnet/lisp-cp/lisp_cli.c
index 5cd183402b0..31b2ca88cbf 100644
--- a/src/vnet/lisp-cp/lisp_cli.c
+++ b/src/vnet/lisp-cp/lisp_cli.c
@@ -418,14 +418,16 @@ done:
return error;
}
-VLIB_CLI_COMMAND (lisp_add_del_remote_mapping_command) =
-{
-.path = "lisp remote-mapping",.short_help =
- "lisp remote-mapping add|del [del-all] vni <vni> "
- "eid <est-eid> [action <no-action|natively-forward|"
- "send-map-request|drop>] rloc <dst-locator> p <prio> w <weight> "
- "[rloc <dst-locator> ... ]",.function =
- lisp_add_del_remote_mapping_command_fn,};
+/* *INDENT-OFF* */
+VLIB_CLI_COMMAND (lisp_add_del_remote_mapping_command) = {
+ .path = "lisp remote-mapping",
+ .short_help = "lisp remote-mapping add|del [del-all] vni <vni> "
+ "eid <est-eid> [action <no-action|natively-forward|"
+ "send-map-request|drop>] rloc <dst-locator> p <prio> "
+ "w <weight> [rloc <dst-locator> ... ]",
+ .function = lisp_add_del_remote_mapping_command_fn,
+};
+/* *INDENT-ON* */
/**
* Handler for add/del adjacency CLI.
@@ -892,54 +894,44 @@ VLIB_CLI_COMMAND (lisp_cp_show_eid_table_command) = {
static clib_error_t *
-lisp_enable_disable_command_fn (vlib_main_t * vm, unformat_input_t * input,
- vlib_cli_command_t * cmd)
+lisp_enable_command_fn (vlib_main_t * vm, unformat_input_t * input,
+ vlib_cli_command_t * cmd)
{
- unformat_input_t _line_input, *line_input = &_line_input;
- u8 is_enabled = 0;
- u8 is_set = 0;
- clib_error_t *error = NULL;
+ if (unformat_check_input (input) != UNFORMAT_END_OF_INPUT)
+ return clib_error_return (0, "parse error: '%U'", format_unformat_error,
+ input);
- /* Get a line of input. */
- if (!unformat_user (input, unformat_line_input, line_input))
- return clib_error_return (0, "expected enable | disable");
+ vnet_lisp_enable_disable (1);
- while (unformat_check_input (line_input) != UNFORMAT_END_OF_INPUT)
- {
- if (unformat (line_input, "enable"))
- {
- is_set = 1;
- is_enabled = 1;
- }
- else if (unformat (line_input, "disable"))
- is_set = 1;
- else
- {
- error = clib_error_return (0, "parse error: '%U'",
- format_unformat_error, line_input);
- goto done;
- }
- }
+ return 0;
+}
- if (!is_set)
- {
- error = clib_error_return (0, "state not set");
- goto done;
- }
+/* *INDENT-OFF* */
+VLIB_CLI_COMMAND (lisp_cp_enable_command) = {
+ .path = "lisp enable",
+ .short_help = "lisp enable",
+ .function = lisp_enable_command_fn,
+};
+/* *INDENT-ON* */
- vnet_lisp_enable_disable (is_enabled);
+static clib_error_t *
+lisp_disable_command_fn (vlib_main_t * vm, unformat_input_t * input,
+ vlib_cli_command_t * cmd)
+{
+ if (unformat_check_input (input) != UNFORMAT_END_OF_INPUT)
+ return clib_error_return (0, "parse error: '%U'", format_unformat_error,
+ input);
-done:
- unformat_free (line_input);
+ vnet_lisp_enable_disable (0);
- return error;
+ return 0;
}
/* *INDENT-OFF* */
-VLIB_CLI_COMMAND (lisp_cp_enable_disable_command) = {
- .path = "lisp",
- .short_help = "lisp [enable|disable]",
- .function = lisp_enable_disable_command_fn,
+VLIB_CLI_COMMAND (lisp_cp_disable_command) = {
+ .path = "lisp disable",
+ .short_help = "lisp disable",
+ .function = lisp_disable_command_fn,
};
/* *INDENT-ON* */
@@ -1163,7 +1155,7 @@ lisp_add_del_locator_set_command_fn (vlib_main_t * vm,
/* Get a line of input. */
if (!unformat_user (input, unformat_line_input, line_input))
- return 0;
+ return clib_error_return (0, "missing parameters");
while (unformat_check_input (line_input) != UNFORMAT_END_OF_INPUT)
{
diff --git a/src/vnet/lisp-cp/one_cli.c b/src/vnet/lisp-cp/one_cli.c
index d5a0ee00015..e44632f9760 100644
--- a/src/vnet/lisp-cp/one_cli.c
+++ b/src/vnet/lisp-cp/one_cli.c
@@ -1369,54 +1369,44 @@ VLIB_CLI_COMMAND (one_cp_enable_disable_xtr_mode_command) = {
/* *INDENT-ON* */
static clib_error_t *
-lisp_enable_disable_command_fn (vlib_main_t * vm, unformat_input_t * input,
- vlib_cli_command_t * cmd)
+one_enable_command_fn (vlib_main_t * vm, unformat_input_t * input,
+ vlib_cli_command_t * cmd)
{
- unformat_input_t _line_input, *line_input = &_line_input;
- u8 is_enabled = 0;
- u8 is_set = 0;
- clib_error_t *error = NULL;
+ if (unformat_check_input (input) != UNFORMAT_END_OF_INPUT)
+ return clib_error_return (0, "parse error: '%U'", format_unformat_error,
+ input);
- /* Get a line of input. */
- if (!unformat_user (input, unformat_line_input, line_input))
- return clib_error_return (0, "expected enable | disable");
+ vnet_lisp_enable_disable (1);
- while (unformat_check_input (line_input) != UNFORMAT_END_OF_INPUT)
- {
- if (unformat (line_input, "enable"))
- {
- is_set = 1;
- is_enabled = 1;
- }
- else if (unformat (line_input, "disable"))
- is_set = 1;
- else
- {
- error = clib_error_return (0, "parse error: '%U'",
- format_unformat_error, line_input);
- goto done;
- }
- }
+ return 0;
+}
- if (!is_set)
- {
- error = clib_error_return (0, "state not set");
- goto done;
- }
+/* *INDENT-OFF* */
+VLIB_CLI_COMMAND (one_cp_enable_command) = {
+ .path = "one enable",
+ .short_help = "one enable",
+ .function = one_enable_command_fn,
+};
+/* *INDENT-ON* */
- vnet_lisp_enable_disable (is_enabled);
+static clib_error_t *
+one_disable_command_fn (vlib_main_t * vm, unformat_input_t * input,
+ vlib_cli_command_t * cmd)
+{
+ if (unformat_check_input (input) != UNFORMAT_END_OF_INPUT)
+ return clib_error_return (0, "parse error: '%U'", format_unformat_error,
+ input);
-done:
- unformat_free (line_input);
+ vnet_lisp_enable_disable (0);
- return error;
+ return 0;
}
/* *INDENT-OFF* */
-VLIB_CLI_COMMAND (one_cp_enable_disable_command) = {
- .path = "one",
- .short_help = "one [enable|disable]",
- .function = lisp_enable_disable_command_fn,
+VLIB_CLI_COMMAND (one_cp_disable_command) = {
+ .path = "one disable",
+ .short_help = "one disable",
+ .function = one_disable_command_fn,
};
/* *INDENT-ON* */