X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Flinux-cp%2Flcp_cli.c;h=ff84e74809adc7f9ccabb2d29a934c4c63ba668f;hb=1c5b127d2247b68f362b3caac8ff229406fab4d0;hp=cb874b1c023422b88f955f8ab9f41eb347b41921;hpb=6bb77dec7074e6b7b27d6bc94238bcddda375a66;p=vpp.git diff --git a/src/plugins/linux-cp/lcp_cli.c b/src/plugins/linux-cp/lcp_cli.c index cb874b1c023..ff84e74809a 100644 --- a/src/plugins/linux-cp/lcp_cli.c +++ b/src/plugins/linux-cp/lcp_cli.c @@ -111,6 +111,117 @@ VLIB_CLI_COMMAND (lcp_itf_pair_create_command, static) = { .function = lcp_itf_pair_create_command_fn, }; +static clib_error_t * +lcp_sync_command_fn (vlib_main_t *vm, unformat_input_t *input, + vlib_cli_command_t *cmd) +{ + unformat_input_t _line_input, *line_input = &_line_input; + + if (!unformat_user (input, unformat_line_input, line_input)) + return 0; + + while (unformat_check_input (line_input) != UNFORMAT_END_OF_INPUT) + { + if (unformat (line_input, "on") || unformat (line_input, "enable")) + lcp_set_sync (1); + else if (unformat (line_input, "off") || + unformat (line_input, "disable")) + lcp_set_sync (0); + else + return clib_error_return (0, "unknown input `%U'", + format_unformat_error, line_input); + } + + unformat_free (line_input); + return 0; +} + +VLIB_CLI_COMMAND (lcp_sync_command, static) = { + .path = "lcp lcp-sync", + .short_help = "lcp lcp-sync [on|enable|off|disable]", + .function = lcp_sync_command_fn, +}; + +static clib_error_t * +lcp_auto_subint_command_fn (vlib_main_t *vm, unformat_input_t *input, + vlib_cli_command_t *cmd) +{ + unformat_input_t _line_input, *line_input = &_line_input; + + if (!unformat_user (input, unformat_line_input, line_input)) + return 0; + + while (unformat_check_input (line_input) != UNFORMAT_END_OF_INPUT) + { + if (unformat (line_input, "on") || unformat (line_input, "enable")) + lcp_set_auto_subint (1); + else if (unformat (line_input, "off") || + unformat (line_input, "disable")) + lcp_set_auto_subint (0); + else + return clib_error_return (0, "unknown input `%U'", + format_unformat_error, line_input); + } + + unformat_free (line_input); + return 0; +} + +VLIB_CLI_COMMAND (lcp_auto_subint_command, static) = { + .path = "lcp lcp-auto-subint", + .short_help = "lcp lcp-auto-subint [on|enable|off|disable]", + .function = lcp_auto_subint_command_fn, +}; + +static clib_error_t * +lcp_param_command_fn (vlib_main_t *vm, unformat_input_t *input, + vlib_cli_command_t *cmd) +{ + unformat_input_t _line_input, *line_input = &_line_input; + + if (!unformat_user (input, unformat_line_input, line_input)) + return 0; + + while (unformat_check_input (line_input) != UNFORMAT_END_OF_INPUT) + { + if (unformat (line_input, "del-static-on-link-down")) + { + if (unformat (line_input, "on") || unformat (line_input, "enable")) + lcp_set_del_static_on_link_down (1 /* is_del */); + else if (unformat (line_input, "off") || + unformat (line_input, "disable")) + lcp_set_del_static_on_link_down (0 /* is_del */); + else + return clib_error_return (0, "unknown input `%U'", + format_unformat_error, line_input); + } + else if (unformat (line_input, "del-dynamic-on-link-down")) + { + if (unformat (line_input, "on") || unformat (line_input, "enable")) + lcp_set_del_dynamic_on_link_down (1 /* is_del */); + else if (unformat (line_input, "off") || + unformat (line_input, "disable")) + lcp_set_del_dynamic_on_link_down (0 /* is_del */); + else + return clib_error_return (0, "unknown input `%U'", + format_unformat_error, line_input); + } + else + return clib_error_return (0, "unknown input `%U'", + format_unformat_error, line_input); + } + + unformat_free (line_input); + return 0; +} + +VLIB_CLI_COMMAND (lcp_param_command, static) = { + .path = "lcp param", + .short_help = "lcp param [del-static-on-link-down (on|enable|off|disable)] " + "[del-dynamic-on-link-down (on|enable|off|disable)]", + .function = lcp_param_command_fn, +}; + static clib_error_t * lcp_default_netns_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)