5#ifndef _RTE_DISTRIBUTOR_H_
6#define _RTE_DISTRIBUTOR_H_
21enum rte_distributor_alg_type {
22 RTE_DIST_ALG_BURST = 0,
24 RTE_DIST_NUM_ALG_TYPES
27struct rte_distributor;
50struct rte_distributor *
52 unsigned int num_workers,
53 unsigned int alg_type);
89 struct rte_mbuf **mbufs,
unsigned int num_mbufs);
107 struct rte_mbuf **mbufs,
unsigned int max_mbufs);
167 unsigned int worker_id,
struct rte_mbuf **pkts,
168 struct rte_mbuf **oldpkt,
unsigned int retcount);
186 unsigned int worker_id,
struct rte_mbuf **oldpkt,
int num);
212 unsigned int worker_id,
struct rte_mbuf **oldpkt,
236 unsigned int worker_id,
struct rte_mbuf **mbufs);
int rte_distributor_process(struct rte_distributor *d, struct rte_mbuf **mbufs, unsigned int num_mbufs)
int rte_distributor_get_pkt(struct rte_distributor *d, unsigned int worker_id, struct rte_mbuf **pkts, struct rte_mbuf **oldpkt, unsigned int retcount)
void rte_distributor_clear_returns(struct rte_distributor *d)
int rte_distributor_returned_pkts(struct rte_distributor *d, struct rte_mbuf **mbufs, unsigned int max_mbufs)
void rte_distributor_request_pkt(struct rte_distributor *d, unsigned int worker_id, struct rte_mbuf **oldpkt, unsigned int count)
int rte_distributor_return_pkt(struct rte_distributor *d, unsigned int worker_id, struct rte_mbuf **oldpkt, int num)
int rte_distributor_flush(struct rte_distributor *d)
int rte_distributor_poll_pkt(struct rte_distributor *d, unsigned int worker_id, struct rte_mbuf **mbufs)
struct rte_distributor * rte_distributor_create(const char *name, unsigned int socket_id, unsigned int num_workers, unsigned int alg_type)