Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
Arm Community blogs
Arm Community blogs
Tools, Software and IDEs blog Introduction to Open vSwitch with DPDK on Arm
  • Blogs
  • Mentions
  • Sub-Groups
  • Tags
  • Jump...
  • Cancel
More blogs in Arm Community blogs
  • AI blog

  • Announcements

  • Architectures and Processors blog

  • Automotive blog

  • Embedded and Microcontrollers blog

  • Internet of Things (IoT) blog

  • Laptops and Desktops blog

  • Mobile, Graphics, and Gaming blog

  • Operating Systems blog

  • Servers and Cloud Computing blog

  • SoC Design and Simulation blog

  • Tools, Software and IDEs blog

Tags
  • Server Software
  • Open Source Projects
  • networking
  • Tutorial
  • Linux
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

Introduction to Open vSwitch with DPDK on Arm

Malvika Gupta
Malvika Gupta
August 13, 2020
2 minute read time.

Overview

This blog series provides a detailed tutorial on how to install Open vSwitch with DPDK on Arm servers. It also demonstrates how to setup the environment for the two most common tests performed with the OvS-DPDK datapath — PHY-PHY and PHY-VM-PHY (vHost Loopback).

What is Open vSwitch with DPDK?

Open vSwitch, commonly abbreviated as OvS, is an open source multilayer virtual switch. It is designed to support packet distribution across multiple physical servers and is very well suited to function as a virtual switch in VM environments. Please refer to the links at the end of this blog for more details about OvS.

OvS has been included as a Linux kernel module from Linux version 3.10 and up. It is also capable of operating entirely in user space without assistance from a kernel module using DPDK. DPDK consists of libraries to accelerate packet processing workloads running on a wide variety of CPU architectures.

In native OvS, the Linux network stack handles and forwards packets in the kernel datapath. First packets of the flow are sent to the user space daemon for packet processing and once processed, the corresponding actions are installed in the kernel datapath. For achieving high packet processing rates, this continuous context switching between the kernel and user space proves to be costly. It limits the achievable packet throughput to that of the forwarding bandwidth of the Linux network stack. Integrating OvS with DPDK enables direct transfer of packets between user space and the physical interface, bypassing the kernel network stack. As a result, it offers a significant performance boost over Linux kernel forwarding. [1]

Purpose of Blog Series

This blog series provides the user with the precise steps to install and test OvS with DPDK on Arm platforms. Although the OvS official documentation captures this material comprehensively and has been referenced in this blog series, there are very limited CPU architecture-specific details provided in it. This guide highlights those architecture-specific details to get the most optimal OvS-DPDK environment on Arm platforms.  

For the purpose of this blog series, I am using the Neoverse N1 Software Development Platform (N1SDP) which is an enterprise class reference board based on the Neoverse N1 core. You can also replicate these tutorials on any other Arm-based platform of your choice. 

Blogs in this Blog Series

  • Chapter 1: Build and Install
  • Chapter 2: Setup for PHY-PHY Test
  • Chapter 3: Setup for PHY-VM-PHY (vHost Loopback) Test

References

  • What is Open vSwitch?
  • Introduction to Open vSwitch (OVS)
  • The Design and Implementation of Open vSwitch
  • OvS Deep Dive 0: Overview
  • Open vSwitch* with DPDK Overview

Next Blog in Series

Anonymous
Tools, Software and IDEs blog
  • Python on Arm: 2025 Update

    Diego Russo
    Diego Russo
    Python powers applications across Machine Learning (ML), automation, data science, DevOps, web development, and developer tooling.
    • August 21, 2025
  • Product update: Arm Development Studio 2025.0 now available

    Stephen Theobald
    Stephen Theobald
    Arm Development Studio 2025.0 now available with Arm Toolchain for Embedded Professional.
    • July 18, 2025
  • GCC 15: Continuously Improving

    Tamar Christina
    Tamar Christina
    GCC 15 brings major Arm optimizations: enhanced vectorization, FP8 support, Neoverse tuning, and 3–5% performance gains on SPEC CPU 2017.
    • June 26, 2025