31 #include <rte_interrupts.h> 33 #include <tas_memif.h> 34 #include <utils_rng.h> 37 #define BUFCACHE_SIZE 128 38 #define TXBUF_SIZE (2 * BATCH_SIZE) 42 struct rte_mempool *pool;
47 #define QMAN_SKIPLIST_LEVELS 4 56 uint32_t head_idx[QMAN_SKIPLIST_LEVELS];
57 uint32_t nolimit_head_idx;
58 uint32_t nolimit_tail_idx;
69 struct rte_ring *qman_fwd_ring;
72 struct rte_epoll_event ev;
77 uint16_t arx_ctx[BATCH_SIZE];
82 struct network_buf_handle *tx_handles[TXBUF_SIZE];
87 uint32_t poll_next_ctx;
91 struct network_buf_handle *bufcache_handles[BUFCACHE_SIZE];
92 uint16_t bufcache_num;
93 uint16_t bufcache_head;
95 uint64_t loadmon_cyc_busy;
98 #ifdef DATAPLANE_STATS 101 uint64_t stat_qm_poll;
102 uint64_t stat_qm_empty;
103 uint64_t stat_qm_total;
105 uint64_t stat_rx_poll;
106 uint64_t stat_rx_empty;
107 uint64_t stat_rx_total;
109 uint64_t stat_qs_poll;
110 uint64_t stat_qs_empty;
111 uint64_t stat_qs_total;
113 uint64_t stat_cyc_db;
114 uint64_t stat_cyc_qm;
115 uint64_t stat_cyc_rx;
116 uint64_t stat_cyc_qs;
122 int dataplane_init(
void);
126 #ifdef DATAPLANE_STATS 127 void dataplane_dump_stats(
void);