MCPcopy Create free account
hub / github.com/F-Stack/f-stack / vs_vhost_net_setup

Function vs_vhost_net_setup

dpdk/examples/vhost/virtio_net.c:21–53  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

19 */
20
21void
22vs_vhost_net_setup(struct vhost_dev *dev)
23{
24 uint16_t i;
25 int vid = dev->vid;
26 struct vhost_queue *queue;
27 int ret;
28
29 RTE_LOG(INFO, VHOST_CONFIG,
30 "setting builtin vhost-user net driver\n");
31
32 rte_vhost_get_negotiated_features(vid, &dev->features);
33 if (dev->features & (1 << VIRTIO_NET_F_MRG_RXBUF))
34 dev->hdr_len = sizeof(struct virtio_net_hdr_mrg_rxbuf);
35 else
36 dev->hdr_len = sizeof(struct virtio_net_hdr);
37
38 ret = rte_vhost_get_mem_table(vid, &dev->mem);
39 if (ret < 0) {
40 RTE_LOG(ERR, VHOST_CONFIG, "Failed to get "
41 "VM memory layout for device(%d)\n", vid);
42 return;
43 }
44
45 dev->nr_vrings = rte_vhost_get_vring_num(vid);
46 for (i = 0; i < dev->nr_vrings; i++) {
47 queue = &dev->queues[i];
48
49 queue->last_used_idx = 0;
50 queue->last_avail_idx = 0;
51 rte_vhost_get_vhost_vring(vid, i, &queue->vr);
52 }
53}
54
55void
56vs_vhost_net_remove(struct vhost_dev *dev)

Callers 1

new_deviceFunction · 0.85

Calls 4

rte_vhost_get_mem_tableFunction · 0.85
rte_vhost_get_vring_numFunction · 0.85

Tested by

no test coverage detected