diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/CMakeLists.txt | 1 | ||||
-rw-r--r-- | lib/doc/CMakeLists.txt | 35 | ||||
-rw-r--r-- | lib/doc/Doxyfile.in | 12 | ||||
-rw-r--r-- | lib/includes/hicn/ops.h | 24 | ||||
-rw-r--r-- | lib/includes/hicn/protocol/tcp.h | 8 | ||||
-rw-r--r-- | lib/src/ops.c | 2 | ||||
-rw-r--r-- | lib/src/protocol/ah.c | 2 | ||||
-rw-r--r-- | lib/src/protocol/icmp.c | 2 | ||||
-rw-r--r-- | lib/src/protocol/ipv4.c | 12 | ||||
-rw-r--r-- | lib/src/protocol/ipv6.c | 12 | ||||
-rw-r--r-- | lib/src/protocol/tcp.c | 14 |
11 files changed, 68 insertions, 56 deletions
diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 3cc40bb7f..0512b7c64 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -48,5 +48,4 @@ endif () add_subdirectory(includes) add_subdirectory (src) -add_subdirectory (doc) diff --git a/lib/doc/CMakeLists.txt b/lib/doc/CMakeLists.txt deleted file mode 100644 index 135addc09..000000000 --- a/lib/doc/CMakeLists.txt +++ /dev/null @@ -1,35 +0,0 @@ -# add a target to generate API documentation with Doxygen -find_package(Doxygen) -option(BUILD_DOCUMENTATION "Create and install the HTML based API documentation (requires Doxygen)" ${DOXYGEN_FOUND}) - -if(BUILD_DOCUMENTATION) - if(NOT DOXYGEN_FOUND) - message(FATAL_ERROR "Doxygen is needed to build the documentation.") - endif() - - set(doxy_main_page ${CMAKE_CURRENT_SOURCE_DIR}/../README.md) - set(doxyfile_in ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in) - set(doxyfile ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile) - - # extract version from git - execute_process( - COMMAND git describe --long --match v* - WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} - OUTPUT_VARIABLE VERSION - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - - if (NOT VERSION) - set(VERSION "v1.0-1-gcafe") - endif() - - configure_file(${doxyfile_in} ${doxyfile} @ONLY) - - add_custom_target(doc - COMMAND ${DOXYGEN_EXECUTABLE} ${doxyfile} - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} - COMMENT "Generating API documentation with Doxygen" - VERBATIM) - - install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html DESTINATION share/doc OPTIONAL) -endif() diff --git a/lib/doc/Doxyfile.in b/lib/doc/Doxyfile.in deleted file mode 100644 index a28fb3a1a..000000000 --- a/lib/doc/Doxyfile.in +++ /dev/null @@ -1,12 +0,0 @@ -PROJECT_NAME = "Hybrid ICN (hICN)" -PROJECT_NUMBER = @VERSION@ -STRIP_FROM_PATH = @PROJECT_SOURCE_DIR@ \ - @PROJECT_BINARY_DIR@ -INPUT = @doxy_main_page@ \ - @PROJECT_SOURCE_DIR@ \ - @PROJECT_BINARY_DIR@ -FILE_PATTERNS = *.md \ - *.h \ - *.cc -RECURSIVE = YES -USE_MDFILE_AS_MAINPAGE = @doxy_main_page@ diff --git a/lib/includes/hicn/ops.h b/lib/includes/hicn/ops.h index 47795efd5..e8feff92d 100644 --- a/lib/includes/hicn/ops.h +++ b/lib/includes/hicn/ops.h @@ -106,6 +106,22 @@ typedef struct hicn_ops_s const hicn_name_suffix_t * suffix); /** + * @brief Set flag to mark current packet as interest + * @param [in] type - hICN packet type + * @param [in,out] h - Buffer holding the Interest packet + * @return hICN error code + */ + int (*mark_packet_as_interest) (hicn_type_t type, hicn_protocol_t * h); + + /** + * @brief Set flag to mark current packet as data + * @param [in] type - hICN packet type + * @param [in,out] h - Buffer holding the Interest packet + * @return hICN error code + */ + int (*mark_packet_as_data) (hicn_type_t type, hicn_protocol_t * h); + + /** * @brief Clear the necessary Interest fields in order to hash it * @param [in] type - hICN packet type * @param [in,out] h - Buffer holding the Interest packet @@ -438,6 +454,8 @@ typedef struct hicn_ops_s ATTR_INIT(set_interest_name, protocol ## _set_interest_name), \ ATTR_INIT(get_interest_name_suffix, protocol ## _get_interest_name_suffix), \ ATTR_INIT(set_interest_name_suffix, protocol ## _set_interest_name_suffix), \ + ATTR_INIT(mark_packet_as_interest, protocol ## _mark_packet_as_interest), \ + ATTR_INIT(mark_packet_as_data, protocol ## _mark_packet_as_data), \ ATTR_INIT(reset_interest_for_hash, protocol ## _reset_interest_for_hash), \ ATTR_INIT(get_data_locator, protocol ## _get_data_locator), \ ATTR_INIT(set_data_locator, protocol ## _set_data_locator), \ @@ -537,6 +555,12 @@ PAYLOAD (hicn_type_t type, const hicn_protocol_t * h) #define DECLARE_set_interest_name_suffix(protocol, error) \ int protocol ## _set_interest_name_suffix(hicn_type_t type, hicn_protocol_t * h, const hicn_name_suffix_t * suffix) { return HICN_LIB_ERROR_ ## error ; } +#define DECLARE_mark_packet_as_interest(protocol, error) \ + int protocol ## _mark_packet_as_interest(hicn_type_t type, hicn_protocol_t * h) { return HICN_LIB_ERROR_ ## error ; } + +#define DECLARE_mark_packet_as_data(protocol, error) \ + int protocol ## _mark_packet_as_data(hicn_type_t type, hicn_protocol_t * h) { return HICN_LIB_ERROR_ ## error ; } + #define DECLARE_reset_interest_for_hash(protocol, error) \ int protocol ## _reset_interest_for_hash(hicn_type_t type, hicn_protocol_t * h) { return HICN_LIB_ERROR_ ## error ; } diff --git a/lib/includes/hicn/protocol/tcp.h b/lib/includes/hicn/protocol/tcp.h index ded9a06b2..347682299 100644 --- a/lib/includes/hicn/protocol/tcp.h +++ b/lib/includes/hicn/protocol/tcp.h @@ -128,8 +128,6 @@ typedef struct static_assert (EXPECTED_TCP_HDRLEN == TCP_HDRLEN, "Size of TCP struct does not match its expected size."); -#ifndef HICN_VPP_PLUGIN - /* TCP flags bit 0 first. */ #define foreach_tcp_flag \ _ (FIN) /**< No more data from sender. */ \ @@ -156,12 +154,6 @@ enum #undef _ }; -#endif /* HICN_VPP_PLUGIN */ - -// get_data_name_suffix -// name->ip4.suffix = h->v4.tcp.seq; - - #endif /* HICN_PROTOCOL_TCP_H */ /* diff --git a/lib/src/ops.c b/lib/src/ops.c index 9bb78be65..d49138398 100644 --- a/lib/src/ops.c +++ b/lib/src/ops.c @@ -40,6 +40,8 @@ DECLARE_get_interest_name (none, NONE); DECLARE_set_interest_name (none, NONE); 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_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 c2f3f552a..da08d1ee8 100644 --- a/lib/src/protocol/ah.c +++ b/lib/src/protocol/ah.c @@ -31,6 +31,8 @@ DECLARE_get_interest_name (ah, UNEXPECTED); 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_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 85605a2c3..b24c0f11e 100644 --- a/lib/src/protocol/icmp.c +++ b/lib/src/protocol/icmp.c @@ -25,6 +25,8 @@ DECLARE_get_interest_name (icmp, UNEXPECTED) DECLARE_set_interest_name (icmp, UNEXPECTED) 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_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 d8d958350..781907231 100644 --- a/lib/src/protocol/ipv4.c +++ b/lib/src/protocol/ipv4.c @@ -109,6 +109,18 @@ ipv4_set_interest_name_suffix (hicn_type_t type, hicn_protocol_t * h, } int +ipv4_mark_packet_as_interest (hicn_type_t type, hicn_protocol_t * h) +{ + return CHILD_OPS (mark_packet_as_interest, type, h); +} + +int +ipv4_mark_packet_as_data (hicn_type_t type, hicn_protocol_t * h) +{ + return CHILD_OPS (mark_packet_as_data, type, h); +} + +int ipv4_reset_interest_for_hash (hicn_type_t type, hicn_protocol_t * h) { /* Sets everything to 0 up to IP destination address */ diff --git a/lib/src/protocol/ipv6.c b/lib/src/protocol/ipv6.c index 622355294..f23b01cd8 100644 --- a/lib/src/protocol/ipv6.c +++ b/lib/src/protocol/ipv6.c @@ -99,6 +99,18 @@ ipv6_set_interest_name_suffix (hicn_type_t type, hicn_protocol_t * h, } int +ipv6_mark_packet_as_interest (hicn_type_t type, hicn_protocol_t * h) +{ + return CHILD_OPS (mark_packet_as_interest, type, h); +} + +int +ipv6_mark_packet_as_data (hicn_type_t type, hicn_protocol_t * h) +{ + return CHILD_OPS (mark_packet_as_data, type, h); +} + +int ipv6_reset_interest_for_hash (hicn_type_t type, hicn_protocol_t * h) { /* Sets everything to 0 up to IP destination address */ diff --git a/lib/src/protocol/tcp.c b/lib/src/protocol/tcp.c index 0e3155020..31c495ff4 100644 --- a/lib/src/protocol/tcp.c +++ b/lib/src/protocol/tcp.c @@ -83,6 +83,20 @@ tcp_set_interest_name_suffix (hicn_type_t type, hicn_protocol_t * h, } int +tcp_mark_packet_as_interest (hicn_type_t type, hicn_protocol_t * h) +{ + h->tcp.flags &= ~HICN_TCP_FLAG_ECE; + return HICN_LIB_ERROR_NONE; +} + +int +tcp_mark_packet_as_data (hicn_type_t type, hicn_protocol_t * h) +{ + 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) { memset (&(h->tcp), 0, 4); |