Virtio PMD Rx/Tx Callbacks
--------------------------
-Virtio driver has 4 Rx callbacks and 3 Tx callbacks.
+Virtio driver has 4 Rx callbacks and 2 Tx callbacks.
Rx callbacks:
#. ``virtio_xmit_pkts``:
Regular version.
-#. ``virtio_xmit_pkts_simple``:
- Vector version fixes the available ring indexes to optimize performance.
-
#. ``virtio_xmit_pkts_inorder``:
In-order version.
Vector callbacks will be used when:
-* ``txmode.offloads`` is set to ``0x0``, which implies:
-
- * Single segment is specified.
-
- * No offload support is needed.
-
* Mergeable Rx buffers is disabled.
The corresponding callbacks are:
* For Rx: ``virtio_recv_pkts_vec``.
-* For Tx: ``virtio_xmit_pkts_simple``.
-
Example of using the vector version of the virtio poll mode driver in
``testpmd``::
- testpmd -l 0-2 -n 4 -- -i --tx-offloads=0x0 --rxq=1 --txq=1 --nb-cores=1
+ testpmd -l 0-2 -n 4 -- -i --rxq=1 --txq=1 --nb-cores=1
In-order callbacks only work on simulated virtio user vdev.
uint16_t virtio_recv_pkts_vec(void *rx_queue, struct rte_mbuf **rx_pkts,
uint16_t nb_pkts);
-uint16_t virtio_xmit_pkts_simple(void *tx_queue, struct rte_mbuf **tx_pkts,
- uint16_t nb_pkts);
-
int eth_virtio_dev_init(struct rte_eth_dev *eth_dev);
void virtio_interrupt_handler(void *param);