summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorluwenpeng <[email protected]>2024-11-27 13:37:51 +0800
committerluwenpeng <[email protected]>2024-11-27 13:43:54 +0800
commit975b584b6595e119b6ea8da392719f14799f5929 (patch)
treeff391e71e7fdc797fb70e24ae43148a787fef639
parent035b393a946af2ce219e177d0bdcb8db62c56f5d (diff)
bugfix: packet manager get stage on polling
-rw-r--r--conf/stellar.toml2
-rw-r--r--infra/packet_manager/packet_manager.c2
-rw-r--r--infra/packet_manager/packet_manager.h16
3 files changed, 17 insertions, 3 deletions
diff --git a/conf/stellar.toml b/conf/stellar.toml
index 93fc1d6..906503c 100644
--- a/conf/stellar.toml
+++ b/conf/stellar.toml
@@ -7,7 +7,7 @@
dev_symbol = "nf_0_fw"
pcap_path = "/tmp/test.pcap"
pcap_done_exit = 1 # range: [0, 1]
- pcap_queue_size = 1 # range: [1, 4294967295]
+ pcap_queue_size = 1024 # range: [1, 4294967295]
thread_num = 1 # range: [1, 256]
cpu_mask = [5, 6, 7, 8, 9, 10, 11, 12]
idle_yield_ms = 900 # range: [0, 60000] (ms)
diff --git a/infra/packet_manager/packet_manager.c b/infra/packet_manager/packet_manager.c
index cc14498..2d38a91 100644
--- a/infra/packet_manager/packet_manager.c
+++ b/infra/packet_manager/packet_manager.c
@@ -329,7 +329,7 @@ void packet_manager_dispatch(struct packet_manager *pkt_mgr, uint16_t thread_id)
pkt_mgr_rte->stat.queue[pkt_mgr_rte->curr_stage + 1].pkts_in++;
}
}
- pkt_mgr_rte->curr_stage = -1;
+ pkt_mgr_rte->curr_stage = PACKET_STAGE_MAX;
}
int packet_manager_claim_packet(struct packet_manager *pkt_mgr, uint16_t thread_id, struct packet *pkt, on_packet_callback *cb, void *arg)
diff --git a/infra/packet_manager/packet_manager.h b/infra/packet_manager/packet_manager.h
index f3e4654..8bea8aa 100644
--- a/infra/packet_manager/packet_manager.h
+++ b/infra/packet_manager/packet_manager.h
@@ -104,7 +104,21 @@ struct packet_manager_stat
XX(PKT_MGR_STAT_PKTS_BUILD_UDP_SUCC_ON_POSTROUTING, pkts_build_udp_succ_on_postrouting, queue[PACKET_STAGE_POSTROUTING].pkts_build_udp_succ) \
XX(PKT_MGR_STAT_PKTS_BUILD_UDP_FAIL_ON_POSTROUTING, pkts_build_udp_fail_on_postrouting, queue[PACKET_STAGE_POSTROUTING].pkts_build_udp_fail) \
XX(PKT_MGR_STAT_PKTS_BUILD_L3_SUCC_ON_POSTROUTING, pkts_build_l3_succ_on_postrouting, queue[PACKET_STAGE_POSTROUTING].pkts_build_l3_succ) \
- XX(PKT_MGR_STAT_PKTS_BUILD_L3_FAIL_ON_POSTROUTING, pkts_build_l3_fail_on_postrouting, queue[PACKET_STAGE_POSTROUTING].pkts_build_l3_fail)
+ XX(PKT_MGR_STAT_PKTS_BUILD_L3_FAIL_ON_POSTROUTING, pkts_build_l3_fail_on_postrouting, queue[PACKET_STAGE_POSTROUTING].pkts_build_l3_fail) \
+ /* MAX */ \
+ XX(PKT_MGR_STAT_PKTS_IN_ON_POLLING, pkts_in_on_polling, queue[PACKET_STAGE_MAX].pkts_in) \
+ XX(PKT_MGR_STAT_PKTS_OUT_ON_POLLING, pkts_out_on_polling, queue[PACKET_STAGE_MAX].pkts_out) \
+ XX(PKT_MGR_STAT_PKTS_CLAIM_ON_POLLING, pkts_claim_on_polling, queue[PACKET_STAGE_MAX].pkts_claim) \
+ XX(PKT_MGR_STAT_PKTS_SCHEDULE_ON_POLLING, pkts_schedule_on_polling, queue[PACKET_STAGE_MAX].pkts_schedule) \
+ XX(PKT_MGR_STAT_PKTS_DROP_ON_POLLING, pkts_drop_on_polling, queue[PACKET_STAGE_MAX].pkts_drop) \
+ XX(PKT_MGR_STAT_PKTS_DUP_SUCC_ON_POLLING, pkts_dup_succ_on_polling, queue[PACKET_STAGE_MAX].pkts_dup_succ) \
+ XX(PKT_MGR_STAT_PKTS_DUP_FAIL_ON_POLLING, pkts_dup_fail_on_polling, queue[PACKET_STAGE_MAX].pkts_dup_fail) \
+ XX(PKT_MGR_STAT_PKTS_BUILD_TCP_SUCC_ON_POLLING, pkts_build_tcp_succ_on_polling, queue[PACKET_STAGE_MAX].pkts_build_tcp_succ) \
+ XX(PKT_MGR_STAT_PKTS_BUILD_TCP_FAIL_ON_POLLING, pkts_build_tcp_fail_on_polling, queue[PACKET_STAGE_MAX].pkts_build_tcp_fail) \
+ XX(PKT_MGR_STAT_PKTS_BUILD_UDP_SUCC_ON_POLLING, pkts_build_udp_succ_on_polling, queue[PACKET_STAGE_MAX].pkts_build_udp_succ) \
+ XX(PKT_MGR_STAT_PKTS_BUILD_UDP_FAIL_ON_POLLING, pkts_build_udp_fail_on_polling, queue[PACKET_STAGE_MAX].pkts_build_udp_fail) \
+ XX(PKT_MGR_STAT_PKTS_BUILD_L3_SUCC_ON_POLLING, pkts_build_l3_succ_on_polling, queue[PACKET_STAGE_MAX].pkts_build_l3_succ) \
+ XX(PKT_MGR_STAT_PKTS_BUILD_L3_FAIL_ON_POLLING, pkts_build_l3_fail_on_polling, queue[PACKET_STAGE_MAX].pkts_build_l3_fail)
enum pkt_mgr_stat_type
{