diff options
Diffstat (limited to 'src/plugins/ikev2/ikev2_cli.c')
-rw-r--r-- | src/plugins/ikev2/ikev2_cli.c | 51 |
1 files changed, 26 insertions, 25 deletions
diff --git a/src/plugins/ikev2/ikev2_cli.c b/src/plugins/ikev2/ikev2_cli.c index 3523ce079b6..975774c48d5 100644 --- a/src/plugins/ikev2/ikev2_cli.c +++ b/src/plugins/ikev2/ikev2_cli.c @@ -74,12 +74,16 @@ format_ikev2_child_sa (u8 * s, va_list * va) ikev2_ts_t *ts; ikev2_sa_transform_t *tr; u8 *c = 0; + vlib_main_t *vm = vlib_get_main (); u32 indent = format_get_indent (s); indent += 1; s = format (s, "child sa %u:", index); + s = format (s, "\n uptime: %f (s)\n ", + vlib_time_now (vm) - child->timestamp); + tr = ikev2_sa_get_td_for_type (child->r_proposals, IKEV2_TRANSFORM_TYPE_ENCR); c = format (c, "%U ", format_ikev2_sa_transform, tr); @@ -121,6 +125,12 @@ format_ikev2_child_sa (u8 * s, va_list * va) return s; } +static char *stateNames[] = { +#define _(v, f, s) s, + foreach_ikev2_state +#undef _ +}; + static u8 * format_ikev2_sa (u8 * s, va_list * va) { @@ -129,6 +139,12 @@ format_ikev2_sa (u8 * s, va_list * va) ikev2_sa_transform_t *tr; ikev2_child_sa_t *child; u32 indent = 1; + vlib_main_t *vm = vlib_get_main (); + + ikev2_main_t *km = &ikev2_main; + ikev2_profile_t *p; + + p = pool_elt_at_index (km->profiles, sa->profile_index); s = format (s, "iip %U ispi %lx rip %U rspi %lx", format_ip_address, &sa->iaddr, sa->ispi, @@ -150,6 +166,16 @@ format_ikev2_sa (u8 * s, va_list * va) tr = ikev2_sa_get_td_for_type (sa->r_proposals, IKEV2_TRANSFORM_TYPE_DH); s = format (s, "%U", format_ikev2_sa_transform, tr); + s = format (s, "\n profile: %v", p->name); + + if (sa->state <= IKEV2_STATE_NO_PROPOSAL_CHOSEN) + { + s = format (s, "\n state: %s", stateNames[sa->state]); + } + + s = + format (s, "\n uptime: %f (s)\n", vlib_time_now (vm) - sa->auth_timestamp); + s = format (s, "\n%U", format_white_space, indent); s = format (s, "nonce i:%U\n%Ur:%U\n", @@ -232,7 +258,6 @@ show_ikev2_sa_command_fn (vlib_main_t * vm, vec_foreach (tkm, km->per_thread_data) { - /* *INDENT-OFF* */ pool_foreach (sa, tkm->sas) { if (show_one) { @@ -245,7 +270,6 @@ show_ikev2_sa_command_fn (vlib_main_t * vm, else s = format (s, "%U\n", format_ikev2_sa, sa, details); } - /* *INDENT-ON* */ } vlib_cli_output (vm, "%v", s); @@ -253,13 +277,11 @@ show_ikev2_sa_command_fn (vlib_main_t * vm, return 0; } -/* *INDENT-OFF* */ VLIB_CLI_COMMAND (show_ikev2_sa_command, static) = { .path = "show ikev2 sa", .short_help = "show ikev2 sa [rspi <rspi>] [details]", .function = show_ikev2_sa_command_fn, }; -/* *INDENT-ON* */ static clib_error_t * ikev2_disable_dpd_command_fn (vlib_main_t * vm, @@ -270,13 +292,11 @@ ikev2_disable_dpd_command_fn (vlib_main_t * vm, return 0; } -/* *INDENT-OFF* */ VLIB_CLI_COMMAND (ikev2_cli_disable_dpd_command, static) = { .path = "ikev2 dpd disable", .short_help = "ikev2 dpd disable", .function = ikev2_disable_dpd_command_fn, }; -/* *INDENT-ON* */ static uword unformat_ikev2_token (unformat_input_t * input, va_list * va) @@ -553,7 +573,6 @@ done: return r; } -/* *INDENT-OFF* */ VLIB_CLI_COMMAND (ikev2_profile_add_del_command, static) = { .path = "ikev2 profile", .short_help = @@ -574,7 +593,6 @@ VLIB_CLI_COMMAND (ikev2_profile_add_del_command, static) = { "ikev2 profile set <id> disable natt\n", .function = ikev2_profile_add_del_command_fn, }; -/* *INDENT-ON* */ static clib_error_t * show_ikev2_profile_command_fn (vlib_main_t * vm, @@ -584,7 +602,6 @@ show_ikev2_profile_command_fn (vlib_main_t * vm, ikev2_main_t *km = &ikev2_main; ikev2_profile_t *p; - /* *INDENT-OFF* */ pool_foreach (p, km->profiles) { vlib_cli_output(vm, "profile %v", p->name); @@ -651,18 +668,15 @@ show_ikev2_profile_command_fn (vlib_main_t * vm, vlib_cli_output(vm, " lifetime %d jitter %d handover %d maxdata %d", p->lifetime, p->lifetime_jitter, p->handover, p->lifetime_maxdata); } - /* *INDENT-ON* */ return 0; } -/* *INDENT-OFF* */ VLIB_CLI_COMMAND (show_ikev2_profile_command, static) = { .path = "show ikev2 profile", .short_help = "show ikev2 profile", .function = show_ikev2_profile_command_fn, }; -/* *INDENT-ON* */ static clib_error_t * set_ikev2_liveness_period_fn (vlib_main_t * vm, @@ -695,13 +709,11 @@ done: return r; } -/* *INDENT-OFF* */ VLIB_CLI_COMMAND (set_ikev2_liveness_command, static) = { .path = "ikev2 set liveness", .short_help = "ikev2 set liveness <period> <max-retires>", .function = set_ikev2_liveness_period_fn, }; -/* *INDENT-ON* */ static clib_error_t * set_ikev2_local_key_command_fn (vlib_main_t * vm, @@ -735,14 +747,12 @@ done: return r; } -/* *INDENT-OFF* */ VLIB_CLI_COMMAND (set_ikev2_local_key_command, static) = { .path = "set ikev2 local key", .short_help = "set ikev2 local key <file>", .function = set_ikev2_local_key_command_fn, }; -/* *INDENT-ON* */ static clib_error_t * @@ -793,7 +803,6 @@ done: return r; } -/* *INDENT-OFF* */ VLIB_CLI_COMMAND (ikev2_initiate_command, static) = { .path = "ikev2 initiate", .short_help = @@ -803,12 +812,6 @@ VLIB_CLI_COMMAND (ikev2_initiate_command, static) = { "ikev2 initiate rekey-child-sa <child sa ispi>\n", .function = ikev2_initiate_command_fn, }; -/* *INDENT-ON* */ - -void -ikev2_cli_reference (void) -{ -} static clib_error_t * ikev2_set_log_level_command_fn (vlib_main_t * vm, @@ -838,13 +841,11 @@ done: return error; } -/* *INDENT-OFF* */ VLIB_CLI_COMMAND (ikev2_set_log_level_command, static) = { .path = "ikev2 set logging level", .function = ikev2_set_log_level_command_fn, .short_help = "ikev2 set logging level <0-5>", }; -/* *INDENT-ON* */ /* * fd.io coding-style-patch-verification: ON |