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/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 ++++++++++++++ 5 files changed, 42 insertions(+) (limited to 'lib/src/protocol') 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