VPP-108 : API calls to read classify table and sessions
[vpp.git] / vnet / vnet / dpdk_replication.h
index b25558f..bf9bf99 100644 (file)
@@ -49,14 +49,14 @@ vlib_dpdk_clone_buffer (vlib_main_t * vm, vlib_buffer_t * b)
         return 0;
 
       src_buf = b;
-      rv = dst_buf = (vlib_buffer_t *)(rte_mbufs[0] + 1);
+      rv = dst_buf = vlib_buffer_from_rte_mbuf(rte_mbufs[0]);
       vlib_buffer_init_for_free_list (dst_buf, fl);
       copy_src = b->data + src_buf->current_data;
       copy_dst = dst_buf->data + src_buf->current_data;
 
       for (i = 0; i < new_buffers_needed; i++)
         {
-          memcpy (copy_src, copy_dst, src_buf->current_length);
+          clib_memcpy (copy_src, copy_dst, src_buf->current_length);
           dst_buf->current_data = src_buf->current_data;
           dst_buf->current_length = src_buf->current_length;
           dst_buf->flags = src_buf->flags;
@@ -75,7 +75,7 @@ vlib_dpdk_clone_buffer (vlib_main_t * vm, vlib_buffer_t * b)
           if (i < new_buffers_needed - 1)
             {
               src_buf = vlib_get_buffer (vm, src_buf->next_buffer);
-              dst_buf = (vlib_buffer_t *)(rte_mbufs[i+1] + 1);
+              dst_buf = vlib_buffer_from_rte_mbuf(rte_mbufs[i+1]);
               vlib_buffer_init_for_free_list (dst_buf, fl);
               copy_src = src_buf->data;
               copy_dst = dst_buf->data;
@@ -87,10 +87,10 @@ vlib_dpdk_clone_buffer (vlib_main_t * vm, vlib_buffer_t * b)
   if (rte_mempool_get_bulk (rmp, (void **)rte_mbufs, 1) < 0)
     return 0;
 
-  rv = (vlib_buffer_t *)(rte_mbufs[0] + 1);
+  rv = vlib_buffer_from_rte_mbuf(rte_mbufs[0]);
   vlib_buffer_init_for_free_list (rv, fl);
 
-  memcpy(rv->data + b->current_data, b->data + b->current_data, 
+  clib_memcpy(rv->data + b->current_data, b->data + b->current_data, 
          b->current_length);
   rv->current_data = b->current_data;
   rv->current_length = b->current_length;