.. fdio-vpp documentation master file, created by
   sphinx-quickstart on Thu Apr 12 11:02:31 2018.
   You can adapt this file completely to your liking, but it should at least
   contain the root `toctree` directive.

#########################################
What is the Vector Packet Processor (VPP)
#########################################

FD.io's Vector Packet Processor (VPP) is a fast, scalable layer 2-4
multi-platform network stack. It runs in `Linux Userspace <https://en.wikipedia.org/wiki/User_space>`_
on multiple architectures including x86, ARM, and Power architectures.

VPP's high performance network stack is quickly becoming the network stack of
choice for applications around the world.

VPP is continually being enhanced through the extensive use of plugins. The
`Data Plane Development Kit (DPDK) <https://en.wikipedia.org/wiki/Data_Plane_Development_Kit>`_
is a great example of this. It provides some important features and drivers
for VPP.

VPP supports integration with OpenStack and Kubernetes. Network
management features include configuration, counters, sampling and
more. For developers, VPP includes high-performance event-logging,
and multiple kinds of packet tracing. Development debug images
include complete symbol tables, and extensive consistency checking.

Some VPP Use-cases include vSwitches, vRouters, Gateways, Firewalls
and Load Balancers, to name a few.

For more details click on the links below or press next.

.. toctree::
   :maxdepth: 2

   whatisvpp/index.rst
   gettingstarted/index
   links/index
   usecases/index
   troubleshooting/index
   reference/index
   relatedprojects/index
   about.rst
