diff options
author | Luca Muscariello <lumuscar@cisco.com> | 2022-06-09 21:34:09 +0200 |
---|---|---|
committer | Luca Muscariello <muscariello@ieee.org> | 2022-06-30 10:47:50 +0200 |
commit | 6b94663b2455e212009a544ae23bb6a8c55407f8 (patch) | |
tree | 0af780ce5eeb1009fd24b8af8af08e8368eda3bd /hicn-light/src/hicn/cli/hicnc.c | |
parent | a1ac96f497719b897793ac14b287cb8d840651c1 (diff) |
refactor(lib, hicn-light, vpp, hiperf): HICN-723
- move infra data structure into the shared lib
- new packet cache using double hashing and lookup on prefix suffix
- testing updates
- authenticated requests using interest manifests
Co-authored-by: Mauro Sardara <msardara@cisco.com>
Co-authored-by: Jordan Augé <jordan.auge+fdio@cisco.com>
Co-authored-by: Michele Papalini <micpapal@cisco.com>
Co-authored-by: Olivier Roques <oroques+fdio@cisco.com>
Co-authored-by: Enrico Loparco <eloparco@cisco.com>
Change-Id: Iaddebfe6aa5279ea8553433b0f519578f6b9ccd9
Signed-off-by: Luca Muscariello <muscariello@ieee.org>
Diffstat (limited to 'hicn-light/src/hicn/cli/hicnc.c')
-rw-r--r-- | hicn-light/src/hicn/cli/hicnc.c | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/hicn-light/src/hicn/cli/hicnc.c b/hicn-light/src/hicn/cli/hicnc.c index d14093b6b..3074016c5 100644 --- a/hicn-light/src/hicn/cli/hicnc.c +++ b/hicn-light/src/hicn/cli/hicnc.c @@ -25,6 +25,7 @@ #include "../config/parse.h" #include <hicn/util/log.h> #include <hicn/util/sstrncpy.h> +#include <hicn/ctrl/hicn-light-ng.h> #define PORT 9695 @@ -359,6 +360,70 @@ int main(int argc, char *const *argv) { rc = hc_subscription_delete(s, &command.object.subscription); break; + case OBJECT_STATS: + switch (command.action) { + case ACTION_GET: + rc = hc_stats_get(s, &data); + if (rc < 0) break; + + hc_stats_snprintf(buf, MAX_LEN, (hicn_light_stats_t *)data->buffer); + INFO("\n%s", buf); + break; + + case ACTION_LIST: + rc = hc_stats_list(s, &data); + if (rc < 0) break; + + cmd_stats_list_item_t *conn_stats = + (cmd_stats_list_item_t *)data->buffer; + cmd_stats_list_item_t *end = + (cmd_stats_list_item_t *)(data->buffer + + data->size * data->out_element_size); + while (conn_stats < end) { + INFO("Connection #%d:", conn_stats->id); + INFO("\tinterests received: %d pkts (%d bytes)", + conn_stats->stats.interests.rx_pkts, + conn_stats->stats.interests.rx_bytes); + INFO("\tinterests transmitted: %d pkts (%d bytes)", + conn_stats->stats.interests.tx_pkts, + conn_stats->stats.interests.tx_bytes); + INFO("\tdata received: %d pkts (%d bytes)", + conn_stats->stats.data.rx_pkts, + conn_stats->stats.data.rx_bytes); + INFO("\tdata transmitted: %d pkts (%d bytes)", + conn_stats->stats.data.tx_pkts, + conn_stats->stats.data.tx_bytes); + + conn_stats++; + } + break; + + default: + break; + } + break; + +#ifdef TEST_FACE_CREATION + case OBJECT_FACE: + switch (command.action) { + case ACTION_CREATE: { + hc_face_t face = {0}; + face.face.type = FACE_TYPE_UDP; + face.face.family = AF_INET; + face.face.local_addr = IPV4_LOOPBACK; + face.face.remote_addr = IPV4_LOOPBACK; + face.face.local_port = 9696; + face.face.remote_port = 9696; + + rc = hc_face_create(s, &face); + break; + } + default: + break; + } + break; +#endif + default: break; } |