X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Flisp-cp%2Flisp_cli.c;h=93422fe2de7e07f7fa5b75cd6e8769b55ba547c3;hb=b418c397dc8c870c6561ea1d7565067333db9df4;hp=509046019ece7f99fefc577b470671d89993f645;hpb=809bc74b5b73634678e6f1444344fd1c0a89e877;p=vpp.git diff --git a/src/vnet/lisp-cp/lisp_cli.c b/src/vnet/lisp-cp/lisp_cli.c index 509046019ec..93422fe2de7 100644 --- a/src/vnet/lisp-cp/lisp_cli.c +++ b/src/vnet/lisp-cp/lisp_cli.c @@ -148,8 +148,8 @@ lisp_add_del_local_eid_command_fn (vlib_main_t * vm, unformat_input_t * input, u8 *key = 0; u32 key_id = 0; - memset (&eid, 0, sizeof (eid)); - memset (a, 0, sizeof (*a)); + clib_memset (&eid, 0, sizeof (eid)); + clib_memset (a, 0, sizeof (*a)); /* Get a line of input. */ if (!unformat_user (input, unformat_line_input, line_input)) @@ -172,6 +172,7 @@ lisp_add_del_local_eid_command_fn (vlib_main_t * vm, unformat_input_t * input, ; else if (unformat (line_input, "locator-set %_%v%_", &locator_set_name)) { + vec_terminate_c_string (locator_set_name); p = hash_get_mem (lcm->locator_set_index_by_name, locator_set_name); if (!p) { @@ -307,8 +308,8 @@ lisp_add_del_remote_mapping_command_fn (vlib_main_t * vm, if (!unformat_user (input, unformat_line_input, line_input)) return 0; - memset (&eid, 0, sizeof (eid)); - memset (&rloc, 0, sizeof (rloc)); + clib_memset (&eid, 0, sizeof (eid)); + clib_memset (&rloc, 0, sizeof (rloc)); while (unformat_check_input (line_input) != UNFORMAT_END_OF_INPUT) { @@ -383,7 +384,7 @@ lisp_add_del_remote_mapping_command_fn (vlib_main_t * vm, if (!is_add) { vnet_lisp_add_del_adjacency_args_t _a, *a = &_a; - memset (a, 0, sizeof (a[0])); + clib_memset (a, 0, sizeof (a[0])); gid_address_copy (&a->reid, &eid); if (vnet_lisp_add_del_adjacency (a)) { @@ -397,7 +398,7 @@ lisp_add_del_remote_mapping_command_fn (vlib_main_t * vm, if (is_add) { vnet_lisp_add_del_mapping_args_t _map_args, *map_args = &_map_args; - memset (map_args, 0, sizeof (map_args[0])); + clib_memset (map_args, 0, sizeof (map_args[0])); gid_address_copy (&map_args->eid, &eid); map_args->action = action; map_args->is_static = 1; @@ -417,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 " - "eid [action ] rloc p w " - "[rloc ... ]",.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 " + "eid [action ] rloc p " + "w [rloc ... ]", + .function = lisp_add_del_remote_mapping_command_fn, +}; +/* *INDENT-ON* */ /** * Handler for add/del adjacency CLI. @@ -448,8 +451,8 @@ lisp_add_del_adjacency_command_fn (vlib_main_t * vm, unformat_input_t * input, if (!unformat_user (input, unformat_line_input, line_input)) return 0; - memset (&reid, 0, sizeof (reid)); - memset (&leid, 0, sizeof (leid)); + clib_memset (&reid, 0, sizeof (reid)); + clib_memset (&leid, 0, sizeof (leid)); leid_ippref = &gid_address_ippref (&leid); reid_ippref = &gid_address_ippref (&reid); @@ -509,7 +512,7 @@ lisp_add_del_adjacency_command_fn (vlib_main_t * vm, unformat_input_t * input, goto done; } - memset (a, 0, sizeof (a[0])); + clib_memset (a, 0, sizeof (a[0])); gid_address_copy (&a->leid, &leid); gid_address_copy (&a->reid, &reid); a->is_add = is_add; @@ -672,6 +675,7 @@ lisp_pitr_set_locator_set_command_fn (vlib_main_t * vm, clib_warning ("No locator set specified!"); goto done; } + vec_terminate_c_string (locator_set_name); rv = vnet_lisp_pitr_set_locator_set (locator_set_name, is_add); if (0 != rv) { @@ -703,11 +707,11 @@ lisp_show_pitr_command_fn (vlib_main_t * vm, mapping_t *m; locator_set_t *ls; u8 *tmp_str = 0; + u8 status = lcm->flags & LISP_FLAG_PITR_MODE; - vlib_cli_output (vm, "%=20s%=16s", - "pitr", lcm->lisp_pitr ? "locator-set" : ""); + vlib_cli_output (vm, "%=20s%=16s", "pitr", status ? "locator-set" : ""); - if (!lcm->lisp_pitr) + if (!status) { vlib_cli_output (vm, "%=20s", "disable"); return 0; @@ -809,7 +813,7 @@ lisp_show_eid_table_command_fn (vlib_main_t * vm, u8 filter = 0; clib_error_t *error = NULL; - memset (&eid, 0, sizeof (eid)); + clib_memset (&eid, 0, sizeof (eid)); /* Get a line of input. */ if (!unformat_user (input, unformat_line_input, line_input)) @@ -832,7 +836,7 @@ lisp_show_eid_table_command_fn (vlib_main_t * vm, } vlib_cli_output (vm, "%-35s%-20s%-30s%-20s%-s", - "EID", "type", "locators", "ttl", "autoritative"); + "EID", "type", "locators", "ttl", "authoritative"); if (print_all) { @@ -883,61 +887,51 @@ done: /* *INDENT-OFF* */ VLIB_CLI_COMMAND (lisp_cp_show_eid_table_command) = { .path = "show lisp eid-table", - .short_help = "Shows EID table", + .short_help = "show lisp eid-table [local|remote|eid ]", .function = lisp_show_eid_table_command_fn, }; /* *INDENT-ON* */ 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 0; + 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* */ @@ -953,7 +947,7 @@ lisp_map_register_enable_disable_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, "expected enable | disable"); while (unformat_check_input (line_input) != UNFORMAT_END_OF_INPUT) { @@ -1006,7 +1000,7 @@ lisp_rloc_probe_enable_disable_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, "expected enable | disable"); while (unformat_check_input (line_input) != UNFORMAT_END_OF_INPUT) { @@ -1134,7 +1128,7 @@ done: /* *INDENT-OFF* */ VLIB_CLI_COMMAND (lisp_show_eid_table_map_command) = { .path = "show lisp eid-table map", - .short_help = "show lisp eid-table l2|l3", + .short_help = "show lisp eid-table map l2|l3", .function = lisp_show_eid_table_map_command_fn, }; /* *INDENT-ON* */ @@ -1156,12 +1150,12 @@ lisp_add_del_locator_set_command_fn (vlib_main_t * vm, u32 ls_index = 0; int rv = 0; - memset (&locator, 0, sizeof (locator)); - memset (a, 0, sizeof (a[0])); + clib_memset (&locator, 0, sizeof (locator)); + clib_memset (a, 0, sizeof (a[0])); /* 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) { @@ -1175,6 +1169,7 @@ lisp_add_del_locator_set_command_fn (vlib_main_t * vm, &locator.weight)) { locator.local = 1; + locator.state = 1; vec_add1 (locators, locator); } else @@ -1184,6 +1179,7 @@ lisp_add_del_locator_set_command_fn (vlib_main_t * vm, } } + vec_terminate_c_string (locator_set_name); a->name = locator_set_name; a->locators = locators; a->is_add = is_add; @@ -1230,8 +1226,8 @@ lisp_add_del_locator_in_set_command_fn (vlib_main_t * vm, vnet_lisp_add_del_locator_set_args_t _a, *a = &_a; u32 ls_index = 0; - memset (&locator, 0, sizeof (locator)); - memset (a, 0, sizeof (a[0])); + clib_memset (&locator, 0, sizeof (locator)); + clib_memset (a, 0, sizeof (a[0])); /* Get a line of input. */ if (!unformat_user (input, unformat_line_input, line_input)) @@ -1438,6 +1434,7 @@ lisp_add_del_mreq_itr_rlocs_command_fn (vlib_main_t * vm, } } + vec_terminate_c_string (locator_set_name); a->is_add = is_add; a->locator_set_name = locator_set_name; rv = vnet_lisp_add_del_mreq_itr_rlocs (a);