rename packet_manager_runtime_input/output to packet_manager_runtime_ingress/egress
This commit is contained in:
@@ -24,7 +24,6 @@ struct packet_manager_schema
|
||||
|
||||
struct packet_manager_runtime
|
||||
{
|
||||
uint16_t idx;
|
||||
void *cb_args;
|
||||
on_packet_claimed_callback *claimed_cb;
|
||||
enum packet_stage stage;
|
||||
@@ -199,7 +198,7 @@ static void packet_manager_runtime_free(struct packet_manager_runtime *runtime)
|
||||
runtime = NULL;
|
||||
}
|
||||
|
||||
static struct packet_manager_runtime *packet_manager_runtime_new(uint16_t idx)
|
||||
static struct packet_manager_runtime *packet_manager_runtime_new()
|
||||
{
|
||||
struct packet_manager_runtime *runtime = calloc(1, sizeof(struct packet_manager_runtime));
|
||||
if (runtime == NULL)
|
||||
@@ -208,8 +207,6 @@ static struct packet_manager_runtime *packet_manager_runtime_new(uint16_t idx)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
runtime->idx = idx;
|
||||
|
||||
for (int i = 0; i < PACKET_QUEUE_MAX; i++)
|
||||
{
|
||||
TAILQ_INIT(&runtime->queue[i]);
|
||||
@@ -220,13 +217,13 @@ static struct packet_manager_runtime *packet_manager_runtime_new(uint16_t idx)
|
||||
|
||||
void packet_manager_runtime_print_stat(struct packet_manager_runtime *runtime)
|
||||
{
|
||||
PACKET_MANAGER_LOG_DEBUG("runtime[%d] current stage: %s, pkts_input: %lu, pkts_output: %lu",
|
||||
runtime->idx, packet_stage_to_str(runtime->stage),
|
||||
runtime->stat.total.pkts_input, runtime->stat.total.pkts_output);
|
||||
PACKET_MANAGER_LOG_DEBUG("runtime[%p] current stage: %s, pkts_ingress: %lu, pkts_egress: %lu",
|
||||
runtime, packet_stage_to_str(runtime->stage),
|
||||
runtime->stat.total.pkts_ingress, runtime->stat.total.pkts_egress);
|
||||
for (int i = 0; i < PACKET_QUEUE_MAX; i++)
|
||||
{
|
||||
PACKET_MANAGER_LOG_DEBUG("runtime[%d] (%11s) queue stat => pkts_in: %lu, pkts_out: %lu, pkts_claim: %lu, pkts_schedule: %lu",
|
||||
runtime->idx,
|
||||
PACKET_MANAGER_LOG_DEBUG("runtime[%p] (%11s) queue stat => pkts_in: %lu, pkts_out: %lu, pkts_claim: %lu, pkts_schedule: %lu",
|
||||
runtime,
|
||||
packet_stage_to_str(i),
|
||||
runtime->stat.queue[i].pkts_in,
|
||||
runtime->stat.queue[i].pkts_out,
|
||||
@@ -245,19 +242,19 @@ void packet_manager_runtime_init(struct packet_manager_runtime *pkt_mgr_rt, stru
|
||||
pkt_mgr_rt->mq = mq_rt;
|
||||
}
|
||||
|
||||
void packet_manager_runtime_input(struct packet_manager_runtime *pkt_mgr_rt, struct packet *pkt)
|
||||
void packet_manager_runtime_ingress(struct packet_manager_runtime *pkt_mgr_rt, struct packet *pkt)
|
||||
{
|
||||
pkt_mgr_rt->stat.total.pkts_input++;
|
||||
pkt_mgr_rt->stat.total.pkts_ingress++;
|
||||
pkt_mgr_rt->stat.queue[PACKET_STAGE_PREROUTING].pkts_in++;
|
||||
TAILQ_INSERT_TAIL(&pkt_mgr_rt->queue[PACKET_STAGE_PREROUTING], pkt, stage_tqe);
|
||||
}
|
||||
|
||||
struct packet *packet_manager_runtime_output(struct packet_manager_runtime *pkt_mgr_rt)
|
||||
struct packet *packet_manager_runtime_egress(struct packet_manager_runtime *pkt_mgr_rt)
|
||||
{
|
||||
struct packet *pkt = TAILQ_FIRST(&pkt_mgr_rt->queue[PACKET_STAGE_MAX]);
|
||||
if (pkt)
|
||||
{
|
||||
pkt_mgr_rt->stat.total.pkts_output++;
|
||||
pkt_mgr_rt->stat.total.pkts_egress++;
|
||||
pkt_mgr_rt->stat.queue[PACKET_STAGE_MAX].pkts_out++;
|
||||
TAILQ_REMOVE(&pkt_mgr_rt->queue[PACKET_STAGE_MAX], pkt, stage_tqe);
|
||||
}
|
||||
@@ -361,7 +358,7 @@ struct packet_manager *packet_manager_new(struct mq_schema *mq, const char *toml
|
||||
|
||||
for (uint16_t i = 0; i < pkt_mgr->cfg->nr_worker_thread; i++)
|
||||
{
|
||||
pkt_mgr->runtime[i] = packet_manager_runtime_new(i);
|
||||
pkt_mgr->runtime[i] = packet_manager_runtime_new();
|
||||
if (pkt_mgr->runtime[i] == NULL)
|
||||
{
|
||||
PACKET_MANAGER_LOG_ERROR("failed to create packet_manager_runtime");
|
||||
@@ -384,7 +381,6 @@ void packet_manager_free(struct packet_manager *pkt_mgr)
|
||||
{
|
||||
if (pkt_mgr->runtime[i])
|
||||
{
|
||||
// packet_manager_runtime_print_stat(pkt_mgr->runtime[i]);
|
||||
packet_manager_runtime_free(pkt_mgr->runtime[i]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,8 +13,8 @@ struct packet_manager *packet_manager_new(struct mq_schema *mq_schema, const cha
|
||||
void packet_manager_free(struct packet_manager *pkt_mgr);
|
||||
|
||||
void packet_manager_runtime_init(struct packet_manager_runtime *pkt_mgr_rt, struct mq_runtime *mq_rt);
|
||||
void packet_manager_runtime_input(struct packet_manager_runtime *pkt_mgr_rt, struct packet *pkt);
|
||||
struct packet *packet_manager_runtime_output(struct packet_manager_runtime *pkt_mgr_rt);
|
||||
void packet_manager_runtime_ingress(struct packet_manager_runtime *pkt_mgr_rt, struct packet *pkt);
|
||||
struct packet *packet_manager_runtime_egress(struct packet_manager_runtime *pkt_mgr_rt);
|
||||
void packet_manager_runtime_dispatch(struct packet_manager_runtime *pkt_mgr_rt);
|
||||
|
||||
/******************************************************************************
|
||||
@@ -25,8 +25,8 @@ struct packet_manager_runtime_stat
|
||||
{
|
||||
struct
|
||||
{
|
||||
uint64_t pkts_input;
|
||||
uint64_t pkts_output;
|
||||
uint64_t pkts_ingress;
|
||||
uint64_t pkts_egress;
|
||||
} total;
|
||||
struct
|
||||
{
|
||||
|
||||
@@ -71,8 +71,8 @@ static struct packet_manager_runtime_stat init_stat = {};
|
||||
|
||||
static void check_stat(struct packet_manager_runtime_stat *curr_stat, struct packet_manager_runtime_stat *expect_stat)
|
||||
{
|
||||
EXPECT_TRUE(curr_stat->total.pkts_input == expect_stat->total.pkts_input);
|
||||
EXPECT_TRUE(curr_stat->total.pkts_output == expect_stat->total.pkts_output);
|
||||
EXPECT_TRUE(curr_stat->total.pkts_ingress == expect_stat->total.pkts_ingress);
|
||||
EXPECT_TRUE(curr_stat->total.pkts_egress == expect_stat->total.pkts_egress);
|
||||
|
||||
for (int i = 0; i < PACKET_QUEUE_MAX; i++)
|
||||
{
|
||||
@@ -146,12 +146,12 @@ TEST(PACKET_MANAGER, SUBSCRIBER_PACKET_STAGE)
|
||||
|
||||
struct packet_manager_runtime_stat *curr_stat = packet_manager_runtime_get_stat(runtime);
|
||||
check_stat(curr_stat, &init_stat);
|
||||
packet_manager_runtime_input(runtime, &pkt);
|
||||
packet_manager_runtime_ingress(runtime, &pkt);
|
||||
packet_manager_runtime_dispatch(runtime);
|
||||
EXPECT_TRUE(packet_manager_runtime_output(runtime) == &pkt);
|
||||
EXPECT_TRUE(packet_manager_runtime_output(runtime) == NULL);
|
||||
EXPECT_TRUE(packet_manager_runtime_egress(runtime) == &pkt);
|
||||
EXPECT_TRUE(packet_manager_runtime_egress(runtime) == NULL);
|
||||
struct packet_manager_runtime_stat expect_stat = {
|
||||
.total = {.pkts_input = 1, .pkts_output = 1},
|
||||
.total = {.pkts_ingress = 1, .pkts_egress = 1},
|
||||
.queue = {
|
||||
[PACKET_STAGE_PREROUTING] = {.pkts_in = 1, .pkts_out = 1, .pkts_claim = 0, .pkts_schedule = 0},
|
||||
[PACKET_STAGE_INPUT] = {.pkts_in = 1, .pkts_out = 1, .pkts_claim = 0, .pkts_schedule = 0},
|
||||
@@ -257,11 +257,11 @@ TEST(PACKET_MANAGER, CLAIM_PACKET)
|
||||
|
||||
struct packet_manager_runtime_stat *curr_stat = packet_manager_runtime_get_stat(runtime);
|
||||
check_stat(curr_stat, &init_stat);
|
||||
packet_manager_runtime_input(runtime, &pkt);
|
||||
packet_manager_runtime_ingress(runtime, &pkt);
|
||||
packet_manager_runtime_dispatch(runtime);
|
||||
EXPECT_TRUE(packet_manager_runtime_output(runtime) == NULL);
|
||||
EXPECT_TRUE(packet_manager_runtime_egress(runtime) == NULL);
|
||||
struct packet_manager_runtime_stat expect_stat = {
|
||||
.total = {.pkts_input = 1, .pkts_output = 0},
|
||||
.total = {.pkts_ingress = 1, .pkts_egress = 0},
|
||||
.queue = {
|
||||
[PACKET_STAGE_PREROUTING] = {.pkts_in = 1, .pkts_out = 1, .pkts_claim = 1, .pkts_schedule = 0},
|
||||
[PACKET_STAGE_INPUT] = {.pkts_in = 0, .pkts_out = 0, .pkts_claim = 0, .pkts_schedule = 0},
|
||||
@@ -336,20 +336,20 @@ TEST(PACKET_MANAGER, SCHEDULE_PACKET)
|
||||
|
||||
struct packet_manager_runtime_stat *curr_stat = packet_manager_runtime_get_stat(runtime);
|
||||
check_stat(curr_stat, &init_stat);
|
||||
packet_manager_runtime_input(runtime, &pkt);
|
||||
packet_manager_runtime_ingress(runtime, &pkt);
|
||||
packet_manager_runtime_dispatch(runtime);
|
||||
|
||||
struct packet *tmp = NULL;
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
tmp = packet_manager_runtime_output(runtime);
|
||||
tmp = packet_manager_runtime_egress(runtime);
|
||||
EXPECT_TRUE(tmp);
|
||||
packet_free(tmp);
|
||||
}
|
||||
EXPECT_TRUE(packet_manager_runtime_output(runtime) == &pkt);
|
||||
EXPECT_TRUE(packet_manager_runtime_output(runtime) == NULL);
|
||||
EXPECT_TRUE(packet_manager_runtime_egress(runtime) == &pkt);
|
||||
EXPECT_TRUE(packet_manager_runtime_egress(runtime) == NULL);
|
||||
struct packet_manager_runtime_stat expect_stat = {
|
||||
.total = {.pkts_input = 1, .pkts_output = 5},
|
||||
.total = {.pkts_ingress = 1, .pkts_egress = 5},
|
||||
.queue = {
|
||||
[PACKET_STAGE_PREROUTING] = {.pkts_in = 1, .pkts_out = 1, .pkts_claim = 0, .pkts_schedule = 0},
|
||||
[PACKET_STAGE_INPUT] = {.pkts_in = 2, .pkts_out = 2, .pkts_claim = 0, .pkts_schedule = 1},
|
||||
@@ -443,11 +443,11 @@ TEST(PACKET_MANAGER, SCHEDULE_CLAIMED_PACKET)
|
||||
|
||||
struct packet_manager_runtime_stat *curr_stat = packet_manager_runtime_get_stat(runtime);
|
||||
check_stat(curr_stat, &init_stat);
|
||||
packet_manager_runtime_input(runtime, &pkt);
|
||||
packet_manager_runtime_ingress(runtime, &pkt);
|
||||
packet_manager_runtime_dispatch(runtime);
|
||||
EXPECT_TRUE(packet_manager_runtime_output(runtime) == &pkt);
|
||||
EXPECT_TRUE(packet_manager_runtime_egress(runtime) == &pkt);
|
||||
struct packet_manager_runtime_stat expect_stat = {
|
||||
.total = {.pkts_input = 1, .pkts_output = 1},
|
||||
.total = {.pkts_ingress = 1, .pkts_egress = 1},
|
||||
.queue = {
|
||||
[PACKET_STAGE_PREROUTING] = {.pkts_in = 1, .pkts_out = 1, .pkts_claim = 1, .pkts_schedule = 0},
|
||||
[PACKET_STAGE_INPUT] = {.pkts_in = 0, .pkts_out = 0, .pkts_claim = 0, .pkts_schedule = 0},
|
||||
|
||||
Reference in New Issue
Block a user