From 6b94663b2455e212009a544ae23bb6a8c55407f8 Mon Sep 17 00:00:00 2001 From: Luca Muscariello Date: Thu, 9 Jun 2022 21:34:09 +0200 Subject: 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 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Mauro Sardara Co-authored-by: Jordan Augé Co-authored-by: Michele Papalini Co-authored-by: Olivier Roques Co-authored-by: Enrico Loparco Change-Id: Iaddebfe6aa5279ea8553433b0f519578f6b9ccd9 Signed-off-by: Luca Muscariello --- lib/src/protocol/ah.c | 4 ++++ lib/src/protocol/icmp.c | 4 ++++ lib/src/protocol/ipv4.c | 25 +++++++++++++++++++++++++ lib/src/protocol/ipv6.c | 25 +++++++++++++++++++++++++ lib/src/protocol/new.c | 5 +++++ lib/src/protocol/tcp.c | 29 +++++++++++++++++++++++++++++ lib/src/protocol/udp.c | 29 +++++++++++++++++++++++++++++ 7 files changed, 121 insertions(+) (limited to 'lib/src/protocol') diff --git a/lib/src/protocol/ah.c b/lib/src/protocol/ah.c index b3d24161d..c9ed40179 100644 --- a/lib/src/protocol/ah.c +++ b/lib/src/protocol/ah.c @@ -45,6 +45,10 @@ DECLARE_set_data_pathlabel (ah, UNEXPECTED); DECLARE_update_data_pathlabel (ah, UNEXPECTED); DECLARE_get_lifetime (ah, UNEXPECTED); DECLARE_set_lifetime (ah, UNEXPECTED); +DECLARE_get_source_port (ah, UNEXPECTED); +DECLARE_get_dest_port (ah, UNEXPECTED); +DECLARE_set_source_port (ah, UNEXPECTED); +DECLARE_set_dest_port (ah, UNEXPECTED); DECLARE_get_payload_length (ah, UNEXPECTED); DECLARE_set_payload_length (ah, UNEXPECTED); DECLARE_get_payload_type (ah, UNEXPECTED); diff --git a/lib/src/protocol/icmp.c b/lib/src/protocol/icmp.c index 0452e4fbb..1fc6c7d2f 100644 --- a/lib/src/protocol/icmp.c +++ b/lib/src/protocol/icmp.c @@ -38,6 +38,10 @@ DECLARE_set_data_pathlabel (icmp, UNEXPECTED); DECLARE_update_data_pathlabel (icmp, UNEXPECTED); DECLARE_get_lifetime (icmp, UNEXPECTED); DECLARE_set_lifetime (icmp, UNEXPECTED); +DECLARE_get_source_port (icmp, UNEXPECTED); +DECLARE_get_dest_port (icmp, UNEXPECTED); +DECLARE_set_source_port (icmp, UNEXPECTED); +DECLARE_set_dest_port (icmp, UNEXPECTED); DECLARE_get_length (icmp, UNEXPECTED); DECLARE_get_payload_length (icmp, UNEXPECTED); DECLARE_set_payload_length (icmp, UNEXPECTED); diff --git a/lib/src/protocol/ipv4.c b/lib/src/protocol/ipv4.c index 5d445f018..840fbe34b 100644 --- a/lib/src/protocol/ipv4.c +++ b/lib/src/protocol/ipv4.c @@ -227,6 +227,31 @@ ipv4_set_lifetime (hicn_type_t type, hicn_protocol_t *h, return CHILD_OPS (set_lifetime, type, h, lifetime); } +int +ipv4_get_source_port (hicn_type_t type, const hicn_protocol_t *h, + u16 *source_port) +{ + return CHILD_OPS (get_source_port, type, h, source_port); +} + +int +ipv4_get_dest_port (hicn_type_t type, const hicn_protocol_t *h, u16 *dest_port) +{ + return CHILD_OPS (get_dest_port, type, h, dest_port); +} + +int +ipv4_set_source_port (hicn_type_t type, hicn_protocol_t *h, u16 source_port) +{ + return CHILD_OPS (set_source_port, type, h, source_port); +} + +int +ipv4_set_dest_port (hicn_type_t type, hicn_protocol_t *h, u16 dest_port) +{ + return CHILD_OPS (set_dest_port, type, h, dest_port); +} + int ipv4_update_checksums (hicn_type_t type, hicn_protocol_t *h, u16 partial_csum, size_t payload_length) diff --git a/lib/src/protocol/ipv6.c b/lib/src/protocol/ipv6.c index b3a107a13..b3c543249 100644 --- a/lib/src/protocol/ipv6.c +++ b/lib/src/protocol/ipv6.c @@ -211,6 +211,31 @@ ipv6_set_lifetime (hicn_type_t type, hicn_protocol_t *h, return CHILD_OPS (set_lifetime, type, h, lifetime); } +int +ipv6_get_source_port (hicn_type_t type, const hicn_protocol_t *h, + u16 *source_port) +{ + return CHILD_OPS (get_source_port, type, h, source_port); +} + +int +ipv6_get_dest_port (hicn_type_t type, const hicn_protocol_t *h, u16 *dest_port) +{ + return CHILD_OPS (get_dest_port, type, h, dest_port); +} + +int +ipv6_set_source_port (hicn_type_t type, hicn_protocol_t *h, u16 source_port) +{ + return CHILD_OPS (set_source_port, type, h, source_port); +} + +int +ipv6_set_dest_port (hicn_type_t type, hicn_protocol_t *h, u16 dest_port) +{ + return CHILD_OPS (set_dest_port, type, h, dest_port); +} + int ipv6_update_checksums (hicn_type_t type, hicn_protocol_t *h, u16 partial_csum, size_t payload_length) diff --git a/lib/src/protocol/new.c b/lib/src/protocol/new.c index 8c79963ad..07c1d0d76 100644 --- a/lib/src/protocol/new.c +++ b/lib/src/protocol/new.c @@ -22,6 +22,11 @@ #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wunused-function" +DECLARE_get_source_port (new, UNEXPECTED); +DECLARE_get_dest_port (new, UNEXPECTED); +DECLARE_set_source_port (new, UNEXPECTED); +DECLARE_set_dest_port (new, UNEXPECTED); + static int is_interest (u8 flags) { diff --git a/lib/src/protocol/tcp.c b/lib/src/protocol/tcp.c index 8097cfd12..82fc461ea 100644 --- a/lib/src/protocol/tcp.c +++ b/lib/src/protocol/tcp.c @@ -250,6 +250,35 @@ tcp_set_lifetime (hicn_type_t type, hicn_protocol_t *h, return HICN_LIB_ERROR_NONE; } +int +tcp_get_source_port (hicn_type_t type, const hicn_protocol_t *h, + u16 *source_port) +{ + *source_port = ntohs (h->tcp.sport); + return HICN_LIB_ERROR_NONE; +} + +int +tcp_get_dest_port (hicn_type_t type, const hicn_protocol_t *h, u16 *dest_port) +{ + *dest_port = ntohs (h->tcp.dport); + return HICN_LIB_ERROR_NONE; +} + +int +tcp_set_source_port (hicn_type_t type, hicn_protocol_t *h, u16 source_port) +{ + h->tcp.sport = htons (source_port); + return HICN_LIB_ERROR_NONE; +} + +int +tcp_set_dest_port (hicn_type_t type, hicn_protocol_t *h, u16 dest_port) +{ + h->tcp.dport = htons (dest_port); + return HICN_LIB_ERROR_NONE; +} + int tcp_update_checksums (hicn_type_t type, hicn_protocol_t *h, u16 partial_csum, size_t payload_length) diff --git a/lib/src/protocol/udp.c b/lib/src/protocol/udp.c index ee46b8e9d..7a14b09c2 100644 --- a/lib/src/protocol/udp.c +++ b/lib/src/protocol/udp.c @@ -142,6 +142,35 @@ udp_set_lifetime (hicn_type_t type, hicn_protocol_t *h, return CHILD_OPS (set_lifetime, type, h, lifetime); } +int +udp_get_source_port (hicn_type_t type, const hicn_protocol_t *h, + u16 *source_port) +{ + *source_port = ntohs (h->udp.src_port); + return HICN_LIB_ERROR_NONE; +} + +int +udp_get_dest_port (hicn_type_t type, const hicn_protocol_t *h, u16 *dest_port) +{ + *dest_port = ntohs (h->udp.dst_port); + return HICN_LIB_ERROR_NONE; +} + +int +udp_set_source_port (hicn_type_t type, hicn_protocol_t *h, u16 source_port) +{ + h->udp.src_port = htons (source_port); + return HICN_LIB_ERROR_NONE; +} + +int +udp_set_dest_port (hicn_type_t type, hicn_protocol_t *h, u16 dest_port) +{ + h->udp.dst_port = htons (dest_port); + return HICN_LIB_ERROR_NONE; +} + int udp_update_checksums (hicn_type_t type, hicn_protocol_t *h, u16 partial_csum, size_t payload_length) -- cgit 1.2.3-korg