add packet type raw and pseudo

This commit is contained in:
luwenpeng
2024-11-13 14:43:38 +08:00
parent 8349a631e1
commit 492a7fb8ea
10 changed files with 65 additions and 52 deletions

View File

@@ -105,7 +105,7 @@ static void on_packet_stage(struct packet *pkt, enum packet_stage stage, void *a
static int count = 0;
EXPECT_TRUE(count == stage);
EXPECT_TRUE(packet_is_ctrl(pkt));
EXPECT_TRUE(packet_get_type(pkt) == PACKET_TYPE_PSEUDO);
EXPECT_TRUE(args == NULL);
count++;
}
@@ -134,7 +134,7 @@ TEST(PACKET_MANAGER, SUBSCRIBER_PACKET_STAGE)
struct packet pkt;
memset(&pkt, 0, sizeof(pkt));
packet_parse(&pkt, (const char *)data, sizeof(data));
packet_set_ctrl(&pkt, true);
packet_set_type(&pkt, PACKET_TYPE_PSEUDO);
struct packet_manager_stat *curr_stat = packet_manager_get_stat(pkt_mgr, thread_id);
check_stat(curr_stat, &init_stat);
@@ -174,7 +174,7 @@ static void packet_claimed(struct packet *pkt, void *args)
char *str = (char *)args;
EXPECT_STREQ(str, "hello");
printf("packet_claimed: with ctx %s\n", str);
EXPECT_TRUE(packet_is_ctrl(pkt));
EXPECT_TRUE(packet_get_type(pkt) == PACKET_TYPE_PSEUDO);
EXPECT_TRUE(packet_is_claim(pkt));
free(str);
}
@@ -188,7 +188,7 @@ static void claim_packet_success(struct packet *pkt, enum packet_stage stage, vo
static int count = 0;
EXPECT_TRUE(count == 0);
EXPECT_TRUE(stage == PACKET_STAGE_PREROUTING);
EXPECT_TRUE(packet_is_ctrl(pkt));
EXPECT_TRUE(packet_get_type(pkt) == PACKET_TYPE_PSEUDO);
EXPECT_TRUE(!packet_is_claim(pkt)); // packet not claim
EXPECT_TRUE(packet_manager_claim_packet(pkt_mgr, thread_id, pkt, packet_claimed, strdup("hello")) == 0); // claim packet success
count++;
@@ -203,7 +203,7 @@ static void claim_packet_failed(struct packet *pkt, enum packet_stage stage, voi
static int count = 0;
EXPECT_TRUE(count == 0);
EXPECT_TRUE(stage == PACKET_STAGE_PREROUTING);
EXPECT_TRUE(packet_is_ctrl(pkt));
EXPECT_TRUE(packet_get_type(pkt) == PACKET_TYPE_PSEUDO);
EXPECT_TRUE(packet_is_claim(pkt)); // packet already claim
EXPECT_TRUE(packet_manager_claim_packet(pkt_mgr, thread_id, pkt, NULL, NULL) == -1); // claim packet failed
count++;
@@ -239,7 +239,7 @@ TEST(PACKET_MANAGER, CLAIM_PACKET)
struct packet pkt;
memset(&pkt, 0, sizeof(pkt));
packet_parse(&pkt, (const char *)data, sizeof(data));
packet_set_ctrl(&pkt, true);
packet_set_type(&pkt, PACKET_TYPE_PSEUDO);
struct packet_manager_stat *curr_stat = packet_manager_get_stat(pkt_mgr, thread_id);
check_stat(curr_stat, &init_stat);
@@ -314,7 +314,7 @@ TEST(PACKET_MANAGER, SCHEDULE_PACKET)
struct packet pkt;
memset(&pkt, 0, sizeof(pkt));
packet_parse(&pkt, (const char *)data, sizeof(data));
packet_set_ctrl(&pkt, true);
packet_set_type(&pkt, PACKET_TYPE_PSEUDO);
struct packet_manager_stat *curr_stat = packet_manager_get_stat(pkt_mgr, thread_id);
check_stat(curr_stat, &init_stat);
@@ -362,7 +362,7 @@ static void schedule_claimed_packet(struct packet *pkt, void *args)
struct packet_manager *pkt_mgr = (struct packet_manager *)args;
printf("schedule_claimed_packet: %p\n", pkt);
EXPECT_TRUE(packet_is_ctrl(pkt));
EXPECT_TRUE(packet_get_type(pkt) == PACKET_TYPE_PSEUDO);
EXPECT_TRUE(packet_is_claim(pkt));
packet_manager_schedule_packet(pkt_mgr, thread_id, pkt, PACKET_STAGE_POSTROUTING);
@@ -375,7 +375,7 @@ static void on_packet_stage_claim_packet_to_schedule(struct packet *pkt, enum pa
printf("on_packet_stage_claim_packet_to_schedule: %s\n", packet_stage_to_str(stage));
static int count = 0;
EXPECT_TRUE(packet_is_ctrl(pkt));
EXPECT_TRUE(packet_get_type(pkt) == PACKET_TYPE_PSEUDO);
EXPECT_TRUE(!packet_is_claim(pkt));
if (stage == PACKET_STAGE_PREROUTING)
{
@@ -418,7 +418,7 @@ TEST(PACKET_MANAGER, SCHEDULE_CLAIMED_PACKET)
struct packet pkt;
memset(&pkt, 0, sizeof(pkt));
packet_parse(&pkt, (const char *)data, sizeof(data));
packet_set_ctrl(&pkt, true);
packet_set_type(&pkt, PACKET_TYPE_PSEUDO);
struct packet_manager_stat *curr_stat = packet_manager_get_stat(pkt_mgr, thread_id);
check_stat(curr_stat, &init_stat);