[Guide] Intro to Vector Packet Processing (VPP)

03/01/2020

Welcome to our new series on how to build and program FD.io‘s Vector Packet Processing framework, also known as VPP.

[av_button_big label=’CONTACT US FOR A CUSTOM INTEGRATION’ description_pos=’below’ icon_select=’no’ icon=’ue800′ font=’entypo-fontello’ title_attr=” color=’theme-color’ custom_bg=’#444444′ color_hover=’theme-color-highlight’ custom_bg_hover=’#444444′ custom_font=’#ffffff’ link=’manually,https://pantheon.tech/contact-us’ link_target=” id=” custom_class=” av_uid=’av-2oxinh’ admin_preview_bg=”][/av_button_big]

The name stems from VPP’s usage of vector processing, which can process multiple packets at a time with low latency. Single packet processing and high latency were a common occurrence in the older, scalar processing approach, which VPP aims to make obsolete.

What will this series include?

This four-part series will include the following features, with the ultimate goal on getting to know your VPP framework and adapting it to your network:

  1. Binary API
  2. Honeycomb/hc2vpp
  3. Ligato VPP Agent
  4. gRPC/REST
  5. Memory Management & DPDK APIs

Why should I start using Vector Package Processing?

The main advantages are:

  • high performance with a proven technology
  • production level quality
  • flexible and extensible

The principle of VPP is, that you can plugin a new graph node, adapt it to your networks purposes and run it right off the bat. Including a new plugin does not mean, you need to change your core-code with each new addition. Plugins can be either included in the processing graph, or they can be built outside the source tree and become an individual component in your build.

Furthermore, this separation of plugins makes crashes a matter of a simple process restart, which does not require your whole build to be restarted because of one plugin failure.

For a full list of features, please visit the official Vector Package Processing Wiki.You can also check our previous installments on VPP integration.

Preparation of VPP packages

In order to build and start with VPP yourself, you will have to:

  1. Download VPP’s repository from this page or follow the installation instructions
  2. Clone the repository inside your system, or from VPP’s GitHub

Enjoy and explore the repository as you wish. We will continue exploring the Binary API in the next part of our series.


You can contact us at https://pantheon.tech/

Explore our Pantheon GitHub.

Watch our YouTube Channel.

Related Articles

[What Is] VLAN & VXLAN

Let’s start with an analogy - a busy airport. Thousands of passengers, dozens of terminals, countless gates. Now imagine trying to direct all that traffic - keeping passengers moving smoothly, without ending up at the wrong destination.  That’s what modern networks...

read more

[What Is] Whitebox Networking?

A deep dive into open-source & SONiC Solutions One of the many challenges in modern networking is the big decision, between vendor-locked and open-source solutions.  While entry prices for vendor-locked solutions seem viable, they can become unbearable in the long...

read more

[What Is] BGP EVPN?

As is always the case, businesses and service providers rely on and require networks that need to be fast, scalable, and resilient. However, as networks grow, they all kinds of challenges—from managing multi-location connectivity to ensuring efficient data flow and...

read more