bugfix: packet manager get stage on polling

This commit is contained in:
luwenpeng
2024-11-27 13:37:51 +08:00
parent 035b393a94
commit 975b584b65
3 changed files with 17 additions and 3 deletions

View File

@@ -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)

View File

@@ -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)

View File

@@ -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
{