crypto-native: use and instead of blend
[vpp.git] / src / plugins / ioam / ip6 / ioam_cache.h
index 3a3cf6a..dc4ae00 100644 (file)
@@ -205,6 +205,9 @@ typedef struct
   u32 ip6_hbh_pop_node_index;
   u32 error_node_index;
   u32 cleanup_process_node_index;
+
+  u32 ip6_add_from_cache_hbh_node_index;
+  u32 ip6_reset_ts_hbh_node_index;
 } ioam_cache_main_t;
 
 extern ioam_cache_main_t ioam_cache_main;
@@ -299,7 +302,7 @@ ioam_cache_entry_free (ioam_cache_entry_t * entry)
   if (entry)
     {
       vec_free (entry->ioam_rewrite_string);
-      memset (entry, 0, sizeof (*entry));
+      clib_memset (entry, 0, sizeof (*entry));
       pool_put (cm->ioam_rewrite_pool, entry);
     }
 }
@@ -371,13 +374,13 @@ ioam_cache_add (vlib_buffer_t * b0,
   ioam_e2e_id_option_t *e2e = 0;
 
   pool_get_aligned (cm->ioam_rewrite_pool, entry, CLIB_CACHE_LINE_BYTES);
-  memset (entry, 0, sizeof (*entry));
+  clib_memset (entry, 0, sizeof (*entry));
   pool_index = entry - cm->ioam_rewrite_pool;
 
-  clib_memcpy (entry->dst_address.as_u64, ip0->dst_address.as_u64,
-              sizeof (ip6_address_t));
-  clib_memcpy (entry->src_address.as_u64, ip0->src_address.as_u64,
-              sizeof (ip6_address_t));
+  clib_memcpy_fast (entry->dst_address.as_u64, ip0->dst_address.as_u64,
+                   sizeof (ip6_address_t));
+  clib_memcpy_fast (entry->src_address.as_u64, ip0->src_address.as_u64,
+                   sizeof (ip6_address_t));
   entry->src_port = src_port;
   entry->dst_port = dst_port;
   entry->seq_no = seq_no;
@@ -395,7 +398,7 @@ ioam_cache_add (vlib_buffer_t * b0,
     }
   e2e_id_offset = (u8 *) e2e - (u8 *) hbh0;
   /* setup e2e id option to insert v6 address of the node caching it */
-  clib_memcpy (entry->ioam_rewrite_string, hbh0, rewrite_len);
+  clib_memcpy_fast (entry->ioam_rewrite_string, hbh0, rewrite_len);
   hbh0 = (ip6_hop_by_hop_header_t *) entry->ioam_rewrite_string;
 
   /* suffix rewrite string with e2e ID option */
@@ -437,7 +440,7 @@ ioam_cache_sr_rewrite_template_create (void)
   /* This nodes address and the original dest will be
    * filled when the packet is processed */
   vec_add2 (segments, this_seg, 1);
-  memset (this_seg, 0xfe, sizeof (ip6_address_t));
+  clib_memset (this_seg, 0xfe, sizeof (ip6_address_t));
   cm->sr_rewrite_template = ip6_sr_compute_rewrite_string_insert (segments);
   vec_free (segments);
 }
@@ -540,7 +543,7 @@ ioam_cache_ts_table_init (vlib_main_t * vm)
     {
       pool_alloc_aligned (cm->ioam_ts_pool[i],
                          MAX_CACHE_TS_ENTRIES, CLIB_CACHE_LINE_BYTES);
-      memset (&cm->ts_stats[i], 0, sizeof (ioam_cache_ts_pool_stats_t));
+      clib_memset (&cm->ts_stats[i], 0, sizeof (ioam_cache_ts_pool_stats_t));
       tw_timer_wheel_init_16t_2w_512sl (&cm->timer_wheels[i],
                                        expired_cache_ts_timer_callback,
                                        IOAM_CACHE_TS_TICK
@@ -592,7 +595,7 @@ ioam_cache_ts_entry_free (u32 thread_id,
        }
       pool_put (cm->ioam_ts_pool[thread_id], entry);
       cm->ts_stats[thread_id].inuse--;
-      memset (entry, 0, sizeof (*entry));
+      clib_memset (entry, 0, sizeof (*entry));
     }
 }
 
@@ -654,13 +657,13 @@ ioam_cache_ts_add (ip6_header_t * ip0,
 
   pool_get_aligned (cm->ioam_ts_pool[thread_id], entry,
                    CLIB_CACHE_LINE_BYTES);
-  memset (entry, 0, sizeof (*entry));
+  clib_memset (entry, 0, sizeof (*entry));
   *pool_index = entry - cm->ioam_ts_pool[thread_id];
 
-  clib_memcpy (entry->dst_address.as_u64, ip0->dst_address.as_u64,
-              sizeof (ip6_address_t));
-  clib_memcpy (entry->src_address.as_u64, ip0->src_address.as_u64,
-              sizeof (ip6_address_t));
+  clib_memcpy_fast (entry->dst_address.as_u64, ip0->dst_address.as_u64,
+                   sizeof (ip6_address_t));
+  clib_memcpy_fast (entry->src_address.as_u64, ip0->src_address.as_u64,
+                   sizeof (ip6_address_t));
   entry->src_port = src_port;
   entry->dst_port = dst_port;
   entry->seq_no = seq_no;