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 {