diff --git a/lcpng_if_cli.c b/lcpng_if_cli.c index ff022af..d237092 100644 --- a/lcpng_if_cli.c +++ b/lcpng_if_cli.c @@ -179,6 +179,7 @@ static clib_error_t *lcp_default_netns_command_fn(vlib_main_t *vm, unformat_input_t _line_input, *line_input = &_line_input; u8 *ns; int r; + clib_error_t *error = NULL; if (!unformat_user(input, unformat_line_input, line_input)) return 0; @@ -190,10 +191,15 @@ static clib_error_t *lcp_default_netns_command_fn(vlib_main_t *vm, ; else if (unformat(line_input, "clear netns")) ; + else + { + vec_free (ns); + error = clib_error_return (0, "unknown input `%U'", + format_unformat_error, line_input); + goto done; + } } - unformat_free(line_input); - vlib_cli_output(vm, "lcp set default netns %v\n", ns); r = lcp_set_default_ns(ns); @@ -201,7 +207,10 @@ static clib_error_t *lcp_default_netns_command_fn(vlib_main_t *vm, if (r) return clib_error_return(0, "linux-cp set default netns failed (%d)", r); - return 0; +done: + unformat_free (line_input); + + return error; } VLIB_CLI_COMMAND(lcp_default_netns_command, static) = {