diff options
Diffstat (limited to 'CHANGELOG.md')
-rw-r--r-- | CHANGELOG.md | 1030 |
1 files changed, 1030 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 000000000..620933eb0 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,1030 @@ +## v3.14.0 (2022-07-18) + +### Feat + +- release 3.14 of hicn +- move interest manifest inside libhicn to be reused by hicn-plugin +- include wrapper asio files +- include wrapper asio files +- rewrite new PCS, backed by clib_bihash + +### Fix + +- **lib**: install interest manifest header +- **hicn-light**: code style +- **hicn-light**: fix connection table issue +- **hicn-light**: fix connection table issue +- **hicn-light**: fix crash on connection close +- **hicn-light**: fix interest send on mac os +- **transport**: fix udp connector for mac os +- do not reuse vpp struct/macros in libhicn +- **ci/docker-build-ios.sh**: accept ios dockerfile eula +- **core**: add ifndef to compile on macos +- **pcs.h**: align PCS entry to 64 bytes in place of CLIB_CACHELINE + +## v3.13.0 (2022-06-17) + +## v3.13.0b0 (2022-06-16) + +### Feat + +- release 3.13 of hicn +- **transport**: codel style +- **transport**: imporve switch between RTX and FEC with variable RTT +- **transport**: improve fec for low rtt +- **aggregated-interests**: fix multipath with aggregated interests +- packet generator to assess performance +- **hicn-light-collectd**: add per-face stats in collectd plugin +- **hicn-light-collectd**: add per-face stats in forwarder +- **hicn-light-collectd**: update cmake for vpp collectd plugins +- **hicn-light-collectd**: modify kafka output collectd plugin to use influxdb format and do dispatching +- **hicn-light-collectd**: use input collectd plugin to retrieve stats from forwarder +- **hicn-light-collectd**: expose libhicnctrl api to retrieve hicn-light stats +- **hicn-light-collectd**: setup cmake for hicn-light and kafka plugins +- **transport**: set the expirtation time of the data packets using socket options +- **libtransport**: use microseconds to improve RTT precision +- **aggregated-interests**: enable aggregated interests at runtime +- **aggregated-interests**: add aggregated interest support in transport +- **hicn-plugin**: parse hicn packet only one time, as soon as it is received +- **transport**: modify delay in delay strategy +- **manifest**: improve encoding and decoding +- **aggregated-interests**: add signature to interest manifest +- **aggregated-interests**: add disaggregation and bitmap in interest manifest +- **libhicn**: move common data structures in lib +- **vector**: add missing api functions to vector data structure +- **libhicn**: use same map data structure between hicn-light and hicn-ctrl +- **libtransport**: remove all references to ntoh and hton +- **packet-cache**: add CS clear in hicn-light +- **portal.h**: modify PIT to register penging interests in both sides +- **libtransport**: add global module manager and library constructor +- multistream hiperf +- **libtransport**: add cache prefetch support and test to assess performance +- Add API to get/set ports in libhicn +- add enumeration for packet type in libhicn +- **pool**: remove unnecessary memset in pool and add script to test hiperf locally +- **packet-cache**: avoid double lookups when possible +- **packet-cache**: add two-level packet cache +- **hicn-ping**: add interest manifest support in hicn-ping +- sync build scripts with master-fdio +- **auth**: use membuf + +### Fix + +- **hiperf**: fix buffer contention when using multiple producers +- **manifest**: remove unnecessary debug assert +- better organize flags in hicn-plugin +- replace deprecated std::random_shuffle function +- **transport**: use constant var in recovery strategy baeds on delay +- **hiperf**: fix bandwidth computaton in hiperf +- **manifest**: compilation error +- **libhicnctrl**: fix name generation for new faces +- **libhicnctrl**: fix name generation for new faces +- fix memory corruption in msgbuf ids vector +- **hicn-light**: fix hardcoded limit on number of pending connections +- **hicn-light**: return error when not able to generate new connection name +- **transport**: fix forwarder io module in transport +- **auth**: invalid memory read in signer +- **libtransport**: pass all required callbacks when creating connectors +- fix htonll and ntohll in libhicn +- **packet-cache**: add missing data prefix caching on content packet received +- **production_protocol.h**: do not accept unvalid values of TRANSPORT_FEC_TYPE if environment variable is set +- use proper function to compare elements in listener and conenction table +- **docker**: do no use internal image in public dockerfile and remove old functional tests +- **fec**: correctly compute the transport header size of each packet +- **transport**: add rs fec header size also in the decoder +- **transport**: fix max packet size in producer socket +- **prod_protocol_rtc.cc**: check if fec_type is valid before using it +- **hicnctrl**: fix route command validation + +### Perf + +- **transport**: reduce cpu usage at RTC consumer socket for loss detection + +### Refactor + +- **tls**: remove support for TLS +- **manifest**: move decoding of manifest out of decoder constructor +- move interest manifest header to libhicn and update log +- refactor listener and connection table +- **manifest**: improve manifest verification and performance + +## v3.12.2 (2022-06-01) + +### Fix + +- **lib/includes/hicn/util/bitmap.h**: correct include header + +## v3.12.1 (2022-06-01) + +### Fix + +- **cmake**: wrong version number in hicn + +## v3.12.0 (2022-05-31) + +### Feat + +- release 3.12 of hicn +- **aggregated-interests**: add signature to interest manifest +- **aggregated-interests**: add disaggregation and bitmap in interest manifest +- **libhicn**: move common data structures in lib +- **vector**: add missing api functions to vector data structure +- **libhicn**: use same map data structure between hicn-light and hicn-ctrl +- **libtransport**: remove all references to ntoh and hton +- **packet-cache**: add CS clear in hicn-light +- **portal.h**: modify PIT to register penging interests in both sides +- **libtransport**: add global module manager and library constructor +- multistream hiperf +- **libtransport**: add cache prefetch support and test to assess performance +- Add API to get/set ports in libhicn +- add enumeration for packet type in libhicn +- **pool**: remove unnecessary memset in pool and add script to test hiperf locally +- **packet-cache**: avoid double lookups when possible +- **packet-cache**: add two-level packet cache +- **hicn-ping**: add interest manifest support in hicn-ping +- sync build scripts with master-fdio +- **auth**: use membuf + +### Fix + +- **libhicnctrl**: fix name generation for new faces +- **libhicnctrl**: fix name generation for new faces +- fix memory corruption in msgbuf ids vector +- **hicn-light**: fix hardcoded limit on number of pending connections +- **hicn-light**: return error when not able to generate new connection name +- **transport**: fix forwarder io module in transport +- **auth**: invalid memory read in signer +- **libtransport**: pass all required callbacks when creating connectors +- fix htonll and ntohll in libhicn +- **packet-cache**: add missing data prefix caching on content packet received +- **production_protocol.h**: do not accept unvalid values of TRANSPORT_FEC_TYPE if environment variable is set +- use proper function to compare elements in listener and conenction table +- **docker**: do no use internal image in public dockerfile and remove old functional tests +- **fec**: correctly compute the transport header size of each packet +- **transport**: add rs fec header size also in the decoder +- **transport**: fix max packet size in producer socket +- **prod_protocol_rtc.cc**: check if fec_type is valid before using it +- **hicnctrl**: fix route command validation + +### Refactor + +- **manifest**: move decoding of manifest out of decoder constructor +- move interest manifest header to libhicn and update log +- refactor listener and connection table +- **manifest**: improve manifest verification and performance + +## v3.11.3 (2022-04-18) + +### Feat + +- **manifest**: optimize manifest processing + +## v3.11.2 (2022-04-13) + +### Fix + +- **manifest**: do not iterate on full data buffer to compute ratio + +## v3.11.1 (2022-04-13) + +### Fix + +- **manifest**: ignore manifest entries of discarded unverified packets + +## v3.11.0 (2022-04-11) + +## v3.11.0b0 (2022-04-08) + +### Feat + +- release 3.11 of hicn +- **manifest**: add FEC parameters to manifests +- **manifest**: refactor verification process +- **manifest**: report auth alerts in hiperf instead of aborting +- **manifest**: remove FEC buffer callback in consumer +- **manifest**: refactor and enable manifests by default +- **manifest**: update manifest header with transport parameters +- **manifest**: batch interests for first manifest from RTC producer +- **manifest**: refactor processing of RTC manifests +- **manifest**: update manifest-related socket options of consumers +- **manifest**: update unit tests for manifests +- **manifest**: pack manifest headers +- **manifest**: verify FEC packets +- **auth**: add consumer socket option to set max unverified delay +- **manifest**: process manifests after full FEC decoding +- **manifest**: manage forward jumps in RTC verifier +- **fec**: remove useless fec codes +- **rs**: add new code rate +- **rs**: add new code rate +- **rs**: add new code rate +- **rs**: add new code rate +- **libtransport**: increase internal packet cache size +- remove internal cisco info in cmake +- **manifest**: add option to set manifest capacity +- **data_input_node.c**: add information about adj_index[VLIB_RX] on received data packets +- **hicn-plugin**: upgrade to VPP 22.02 + +### Refactor + +- **manifest**: change default manifest options to support low-rate +- remove remaining traces of fec type option +- **hiperf**: cosmetic update +- **manifest**: apply code reviews +- **auth**: change auth failed callback signature + +### Fix + +- **strategy-callbacks**: fix callback calls when transport is out of scope +- **bitmap**: fix bitmap set operation +- **transport**: avoid to add fec at start up if no loss is detected +- **notifications**: add callbacks for forwarding/recovery strategy changes +- **face_node.c**: ensure IPv6 loopback is not interpreted as IPv4 address +- **manifest**: fix segfault with RS + manifests +- **manifest**: support RS +- **auth**: verify previously unverified packet signatures +- **bytestream**: make manifest branch work with RAAQM +- **pathlabel**: fix data path label in the hicn-light forwarder +- **deps**: fix cisco openssl and safec dependencies inclusion +- **udp_connector.cc**: call receive callback with correct parameters +- cannot retrieve integer producer socket option +- **fec.cc**: correct fec after wrong merge +- **liiib/CMakeLists.txt**: correct typo + +## v3.10.0 (2022-04-02) + +### Feat + +- release 3.10 of hicn +- **manifest**: refactor verification process +- **manifest**: report auth alerts in hiperf instead of aborting +- **manifest**: remove FEC buffer callback in consumer +- **manifest**: refactor and enable manifests by default +- **manifest**: update manifest header with transport parameters +- **manifest**: batch interests for first manifest from RTC producer +- **manifest**: refactor processing of RTC manifests +- **manifest**: update manifest-related socket options of consumers +- **manifest**: update unit tests for manifests +- **manifest**: pack manifest headers +- **manifest**: verify FEC packets +- **auth**: add consumer socket option to set max unverified delay +- **manifest**: process manifests after full FEC decoding +- **manifest**: manage forward jumps in RTC verifier +- **fec**: remove useless fec codes +- **rs**: add new code rate +- **rs**: add new code rate +- **rs**: add new code rate +- **rs**: add new code rate +- **libtransport**: increase internal packet cache size +- remove internal cisco info in cmake +- **manifest**: add option to set manifest capacity +- **hicn-plugin**: upgrade to VPP 22.02 + +### Fix + +- **transport**: avoid to add fec at start up if no loss is detected +- **notifications**: add callbacks for forwarding/recovery strategy changes +- **face_node.c**: ensure IPv6 loopback is not interpreted as IPv4 address +- **manifest**: fix segfault with RS + manifests +- **manifest**: support RS +- **auth**: verify previously unverified packet signatures +- **bytestream**: make manifest branch work with RAAQM +- **pathlabel**: fix data path label in the hicn-light forwarder +- **deps**: fix cisco openssl and safec dependencies inclusion +- **udp_connector.cc**: call receive callback with correct parameters +- cannot retrieve integer producer socket option + +### Refactor + +- **hiperf**: cosmetic update +- **manifest**: apply code reviews +- **auth**: change auth failed callback signature + +## v3.9.1 (2022-03-21) + +### Fix + +- **route**: fix route creation failure when id instead of symbolic + +## v3.9.0 (2022-03-21) + +### Feat + +- release 3.9 +- **data_input_node.c**: add information about adj_index[VLIB_RX] on received data packets +- **hicn-plugin**: upgrade to VPP 22.02 + +### Fix + +- **liiib/CMakeLists.txt**: correct typo + +## v3.8.1 (2022-03-15) + +### Fix + +- **android-sdk**: upgrade android-sdk version + +## v3.8.0 (2022-03-14) + +## v3.8.0b0 (2022-03-12) + +### Feat + +- release 3.8 of hicn +- **ci**: install correct VPP version in local ci scripts +- **Makefile**: add conveniente targets to build/use docker container +- **security**: define custom secure functions if not available +- **security**: improve input validation +- insert CPU info as compilation options + +### Refactor + +- **fec**: do not include FEC header when copying FEC payload +- **auth**: clean up +- **CMakeLists.txt**: global cleanup of CMakeLists files + +### Fix + +- **probe-generator**: return probe register time (fix probe generator test) +- fix pool index validation and removal of current listener/connection +- **strcpy_s**: fix warnings appearing after strcpy_s introduction +- **security**: use secure version of strlen +- **security**: use secure version of strcpy +- **test-rs**: typo +- **rs-test**: fix packet index size +- **cmake**: add ciscossl path +- **fec-rate**: set max loss rate to 0.95 +- **loss-rate**: init loss rate using the rtt probes + +## v3.7.2 (2022-02-25) + +### Feat + +- update android-sdk version to 2.0.6 + +## v3.7.1 (2022-02-17) + +### Feat + +- use android-sdk image with librdkafka 1.8.2 + +## v3.7.0 (2022-02-17) + +### Fix + +- **CS**: correctly forward packets coming from the CS + +## v3.7.0b0 (2022-02-14) + +### Feat + +- release 3.7 of hicn +- **hicn-light-control**: distinguish between command and serialization errors +- **pit**: code style +- **pit**: code style +- **pit**: do not send aggregated interests +- **pit**: do not store state in the pit for interests with no nexthop +- add arm and x86 support to hicn +- **hicn-light-control**: add input validation in hicn-light-control parser +- **hicn-ctrl**: add command for notification subscription in hicn-light-control +- add vpp logs +- **hicn-plugin**: return the list of created faces after running hicn_route_enable. +- add constants for invalid face and invalid netdevice +- **packet-cache**: use Name instead of name_key_t as hashtable key +- **forwarder**: code style +- **hicn-light**: fix mapme packet processing +- **hicn-light**: remove commented code and missing initiliazations +- **forwarder**: fix tests +- **hicn-plugin**: add log +- create prod image of hicn +- **hicn-plugin**: allow UDP tunnels to be dynamically created upon interest reception. +- **hicn-plugin**: add support for UDP tunnels in mapme +- **strategy**: fix crash and nexthops compare +- **strategy**: fix add local prefixes +- **strategy**: add local prefixes and mapme updates to replication +- **strategy**: code style +- **strategy**: improve path switch +- **transport**: improve path switch +- **strategy**: set bestpath before send mapme message +- **strategy**: send mapme update at the end of each probing phase +- **hicn-light**: add support for strategy_add_local_prefix command from config file +- **facemgr**: use separate sockets for control and polling hicn-light +- **hicn-light**: close listener and connection file descriptors on forwarder stop +- **hicnctrl**: add timeout for recv operations +- **hicn-light**: remove hicnctrl connection from 'list connection' command output +- **listeners**: set local listeners without using resolver +- **doc**: update readme file +- **doc**: update readme file and authors' list + +### Fix + +- **parser**: add cast to compile in android +- **hicn-light-control**: fix missing error code in case of nack +- **hicn-light-control**: remove sopport for old forwarder +- **facemgr/libhicn**: Assigned value is garbage or undefined +- **facemgr**: Remove the commented out code +- **facemgr**: code/return will never be executed +- check that face_output sends interest to a complete face +- try not to keep a lock to dpo_ctx in each PIT entry. +- log route creation/deletion failures in linhicnctrl +- **memif_vapi.c**: initialize memif id before retrieving the next id to use. +- **libvapi_safe**: implement vapi_disconnect API +- **libhinctrl**: fix ring buffer management + refactor code +- **facemgr/netlink**: leaked facelets for interfaces not up and running +- **facemgr/hicn-light**: timerfd leak +- **hicnctrl**: fix notification processing +- **core::Portal**: ensure interest timeout handler refers to a valid Portal. +- **rtc-transport**: ensure RTC is running and valid before executing timer handlers +- **libhinctrl**: fix ring buffer management + refactor code +- **listener-table**: forbid creation of listener for already-existing address +- **connection-table**: fix multiple connections with same name +- **hicn-light**: fixed uninitialized memory in parser code +- **Jenkinsfile**: prod image is not created +- initialize listener memory +- **libhicnctrl**: remove useless size_in field in hicn_sock_request_t +- propagate listener hashtable fix in connection table and packet cache +- **listener-table**: fix listener removal from hashtable +- **dockerfile**: tests failed due the wrong docker image +- **rtc_state.h**: initialize rtc_state out of constructor +- **rtc_state.h**: check if RTCState is valid before dereferencing it. +- **hicn-light**: missing command_id in LIST command replies + cleanup +- producer face deletion does not delete the route from fib 0 +- **hicn-plugin**: insert drop node in the next nodes of face-node +- delete faces when lock count reaches 0 +- **libhicnctrl**: fix hardcoded AF_INET in hc_face_to_connection +- **facemgr/android**: handle missing android information on down interfaces +- **hicn-light**: fix memory leaks when forwarder is closed +- **hicn-light**: fix forwarder receive +- fix MacOS build errors + +### Perf + +- **hicn-light**: remove memory allocation inside name + +### Refactor + +- **packet-cache**: remove macro used in packet cache entry allocation +- **facemgr/hicn-light**: refactor poll timer code + +## v3.6.8 (2022-02-10) + +### Fix + +- **mapme**: Ignore updates from current nexthop with lower sequence number + +## v3.6.7 (2022-02-09) + +### Fix + +- **hicn-plugin**: get input face using source address lookup in place of using a list of possible incoming faces + +## v3.6.6 (2022-02-08) + +### Fix + +- **hicn-plugin**: remove unused in_face_id from PCS +- **hicn-plugin**: remove vector of in_face_id + +## v3.6.5 (2022-02-07) + +### Fix + +- **memif-connector**: signal send error up to application + +## v3.6.4 (2022-02-05) + +### Fix + +- add NH before deleting tfib entr + +## v3.6.3 (2022-02-05) + +### Fix + +- disable prints when hicn is compiled in release mode + +## v3.6.2 (2022-02-04) + +### Fix + +- **facemgr**: prevent incorrect free of facelet added to cache + +## v3.6.1 (2022-02-02) + +### Fix + +- use correct fib source when updating next hops with mapme + +## v3.6.0 (2022-02-01) + +### Fix + +- update cmake version +- check that face_output sends interest to a complete face +- try not to keep a lock to dpo_ctx in each PIT entry. +- log route creation/deletion failures in linhicnctrl +- **memif_vapi.c**: initialize memif id before retrieving the next id to use. +- **libvapi_safe**: implement vapi_disconnect API +- **libhinctrl**: fix ring buffer management + refactor code +- **facemgr/netlink**: leaked facelets for interfaces not up and running +- **facemgr/hicn-light**: timerfd leak +- **hicnctrl**: fix notification processing +- **core::Portal**: ensure interest timeout handler refers to a valid Portal. +- **rtc-transport**: ensure RTC is running and valid before executing timer handlers +- **libhinctrl**: fix ring buffer management + refactor code +- **listener-table**: forbid creation of listener for already-existing address +- **connection-table**: fix multiple connections with same name +- **hicn-light**: fixed uninitialized memory in parser code +- **Jenkinsfile**: prod image is not created +- initialize listener memory +- **libhicnctrl**: remove useless size_in field in hicn_sock_request_t +- propagate listener hashtable fix in connection table and packet cache +- **listener-table**: fix listener removal from hashtable +- **dockerfile**: tests failed due the wrong docker image +- **rtc_state.h**: initialize rtc_state out of constructor +- **rtc_state.h**: check if RTCState is valid before dereferencing it. +- **hicn-light**: missing command_id in LIST command replies + cleanup +- producer face deletion does not delete the route from fib 0 +- **hicn-plugin**: insert drop node in the next nodes of face-node +- delete faces when lock count reaches 0 +- **libhicnctrl**: fix hardcoded AF_INET in hc_face_to_connection +- **facemgr/android**: handle missing android information on down interfaces +- **hicn-light**: fix memory leaks when forwarder is closed +- **hicn-light**: fix forwarder receive +- fix MacOS build errors + +### Feat + +- release 3.6 of hicn +- add vpp logs +- **hicn-plugin**: return the list of created faces after running hicn_route_enable. +- add constants for invalid face and invalid netdevice +- **packet-cache**: use Name instead of name_key_t as hashtable key +- **forwarder**: code style +- **hicn-light**: fix mapme packet processing +- **hicn-light**: remove commented code and missing initiliazations +- **forwarder**: fix tests +- **hicn-plugin**: add log +- create prod image of hicn +- **hicn-plugin**: allow UDP tunnels to be dynamically created upon interest reception. +- **hicn-plugin**: add support for UDP tunnels in mapme +- **strategy**: fix crash and nexthops compare +- **strategy**: fix add local prefixes +- **strategy**: add local prefixes and mapme updates to replication +- **strategy**: code style +- **strategy**: improve path switch +- **transport**: improve path switch +- **strategy**: set bestpath before send mapme message +- **strategy**: send mapme update at the end of each probing phase +- **hicn-light**: add support for strategy_add_local_prefix command from config file +- **facemgr**: use separate sockets for control and polling hicn-light +- **hicn-light**: close listener and connection file descriptors on forwarder stop +- **hicnctrl**: add timeout for recv operations +- **hicn-light**: remove hicnctrl connection from 'list connection' command output +- **listeners**: set local listeners without using resolver +- **doc**: update readme file +- **doc**: update readme file and authors' list + +### Perf + +- **hicn-light**: remove memory allocation inside name + +### Refactor + +- **packet-cache**: remove macro used in packet cache entry allocation +- **facemgr/hicn-light**: refactor poll timer code + +## v3.5.0 (2022-01-15) + +## v3.5.0b0 (2022-01-14) + +### Feat + +- release 3.5 of hicn +- **quality-score**: expose quality score header file +- **bytestream**: add segment size option for bytestream production +- **strategy-map**: duplicate string before adding to strategy hashmap +- **hicn-light-control**: add help command +- **.cz.toml**: release 3.4 + +### Fix + +- **msgbuf-pool**: fix crash in msgbuf release when debug log is set to trace +- **hicn-light-control**: fix build error on android and clean hicn-light-control output + +## v3.4.3 (2021-12-20) + +### Fix + +- **facemgr/android**: adding mutex to protect facelet array across threads + +## v3.4.2 (2021-12-17) + +### Fix + +- **facemgr**: workaround for blocking operation preventing loop break + +## v3.4.1 (2021-12-16) + +### Fix + +- **transport**: do not generate NaN values for loss rate + +## v3.4.0 (2021-12-15) + +## v3.4.0b0 (2021-12-14) + +### Feat + +- **.cz.toml**: release 3.4 +- **libhicntransport**: split producer socket connect and start into 2 different APIs +- facemgr: android interface as an alternative to netlink (targetSdk >= 30) +- **functional-tests**: report output of test commands into robot report +- **content-store**: report number of stale entries +- **content-store**: add 'list cache' control command +- **transport**: select forwarding strategy from transport +- libtransport threading rework +- hicn-light: add ring buffer for connection egress +- **listener**: create local listeners using the "localhost" name +- **hicn-light**: add default ipv6 listener +- **test**: functional testing link model Signed-off-by: Luca Muscariello lumuscar@cisco.com +- **test**: functional testing link model +Signed-off-by: Luca Muscariello lumuscar@cisco.com +- **content-store**: disable content store when capacity is set to 0 +- separate packet cache logic from debug prints and incorporate bugfix ICN-1127 + +### Fix + +- **listener**: fix listener removal +- misc android fixes +- **production_protocol**: fix bugs in production protocols +- ensure sendContentObject is called from portal thread +- hicn-light/mapme: don't send adjacency updates to local faces +- **loop**: stop loop in signal handler +- fix access to uninitialized memory +- facemgr/android: release all resources +- **memif_connector.cc**: call reconnect_callback_ also from memif connector +- **build-system**: generate correct cmake config files +- **strategy**: avoid crash on new forwarding strategy selection + +### BREAKING CHANGE + +- this commit breaks the interface between transport and +application. Calls to socket operations are not blocking anymore, so applications +expecting a blocking behavior will need to be modified. + +## v3.3.2 (2021-12-10) + +### Fix + +- **transport**: init forwarding strategy selection + +## v3.3.1 (2021-12-10) + +### Feat + +- **libtransport**: make API of consumer and producer socket similar + +## v3.3.0 (2021-12-10) + +### Fix + +- specify componenet when installing cmake config files +- **build-system**: generate correct cmake config files + +### Feat + +- release 3.3 of hicn +- facemgr: android interface as an alternative to netlink (targetSdk >= 30) +- **functional-tests**: report output of test commands into robot report +- **content-store**: report number of stale entries +- **content-store**: add 'list cache' control command +- **transport**: select forwarding strategy from transport +- libtransport threading rework +- hicn-light: add ring buffer for connection egress +- **listener**: create local listeners using the "localhost" name +- **hicn-light**: add default ipv6 listener +- **test**: functional testing link model Signed-off-by: Luca Muscariello lumuscar@cisco.com +- **test**: functional testing link model +Signed-off-by: Luca Muscariello lumuscar@cisco.com +- **content-store**: disable content store when capacity is set to 0 +- separate packet cache logic from debug prints and incorporate bugfix ICN-1127 + +### BREAKING CHANGE + +- this commit breaks the interface between transport and +application. Calls to socket operations are not blocking anymore, so applications +expecting a blocking behavior will need to be modified. + +## v3.2.3 (2021-12-06) + +### Feat + +- **Dockerfile.android**: add android verify job + +## v3.2.2 (2021-12-03) + +### Fix + +- revert removal for now to remain compatible with hicn_plugin_api #promote PATCH +- fixed hc_route_t face_id / name attributes overlap +- work around to create the right route +- **strategy**: avoid crash on new forwarding strategy selection +- **Dockerfile**: update base docker image of hicn + +## v3.2.1 (2021-12-02) + +### Fix + +- remove libparc dependency + +## v3.2.0 (2021-12-01) + +## v3.2.0b0 (2021-11-30) + +### Feat + +- **.cz.toml**: release 3.2 of hicn +- trigger mapme updates from producer sockets to traverse nats + +### Fix + +- added check on listener and connection add +- **listener**: handle listener creation failure +- **packet-cache**: fix msgbuf acquire and release in cs update operations +- libhicntrl: default to hicn-light-ng +- hicn-light: don't disable MAP-Me messages +- libhicn: always_inline macro compilation issues +- libtransport : default to hicn-light-ng +- hicn-light : consistent listener and connection types +- **packet-cache**: fix collisions for names in packet cache +- go back to the use of system clock for delay measurements instead of steady clock +- **hash**: fix hash function usage +- **hash**: replace hash function +- **packet-cache**: fix wrong CS hit due to data name collision in pkt cache +- consistently use std::chrono to enforce timestamp types +- **Jenkinsfile**: re-enable publishing of robot tests on hicn +- set default log level to info + +## v3.1.3 (2021-11-25) + +### Fix + +- **Jenkinsfile**: re-enable publishing of robot tests on hicn + +## v3.1.2 (2021-11-24) + +### Fix + +- **ctrl/CMakeLists.txt**: libfacemgr does not compile on android + +## v3.1.1 (2021-11-24) + +### Fix + +- **transport**: do not count the same packet multiple times as definitely lost + +## v3.1.0 (2021-11-24) + +### Fix + +- **strategy**: do not switch back to old path at the end of a probing pahse + +## v3.1.0b0 (2021-11-23) + +### Feat + +- release 3.1 +- **.cz.toml**: create relesa 3.0 hicn +- **hiperf**: code style +- **hiperf**: remove commented queue check +- **hiperf**: fix compiling error +- **hiperf**: do not start forwarder interfaces if not needed +- **hiperf**: fix check to call best path +- **hiperf**: new check to trigger best path +- **hiperf**: add set strategy command +- **hiperf**: add set strategy command +- add cmake config for dependencies +- add cmake config for dependencies +- add cmake config for dependencies + +### Fix + +- **pipeline**: update pipeline version +- fix bugs in sonar +- **forwarder**: fix cmake +- fix command linkage for forwarder and remove unnecessary debug prints +- fix command registration for static lib +- fix missing libevent dependency on macos + +## v3.0.0 (2021-11-23) + +### Fix + +- **pipeline**: update pipeline version + +## v3.0.0b0 (2021-11-19) + +### Feat + +- **.cz.toml**: create relesa 3.0 hicn +- **transport**: fix error in setting fec to ask param +- **transport**: add second threshold for loss rate +- **transport**: add low rate transport strategy +- **transport**: compute (network) loss rate per second +- **libhicnctrl**: remove connection used to send commands +- **libhicnctrl**: Add support for serialization of connection and subscription removal commands +- **notification**: add notification processing +- **notification**: update libhicnctrl to support notifications +- **notification**: add retrieval of connections for a subscription +- **strategy**: code style +- **strategy**: add comment to log the issue with sendto +- **strategy**: add test for probe generator +- **strategy**: send probes at each interest +- **strategy**: use batching mode to send probes +- **strategy**: improve probing phase +- **stategy**: improve probing in best path strategy +- **stats**: Put additional stats and improve debug prints +- **subscription**: Add support for subscribe/unsubscribe +- **vector**: Add remove operation in vector +- **forwarder**: Enable daemon mode in forwarder +- **fec**: add metadata support to reedsolomon. + +### Fix + +- **Jenkinsfile**: change arch from x86_64 to amd64 +- fix build errors +- GCC11 fixes and workarounds +- **transport**: keep track of skipped interests +- **transport**: count as lost the fec packets that are not recevied +- **transport**: fix check to increase highest seq in order +- **transport**: fix loss rate counters +- select latest version of pipelines library +- **addresses**: fix ipv6 addresses creation for listeners and connections +- restore previous cmake submodule reference +- fix circular dependency +- **connection**: fix bug in connection name generation +- set version of jenkins shared library to stable version #promote PATCH +- use hicn as image name in all scripts #promote 2.9 +- **docker-gcc**: docker build script fails if env variables don't exist +- use hicn as image name in all scripts #promote 2.9 +- Fix memory leakages and unreleased msgbufs in batch read +- **vector**: fix bug on vector reallocation and add related test +- **portal.h**: improve handling of unknown packet formats in libtransport. +- **packet-cache**: Check if data received from the expected interface +- **msgbuf-pool**: Fix release of msgbufs (after queue is emptied) +- **pit-entry**: Reset nexthops during pit entry creation +- Fix socket cleanup when receiving ack/nack +- **strategy**: Fix symbol not found in libhicn +- **forwarder**: Remove unused buffer allocations in release mode +- **command**: Fix connection parsing in connection list command +- **functional-tests**: Fix functional tests for hicn-light +- **mapme**: fix nexthop slection on mapme update +- **bitmap**: Fix bitmap set operation +- **fib_entry**: code style +- **fib_entry**: reset nexthop len if no local face is found +- Use msgbuf ids instead of msgbuf pointers +- start jenkins job + +### Perf + +- **RTX**: reduce wainting time for RTX in low rate flows + +## v2.9.6 (2021-11-18) + +### Fix + +- **Jenkinsfile**: change threshold test limits +- **Packaging.cmake**: vpp deb dependency version is wrong + +## v2.9.5 (2021-11-17) + +### Fix + +- **Jenkinsfile**: change arch from x86_64 to amd64 + +## v2.9.4 (2021-11-11) + +### Feat + +- **cmake**: update version of cmake +- **cmake**: update version of cmake + +## v2.9.3 (2021-11-11) + +### Feat + +- add dockerfile for development + +## v2.9.2 (2021-11-10) + +### Fix + +- fix circular dependency #promote PATCH + +## v2.9.1 (2021-11-09) + +### Fix + +- set version of jenkins shared library to stable version #promote PATCH + +## v2.9.0 (2021-11-09) + +### Fix + +- use hicn as image name in all scripts #promote 2.9 +- **docker-gcc**: docker build script fails if env variables don't exist +- use hicn as image name in all scripts #promote 2.9 +- start jenkins job +- **README**: remove white spaces #promote 2.9 Signed-off-by: Angelo Mantellini <manangel@cisco.com> +- **transport**: comment +- **transport**: remove fec packets from pending interests +- **transport**: do not use nacks to compute the avg RTT +- **promote-2.9**: promote 2.9 +- **versions.cmake**: wrong dep versions +- **Dockerfile-gcc**: pass branch name env variable to dockerfile +- **cmake**: create packages with right version name and repo name corrected +- **libconfig**: correct libconfig version +- ICN-1047, adding Android support for hc_sock_create_forwarder +- **libhicnctrl**: unused file descriptor was closed when freeing the libhicnctrl socket. +- **vapi_safe**: groupp all vapi msg ids definitions under vapi_safe.c +- **libhicnctrl**: initialize all the fields of the struct hc_data_t during instantiation. +- **libhicnctrl**: fix initialization of vpp_vapi. +- **libhicnctrl**: Update libhicnctrl from new forwarder +- **portal.h**: improve handling of unknown packet formats in libtransport. +- **rc.cc**: fix error in reed solomon fec when passing packets back to caller. +- publish unit test reports for all tests executables +- cleanup redundant file +- **libhicnctrl**: add missing face.c to libhicnctrl source files +- **Jenkinsfile**: fix version of jenkins shared library +- **auth**: include fec header in packet signature +- **CmakeLists.txt**: fix install path of projects. +- **vpp-memif.yaml**: fix IPv6 memif connection between 2 VPPs involved in test. +- **hicn-plugin**: include vapi source code in src and includes folders. +- **cmake**: Fetch submodule containing modules as first action in root CMakeLists.txt + +### Feat + +- **add-build-number-to-deb-package-name**: Ref: SPT-759 Add build number to deb package name, if defined #promote 2.9 +- **versions.cmake**: correct versions of deps +- **trasnport**: comment on RTT update +- **trasnport**: keep prev rtt in case of no available samples +- **trasnport**: remove moving avg from residual loss rate +- **transport**: add avg rtt +- create deb packages +- upgrade to new pipelines library version +- upgrade to new pipelines library version +- **fec**: add metadata support to reedsolomon. +- **Jenkinsfile**: Add robot threshold configuration. + +## v1.0.0 (2021-11-05) + +### Feat + +- **versions.cmake**: correct versions of deps +- **trasnport**: comment on RTT update +- **trasnport**: keep prev rtt in case of no available samples +- **trasnport**: remove moving avg from residual loss rate +- **transport**: add avg rtt +- create deb packages +- upgrade to new pipelines library version +- upgrade to new pipelines library version +- **fec**: add metadata support to reedsolomon. +- **Jenkinsfile**: Add robot threshold configuration. + +### Fix + +- **versions.cmake**: wrong dep versions +- **Dockerfile-gcc**: pass branch name env variable to dockerfile +- **cmake**: create packages with right version name and repo name corrected +- **libconfig**: correct libconfig version +- ICN-1047, adding Android support for hc_sock_create_forwarder +- **libhicnctrl**: unused file descriptor was closed when freeing the libhicnctrl socket. +- **vapi_safe**: groupp all vapi msg ids definitions under vapi_safe.c +- **libhicnctrl**: initialize all the fields of the struct hc_data_t during instantiation. +- **libhicnctrl**: fix initialization of vpp_vapi. +- **libhicnctrl**: Update libhicnctrl from new forwarder +- **portal.h**: improve handling of unknown packet formats in libtransport. +- **rc.cc**: fix error in reed solomon fec when passing packets back to caller. +- publish unit test reports for all tests executables +- cleanup redundant file +- **libhicnctrl**: add missing face.c to libhicnctrl source files +- **Jenkinsfile**: fix version of jenkins shared library +- **auth**: include fec header in packet signature +- **CmakeLists.txt**: fix install path of projects. +- **vpp-memif.yaml**: fix IPv6 memif connection between 2 VPPs involved in test. +- **hicn-plugin**: include vapi source code in src and includes folders. +- **cmake**: Fetch submodule containing modules as first action in root CMakeLists.txt + +## v21.06-rc0 (2021-07-20) + +## v21.01-rc0 (2021-02-10) + +## v20.05-release (2020-11-11) + +## v20.01 (2020-01-30) + +## v19.08 (2019-08-14) + +## v19.04 (2019-04-29) + +## v19.01 (2019-01-25) |