ipsec: print spi in hexadecimal
[vpp.git] / src / vnet / ipsec / ipsec_input.c
index 0070e33..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;
 }
@@ -84,27 +84,27 @@ ipsec_input_protect_policy_match (ipsec_spd_t * spd, u32 sa, u32 da, u32 spi)
     if (spi != s->spi)
       continue;
 
-    if (s->is_tunnel)
+    if (ipsec_sa_is_set_IS_TUNNEL (s))
       {
-       if (da != clib_net_to_host_u32 (s->tunnel_dst_addr.ip4.as_u32))
+       if (da != s->tunnel_dst_addr.ip4.as_u32)
          continue;
 
-       if (sa != clib_net_to_host_u32 (s->tunnel_src_addr.ip4.as_u32))
+       if (sa != s->tunnel_src_addr.ip4.as_u32)
          continue;
 
        return p;
       }
 
-    if (da < clib_net_to_host_u32 (p->laddr.start.ip4.as_u32))
+    if (da < p->laddr.start.ip4.as_u32)
       continue;
 
-    if (da > clib_net_to_host_u32 (p->laddr.stop.ip4.as_u32))
+    if (da > p->laddr.stop.ip4.as_u32)
       continue;
 
-    if (sa < clib_net_to_host_u32 (p->raddr.start.ip4.as_u32))
+    if (sa < p->raddr.start.ip4.as_u32)
       continue;
 
-    if (sa > clib_net_to_host_u32 (p->raddr.stop.ip4.as_u32))
+    if (sa > p->raddr.stop.ip4.as_u32)
       continue;
 
     return p;
@@ -140,7 +140,7 @@ ipsec6_input_protect_policy_match (ipsec_spd_t * spd,
     if (spi != s->spi)
       continue;
 
-    if (s->is_tunnel)
+    if (ipsec_sa_is_set_IS_TUNNEL (s))
       {
        if (!ip6_address_is_equal (sa, &s->tunnel_src_addr.ip6))
          continue;
@@ -233,12 +233,8 @@ VLIB_NODE_FN (ipsec4_input_node) (vlib_main_t * vm,
              /* FIXME TODO missing check whether there is enough data inside
               * IP/UDP to contain ESP header & stuff ? */
              p0 = ipsec_input_protect_policy_match (spd0,
-                                                    clib_net_to_host_u32
-                                                    (ip0->src_address.
-                                                     as_u32),
-                                                    clib_net_to_host_u32
-                                                    (ip0->dst_address.
-                                                     as_u32),
+                                                    ip0->src_address.as_u32,
+                                                    ip0->dst_address.as_u32,
                                                     clib_net_to_host_u32
                                                     (esp0->spi));
 
@@ -253,7 +249,6 @@ VLIB_NODE_FN (ipsec4_input_node) (vlib_main_t * vm,
                     clib_net_to_host_u16 (ip0->length));
 
                  vnet_buffer (b0)->ipsec.sad_index = p0->sa_index;
-                 vnet_buffer (b0)->ipsec.flags = 0;
                  next0 = im->esp4_decrypt_next_index;
                  vlib_buffer_advance (b0, ((u8 *) esp0 - (u8 *) ip0));
                  goto trace0;
@@ -284,12 +279,8 @@ VLIB_NODE_FN (ipsec4_input_node) (vlib_main_t * vm,
            {
              ah0 = (ah_header_t *) ((u8 *) ip0 + ip4_header_bytes (ip0));
              p0 = ipsec_input_protect_policy_match (spd0,
-                                                    clib_net_to_host_u32
-                                                    (ip0->src_address.
-                                                     as_u32),
-                                                    clib_net_to_host_u32
-                                                    (ip0->dst_address.
-                                                     as_u32),
+                                                    ip0->src_address.as_u32,
+                                                    ip0->dst_address.as_u32,
                                                     clib_net_to_host_u32
                                                     (ah0->spi));
 
@@ -304,7 +295,6 @@ VLIB_NODE_FN (ipsec4_input_node) (vlib_main_t * vm,
                     clib_net_to_host_u16 (ip0->length));
 
                  vnet_buffer (b0)->ipsec.sad_index = p0->sa_index;
-                 vnet_buffer (b0)->ipsec.flags = 0;
                  next0 = im->ah4_decrypt_next_index;
                  goto trace1;
                }
@@ -450,7 +440,6 @@ VLIB_NODE_FN (ipsec6_input_node) (vlib_main_t * vm,
                     header_size);
 
                  vnet_buffer (b0)->ipsec.sad_index = p0->sa_index;
-                 vnet_buffer (b0)->ipsec.flags = 0;
                  next0 = im->esp6_decrypt_next_index;
                  vlib_buffer_advance (b0, header_size);
                  goto trace0;
@@ -479,7 +468,6 @@ VLIB_NODE_FN (ipsec6_input_node) (vlib_main_t * vm,
                     header_size);
 
                  vnet_buffer (b0)->ipsec.sad_index = p0->sa_index;
-                 vnet_buffer (b0)->ipsec.flags = 0;
                  next0 = im->ah6_decrypt_next_index;
                  goto trace0;
                }