packet IO support inject packet and add inject packet stat

This commit is contained in:
luwenpeng
2024-04-25 15:34:46 +08:00
parent 476c5bac56
commit 54a78389cf
6 changed files with 85 additions and 0 deletions

View File

@@ -34,6 +34,10 @@ struct io_stat
uint64_t raw_tx_pkts;
uint64_t raw_tx_bytes;
// inject packet
uint64_t inject_pkts;
uint64_t inject_bytes;
// ctrl packet
uint64_t ctrl_rx_pkts;
uint64_t ctrl_rx_bytes;
@@ -71,6 +75,7 @@ int packet_io_init(struct packet_io *packet_io, uint16_t thr_idx);
int packet_io_ingress(struct packet_io *packet_io, uint16_t thr_idx, struct packet *pkts, int nr_pkts);
void packet_io_egress(struct packet_io *packet_io, uint16_t thr_idx, struct packet *pkts, int nr_pkts);
void packet_io_drop(struct packet_io *packet_io, uint16_t thr_idx, struct packet *pkts, int nr_pkts);
int packet_io_inject(struct packet_io *packet_io, uint16_t thr_idx, struct packet *pkts, int nr_pkts);
void packet_io_yield(struct packet_io *packet_io, uint16_t thr_idx, uint64_t timeout_ms);
struct io_stat *packet_io_stat(struct packet_io *packet_io, uint16_t thr_idx);