Add packet_build.cpp support imitate_tcp_packet() / imitate_udp_packet()

This commit is contained in:
luwenpeng
2024-04-24 11:40:00 +08:00
parent ffead24e45
commit d8963af5f8
16 changed files with 444 additions and 441 deletions

View File

@@ -68,9 +68,6 @@ static void update_session_stat(struct session *sess, struct packet *pkt)
session_inc_stat(sess, dir, (is_ctrl ? STAT_CONTROL_PACKETS_TRANSMITTED : STAT_RAW_PACKETS_TRANSMITTED), 1);
session_inc_stat(sess, dir, (is_ctrl ? STAT_CONTROL_BYTES_TRANSMITTED : STAT_RAW_BYTES_TRANSMITTED), len);
break;
case PACKET_ACTION_DEFER:
// TODO
break;
default:
assert(0);
break;
@@ -226,9 +223,8 @@ static void *work_thread(void *arg)
packet_set_action(pkt, PACKET_ACTION_DROP);
}
update_session_stat(sess, pkt);
switch (packet_get_action(pkt))
if (packet_get_action(pkt) == PACKET_ACTION_DROP)
{
case PACKET_ACTION_DROP:
if (pkt == defraged_pkt)
{
packet_io_drop(packet_io, thr_idx, &packets[i], 1);
@@ -238,8 +234,9 @@ static void *work_thread(void *arg)
{
packet_io_drop(packet_io, thr_idx, pkt, 1);
}
break;
case PACKET_ACTION_FORWARD:
}
else // PACKET_ACTION_FORWARD
{
if (pkt == defraged_pkt)
{
packet_io_egress(packet_io, thr_idx, &packets[i], 1);
@@ -249,18 +246,6 @@ static void *work_thread(void *arg)
{
packet_io_egress(packet_io, thr_idx, pkt, 1);
}
case PACKET_ACTION_DEFER:
if (pkt == defraged_pkt)
{
// TODO
// defer current packe: &packets[i], free defraged_pkt, update meta
packet_free(defraged_pkt);
}
else
{
// do nothing
}
break;
}
}