ipsec: print spi in hexadecimal 06/19606/10
authorGuillaume Solignac <gsoligna@cisco.com>
Wed, 15 May 2019 10:02:33 +0000 (12:02 +0200)
committerNeale Ranns <nranns@cisco.com>
Tue, 25 Jun 2019 09:46:21 +0000 (09:46 +0000)
Print the SPI in hexadecimal and decimal.

Type: feature

Change-Id: I012e94f9147058064e06c6bb4622ab6b6507957d
Signed-off-by: Guillaume Solignac <gsoligna@cisco.com>
src/plugins/dpdk/ipsec/esp_encrypt.c
src/vnet/ipsec/ah_encrypt.c
src/vnet/ipsec/esp_encrypt.c
src/vnet/ipsec/esp_format.c
src/vnet/ipsec/ipsec_format.c
src/vnet/ipsec/ipsec_if_in.c
src/vnet/ipsec/ipsec_input.c

index cd751d3..af0e4b6 100644 (file)
@@ -283,8 +283,9 @@ dpdk_esp_encrypt_inline (vlib_main_t * vm,
 
          if (PREDICT_FALSE (esp_seq_advance (sa0)))
            {
-             clib_warning ("sequence number counter has cycled SPI %u",
-                           sa0->spi);
+             clib_warning
+               ("sequence number counter has cycled SPI %u (0x%08x)",
+                sa0->spi, sa0->spi);
              if (is_ip6)
                vlib_node_increment_counter (vm,
                                             dpdk_esp6_encrypt_node.index,
index 1be4b3a..75294a2 100644 (file)
@@ -75,8 +75,8 @@ format_ah_encrypt_trace (u8 * s, va_list * args)
   CLIB_UNUSED (vlib_node_t * node) = va_arg (*args, vlib_node_t *);
   ah_encrypt_trace_t *t = va_arg (*args, ah_encrypt_trace_t *);
 
-  s = format (s, "ah: sa-index %d spi %u seq %u:%u integrity %U",
-             t->sa_index, t->spi, t->seq_hi, t->seq_lo,
+  s = format (s, "ah: sa-index %d spi %u (0x%08x) seq %u:%u integrity %U",
+             t->sa_index, t->spi, t->spi, t->seq_hi, t->seq_lo,
              format_ipsec_integ_alg, t->integ_alg);
   return s;
 }
index cf48548..c879a40 100644 (file)
@@ -78,11 +78,12 @@ format_esp_encrypt_trace (u8 * s, va_list * args)
   CLIB_UNUSED (vlib_node_t * node) = va_arg (*args, vlib_node_t *);
   esp_encrypt_trace_t *t = va_arg (*args, esp_encrypt_trace_t *);
 
-  s = format (s, "esp: sa-index %d spi %u seq %u crypto %U integrity %U%s",
-             t->sa_index, t->spi, t->seq,
-             format_ipsec_crypto_alg, t->crypto_alg,
-             format_ipsec_integ_alg, t->integ_alg,
-             t->udp_encap ? " udp-encap-enabled" : "");
+  s =
+    format (s,
+           "esp: sa-index %d spi %u (0x%08x) seq %u crypto %U integrity %U%s",
+           t->sa_index, t->spi, t->spi, t->seq, format_ipsec_crypto_alg,
+           t->crypto_alg, format_ipsec_integ_alg, t->integ_alg,
+           t->udp_encap ? " udp-encap-enabled" : "");
   return s;
 }
 
index 615d576..48b728d 100644 (file)
@@ -23,10 +23,10 @@ u8 *
 format_esp_header (u8 * s, va_list * args)
 {
   esp_header_t *esp = va_arg (*args, esp_header_t *);
+  u32 spi = clib_net_to_host_u32 (esp->spi);
 
-  s = format (s, "ESP: spi %u, seq %u",
-             clib_net_to_host_u32 (esp->spi),
-             clib_net_to_host_u32 (esp->seq));
+  s = format (s, "ESP: spi %u (0x%08x), seq %u",
+             spi, spi, clib_net_to_host_u32 (esp->seq));
   return s;
 }
 
index 1e6e2d5..1c3c5f9 100644 (file)
@@ -287,8 +287,8 @@ format_ipsec_sa (u8 * s, va_list * args)
 
   sa = pool_elt_at_index (im->sad, sai);
 
-  s = format (s, "[%d] sa 0x%x spi %u mode %s%s protocol %s %U",
-             sai, sa->id, sa->spi,
+  s = format (s, "[%d] sa 0x%x spi %u (0x%08x) mode %s%s protocol %s %U",
+             sai, sa->id, sa->spi, sa->spi,
              ipsec_sa_is_set_IS_TUNNEL (sa) ? "tunnel" : "transport",
              ipsec_sa_is_set_IS_TUNNEL_V6 (sa) ? "-ip6" : "",
              sa->protocol ? "esp" : "ah", format_ipsec_sa_flags, sa->flags);
index 9565078..d1f9d5c 100644 (file)
@@ -59,7 +59,7 @@ format_ipsec_if_input_trace (u8 * s, va_list * args)
   CLIB_UNUSED (vlib_node_t * node) = va_arg (*args, vlib_node_t *);
   ipsec_if_input_trace_t *t = va_arg (*args, ipsec_if_input_trace_t *);
 
-  s = format (s, "IPSec: spi %u seq %u", t->spi, t->seq);
+  s = format (s, "IPSec: spi %u (0x%08x) seq %u", t->spi, t->spi, t->seq);
   return s;
 }
 
index 778570a..cfbda31 100644 (file)
@@ -61,9 +61,9 @@ format_ipsec_input_trace (u8 * s, va_list * args)
   CLIB_UNUSED (vlib_node_t * node) = va_arg (*args, vlib_node_t *);
   ipsec_input_trace_t *t = va_arg (*args, ipsec_input_trace_t *);
 
-  s = format (s, "%U: sa_id %u spd %u policy %d spi %u seq %u",
+  s = format (s, "%U: sa_id %u spd %u policy %d spi %u (0x%08x) seq %u",
              format_ip_protocol, t->proto, t->sa_id,
-             t->spd, t->policy_index, t->spi, t->seq);
+             t->spd, t->policy_index, t->spi, t->spi, t->seq);
 
   return s;
 }