| 1654 | } |
| 1655 | |
| 1656 | static int |
| 1657 | init_vhost_queue_ops(int vid) |
| 1658 | { |
| 1659 | if (builtin_net_driver) { |
| 1660 | vdev_queue_ops[vid].enqueue_pkt_burst = builtin_enqueue_pkts; |
| 1661 | vdev_queue_ops[vid].dequeue_pkt_burst = builtin_dequeue_pkts; |
| 1662 | } else { |
| 1663 | if (dma_bind[vid2socketid[vid]].dmas[VIRTIO_RXQ].async_enabled) |
| 1664 | vdev_queue_ops[vid].enqueue_pkt_burst = async_enqueue_pkts; |
| 1665 | else |
| 1666 | vdev_queue_ops[vid].enqueue_pkt_burst = sync_enqueue_pkts; |
| 1667 | |
| 1668 | if (dma_bind[vid2socketid[vid]].dmas[VIRTIO_TXQ].async_enabled) |
| 1669 | vdev_queue_ops[vid].dequeue_pkt_burst = async_dequeue_pkts; |
| 1670 | else |
| 1671 | vdev_queue_ops[vid].dequeue_pkt_burst = sync_dequeue_pkts; |
| 1672 | } |
| 1673 | |
| 1674 | return 0; |
| 1675 | } |
| 1676 | |
| 1677 | static inline int |
| 1678 | vhost_async_channel_register(int vid) |