X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fipsec%2Fipsec_format.c;h=aa5562caf638af24ba950570bc55c072920a39f2;hb=9f231d4f147c7e3fdf562680488ec5dfe7655b5e;hp=04a2a0b5be1b5a4138209b83a48bc968ae0b69d6;hpb=8d7c502002636da1cb7c71a87757f328e7c2c4fd;p=vpp.git diff --git a/src/vnet/ipsec/ipsec_format.c b/src/vnet/ipsec/ipsec_format.c index 04a2a0b5be1..aa5562caf63 100644 --- a/src/vnet/ipsec/ipsec_format.c +++ b/src/vnet/ipsec/ipsec_format.c @@ -41,6 +41,24 @@ format_ipsec_policy_action (u8 * s, va_list * args) return s; } +u8 * +format_ipsec_policy_type (u8 * s, va_list * args) +{ + u32 i = va_arg (*args, u32); + char *t = 0; + + switch (i) + { +#define _(f,str) case IPSEC_SPD_POLICY_##f: t = str; break; + foreach_ipsec_spd_policy_type +#undef _ + default: + s = format (s, "unknown"); + } + s = format (s, "%s", t); + return s; +} + uword unformat_ipsec_policy_action (unformat_input_t * input, va_list * args) { @@ -143,8 +161,10 @@ format_ipsec_policy (u8 * s, va_list * args) p = pool_elt_at_index (im->policies, pi); - s = format (s, " [%d] priority %d action %U protocol ", - pi, p->priority, format_ipsec_policy_action, p->policy); + s = format (s, " [%d] priority %d action %U type %U protocol ", + pi, p->priority, + format_ipsec_policy_action, p->policy, + format_ipsec_policy_type, p->type); if (p->protocol) { s = format (s, "%U", format_ip_protocol, p->protocol); @@ -238,12 +258,13 @@ format_ipsec_sa (u8 * s, va_list * args) { u32 sai = va_arg (*args, u32); ipsec_main_t *im = &ipsec_main; + vlib_counter_t counts; u32 tx_table_id; ipsec_sa_t *sa; sa = pool_elt_at_index (im->sad, sai); - s = format (s, "[%d] sa %u spi %u mode %s%s protocol %s%s%s%s", + s = format (s, "[%d] sa 0x%x spi %u mode %s%s protocol %s%s%s%s", sai, sa->id, sa->spi, sa->is_tunnel ? "tunnel" : "transport", sa->is_tunnel_ip6 ? "-ip6" : "", @@ -261,6 +282,8 @@ format_ipsec_sa (u8 * s, va_list * args) s = format (s, "\n integrity alg %U%s%U", format_ipsec_integ_alg, sa->integ_alg, sa->integ_alg ? " key " : "", format_ipsec_key, &sa->integ_key); + vlib_get_combined_counter (&ipsec_sa_counters, sai, &counts); + s = format (s, "\n packets %u bytes %u", counts.packets, counts.bytes); if (sa->is_tunnel) {