JustKernel

Ray Of Hope

November, 2014

QEMU Networking Vhost-user & Transport Infiniband – series 3, vring implementation

This description and understanding is based on the vhost-user implementation and the vapp sample application shared by the VirtualOpenSystems. vhost_client.c new_vhost_client() { vhost_client = new client(); //create a new clietn. vhost_client->page_size = VHOST_CLIENT_PAGE_SIZE; vhost_client->memory.nregions = VHOST_CLIENT_VRING_NUM; 2 : 1 for tx and 1 for Rx. each region is backed by the socket and mapped to […]

Tags: , , ,

Posted in vhost-user, virtio-net | No Comments »

QEMU Networking Vhost-user & Transport Infiniband – series 2 – code flow.

hw/virtio/vhost.c static const vhostops user_ops { .backend_type = VHOST_BACKEND_TYPE_USER .vhost_call = vhost_user_call .vhost_status = vhost_user_status } static const vhostops user_ops { .backend_type = VHOST_BACKEND_TYPE_kernel .vhost_call = vhost_kerne_call .vhost_status = 0 } vhost_set_backend_type() { select whether to use vhost-kernel or vhost-user } vhost_user_call() { vhost_dev_init() { 1) set the backend type 2. init the backend //vhost_backend_init […]

Tags: , , , ,

Posted in vhost-user, virtio-net | No Comments »

QEMU Networking Vhost-user & Transport Infiniband – series 1, general architecture

Objective: Get the maximum performance for VM to VM communication using Infiniband backend utilizing RDMA. Design: server1 running VM1—>Usermode app running on server1—–RDMA TRANSPORT—->App2 running on server2—>vm2 running on server 2. brief description: vm1 is executed on server1 using emulated virtio-net(frontend) adapter and vhost-user backend. PACKETH runs on vm1 and generates the broadcast packet. App1 […]

Tags: , , , ,

Posted in qemu, vhost-user, virtio-net, virtualization | 2 Comments »