From 1c5106f66a6749266cb1d228eda98413c80cbf1f Mon Sep 17 00:00:00 2001 From: Alberto Compagno Date: Tue, 19 Feb 2019 18:46:36 +0100 Subject: [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 --- hicn-plugin/src/faces/udp/dpo_udp.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'hicn-plugin/src/faces/udp/dpo_udp.h') diff --git a/hicn-plugin/src/faces/udp/dpo_udp.h b/hicn-plugin/src/faces/udp/dpo_udp.h index 33e4b5d46..cc71a8d44 100644 --- a/hicn-plugin/src/faces/udp/dpo_udp.h +++ b/hicn-plugin/src/faces/udp/dpo_udp.h @@ -75,6 +75,11 @@ hicn_dpo_udp4_lock (dpo_id_t * dpo, const ip4_address_t * remote_addr, u16 local_port, u16 remote_port, u8 * hicnb_flags) { + dpo->dpoi_type = DPO_FIRST; + dpo->dpoi_proto = DPO_PROTO_NONE; + dpo->dpoi_index = INDEX_INVALID; + dpo->dpoi_next_node = 0; + hicn_face_t *face = hicn_face_udp4_get (local_addr, remote_addr, local_port, remote_port); @@ -112,6 +117,11 @@ hicn_dpo_udp4_add_and_lock (dpo_id_t * dpo, u16 local_port, u16 remote_port, u32 node_index, u8 * hicnb_flags) { + dpo->dpoi_type = DPO_FIRST; + dpo->dpoi_proto = DPO_PROTO_NONE; + dpo->dpoi_index = INDEX_INVALID; + dpo->dpoi_next_node = 0; + hicn_face_t *face = hicn_face_udp4_get (local_addr, remote_addr, local_port, remote_port); @@ -207,6 +217,11 @@ hicn_dpo_udp6_lock (dpo_id_t * dpo, const ip6_address_t * remote_addr, u16 local_port, u16 remote_port, u8 * hicnb_flags) { + dpo->dpoi_type = DPO_FIRST; + dpo->dpoi_proto = DPO_PROTO_NONE; + dpo->dpoi_index = INDEX_INVALID; + dpo->dpoi_next_node = 0; + hicn_face_t *face = hicn_face_udp6_get (local_addr, remote_addr, local_port, remote_port); @@ -244,6 +259,11 @@ hicn_dpo_udp6_add_and_lock (dpo_id_t * dpo, u16 local_port, u16 remote_port, u32 node_index, u8 * hicnb_flags) { + dpo->dpoi_type = DPO_FIRST; + dpo->dpoi_proto = DPO_PROTO_NONE; + dpo->dpoi_index = INDEX_INVALID; + dpo->dpoi_next_node = 0; + hicn_face_t *face = hicn_face_udp6_get (local_addr, remote_addr, local_port, remote_port); -- cgit 1.2.3-korg