srv6-mobile
[vpp.git] / src / plugins / srv6-ad / node.c
index 776d283..dbd68cf 100644 (file)
@@ -1,4 +1,6 @@
 /*
+ * node.c
+ *
  * Copyright (c) 2015 Cisco and/or its affiliates.
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -12,6 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+
 #include <vlib/vlib.h>
 #include <vnet/vnet.h>
 #include <vppinfra/error.h>
@@ -166,7 +169,7 @@ end_ad_processing (vlib_buffer_t * b0,
     {
       vec_validate (ls0_mem->rewrite, total_size - 1);
     }
-  clib_memcpy (ls0_mem->rewrite, ip0, total_size);
+  clib_memcpy_fast (ls0_mem->rewrite, ip0, total_size);
   ls0_mem->rw_len = total_size;
 
   /* Remove IP header and extensions */
@@ -349,8 +352,8 @@ srv6_ad2_rewrite_fn (vlib_main_t * vm,
              ASSERT (VLIB_BUFFER_PRE_DATA_SIZE >=
                      (ls0_mem->rw_len + b0->current_data));
 
-             clib_memcpy (((u8 *) en0) - ls0_mem->rw_len,
-                          ls0_mem->rewrite, ls0_mem->rw_len);
+             clib_memcpy_fast (((u8 *) en0) - ls0_mem->rw_len,
+                               ls0_mem->rewrite, ls0_mem->rw_len);
              vlib_buffer_advance (b0, -(word) ls0_mem->rw_len);
 
              ip0 = vlib_buffer_get_current (b0);
@@ -373,10 +376,10 @@ srv6_ad2_rewrite_fn (vlib_main_t * vm,
                }
              else
                {
-                 clib_memcpy (tr->src.as_u8, ip0->src_address.as_u8,
-                              sizeof tr->src.as_u8);
-                 clib_memcpy (tr->dst.as_u8, ip0->dst_address.as_u8,
-                              sizeof tr->dst.as_u8);
+                 clib_memcpy_fast (tr->src.as_u8, ip0->src_address.as_u8,
+                                   sizeof tr->src.as_u8);
+                 clib_memcpy_fast (tr->dst.as_u8, ip0->dst_address.as_u8,
+                                   sizeof tr->dst.as_u8);
                }
            }
 
@@ -484,8 +487,8 @@ srv6_ad4_rewrite_fn (vlib_main_t * vm,
              ASSERT (VLIB_BUFFER_PRE_DATA_SIZE >=
                      (ls0_mem->rw_len + b0->current_data));
 
-             clib_memcpy (((u8 *) ip0_encap) - ls0_mem->rw_len,
-                          ls0_mem->rewrite, ls0_mem->rw_len);
+             clib_memcpy_fast (((u8 *) ip0_encap) - ls0_mem->rw_len,
+                               ls0_mem->rewrite, ls0_mem->rw_len);
              vlib_buffer_advance (b0, -(word) ls0_mem->rw_len);
 
              ip0 = vlib_buffer_get_current (b0);
@@ -516,10 +519,10 @@ srv6_ad4_rewrite_fn (vlib_main_t * vm,
                }
              else
                {
-                 clib_memcpy (tr->src.as_u8, ip0->src_address.as_u8,
-                              sizeof tr->src.as_u8);
-                 clib_memcpy (tr->dst.as_u8, ip0->dst_address.as_u8,
-                              sizeof tr->dst.as_u8);
+                 clib_memcpy_fast (tr->src.as_u8, ip0->src_address.as_u8,
+                                   sizeof tr->src.as_u8);
+                 clib_memcpy_fast (tr->dst.as_u8, ip0->dst_address.as_u8,
+                                   sizeof tr->dst.as_u8);
                }
            }
 
@@ -626,8 +629,8 @@ srv6_ad6_rewrite_fn (vlib_main_t * vm,
              ASSERT (VLIB_BUFFER_PRE_DATA_SIZE >=
                      (ls0_mem->rw_len + b0->current_data));
 
-             clib_memcpy (((u8 *) ip0_encap) - ls0_mem->rw_len,
-                          ls0_mem->rewrite, ls0_mem->rw_len);
+             clib_memcpy_fast (((u8 *) ip0_encap) - ls0_mem->rw_len,
+                               ls0_mem->rewrite, ls0_mem->rw_len);
              vlib_buffer_advance (b0, -(word) ls0_mem->rw_len);
 
              ip0 = vlib_buffer_get_current (b0);
@@ -654,10 +657,10 @@ srv6_ad6_rewrite_fn (vlib_main_t * vm,
                }
              else
                {
-                 clib_memcpy (tr->src.as_u8, ip0->src_address.as_u8,
-                              sizeof tr->src.as_u8);
-                 clib_memcpy (tr->dst.as_u8, ip0->dst_address.as_u8,
-                              sizeof tr->dst.as_u8);
+                 clib_memcpy_fast (tr->src.as_u8, ip0->src_address.as_u8,
+                                   sizeof tr->src.as_u8);
+                 clib_memcpy_fast (tr->dst.as_u8, ip0->dst_address.as_u8,
+                                   sizeof tr->dst.as_u8);
                }
            }
 
@@ -705,9 +708,9 @@ VLIB_REGISTER_NODE (srv6_ad6_rewrite_node) = {
 /* *INDENT-ON* */
 
 /*
-* fd.io coding-style-patch-verification: ON
-*
-* Local Variables:
-* eval: (c-set-style "gnu")
-* End:
+ * fd.io coding-style-patch-verification: ON
+ *
+ * Local Variables:
+ * eval: (c-set-style "gnu")
+ * End:
 */