From 88509fe353767cbde707c3e3b1f29392957819f3 Mon Sep 17 00:00:00 2001 From: Mauro Sardara Date: Tue, 24 Mar 2020 17:34:14 +0000 Subject: [HICN-574] Host stack plugin for VPP. Signed-off-by: Mauro Sardara Change-Id: I8d8fdffef31a7013265d6529c5f52f3d5ec70d18 Signed-off-by: Mauro Sardara Signed-off-by: Mauro Signed-off-by: Mauro Sardara --- lib/src/CMakeLists.txt | 4 ++-- lib/src/ops.c | 1 + lib/src/protocol/ah.c | 3 ++- lib/src/protocol/icmp.c | 1 + lib/src/protocol/ipv4.c | 6 ++++++ lib/src/protocol/ipv6.c | 6 ++++++ lib/src/protocol/tcp.c | 7 +++++++ 7 files changed, 25 insertions(+), 3 deletions(-) (limited to 'lib/src') diff --git a/lib/src/CMakeLists.txt b/lib/src/CMakeLists.txt index 7eecaf775..49b735f51 100644 --- a/lib/src/CMakeLists.txt +++ b/lib/src/CMakeLists.txt @@ -42,7 +42,7 @@ if (DISABLE_SHARED_LIBRARIES) COMPONENT lib${LIBHICN} INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/../includes DEFINITIONS ${COMPILER_DEFINITIONS} - INSTALL_ROOT_DIR hicn + HEADER_ROOT_DIR hicn INSTALL_HEADERS ${LIBHICN_HEADER_FILES} ${LIBHICN_HEADER_FILES_PROTOCOL} ${LIBHICN_HEADER_FILES_UTIL} LINK_LIBRARIES ${WSOCK32_LIBRARY} ${WS2_32_LIBRARY} ) @@ -53,7 +53,7 @@ else () COMPONENT lib${LIBHICN} INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/../includes DEFINITIONS ${COMPILER_DEFINITIONS} - INSTALL_ROOT_DIR hicn + HEADER_ROOT_DIR hicn INSTALL_HEADERS ${LIBHICN_HEADER_FILES} ${LIBHICN_HEADER_FILES_PROTOCOL} ${LIBHICN_HEADER_FILES_UTIL} LINK_LIBRARIES ${WSOCK32_LIBRARY} ${WS2_32_LIBRARY} ) diff --git a/lib/src/ops.c b/lib/src/ops.c index d49138398..919567721 100644 --- a/lib/src/ops.c +++ b/lib/src/ops.c @@ -42,6 +42,7 @@ DECLARE_get_interest_name_suffix (none, NONE); DECLARE_set_interest_name_suffix (none, NONE); DECLARE_mark_packet_as_interest (none, NONE); DECLARE_mark_packet_as_data (none, NONE); +DECLARE_test_packet_is_interest (none, NONE); DECLARE_reset_interest_for_hash (none, NONE); DECLARE_get_data_locator (none, NONE); DECLARE_set_data_locator (none, NONE); diff --git a/lib/src/protocol/ah.c b/lib/src/protocol/ah.c index da08d1ee8..6f143238a 100644 --- a/lib/src/protocol/ah.c +++ b/lib/src/protocol/ah.c @@ -32,7 +32,8 @@ DECLARE_set_interest_name (ah, UNEXPECTED); DECLARE_get_interest_name_suffix (ah, UNEXPECTED); DECLARE_set_interest_name_suffix (ah, UNEXPECTED); DECLARE_mark_packet_as_interest (ah, UNEXPECTED) -DECLARE_mark_packet_as_data (ah, UNEXPECTED) +DECLARE_mark_packet_as_data (ah, UNEXPECTED); +DECLARE_test_packet_is_interest (ah, UNEXPECTED); DECLARE_get_data_locator (ah, UNEXPECTED); DECLARE_set_data_locator (ah, UNEXPECTED); DECLARE_get_data_name (ah, UNEXPECTED); diff --git a/lib/src/protocol/icmp.c b/lib/src/protocol/icmp.c index b24c0f11e..40a93b099 100644 --- a/lib/src/protocol/icmp.c +++ b/lib/src/protocol/icmp.c @@ -27,6 +27,7 @@ DECLARE_get_interest_name_suffix (icmp, UNEXPECTED) DECLARE_set_interest_name_suffix (icmp, UNEXPECTED) DECLARE_mark_packet_as_interest (icmp, UNEXPECTED) DECLARE_mark_packet_as_data (icmp, UNEXPECTED) +DECLARE_test_packet_is_interest (icmp, UNEXPECTED) DECLARE_get_data_locator (icmp, UNEXPECTED) DECLARE_set_data_locator (icmp, UNEXPECTED) DECLARE_get_data_name (icmp, UNEXPECTED) diff --git a/lib/src/protocol/ipv4.c b/lib/src/protocol/ipv4.c index 5ad4ddbfa..4bab9980b 100644 --- a/lib/src/protocol/ipv4.c +++ b/lib/src/protocol/ipv4.c @@ -116,6 +116,12 @@ ipv4_mark_packet_as_data (hicn_type_t type, hicn_protocol_t * h) return CHILD_OPS (mark_packet_as_data, type, h); } +int +ipv4_test_packet_is_interest (hicn_type_t type, hicn_protocol_t * h, u8 *ret) +{ + return CHILD_OPS (test_packet_is_interest, type, h, ret); +} + int ipv4_reset_interest_for_hash (hicn_type_t type, hicn_protocol_t * h) { diff --git a/lib/src/protocol/ipv6.c b/lib/src/protocol/ipv6.c index 9db3e3a17..b0ba3117d 100644 --- a/lib/src/protocol/ipv6.c +++ b/lib/src/protocol/ipv6.c @@ -106,6 +106,12 @@ ipv6_mark_packet_as_data (hicn_type_t type, hicn_protocol_t * h) return CHILD_OPS (mark_packet_as_data, type, h); } +int +ipv6_test_packet_is_interest (hicn_type_t type, hicn_protocol_t * h, u8 *ret) +{ + return CHILD_OPS (test_packet_is_interest, type, h, ret); +} + int ipv6_reset_interest_for_hash (hicn_type_t type, hicn_protocol_t * h) { diff --git a/lib/src/protocol/tcp.c b/lib/src/protocol/tcp.c index 31c495ff4..ec1eb27dc 100644 --- a/lib/src/protocol/tcp.c +++ b/lib/src/protocol/tcp.c @@ -96,6 +96,13 @@ tcp_mark_packet_as_data (hicn_type_t type, hicn_protocol_t * h) return HICN_LIB_ERROR_NONE; } +int +tcp_test_packet_is_interest (hicn_type_t type, hicn_protocol_t * h, u8 *ret) +{ + *ret = !(h->tcp.flags & HICN_TCP_FLAG_ECE); + return HICN_LIB_ERROR_NONE; +} + int tcp_reset_interest_for_hash (hicn_type_t type, hicn_protocol_t * h) { -- cgit 1.2.3-korg