From 43acd37f52812a152e4ebda9e30598fa226c1d09 Mon Sep 17 00:00:00 2001 From: Mauro Sardara Date: Fri, 17 Apr 2020 13:41:08 +0200 Subject: [HICN-597] Add API to mark packet as interest/data. Change-Id: I1106211d3cac63d0817d4908bd03d6a0ccd2b8e0 Signed-off-by: Mauro Sardara --- lib/src/compat.c | 72 ++++++++++++++++++++++++------------------------- lib/src/ops.c | 2 ++ lib/src/protocol/ah.c | 2 ++ lib/src/protocol/icmp.c | 2 ++ lib/src/protocol/ipv4.c | 12 +++++++++ lib/src/protocol/ipv6.c | 12 +++++++++ lib/src/protocol/tcp.c | 14 ++++++++++ 7 files changed, 80 insertions(+), 36 deletions(-) (limited to 'lib/src') diff --git a/lib/src/compat.c b/lib/src/compat.c index 615175e3b..5473aaca8 100644 --- a/lib/src/compat.c +++ b/lib/src/compat.c @@ -543,10 +543,10 @@ hicn_packet_get_payload_type (const hicn_header_t * h, switch (HICN_IP_VERSION (h)) { case 6: - *payload_type = ((h->v6.tcp.flags & HICN_TCP_FLAG_URG) == HICN_TCP_FLAG_URG); + *payload_type = ((h->v6.tcp.flags & TCP_FLAG_URG) == TCP_FLAG_URG); break; case 4: - *payload_type = ((h->v4.tcp.flags & HICN_TCP_FLAG_URG) == HICN_TCP_FLAG_URG); + *payload_type = ((h->v4.tcp.flags & TCP_FLAG_URG) == TCP_FLAG_URG); break; default: return HICN_LIB_ERROR_UNEXPECTED; @@ -573,15 +573,15 @@ hicn_packet_set_payload_type (hicn_header_t * h, { case 6: if (payload_type) - h->v6.tcp.flags = h->v6.tcp.flags | HICN_TCP_FLAG_URG; + h->v6.tcp.flags = h->v6.tcp.flags | TCP_FLAG_URG; else - h->v6.tcp.flags = h->v6.tcp.flags & ~HICN_TCP_FLAG_URG; + h->v6.tcp.flags = h->v6.tcp.flags & ~TCP_FLAG_URG; break; case 4: if (payload_type) - h->v4.tcp.flags = h->v4.tcp.flags | HICN_TCP_FLAG_URG; + h->v4.tcp.flags = h->v4.tcp.flags | TCP_FLAG_URG; else - h->v4.tcp.flags = h->v4.tcp.flags & ~HICN_TCP_FLAG_URG; + h->v4.tcp.flags = h->v4.tcp.flags & ~TCP_FLAG_URG; break; default: return HICN_LIB_ERROR_UNEXPECTED; @@ -596,10 +596,10 @@ hicn_packet_set_syn (hicn_header_t * h) switch (HICN_IP_VERSION (h)) { case 6: - h->v6.tcp.flags = h->v6.tcp.flags | HICN_TCP_FLAG_SYN; + h->v6.tcp.flags = h->v6.tcp.flags | TCP_FLAG_SYN; break; case 4: - h->v4.tcp.flags = h->v4.tcp.flags | HICN_TCP_FLAG_SYN; + h->v4.tcp.flags = h->v4.tcp.flags | TCP_FLAG_SYN; break; default: return HICN_LIB_ERROR_UNEXPECTED; @@ -613,10 +613,10 @@ hicn_packet_reset_syn (hicn_header_t * h) switch (HICN_IP_VERSION (h)) { case 6: - h->v6.tcp.flags = h->v6.tcp.flags & ~HICN_TCP_FLAG_SYN; + h->v6.tcp.flags = h->v6.tcp.flags & ~TCP_FLAG_SYN; break; case 4: - h->v4.tcp.flags = h->v4.tcp.flags & ~HICN_TCP_FLAG_SYN; + h->v4.tcp.flags = h->v4.tcp.flags & ~TCP_FLAG_SYN; break; default: return HICN_LIB_ERROR_UNEXPECTED; @@ -630,10 +630,10 @@ hicn_packet_test_syn (const hicn_header_t * h, bool * flag) switch (HICN_IP_VERSION (h)) { case 6: - *flag = h->v6.tcp.flags & HICN_TCP_FLAG_SYN; + *flag = h->v6.tcp.flags & TCP_FLAG_SYN; break; case 4: - *flag = h->v4.tcp.flags & HICN_TCP_FLAG_SYN; + *flag = h->v4.tcp.flags & TCP_FLAG_SYN; break; default: return HICN_LIB_ERROR_UNEXPECTED; @@ -647,10 +647,10 @@ hicn_packet_set_ack (hicn_header_t * h) switch (HICN_IP_VERSION (h)) { case 6: - h->v6.tcp.flags = h->v6.tcp.flags | HICN_TCP_FLAG_ACK; + h->v6.tcp.flags = h->v6.tcp.flags | TCP_FLAG_ACK; break; case 4: - h->v4.tcp.flags = h->v4.tcp.flags | HICN_TCP_FLAG_ACK; + h->v4.tcp.flags = h->v4.tcp.flags | TCP_FLAG_ACK; break; default: return HICN_LIB_ERROR_UNEXPECTED; @@ -664,10 +664,10 @@ hicn_packet_reset_ack (hicn_header_t * h) switch (HICN_IP_VERSION (h)) { case 6: - h->v6.tcp.flags = h->v6.tcp.flags & ~HICN_TCP_FLAG_ACK; + h->v6.tcp.flags = h->v6.tcp.flags & ~TCP_FLAG_ACK; break; case 4: - h->v4.tcp.flags = h->v4.tcp.flags & ~HICN_TCP_FLAG_ACK; + h->v4.tcp.flags = h->v4.tcp.flags & ~TCP_FLAG_ACK; break; default: return HICN_LIB_ERROR_UNEXPECTED; @@ -681,10 +681,10 @@ hicn_packet_test_ack (const hicn_header_t * h, bool * flag) switch (HICN_IP_VERSION (h)) { case 6: - *flag = h->v6.tcp.flags & HICN_TCP_FLAG_ACK; + *flag = h->v6.tcp.flags & TCP_FLAG_ACK; break; case 4: - *flag = h->v4.tcp.flags & HICN_TCP_FLAG_ACK; + *flag = h->v4.tcp.flags & TCP_FLAG_ACK; break; default: return HICN_LIB_ERROR_UNEXPECTED; @@ -698,10 +698,10 @@ hicn_packet_set_rst (hicn_header_t * h) switch (HICN_IP_VERSION (h)) { case 6: - h->v6.tcp.flags = h->v6.tcp.flags | HICN_TCP_FLAG_RST; + h->v6.tcp.flags = h->v6.tcp.flags | TCP_FLAG_RST; break; case 4: - h->v4.tcp.flags = h->v4.tcp.flags | HICN_TCP_FLAG_RST; + h->v4.tcp.flags = h->v4.tcp.flags | TCP_FLAG_RST; break; default: return HICN_LIB_ERROR_UNEXPECTED; @@ -715,10 +715,10 @@ hicn_packet_reset_rst (hicn_header_t * h) switch (HICN_IP_VERSION (h)) { case 6: - h->v6.tcp.flags = h->v6.tcp.flags & ~HICN_TCP_FLAG_RST; + h->v6.tcp.flags = h->v6.tcp.flags & ~TCP_FLAG_RST; break; case 4: - h->v4.tcp.flags = h->v4.tcp.flags & ~HICN_TCP_FLAG_RST; + h->v4.tcp.flags = h->v4.tcp.flags & ~TCP_FLAG_RST; break; default: return HICN_LIB_ERROR_UNEXPECTED; @@ -732,10 +732,10 @@ hicn_packet_test_rst (const hicn_header_t * h, bool * flag) switch (HICN_IP_VERSION (h)) { case 6: - *flag = h->v6.tcp.flags & HICN_TCP_FLAG_RST; + *flag = h->v6.tcp.flags & TCP_FLAG_RST; break; case 4: - *flag = h->v4.tcp.flags & HICN_TCP_FLAG_RST; + *flag = h->v4.tcp.flags & TCP_FLAG_RST; break; default: return HICN_LIB_ERROR_UNEXPECTED; @@ -749,10 +749,10 @@ hicn_packet_set_fin (hicn_header_t * h) switch (HICN_IP_VERSION (h)) { case 6: - h->v6.tcp.flags = h->v6.tcp.flags | HICN_TCP_FLAG_FIN; + h->v6.tcp.flags = h->v6.tcp.flags | TCP_FLAG_FIN; break; case 4: - h->v4.tcp.flags = h->v4.tcp.flags | HICN_TCP_FLAG_FIN; + h->v4.tcp.flags = h->v4.tcp.flags | TCP_FLAG_FIN; break; default: return HICN_LIB_ERROR_UNEXPECTED; @@ -766,10 +766,10 @@ hicn_packet_reset_fin (hicn_header_t * h) switch (HICN_IP_VERSION (h)) { case 6: - h->v6.tcp.flags = h->v6.tcp.flags & ~HICN_TCP_FLAG_FIN; + h->v6.tcp.flags = h->v6.tcp.flags & ~TCP_FLAG_FIN; break; case 4: - h->v4.tcp.flags = h->v4.tcp.flags & ~HICN_TCP_FLAG_FIN; + h->v4.tcp.flags = h->v4.tcp.flags & ~TCP_FLAG_FIN; break; default: return HICN_LIB_ERROR_UNEXPECTED; @@ -783,10 +783,10 @@ hicn_packet_test_fin (const hicn_header_t * h, bool * flag) switch (HICN_IP_VERSION (h)) { case 6: - *flag = h->v6.tcp.flags & HICN_TCP_FLAG_FIN; + *flag = h->v6.tcp.flags & TCP_FLAG_FIN; break; case 4: - *flag = h->v4.tcp.flags & HICN_TCP_FLAG_FIN; + *flag = h->v4.tcp.flags & TCP_FLAG_FIN; break; default: return HICN_LIB_ERROR_UNEXPECTED; @@ -800,10 +800,10 @@ hicn_packet_set_ece (hicn_header_t * h) switch (HICN_IP_VERSION (h)) { case 6: - h->v6.tcp.flags = h->v6.tcp.flags | HICN_TCP_FLAG_ECE; + h->v6.tcp.flags = h->v6.tcp.flags | TCP_FLAG_ECE; break; case 4: - h->v4.tcp.flags = h->v4.tcp.flags | HICN_TCP_FLAG_ECE; + h->v4.tcp.flags = h->v4.tcp.flags | TCP_FLAG_ECE; break; default: return HICN_LIB_ERROR_UNEXPECTED; @@ -817,10 +817,10 @@ hicn_packet_reset_ece (hicn_header_t * h) switch (HICN_IP_VERSION (h)) { case 6: - h->v6.tcp.flags = h->v6.tcp.flags & ~HICN_TCP_FLAG_ECE; + h->v6.tcp.flags = h->v6.tcp.flags & ~TCP_FLAG_ECE; break; case 4: - h->v4.tcp.flags = h->v4.tcp.flags & ~HICN_TCP_FLAG_ECE; + h->v4.tcp.flags = h->v4.tcp.flags & ~TCP_FLAG_ECE; break; default: return HICN_LIB_ERROR_UNEXPECTED; @@ -834,10 +834,10 @@ hicn_packet_test_ece (const hicn_header_t * h, bool * flag) switch (HICN_IP_VERSION (h)) { case 6: - *flag = h->v6.tcp.flags & HICN_TCP_FLAG_ECE; + *flag = h->v6.tcp.flags & TCP_FLAG_ECE; break; case 4: - *flag = h->v4.tcp.flags & HICN_TCP_FLAG_ECE; + *flag = h->v4.tcp.flags & TCP_FLAG_ECE; break; default: return HICN_LIB_ERROR_UNEXPECTED; 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 @@ -108,6 +108,18 @@ ipv4_set_interest_name_suffix (hicn_type_t type, hicn_protocol_t * h, return CHILD_OPS (set_interest_name_suffix, type, h, suffix); } +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) { 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 @@ -98,6 +98,18 @@ ipv6_set_interest_name_suffix (hicn_type_t type, hicn_protocol_t * h, return CHILD_OPS (set_interest_name_suffix, type, h, suffix); } +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) { diff --git a/lib/src/protocol/tcp.c b/lib/src/protocol/tcp.c index 0e3155020..14e07b091 100644 --- a/lib/src/protocol/tcp.c +++ b/lib/src/protocol/tcp.c @@ -82,6 +82,20 @@ tcp_set_interest_name_suffix (hicn_type_t type, hicn_protocol_t * h, return HICN_LIB_ERROR_NONE; } +int +tcp_mark_packet_as_interest (hicn_type_t type, hicn_protocol_t * h) +{ + h->tcp.flags &= ~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 |= 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