diff options
author | Alberto Compagno <acompagn+fdio@cisco.com> | 2019-02-19 18:46:36 +0100 |
---|---|---|
committer | Alberto Compagno <acompagn+fdio@cisco.com> | 2019-02-20 18:03:16 +0100 |
commit | 1c5106f66a6749266cb1d228eda98413c80cbf1f (patch) | |
tree | 40bd4c7c42eaabd3fd038caa8f9e2fe432f9a434 /hicn-plugin/src/data_fwd.h | |
parent | 286fd55fc0cf620747209570a32b79d97d50d9b4 (diff) |
[HICN-71]
- Handling the case in which a pushed data hit an existing pit entry (created after the data has gone through the data_pcslookup_node). In this case the data packet is forwarded to the data_fwd_node
- Handling the case in which the hash table (in pcs) is full and it is not possible to allocate another bucket. In this case the packet is dropped.
- Copying packets whose length is less than 128B. VPP prevents to create a chain of vlib_buffer where the first, or middle, vlib_buffer are holding less then 128B.
[HICN-72]
- Assign a /128 subnet to the producer app face.
Change-Id: I6c19d6d127774a7f59ac69ac965d4bcd6a72becc
Signed-off-by: Alberto Compagno <acompagn+fdio@cisco.com>
Diffstat (limited to 'hicn-plugin/src/data_fwd.h')
-rw-r--r-- | hicn-plugin/src/data_fwd.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/hicn-plugin/src/data_fwd.h b/hicn-plugin/src/data_fwd.h index df74e9150..d5cf3cae4 100644 --- a/hicn-plugin/src/data_fwd.h +++ b/hicn-plugin/src/data_fwd.h @@ -73,7 +73,7 @@ vlib_buffer_clone_256_2 (vlib_main_t * vm, u32 src_buffer, u32 * buffers, ASSERT (n_buffers); ASSERT (n_buffers <= 256); - if (s->current_length <= CLIB_CACHE_LINE_BYTES * 2) + if (s->current_length <= head_end_offset + CLIB_CACHE_LINE_BYTES * 2) { for (i = 0; i < n_buffers; i++) { @@ -107,6 +107,7 @@ vlib_buffer_clone_256_2 (vlib_main_t * vm, u32 src_buffer, u32 * buffers, } d->flags = s->flags | VLIB_BUFFER_NEXT_PRESENT; d->flags &= ~VLIB_BUFFER_EXT_HDR_VALID; + d->trace_index = s->trace_index; clib_memcpy (d->opaque, s->opaque, sizeof (s->opaque)); clib_memcpy (d->opaque2, s->opaque2, sizeof (s->opaque2)); clib_memcpy (vlib_buffer_get_current (d), vlib_buffer_get_current (s), |