reactor packet I/O & duplicated packet filter & evicted session filter

This commit is contained in:
luwenpeng
2024-03-09 19:28:14 +08:00
parent ee35a26a9d
commit 512dfddd03
79 changed files with 1974 additions and 2093 deletions

View File

@@ -1,7 +1,3 @@
###############################################################################
# gtest
###############################################################################
add_executable(gtest_packet gtest_packet.cpp)
target_link_libraries(gtest_packet packet gtest)
@@ -17,8 +13,8 @@ target_link_libraries(gtest_ipv4_utils packet gtest)
add_executable(gtest_ipv6_utils gtest_ipv6_utils.cpp)
target_link_libraries(gtest_ipv6_utils packet gtest)
add_executable(gtest_packet_utils gtest_packet_utils.cpp)
target_link_libraries(gtest_packet_utils packet gtest)
add_executable(gtest_packet_frag gtest_packet_frag.cpp)
target_link_libraries(gtest_packet_frag packet gtest)
include(GoogleTest)
gtest_discover_tests(gtest_packet)
@@ -26,4 +22,4 @@ gtest_discover_tests(gtest_udp_utils)
gtest_discover_tests(gtest_tcp_utils)
gtest_discover_tests(gtest_ipv4_utils)
gtest_discover_tests(gtest_ipv6_utils)
gtest_discover_tests(gtest_packet_utils)
gtest_discover_tests(gtest_packet_frag)

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
#include <gtest/gtest.h>
#include "packet_utils.h"
#include "packet.h"
/******************************************************************************
* [Protocols in frame: eth:ethertype:ip:data]
@@ -44,15 +44,15 @@ unsigned char data1[] = {
0x00, 0x00, 0x31, 0x32, 0x33, 0x0a, 0x00, 0x00};
#if 1
TEST(PACKET_UTILS, IPV4_FRAGMENT)
TEST(PACKET_FRAG, IPV4_FRAGMENT)
{
struct packet handler;
packet_parse(&handler, (const char *)data1, sizeof(data1));
EXPECT_TRUE(paket_is_fragment(&handler) == true);
EXPECT_TRUE(packet_is_fragment(&handler) == true);
struct packet *dup = packet_dup(&handler);
EXPECT_TRUE(dup != NULL);
EXPECT_TRUE(paket_is_fragment(dup) == true);
EXPECT_TRUE(packet_is_fragment(dup) == true);
packet_free(dup);
}
#endif
@@ -152,15 +152,15 @@ unsigned char data2[] = {
0x68, 0x68};
#if 1
TEST(PACKET_UTILS, IPV6_FRAGMENT)
TEST(PACKET_FRAG, IPV6_FRAGMENT)
{
struct packet handler;
packet_parse(&handler, (const char *)data2, sizeof(data2));
EXPECT_TRUE(paket_is_fragment(&handler) == true);
EXPECT_TRUE(packet_is_fragment(&handler) == true);
struct packet *dup = packet_dup(&handler);
EXPECT_TRUE(dup != NULL);
EXPECT_TRUE(paket_is_fragment(dup) == true);
EXPECT_TRUE(packet_is_fragment(dup) == true);
packet_free(dup);
}
#endif
@@ -228,15 +228,15 @@ unsigned char data3[] = {
0x04, 0x02};
#if 1
TEST(PACKET_UTILS, IPV4_IPV6_NOT_FRAGMENT)
TEST(PACKET_FRAG, IPV4_IPV6_NOT_FRAGMENT)
{
struct packet handler;
packet_parse(&handler, (const char *)data3, sizeof(data3));
EXPECT_TRUE(paket_is_fragment(&handler) == false);
EXPECT_TRUE(packet_is_fragment(&handler) == false);
struct packet *dup = packet_dup(&handler);
EXPECT_TRUE(dup != NULL);
EXPECT_TRUE(paket_is_fragment(dup) == false);
EXPECT_TRUE(packet_is_fragment(dup) == false);
packet_free(dup);
}
#endif
@@ -290,15 +290,15 @@ unsigned char data4[] = {
0x58, 0x58};
#if 1
TEST(PACKET_UTILS, IPV6_IPV6_NOT_FRAGMENT)
TEST(PACKET_FRAG, IPV6_IPV6_NOT_FRAGMENT)
{
struct packet handler;
packet_parse(&handler, (const char *)data4, sizeof(data4));
EXPECT_TRUE(paket_is_fragment(&handler) == false);
EXPECT_TRUE(packet_is_fragment(&handler) == false);
struct packet *dup = packet_dup(&handler);
EXPECT_TRUE(dup != NULL);
EXPECT_TRUE(paket_is_fragment(dup) == false);
EXPECT_TRUE(packet_is_fragment(dup) == false);
packet_free(dup);
}
#endif