Subscribe via RSS

This is the second series on the virtio-networking community work which builds on the concepts and architectures introduced in the first series. We will cover advanced topics such as the virtio data plane layouts, vDPA kernel framework internals, virtio-net failover and more.

Similar to the previous series the series includes solution overviews, technical deep dive and hands on blogs:

Solution overview blogs provide the readers with a high level overview of each topic focusing on the what and the why. Technical deep-dive blogs provide the reader with the a detailed explanation of each topic focusing on the how. Hands on blogs provide the reader with instruction on how to try for himself each topic.


How vDPA can help network service providers simplify CNF/VNF certification (solution overview)

February 6, 2020 | Thomas Nadeau, Amnon Ilan, Ariel Adam, Michael S. Tsirkin

In this post we are going to discuss the challenges network operators currently face around the ongoing certification of containerized network functions (CNFs) or virtual network functions (VNFs), and how those challenges can be addressed with virtio data path acceleration (vDPA). vDPA is an innovative open and standards-based approach for CNF/VNF network acceleration.

Read the entire post on the Red Hat Blog.


Virtio devices and drivers overview: The headjack and the phone (technical deep-dive)

June 11, 2020 | Eugenio Pérez Martín

This is a technical deep dive and is relevant for those who are interested in the bits and bytes of things. It details the communication format between the different virtio parts and data plane protocols. We'll start with an overview of the virtio device, drivers and their data plane interaction. Then we'll move on to explain the details of the split virtqueue ring layout. This is followed by an overview of the packed ring layout and the advantages it brings over the split virtqueue approach.

Read the entire post on the Red Hat Blog.


Virtqueues and virtio ring: How the data travels (technical deep-dive)

July 8, 2020 | Eugenio Pérez Martín

This post continues where the "Virtio devices and drivers overview" leaves off. After we have explained the scenario in the previous post, we are reaching the main point: how does the data travel from the virtio-device to the driver and back?

Read the entire post on the Red Hat Blog.


Packed virtqueue: How to reduce overhead with virtio (technical deep-dive)

July 15, 2020 | Eugenio Pérez Martín

This is the final post of a three-post series. While the split virtqueue shines because of the simplicity of its design, it has a fundamental problem: The avail-used buffer cycle needs to use memory in a very sparse way. This puts pressure on the CPU cache utilization, and in the case of hardware means several PCI transactions for each descriptor.

Read the entire post on the Red Hat Blog.


Introduction to vDPA kernel framework (solution overview)

August 12, 2020 | Jason Wang, Ariel Adam

This post provides a high level overview of the vDPA (virtio data path acceleration) kernel framework merged to the Linux kernel in March 2020. This effort spanned almost three years, involved many developers and went through a number of iterations until agreed upon by the upstream community.

Read the entire post on the Red Hat Blog.


vDPA Kernel Framework Part 1: vDPA Bus for Abstracting Hardware (technical deep-dive)

August 17, 2020 | Jason Wang, Ariel Adam


vDPA kernel framework part 2: vDPA bus drivers for kernel subsystem interactions (technical deep-dive)

August 27, 2020 | Jason Wang, Ariel Adam


vDPA kernel framework part 3: usage for VMs and containers (technical deep-dive)

September 3, 2020 | Jason Wang

This post is intended for developers and architects who want to understand how vDPA is integrated with the existing software stacks such as QEMU, traditional kernel subsystems (networking and block), DPDK applications etc. The post is composed of two sections: the first part focuses on the typical use cases for the vhost-vDPA bus driver. The second part focuses on several typical use cases for the virtio-vDPA bus driver. 

Read the entire post on the Red Hat Blog.


Hands on vDPA: what do you do when you ain't got the hardware

October 14, 2020 | Cindy Lu, Jason Wang

In the previous post the internals of the vDPA kernel framework were covered. Putting the theory aside, the proof is in the pudding so now it’s time to get our hands dirty and try vDPA out. The obvious issue is the vDPA is a HW based feature requiring vendor NICs that support it. So how can we test vDPA when we don’t have such cards? What can we use instead of real hardware?

Read the entire post on the Red Hat Blog.