.. 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
   featuresbyrelease/index
   troubleshooting/index
   events/index
   reference/index
   relatedprojects/index
   archive/index
   about.rst
