Age | Commit message (Collapse) | Author | Files | Lines |
|
Change-Id: I992205148910be008d66b5acb7f6f1365770f9e8
Signed-off-by: Mauro Sardara <msardara@cisco.com>
|
|
|
|
Change-Id: I1dcbca50f7406ef2714683547b6bb32463e1baf8
Signed-off-by: Luca Muscariello <muscariello@ieee.org>
|
|
estimation
Change-Id: I5e3855439994dea453d68cda446b6756240265a9
Signed-off-by: Jordan Augé <jordan.auge+fdio@cisco.com>
|
|
Change-Id: I566939e02d7f2c8be6be9665d32c09f4737f69e1
Signed-off-by: Mauro Sardara <msardara@cisco.com>
|
|
|
|
manifests are enabled"
|
|
Signed-off-by: michele papalini <micpapal@cisco.com>
Change-Id: I1b74a88c4d46aae178599f43ac6f223b29d4dfc5
|
|
Signed-off-by: michele papalini <micpapal@cisco.com>
Change-Id: I108240376b67c221d440f43496a17513b89db0a3
|
|
enabled
When manifests are enabled, the current way of computing the next
reassembly segment is broken: if manifests are received out of order,
which can happen if a interest for a manifest timeouts, reassembly
will also be out of order.
This patch makes uses of the SuffixContent class introduced in
HICN-392 to correctly compute the index of the next segment to
reassemble.
Change-Id: I2784f3da544fef7b48a110dd6c233657610f44b8
Signed-off-by: Olivier Roques <oroques+fdio@cisco.com>
|
|
|
|
Signed-off-by: Angelo Mantellini <angelo.mantellini@cisco.com>
Change-Id: I8fa8c4eaa3218eb4be46f713b15ab789c6930aa0
|
|
Change-Id: I557164a31997574cbf93b0612cdd87e21be76c74
Signed-off-by: Mauro Sardara <msardara@cisco.com>
|
|
Change-Id: I26aeaffe40cfff460d9780319e54fcb74114cee4
Signed-off-by: Alberto Compagno <acompagn+fdio@cisco.com>
|
|
Change-Id: I19a442080b6ca8b0477a8f92f161282288c395ee
Signed-off-by: Alberto Compagno <acompagn+fdio@cisco.com>
|
|
connect only once.
- Added library to hicn-plugin called safe_vapi that takes care of handling concurrent calls to the vapi.
- Removed dependency of libhicnctrl from libtransport and added dependency to safe_vapi.
- Added dependency to safe_vapi on libhicnctrl
Change-Id: Ie49e8319f64a50e7ed6a56e041db977c3b184cc5
Signed-off-by: Alberto Compagno <acompagn+fdio@cisco.com>
|
|
and rpm package
Change-Id: I89e24f923a67192c2c57dbbd510c65a6b5a49457
Signed-off-by: Alberto Compagno <acompagn+fdio@cisco.com>
|
|
The wrong callback is null-checked before it is used in RAAQM.
Signed-off-by: Olivier Roques <oroques+fdio@cisco.com>
Change-Id: Id602453ad18d0297663b7cef66daa58cc5c0891a
|
|
Signed-off-by: michele papalini <micpapal@cisco.com>
Change-Id: If7af2154f5054a475521bf84c8d455ad3058bbb9
|
|
Change-Id: I4cfd1d45fb754d9efb71ff80ae97ca4fe27e47a2
Signed-off-by: Mauro Sardara <msardara@cisco.com>
|
|
|
|
Change way targets are defined: each project defines targets.
Fix project BUILD flags
Add build-extras bash script
Rework build tree of extras folder, using ExternalProject_Add
Change-Id: I82fa29896e54c8a033490eba013c3f0431bec9d0
Signed-off-by: Mauro Sardara <msardara@cisco.com>
|
|
Signed-off-by: michele papalini <micpapal@cisco.com>
Change-Id: I629914f48e00814796f16b201e03549e9c7941bd
|
|
|
|
Signed-off-by: michele papalini <micpapal@cisco.com>
Change-Id: Ib67d395e0c7c4ac4c11dabe44cbde417faa70e20
|
|
Signed-off-by: Alberto Compagno <acompagn+fdio@cisco.com>
Change-Id: I44142385b191b4c9b5c4bb418bfbd06a5e102eec
|
|
Signed-off-by: Alberto Compagno <acompagn+fdio@cisco.com>
Change-Id: I2460276eb400777105d3351dffdaf8452f01c51f
|
|
|
|
Signed-off-by: michele papalini <micpapal@cisco.com>
Change-Id: Ic75e11dcf43b7ed947a8f577d9aa5d345d5662ee
|
|
Change-Id: I5a144f804b87c3575f24c57ba5086136ec02efcd
Signed-off-by: Mauro Sardara <msardara@cisco.com>
|
|
|
|
Signed-off-by: michele papalini <micpapal@cisco.com>
Change-Id: Ieb41ffff61ed4341dc9aacb58d3e7c397e72fc41
|
|
Change-Id: I2458d054150ca307cf7ac0391f7698ebf2e7466e
Signed-off-by: Mauro Sardara <msardara@cisco.com>
|
|
corresponding socket is destroyed"
|
|
Signed-off-by: michele papalini <micpapal@cisco.com>
Change-Id: Ia23dee91776ccaa0bdf667eefc850e298f966cec
|
|
|
|
socket is destroyed
Signed-off-by: Alberto Compagno <acompagn+fdio@cisco.com>
Change-Id: I09268dc5ae2ad465b4a4f68607732c0d3f48e62e
|
|
|
|
Added two new messages in the binary api:
- hicn_api_face_cons_del to delete a consumer face
- hicn_api_face_prod_del to delete a producer face
Added the corresponding commands in the vpp_api_test for debugging and testing
Reworked the cache policy structure to add a new function that flash the content store
from the content coming from the destroyed producer face. This is required since the CS
while each producer face has its own lru list. Removing only the producer face without
flushing the CS from the content coming from the producer face will lead to a segfault
in case there is a hit in the CS as the lru no longer exists and it won't be possible
to update the head of the lru.
Signed-off-by: Alberto Compagno <acompagn+fdio@cisco.com>
Change-Id: I8776c86952d50900aa504dd22aec521ed25c1dae
|
|
This patch introduces a new way of requesting manifests such that
all the segments they contain fill the current transport window.
When a manifest (M) is received, we compute
L = last_segment_requested + current_window_size.
L is therefore equal or greater than the last segment of the
current window.
Then we compare L to the suffix of the next manifest that will
be (potentially) requested.
If L > next_manifest, it means that the last segment of the window is
greater than the first segment contained in the next manifest.
Therefore we request manifests until L <= next_manifest, ie until the
manifests would cover the entire window.
If L <= next_manifest, then all the manifests that were requested
already cover the window, so there's no need to request more. However
if the next manifest immediately follows the current one (M), we still
need to request it so that the content suffix queue is correctly
updated.
Signed-off-by: Olivier Roques <olvrqs@gmail.com>
Change-Id: I71a5a0031cd783277d0aa59fd68d5d7bf64fe6ae
|
|
|
|
Signed-off-by: michele papalini <micpapal@cisco.com>
Change-Id: I538d8266912fea244505e4d2ceccef0dd9a242bc
|
|
Signed-off-by: michele papalini <micpapal@cisco.com>
Change-Id: Ifdc5d912b8687bae3da78fadb05524d78e767f5a
|
|
Currently, interests for manifests are sent independently of the
transport protocol. When receiving a manifest, interests for next
manifests are sent until the next window would be full of data
segments.
But there is no limit on the number of interests for manifests that
can be sent. After a while, the interest input buffer in the
producer's side is full of them and cannot satisfy the requests
quickly enough. This results in a large drop of bandwidth on the
consumer side. This patch allows to limit the number of in-flight
interests for manifests.
Signed-off-by: Olivier Roques <olvrqs@gmail.com>
Change-Id: Ic497bd55fd92233e4b47b04635fb9bf75506375e
|
|
Signed-off-by: Alberto Compagno <acompagn+fdio@cisco.com>
Change-Id: I41641f6d27babaa1c413ecf2fe6eae0e499df97d
|
|
Change-Id: Ifab987a17255e20077242888b052e312f9e4c964
Signed-off-by: Jordan Augé <jordan.auge+fdio@cisco.com>
|
|
The current manifest implementation is broken:
1. ManifestIndexingManager, responsible for validating manifests and
segments and retrieving the next ones, assumes that all manifests
have the same size. This assumption affects the retrieval of next
manifests which is based on the number of segments the current
manifest contains. Therefore when a non-full manifests arrives,
the computed suffix of the next manifest is wrong and refer to a
content instead, which results in an error.
2. Manifests are used to update a suffix queue which stores all
the segments listed in manifests. This queue is used to retrieve
content sequentially via a pointer indicating the next content to
fetch. When the pointer reaches the end of the suffix queue, the
consumer stops sending interests. The correct behavior would be to
wait for a new manifest which would update the queue.
This patch fixes these two issues:
1. Issue 1 was fixed by using SuffixManifest (HICN-392). This allows
to set the capacity of a manifest at the start of the consumption
instead of checking each time the size of the current manifest and
then using that (non-constant) value to retrieve the next manifests.
2. Issue 2 was fixed by passing to ManifestIndexingManager a reference
to an object capable of calling the scheduleNextInterest function,
which is then called after a new manifest is retrieved to make sure
interests for content kept being sent. This is not an optimal solution
but rather a temporary one, until the retrieval of manifests is done
at the transport level rather than in ManifestIndexingManager.
This patch also changes the order of production: manifests are now
sent before content. To do so, contents are added into a queue until
the manifest is complete.
Signed-off-by: Olivier Roques <olvrqs@gmail.com>
Change-Id: I1a1bb92ca1cf2d3c745c1b65f6c7376f916c679b
|
|
This patch introduces a new class, SuffixStrategy and two sub-classes,
SuffixContent and SuffixManifest which allow to independently assign
suffixes to contents and manifests respectively. The produce() function
in socket_producer.cc has also been changed to use them.
Given a strategy and an offset (and optionally the capacity of a
manifest), these classes automatically compute the correct next
suffixes for both type of data (manifest or content). This removes
the burden of having to manage suffixes for instance when producing
or when retrieving content, and could be expanded to add more
strategy in the future.
Currently the only existing strategy is "INCREMENTAL": manifests
with capacity N have a suffix multiple of N+1: 0, N+1, 2(N+1) etc.
Contents have a suffix incremented by 1 except when it conflicts
with a manifest: 1, 2, ..., N, N+2, N+3, ..., 2N+1, 2N+3...
Signed-off-by: Olivier Roques <olvrqs@gmail.com>
Change-Id: Ia7692d7325240de7bea6e38b668077042e5f8758
Signed-off-by: Alberto Compagno <acompagn+fdio@cisco.com>
|
|
control api
Change-Id: Id097368dcde993775f206623195cc5aa57b4fe12
Signed-off-by: Jordan Augé <jordan.auge+fdio@cisco.com>
|
|
Change-Id: If3f9a7db1e1310fdc08d1003b28e5e1d4006b61e
Signed-off-by: Alberto Compagno <acompagn+fdio@cisco.com>
|