Difference between revisions of "VPP"

From fd.io
Jump to: navigation, search
(Tutorials)
(Tutorials)
Line 101: Line 101:
  
 
==Tutorials==
 
==Tutorials==
 +
 +
[[VPP/Code Walkthrough VoDs | Deep dive code walkthrough VoDs recorded at 2016 pre-launch Event]]
 +
 +
[[VPP/Tutorials | VPP Tutorials ]]
  
 
[[VPP/How To Use The Packet Generator and Packet Tracer|How To Use The Packet Generator and Packet Tracer]]  
 
[[VPP/How To Use The Packet Generator and Packet Tracer|How To Use The Packet Generator and Packet Tracer]]  
Line 115: Line 119:
  
 
[[Honeycomb/VPPJAPI_workflow | Working with Honeycomb - Workflow]]
 
[[Honeycomb/VPPJAPI_workflow | Working with Honeycomb - Workflow]]
 
[[VPP/Code Walkthrough VoDs | Code Walkthrough VoDs]]
 
 
[https://www.youtube.com/watch?v=NcNSHYJvNJ0 Video Tutorial: AARCH64_THUNDERX]
 
 
[https://www.youtube.com/watch?v=T66BTHnENY8 Video Tutorial: VPP-based vSwitch Performance]
 
 
[https://www.youtube.com/watch?v=BlFM5diWRLM Video Tutorial: vppfib walkthrough]
 
 
[https://www.youtube.com/watch?v=Z_8FOddNC6c Video Tutorial: vpp elog walkthrough]
 
 
[https://www.youtube.com/watch?v=TEkanShnsTs Video Tutorial: vppinfra walkthrough]
 
 
[https://www.youtube.com/watch?v=Oe3FTGVEcgQ Video Tutorial: vpp workflow walkthrough]
 
  
 
[https://www.youtube.com/watch?v=_gpjwQHOGwE&list=PLWHpG2-3ZXXteDBrVaDhaT9w-58Uu33sK Video Playlist: Training/Hackfest 2016-04-07]
 
[https://www.youtube.com/watch?v=_gpjwQHOGwE&list=PLWHpG2-3ZXXteDBrVaDhaT9w-58Uu33sK Video Playlist: Training/Hackfest 2016-04-07]

Revision as of 15:16, 20 December 2016

VPP Facts

Project Lead: Dave Barach
Committers:

  • Dave Barach
  • Keith Burns
  • Florin Coras
  • John Lo
  • Chris Luke
  • Damjan Marion
  • Neale Ranns
  • Ole Troan
  • Dave Wallace
  • Ed Warnicke

Repository: git clone https://gerrit.fd.io/r/vpp
Mailing List: vpp-dev@lists.fd.io
Jenkins: jenkins silo
Gerrit Patches: code patches/reviews
Bugs: VPP bugs

Get Involved

Start Here

What is VPP? - An introduction to the open-source Vector Packet Processing (VPP) platform

Feature Summary - A list of features included in VPP

Documentation: master (17.01)

Documentation: 1609.

Installing VPP binaries from packages - using APT/YUM to install VPP

Pulling, Building, Hacking, and Pushing VPP Code - Explains how to get up and going with the vpp code base. NOTE: supercedes Setting Up Your Dev Environment

Building and Installing A VPP Package - Explains how to build, install and test a VPP package

Alternative builds - various platform and feature specific VPP builds

Reporting Bugs - Explains how to report a bug, specifically: how to gather the required information

VPP Troubleshooting - Various tips/tricks for commonly seen issues

Dive Deeper

Build System Deep Dive - A close look at the components of the build system.

Introduction To IP Adjacency - An explanation of the characteristics of IP adjacency and its uses.

Introduction To N-tuple Classifiers - An explanation of classifiers and how to create classifier tables and sessions.

Modifying The Packet Processing Directed Graph - An explanation of how a directed node graph processes packets, and possible ways to change the node graph.

Using VPP In A Multi-thread Model - An explanation of multi-thread modes, configurations, and setup.

Using VPP as a VXLAN Tunnel Terminator - An explanation of the VXLAN tunnel terminator, its features, architecture, and API support.

Adding a VPP tunnel encapsulation - How to add a tunnel encapsulation type to vpp.

Using VPP IPSec and IKEv2 - An explanation of IPSec and IKEv2 configuration.

The VPP API

API Concepts

How to Create A Binary Control-plane API

How To Use The API Trace Tools

Python Language Binding

Java Language Binding

YANG model

Reference Material

VPP Command-line Interface (CLI) User Guide

VPP Command-line Arguments and startup configuration

Writing VPP Documentation

Performance Analysis Tools

How to spot missing prefetches

Buffer Opaque Layout

Tutorials

Deep dive code walkthrough VoDs recorded at 2016 pre-launch Event

VPP Tutorials

How To Use The Packet Generator and Packet Tracer

How To Build The Sample Plugin

How To Use The CLI To Configure Routing and Switching with TAP and vEth

How To Optimize Performance (System Tuning)

How to set up a TRex traffic generator

How To Connect A PCI Interface To VPP

Working with Honeycomb - Workflow

Video Playlist: Training/Hackfest 2016-04-07

Video Playlist: Training 2016-06-01

Use Cases

Use VPP as a Router Between Namespaces - An example configuration of the VPP platform as a router.

Use VPP with dynamic TAP interfaces as a Router Between Containers - Another example of inter-namespace/inter-container routing, using TAP interfaces.

Use VPP as an LW46 (MAP-E) Terminator - An example configuration of the VPP platform as an lw46 (MAP-E) terminator.

Use VPP for IPv6 Segment Routing - An example configuration of the VPP platform for IPv6 segment routing.

Interconnecting vRouters with VPP - An example to interconnect vRoutes (xrv9000) with VPP using vhost-user feature and VLAN tagging

Use user mode TCP stack with VPP - An example to use user mode TCP stack with VPP using netmap virtual interfaces

VPP Committer Tasks

Pushing and Testing a Tag

Steps for cutting Master to XXYY-rc0

Cutting a Release

VPP 16.09-RC0 cut punchlist

Projects

Simple NAT - VPP CGN, NAT44, stateful NAT64 project

Security Groups - ACLs, Security Groups, Group Based Policy

Previous Release Plans