summaryrefslogtreecommitdiffstats
path: root/lib/src
diff options
context:
space:
mode:
authorMauro Sardara <msardara@cisco.com>2020-04-17 13:41:08 +0200
committerMauro Sardara <msardara@cisco.com>2020-04-17 15:06:05 +0200
commit43acd37f52812a152e4ebda9e30598fa226c1d09 (patch)
treebd4dd2a500d4b679224983641515c3ba87c3767b /lib/src
parent512aa3a8c6f6a370e1b3968af26077e0cd5210e9 (diff)
[HICN-597] Add API to mark packet as interest/data.
Change-Id: I1106211d3cac63d0817d4908bd03d6a0ccd2b8e0 Signed-off-by: Mauro Sardara <msardara@cisco.com>
Diffstat (limited to 'lib/src')
-rw-r--r--lib/src/compat.c72
-rw-r--r--lib/src/ops.c2
-rw-r--r--lib/src/protocol/ah.c2
-rw-r--r--lib/src/protocol/icmp.c2
-rw-r--r--lib/src/protocol/ipv4.c12
-rw-r--r--lib/src/protocol/ipv6.c12
-rw-r--r--lib/src/protocol/tcp.c14
7 files changed, 80 insertions, 36 deletions
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
@@ -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..14e07b091 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 &= ~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)
{
memset (&(h->tcp), 0, 4);