From c7f942175b8c25c77ddc21561b52e3e6b5620b80 Mon Sep 17 00:00:00 2001 From: Alberto Compagno Date: Sat, 19 Jan 2019 17:28:57 +0100 Subject: Improved performance on data-fwd node: - Removed full pit entry initialization in favor of a lighter initialization on few fields - Squeezed pit entry size in order to store only the number of incomplete faces (as set in HICN_PARAM_PIT_ENTRY_PHOPS_MAX). The bitmap size is now determined by HICN_PARAM_FACES_MAX and optimized to do a fast lookup Replaced the field is_appface with the field flags in the hicn_buffer_t: - is_appface is now a flag with value 0x01 (HICN_BUFFER_FLAGS_FACE_IS_APP) - Added flag HICN_BUFFER_FLAGS_PKT_LESS_TWO_CL (0x02) to handle the copy of pkt with length < than 2*CACHE_LINES (in this case cloning is prevented by the cloning function in vpp). Such flag is initialized by the incoming face of the pkt. Change-Id: Ia956fd5719a28ee29f7fa2fd23d283964743efd8 Signed-off-by: Alberto Compagno --- hicn-plugin/src/faces/udp/dpo_udp.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'hicn-plugin/src/faces/udp/dpo_udp.c') diff --git a/hicn-plugin/src/faces/udp/dpo_udp.c b/hicn-plugin/src/faces/udp/dpo_udp.c index e58fc9788..eadcb6abd 100755 --- a/hicn-plugin/src/faces/udp/dpo_udp.c +++ b/hicn-plugin/src/faces/udp/dpo_udp.c @@ -79,14 +79,14 @@ hicn_dpo_udp4_create (dpo_id_t * dpo, u16 net_dst_port = clib_host_to_net_u16 (dst_port); hicn_face_t *face = hicn_face_udp4_get (src_ip, dst_ip, src_port, dst_port); - u8 is_appface; + u8 hicnb_flags; /* ip_csum_t sum0; */ if (face != NULL) return HICN_ERROR_FACE_ALREADY_CREATED; hicn_dpo_udp4_add_and_lock (dpo, src_ip, dst_ip, net_src_port, net_dst_port, - node_index, &is_appface); + node_index, &hicnb_flags); face = hicn_dpoi_get_from_idx (dpo->dpoi_index); @@ -118,13 +118,13 @@ hicn_dpo_udp6_create (dpo_id_t * dpo, u16 net_dst_port = clib_host_to_net_u16 (dst_port); hicn_face_t *face = hicn_face_udp6_get (src_ip, dst_ip, net_src_port, net_dst_port); - u8 is_appface; + u8 hicnb_flags; if (face != NULL) return HICN_ERROR_FACE_ALREADY_CREATED; hicn_dpo_udp6_add_and_lock (dpo, src_ip, dst_ip, net_src_port, net_dst_port, - node_index, &is_appface); + node_index, &hicnb_flags); face = hicn_dpoi_get_from_idx (dpo->dpoi_index); -- cgit 1.2.3-korg