aboutsummaryrefslogtreecommitdiffstats
path: root/hicn-plugin/src/data_fwd_node.c
AgeCommit message (Collapse)AuthorFilesLines
2020-09-18Revert to [HICN-638] Check if systemd is running before enabling hicn-light ↵Mauro Sardara1-0/+620
service Signed-off-by: Mauro Sardara <msardara@cisco.com> Change-Id: I1810d96e001a4e6e097e1efa331b682af750925d
2020-09-14[HICN-574] Host stack plugin for VPP.Mauro Sardara1-620/+0
Signed-off-by: Mauro Sardara <msardara@cisco.com> Change-Id: I8d8fdffef31a7013265d6529c5f52f3d5ec70d18 Signed-off-by: Mauro Sardara <msardara@cisco.com> Signed-off-by: Mauro <you@example.com> Signed-off-by: Mauro Sardara <msardara@cisco.com>
2020-05-06[HICN-606] Added doxygen documentationAlberto Compagno1-34/+0
Signed-off-by: Alberto Compagno <acompagn+fdio@cisco.com> Change-Id: If2bf7f4f310adf6adbbb9ea29eafcb2a0ee40d54
2020-05-04[HICN-590] Removed andjacency type specific face implementationAlberto Compagno1-10/+16
Changes in the new implementation are: - the adjacency index is replaced with a dpo that allows the single face node to dispatch the packet to the right vlib node. - local and remote address in the face are replaced with a single nat address which is used to perform the nat operation when rewriting an interest or a data (in case of tunnels the nat address will be equal to 0) - the list of next hop in the load balance is no longer a list of dpos but a list of face id (this makes the code easier and increases the number of next hop we supports) Signed-off-by: Alberto Compagno <acompagn+fdio@cisco.com> Change-Id: I4ac2b4eb09425bfe1b3ca9f82d7d0ff564297b0d
2019-12-13[HICN-457] Adding missing lock to the hash entry in order to avoid memory leak.Alberto Compagno1-1/+1
Signed-off-by: Alberto Compagno <acompagn+fdio@cisco.com> Change-Id: I9ee6d6311ca39353f93e6d41b06752b17628b46f
2019-10-09[HICN-169] Fixed counters that were decrementing or negative.Alberto Compagno1-0/+5
Change-Id: I9165a863ac29e9386f49fdbc09da85e2fcc57750 Signed-off-by: Alberto Compagno <acompagn+fdio@cisco.com>
2019-06-05[HICN-211] Missing parentesis on vlib_validate_buffer_enqueue_x2 was causing ↵Alberto Compagno1-1/+1
a priority problem between * and [] Change-Id: I423e58bc91db9dc16a75bdc8065a2740d0160c1d Signed-off-by: Alberto Compagno <acompagn+fdio@cisco.com>
2019-05-07[HICN-189] In case the adj is not complete, we look if a better one exists ↵Alberto Compagno1-1/+1
and we follow the new adjacency. The adj in the face is updated accordingly. Change-Id: Ieb5c02ee66146475d54ee99a77fc795c9bdf3130 Signed-off-by: Alberto Compagno <acompagn+fdio@cisco.com>
2019-05-03[HICN-180] Updating plugin to run on vpp 19.04Alberto Compagno1-6/+5
Change-Id: I23d44747edf65b9cbf1cd7cb174541dce55152aa Signed-off-by: Alberto Compagno <acompagn+fdio@cisco.com>
2019-04-11[HICN-176] Fixed bitmap size in pit entry and added static assert to avoid ↵Alberto Compagno1-1/+3
misconfiguration of parameters in param.h Change-Id: Ia64eaebe267f87bd5f93abf3e5a9e80bab735765 Signed-off-by: Alberto Compagno <acompagn+fdio@cisco.com>
2019-03-08[HICN-100] When the incoming face of a data is an application face, the data ↵Alberto Compagno1-2/+31
is always stored in the face CS (if any) Change-Id: I87e296caa57e04964f6f3971f37737d4c6e49c8f Signed-off-by: Alberto Compagno <acompagn+fdio@cisco.com>
2019-02-22[HICN-74] Data with lifetime 0 are never cached in the CS. When such data is ↵Alberto Compagno1-20/+60
received the PIT entry is removed. If the data comes from the push node the data is dropped. Change-Id: I8780e16cca30ad8298f1a494f1138f8b35ae0fab Signed-off-by: Alberto Compagno <acompagn+fdio@cisco.com>
2019-02-20[HICN-71]Alberto Compagno1-3/+15
- 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>
2019-01-30[HICN-18] first commit of libtransport for windowsAngelo Mantellini1-0/+0
Change-Id: I3a43b22194aa13ae5de1746e3d4bd9a275070261 Signed-off-by: Angelo Mantellini <manangel@cisco.com>
2019-01-19Improved performance on data-fwd node:Alberto Compagno1-8/+28
- 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 <acompagn+fdio@cisco.com>
2019-01-17This is the first commit of the hicn projectv19.01Luca Muscariello1-0/+541
Change-Id: I6f2544ad9b9f8891c88cc4bcce3cf19bd3cc863f Signed-off-by: Luca Muscariello <lumuscar+fdio@cisco.com>