- if (vlib_buffer_alloc (hm->vlib_main, &buffers, 1) != 1)
- return;
-
- b0 = vlib_get_buffer (hm->vlib_main, buffers);
- ip6_len = clib_net_to_host_u16 (ip->payload_length);
- clib_memcpy (b0->data, ip, (ip6_len + sizeof (ip6_header_t)));
- b0->current_data = 0;
- b0->current_length = ip6_len + sizeof (ip6_header_t);
- b0->flags |= VLIB_BUFFER_TOTAL_LENGTH_VALID;
+ b0 = vlib_buffer_copy (hm->vlib_main, b);
+ buf_index = vlib_get_buffer_index (hm->vlib_main, b0);