X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=examples%2Fvhost%2Fvirtio_net.c;h=2432a965662bd62bdac6b7217502023a4dfc1362;hb=ae835aba40349ee9631ef6b52e68a2893febe7e0;hp=64bf3d19ffb08bb46f165b1494ee21f1762650d9;hpb=111cf3f4971256e0322b298ac4026f59197ea6e3;p=dpdk.git diff --git a/examples/vhost/virtio_net.c b/examples/vhost/virtio_net.c index 64bf3d19ff..2432a96566 100644 --- a/examples/vhost/virtio_net.c +++ b/examples/vhost/virtio_net.c @@ -23,6 +23,7 @@ vs_vhost_net_setup(struct vhost_dev *dev) uint16_t i; int vid = dev->vid; struct vhost_queue *queue; + int ret; RTE_LOG(INFO, VHOST_CONFIG, "setting builtin vhost-user net driver\n"); @@ -33,7 +34,12 @@ vs_vhost_net_setup(struct vhost_dev *dev) else dev->hdr_len = sizeof(struct virtio_net_hdr); - rte_vhost_get_mem_table(vid, &dev->mem); + ret = rte_vhost_get_mem_table(vid, &dev->mem); + if (ret < 0) { + RTE_LOG(ERR, VHOST_CONFIG, "Failed to get " + "VM memory layout for device(%d)\n", vid); + return; + } dev->nr_vrings = rte_vhost_get_vring_num(vid); for (i = 0; i < dev->nr_vrings; i++) { @@ -232,6 +238,13 @@ vs_enqueue_pkts(struct vhost_dev *dev, uint16_t queue_id, return count; } +uint16_t +builtin_enqueue_pkts(struct vhost_dev *dev, uint16_t queue_id, + struct rte_mbuf **pkts, uint32_t count) +{ + return vs_enqueue_pkts(dev, queue_id, pkts, count); +} + static __rte_always_inline int dequeue_pkt(struct vhost_dev *dev, struct rte_vhost_vring *vr, struct rte_mbuf *m, uint16_t desc_idx, @@ -357,7 +370,7 @@ dequeue_pkt(struct vhost_dev *dev, struct rte_vhost_vring *vr, return 0; } -uint16_t +static uint16_t vs_dequeue_pkts(struct vhost_dev *dev, uint16_t queue_id, struct rte_mempool *mbuf_pool, struct rte_mbuf **pkts, uint16_t count) { @@ -434,3 +447,10 @@ vs_dequeue_pkts(struct vhost_dev *dev, uint16_t queue_id, return i; } + +uint16_t +builtin_dequeue_pkts(struct vhost_dev *dev, uint16_t queue_id, + struct rte_mempool *mbuf_pool, struct rte_mbuf **pkts, uint16_t count) +{ + return vs_dequeue_pkts(dev, queue_id, mbuf_pool, pkts, count); +}