.. _installing:

.. toctree::

Installing VPP from Packages
============================

If you are simply using vpp, it can be convenient to install the binaries from
existing packages. This guide will describe how pull, install and run the VPP
packages.

.. toctree::

Package Descriptions
--------------------
The following is a brief description of the packages to be installed with VPP.

.. toctree::

   packages

Installing VPP Binaries
-----------------------

Installing on Ubuntu
^^^^^^^^^^^^^^^^^^^^
The following are instructions on how to install VPP on Ubuntu.

.. toctree::

   ubuntu

Installing on Centos
^^^^^^^^^^^^^^^^^^^^
The following are instructions on how to install VPP on Centos.

.. toctree::

   centos

Installing on openSUSE
^^^^^^^^^^^^^^^^^^^^^^
The following are instructions on how to install VPP on openSUSE.

.. toctree::

   opensuse
