4 send_packets (memif_connection_t *c, uint16_t qid,
5 packet_generator_t *generator, uint32_t num_pkts,
13 err = memif_buffer_alloc (c->conn, qid, c->tx_bufs,
14 num_pkts > MAX_MEMIF_BUFS ? MAX_MEMIF_BUFS :
16 &c->tx_buf_num, max_pkt_size);
17 /* suppress full ring error MEMIF_ERR_NOBUF_RING */
18 if (err != MEMIF_ERR_SUCCESS && err != MEMIF_ERR_NOBUF_RING)
20 INFO ("memif_buffer_alloc: %s", memif_strerror (err));
24 /* generate packet inside allocated buffers */
25 err = generator (c, num_pkts);
28 INFO ("paclet generator error: %d", err);
32 err = memif_tx_burst (c->conn, qid, c->tx_bufs, c->tx_buf_num, &tx);
33 if (err != MEMIF_ERR_SUCCESS)
35 INFO ("memif_tx_burst: %s", memif_strerror (err));
40 /* Should never happen... */
41 if (c->tx_buf_num > 0)
43 INFO ("Failed to send allocated packets");
53 /* TODO: free alloocated tx buffers */