Vector Packet Processing
========================
-## Introduction.
+## Introduction
The VPP platform is an extensible framework that provides out-of-the-box
production quality switch/router functionality. It is the open source version
[What is VPP?](https://wiki.fd.io/view/VPP/What_is_VPP%3F) pages.
-## Directory layout.
+## Changes
-Directory name | Description
----------------------- | -------------------------------------------
- build-data | Build metadata
- build-root | Build output directory
- doxygen | Documentation generator configuration
- dpdk | DPDK patches and build infrastructure
- g2 | Event log visualization tool
- gmod | perf related?
- perftool | Performance tool
- plugins | VPP bundled plugins directory
-@ref svm | Shared virtual memory allocation library
- test | Unit tests
-@ref vlib | VPP application library source
-@ref vlib-api | VPP API library source
-@ref vnet | VPP networking source
-@ref vpp | VPP application source
-@ref vpp-api | VPP application API source
- vppapigen | VPP API generator source
- vpp-api-test | VPP API test program source
-@ref vppinfra | VPP core library source
+Details of the changes leading up to this version of VPP can be found under
+@ref release_notes.
-(If the page you are viewing is not generated by Doxygen then
-ignore any @@ref labels in the above table.)
+## Directory layout
-## Getting started.
+| Directory name | Description |
+| ---------------------- | ------------------------------------------- |
+| build-data | Build metadata |
+| build-root | Build output directory |
+| doxygen | Documentation generator configuration |
+| dpdk | DPDK patches and build infrastructure |
+| @ref extras/libmemif | Client library for memif |
+| @ref src/examples | VPP example code |
+| @ref src/plugins | VPP bundled plugins directory |
+| @ref src/svm | Shared virtual memory allocation library |
+| src/tests | Standalone tests (not part of test harness) |
+| src/vat | VPP API test program |
+| @ref src/vlib | VPP application library |
+| @ref src/vlibapi | VPP API library |
+| @ref src/vlibmemory | VPP Memory management |
+| @ref src/vnet | VPP networking |
+| @ref src/vpp | VPP application |
+| @ref src/vpp-api | VPP application API bindings |
+| @ref src/vppinfra | VPP core library |
+| @ref src/vpp/api | Not-yet-relocated API bindings |
+| test | Unit tests and Python test harness |
+
+## Getting started
In general anyone interested in building, developing or running VPP should
consult the [VPP wiki](https://wiki.fd.io/view/VPP) for more complete
For the impatient, some salient information is distilled below.
-### Quick-start: On an existing Linux host.
+### Quick-start: On an existing Linux host
To install system dependencies, build VPP and then install it, simply run the
build script. This should be performed a non-privileged user with `sudo`
access from the project base directory:
- ./build-root/vagrant/build.sh
+ ./extras/vagrant/build.sh
If you want a more fine-grained approach because you intend to do some
development work, the `Makefile` in the root directory of the source tree
make
-### Quick-start: Vagrant.
+### Quick-start: Vagrant
-The directory `build-root/vagrant` contains a `VagrantFile` and supporting
+The directory `extras/vagrant` contains a `VagrantFile` and supporting
scripts to bootstrap a working VPP inside a Vagrant-managed Virtual Machine.
This VM can then be used to test concepts with VPP or as a development
platform to extend VPP. Some obvious caveats apply when using a VM for VPP
(https://wiki.fd.io/view/DEV/Setting_Up_Vagrant).
-## More information.
+## More information
+
+Several modules provide documentation, see @subpage user_doc for more
+end-user-oriented information. Also see @subpage dev_doc for developer notes.
Visit the [VPP wiki](https://wiki.fd.io/view/VPP) for details on more
-advanced building strategies and development notes.
+advanced building strategies and other development notes.
+
+
+## Test Framework
+
+There is PyDoc generated documentation available for the VPP test framework.
+See @ref test_framework_doc for details.