Initial commit of Sphinx docs

Change-Id: I9fca8fb98502dffc2555f9de7f507b6f006e0e77
Signed-off-by: John DeNisco <jdenisco@cisco.com>
diff --git a/docs/gettingstarted/users/configutil/commandfour.rst b/docs/gettingstarted/users/configutil/commandfour.rst
new file mode 100644
index 0000000..27cac82
--- /dev/null
+++ b/docs/gettingstarted/users/configutil/commandfour.rst
@@ -0,0 +1,114 @@
+.. _config-command-four:
+
+**************************
+List/Install/Uninstall VPP
+**************************
+
+With option "4" the user can list, install or uninstall the FD.io VPP packages. If there
+are packages already installed, the packages will be listed and then the user will be asked
+if the packages should be uninstalled. If no packages are installed the user will be asked if
+the FD.io packages should be installed. The packages installed will be the latest released
+packages.
+
+Uninstalling the packages:
+
+.. code-block:: console
+
+    What would you like to do?
+    
+    1) Show basic system information
+    2) Dry Run (Will save the configuration files in /usr/local/vpp/vpp-config/dryrun for inspection)
+    3) Full configuration (WARNING: This will change the system configuration)
+    4) List/Install/Uninstall VPP.
+    q) Quit
+    
+    Command: 4
+    
+    These packages are installed on node localhost
+    Name                      Version
+    vpp                       18.04-release
+    vpp-api-java              18.04-release
+    vpp-api-lua               18.04-release
+    vpp-api-python            18.04-release
+    vpp-dbg                   18.04-release
+    vpp-dev                   18.04-release
+    vpp-dpdk-dev              17.01.1-release
+    vpp-dpdk-dkms             17.01.1-release
+    vpp-lib                   18.04-release
+    vpp-nsh-plugin            18.04
+    vpp-nsh-plugin-dbg        18.04
+    vpp-nsh-plugin-dev        18.04
+    vpp-plugins               18.04-release
+    
+    Do you want to uninstall these packages [y/N]? y
+    INFO:root: Local Command: service vpp stop
+    INFO:root:Uninstall Ubuntu
+    INFO:root: Local Command: dpkg -l | grep vpp
+    ....
+    What would you like to do?
+    
+    1) Show basic system information
+    2) Dry Run (Will save the configuration files in /usr/local/vpp/vpp-config/dryrun for inspection)
+    3) Full configuration (WARNING: This will change the system configuration)
+    4) List/Install/Uninstall VPP.
+    q) Quit
+    
+    Command:
+
+Installing the packages:
+
+.. code-block:: console
+
+    1) Show basic system information
+    2) Dry Run (Will save the configuration files in /usr/local/vpp/vpp-config/dryrun for inspection)
+    3) Full configuration (WARNING: This will change the system configuration)
+    4) List/Install/Uninstall VPP.
+    q) Quit
+    
+    Command: 4
+    
+    There are no VPP packages on node localhost.
+    Do you want to install VPP [Y/n]? Y
+    INFO:root:  Ubuntu
+    INFO:root:Install Ubuntu
+    INFO:root: Local Command: ls /etc/apt/sources.list.d/99fd.io.list.orig
+    INFO:root:  /etc/apt/sources.list.d/99fd.io.list.orig
+    ....
+
+    What would you like to do?
+    
+    1) Show basic system information
+    2) Dry Run (Will save the configuration files in /usr/local/vpp/vpp-config/dryrun for inspection)
+    3) Full configuration (WARNING: This will change the system configuration)
+    4) List/Install/Uninstall VPP.
+    q) Quit
+    
+    Command: 4
+
+    These packages are installed on node localhost
+    Name                      Version
+    vpp                       18.04-release
+    vpp-api-java              18.04-release
+    vpp-api-lua               18.04-release
+    vpp-api-python            18.04-release
+    vpp-dbg                   18.04-release
+    vpp-dev                   18.04-release
+    vpp-dpdk-dev              17.01.1-release
+    vpp-dpdk-dkms             17.01.1-release
+    vpp-lib                   18.04-release
+    vpp-nsh-plugin            18.04
+    vpp-nsh-plugin-dbg        18.04
+    vpp-nsh-plugin-dev        18.04
+    vpp-plugins               18.04-release
+    
+    Do you want to uninstall these packages [y/N]? N
+
+    What would you like to do?
+    
+    1) Show basic system information
+    2) Dry Run (Will save the configuration files in /usr/local/vpp/vpp-config/dryrun for inspection)
+    3) Full configuration (WARNING: This will change the system configuration)
+    4) List/Install/Uninstall VPP.
+    q) Quit
+    
+    Command:
diff --git a/docs/gettingstarted/users/configutil/commandone.rst b/docs/gettingstarted/users/configutil/commandone.rst
new file mode 100644
index 0000000..9d63809
--- /dev/null
+++ b/docs/gettingstarted/users/configutil/commandone.rst
@@ -0,0 +1,70 @@
+.. _config-command-one:
+
+***********************
+Show System Information
+***********************
+
+With option "1" the user can inspect the system characteristics.
+
+This example shows a system that VPP has not yet been installed.
+
+.. code-block:: console
+
+    What would you like to do?
+    
+    1) Show basic system information
+    2) Dry Run (Will save the configuration files in /usr/local/vpp/vpp-config/dryrun for inspection)
+    3) Full configuration (WARNING: This will change the system configuration)
+    4) List/Install/Uninstall VPP.
+    q) Quit
+    
+    Command: 1
+    
+    ==============================
+    NODE: DUT1
+    
+    CPU:
+              Model name:    Intel(R) Xeon(R) CPU E5-2667 v3 @ 3.20GHz
+                  CPU(s):    32
+      Thread(s) per core:    2
+      Core(s) per socket:    8
+               Socket(s):    2
+       NUMA node0 CPU(s):    0-7,16-23
+       NUMA node1 CPU(s):    8-15,24-31
+             CPU max MHz:    3600.0000
+             CPU min MHz:    1200.0000
+                     SMT:    Enabled
+    
+    VPP Threads: (Name: Cpu Number)
+    
+    Grub Command Line:
+      Current: BOOT_IMAGE=/vmlinuz-4.4.0-128-generic root=UUID=9930aeee-b1d3-4cf5-b0de-d95dbb7dec5e ro
+      Configured: GRUB_CMDLINE_LINUX_DEFAULT="isolcpus=8,9-10 nohz_full=8,9-10 rcu_nocbs=8,9-10"
+    
+    Huge Pages:
+      Total System Memory           : 65863384 kB
+      Total Free Memory             : 45911100 kB
+      Actual Huge Page Total        : 1024
+      Configured Huge Page Total    : 8192
+      Huge Pages Free               : 896
+      Huge Page Size                : 2048 kB
+    
+    Devices:
+    Total Number of Buffers: 25600
+    
+    Devices with link up (can not be used with VPP):
+    0000:08:00.0    enp8s0f0                  I350 Gigabit Network Connection
+    
+    Devices bound to kernel drivers:
+    0000:90:00.0    enp144s0                  VIC Ethernet NIC
+    0000:8f:00.0    enp143s0                  VIC Ethernet NIC
+    0000:84:00.0    enp132s0f0,enp132s0f0d1   Ethernet Controller XL710 for 40GbE QSFP+
+    0000:84:00.1    enp132s0f1,enp132s0f1d1   Ethernet Controller XL710 for 40GbE QSFP+
+    0000:08:00.1    enp8s0f1                  I350 Gigabit Network Connection
+    0000:02:00.0    enp2s0f0                  82599ES 10-Gigabit SFI/SFP+ Network Connection
+    0000:02:00.1    enp2s0f1                  82599ES 10-Gigabit SFI/SFP+ Network Connection
+    
+    No devices bound to DPDK drivers
+    
+    VPP Service Status:
+      Not Installed
diff --git a/docs/gettingstarted/users/configutil/commandthree.rst b/docs/gettingstarted/users/configutil/commandthree.rst
new file mode 100644
index 0000000..c4c4429
--- /dev/null
+++ b/docs/gettingstarted/users/configutil/commandthree.rst
@@ -0,0 +1,80 @@
+.. _config-command-three:
+
+***********************
+Apply the Configuration
+***********************
+
+After the configuration files have been examined and are correct. The configuration
+can be applied. After the configuration is applied use option "1" to check the
+system configuration. Notice the default is NOT to change the grub file. If the option
+to change the grub command line is selected a reboot of the system will be required.
+
+.. code-block:: console
+
+   What would you like to do?
+
+   1) Show basic system information
+   2) Dry Run (Will save the configuration files in /usr/local/vpp/vpp-config/dryrun for inspection)
+   3) Full configuration (WARNING: This will change the system configuration)
+   4) List/Install/Uninstall VPP.
+   q) Quit
+
+   Command: 3
+
+   We are now going to configure your system(s).
+
+   Are you sure you want to do this [Y/n]? y
+   These are the changes we will apply to
+   the huge page file (/etc/sysctl.d/80-vpp.conf).
+
+   1,2d0
+   < vm.nr_hugepages=1024
+   4,7c2,3
+   < vm.max_map_count=3096
+   ---
+   > vm.nr_hugepages=8192
+   > vm.max_map_count=17408
+   8a5
+   > kernel.shmmax=17179869184
+   10,15d6
+   < kernel.shmmax=2147483648
+
+   Are you sure you want to apply these changes [Y/n]? 
+   These are the changes we will apply to
+   the VPP startup file (/etc/vpp/startup.conf).
+
+   ---
+   > 
+   >   main-core 8
+   >   corelist-workers 9-10
+   > 
+   >   scheduler-policy fifo
+   >   scheduler-priority 50
+   > 
+   67,68c56,66
+   < # dpdk {
+   ---
+   > dpdk {
+   > 
+   >   dev 0000:86:00.0 { 
+   >     num-rx-queues 2
+   >   }
+   >   dev 0000:86:00.1 { 
+   >     num-rx-queues 2
+   >   }
+   >   num-mbufs 25600
+   > 
+   124c122
+   < # }
+   ---
+   > }
+
+   Are you sure you want to apply these changes [Y/n]? 
+
+   The configured grub cmdline looks like this:
+   GRUB_CMDLINE_LINUX_DEFAULT="isolcpus=8,9-10 nohz_full=8,9-10 rcu_nocbs=8,9-10"
+
+   The current boot cmdline looks like this:
+   BOOT_IMAGE=/boot/vmlinuz-4.4.0-97-generic root=UUID=d760b82f-f37b-47e2-9815-db8d479a3557 ro
+
+   Do you want to keep the current boot cmdline [Y/n]? 
diff --git a/docs/gettingstarted/users/configutil/commandtwo.rst b/docs/gettingstarted/users/configutil/commandtwo.rst
new file mode 100644
index 0000000..0d06c14
--- /dev/null
+++ b/docs/gettingstarted/users/configutil/commandtwo.rst
@@ -0,0 +1,124 @@
+.. _config-command-two:
+
+*******
+Dry Run
+*******
+
+With the config utility dry run option the important configuration files are created
+so that the user can examine them and then if they look reasonable apply them with
+option 3. The files for **Ubuntu** can be found in the root directory /usr/local/vpp/vpp-config/dryrun
+and for **Centos** in /usr/vpp/vpp-config/dryrun.
+
+The important configuration files are **/etc/vpp/startup.conf**, **/etc/sysctl.d/80-vpp.conf**,
+and **/etc/default/grub** 
+
+Startup.conf
+============
+
+FD.io VPP startup parameters are configured in the file **/etc/vpp/startup.conf**. The
+utility creates this file under the vpp-config root directory in vpp/startup.conf.
+the values in this file come from the questions asked about the devices, cores, rx queues,
+and tcp parameters.
+
+80-vpp.conf
+===========
+
+The huge page configuration comes by setting values in the file **/etc/sysctl.d/80-vpp.conf**.
+The utility creates the file under the root directory in sysctl.d/80-vpp.conf. When asked the
+question about huge pages the correct values are put in the dryrin file.
+
+grub
+====
+
+CPUs can be isolated for use by VPP or other processes such as VMs using the grub configuration
+file. This file is **/etc/default/grub**. This file must be modified with care. It is possible to
+make your system unusable if this file is modified incorrectly. The dry run file is located under
+the vpp-config root directory and then default.
+
+*********************
+Executing the Dry Run
+*********************
+
+The following is an example of how to execute a dry run. Defaults should be picked first and then
+the values increased accordingly.
+
+.. code-block:: console
+
+    1) Show basic system information
+    2) Dry Run (Will save the configuration files in /usr/local/vpp/vpp-config/dryrun for inspection)
+    3) Full configuration (WARNING: This will change the system configuration)
+    4) List/Install/Uninstall VPP.
+    q) Quit
+    
+    Command: 2
+    
+    These devices have kernel interfaces, but appear to be safe to use with VPP.
+    
+    PCI ID          Kernel Interface(s)       Description
+    ------------------------------------------------------------------------------------------
+    0000:8f:00.0    enp143s0                  VIC Ethernet NIC
+    0000:84:00.0    enp132s0f0,enp132s0f0d1   Ethernet Controller XL710 for 40GbE QSFP+
+    0000:84:00.1    enp132s0f1,enp132s0f1d1   Ethernet Controller XL710 for 40GbE QSFP+
+    0000:08:00.1    enp8s0f1                  I350 Gigabit Network Connection
+    0000:02:00.0    enp2s0f0                  82599ES 10-Gigabit SFI/SFP+ Network Connection
+    0000:02:00.1    enp2s0f1                  82599ES 10-Gigabit SFI/SFP+ Network Connection
+    0000:86:00.0    enp134s0f0                82599ES 10-Gigabit SFI/SFP+ Network Connection
+    0000:86:00.1    enp134s0f1                82599ES 10-Gigabit SFI/SFP+ Network Connection
+    
+    Would you like to use any of these device(s) for VPP [y/N]? y
+    Would you like to use device 0000:8f:00.0 for VPP [y/N]?
+    Would you like to use device 0000:84:00.0 for VPP [y/N]?
+    Would you like to use device 0000:84:00.1 for VPP [y/N]?
+    Would you like to use device 0000:08:00.1 for VPP [y/N]?
+    Would you like to use device 0000:02:00.0 for VPP [y/N]?
+    Would you like to use device 0000:02:00.1 for VPP [y/N]?
+    Would you like to use device 0000:86:00.0 for VPP [y/N]? y
+    Would you like to use device 0000:86:00.1 for VPP [y/N]? y
+    
+    These device(s) will be used by VPP.
+    
+    PCI ID          Description
+    ----------------------------------------------------------------
+    0000:86:00.0    82599ES 10-Gigabit SFI/SFP+ Network Connection
+    0000:86:00.1    82599ES 10-Gigabit SFI/SFP+ Network Connection
+    0000:90:00.0    VIC Ethernet NIC
+    
+    Would you like to remove any of these device(s) [y/N]? y
+    Would you like to remove 0000:86:00.0 [y/N]?
+    Would you like to remove 0000:86:00.1 [y/N]?
+    Would you like to remove 0000:90:00.0 [y/N]? y
+    
+    These device(s) will be used by VPP, please rerun this option if this is incorrect.
+    
+    PCI ID          Description
+    ----------------------------------------------------------------
+    0000:86:00.0    82599ES 10-Gigabit SFI/SFP+ Network Connection
+    0000:86:00.1    82599ES 10-Gigabit SFI/SFP+ Network Connection
+    
+    Your system has 32 core(s) and 2 Numa Nodes.
+    To begin, we suggest not reserving any cores for VPP or other processes.
+    Then to improve performance start reserving cores and adding queues as needed.
+    
+    How many core(s) shall we reserve for VPP [0-4][0]? 2
+    How many core(s) do you want to reserve for processes other than VPP? [0-15][0]?
+    Should we reserve 1 core for the VPP Main thread? [y/N]? y
+    How many RX queues per port shall we use for VPP [1-4][1]? 2
+    
+    How many active-open / tcp client sessions are expected [0-10000000][0]?
+    How many passive-open / tcp server sessions are expected [0-10000000][0]?
+    
+    There currently 896 2048 kB huge pages free.
+    Do you want to reconfigure the number of huge pages [y/N]? y
+    
+    There currently a total of 1024 huge pages.
+    How many huge pages do you want [1024 - 15644][1024]? 8192
+    
+    What would you like to do?
+    
+    1) Show basic system information
+    2) Dry Run (Will save the configuration files in /usr/local/vpp/vpp-config/dryrun for inspection)
+    3) Full configuration (WARNING: This will change the system configuration)
+    4) List/Install/Uninstall VPP.
+    q) Quit
+    
+    Command:
diff --git a/docs/gettingstarted/users/configutil/configapplied.rst b/docs/gettingstarted/users/configutil/configapplied.rst
new file mode 100644
index 0000000..70d483b
--- /dev/null
+++ b/docs/gettingstarted/users/configutil/configapplied.rst
@@ -0,0 +1,85 @@
+.. _config-applied:
+
+*************************
+The Configuration Applied
+*************************
+
+After the configuration is applied the system parameters should be examined.
+
+.. code-block:: console
+
+    What would you like to do?
+    
+    1) Show basic system information
+    2) Dry Run (Will save the configuration files in /usr/local/vpp/vpp-config/dryrun for inspection)
+    3) Full configuration (WARNING: This will change the system configuration)
+    4) List/Install/Uninstall VPP.
+    q) Quit
+    
+    Command: 1
+    
+    ==============================
+    NODE: DUT1
+    
+    CPU:
+              Model name:    Intel(R) Xeon(R) CPU E5-2667 v3 @ 3.20GHz
+                  CPU(s):    32
+      Thread(s) per core:    2
+      Core(s) per socket:    8
+               Socket(s):    2
+       NUMA node0 CPU(s):    0-7,16-23
+       NUMA node1 CPU(s):    8-15,24-31
+             CPU max MHz:    3600.0000
+             CPU min MHz:    1200.0000
+                     SMT:    Enabled
+    
+    VPP Threads: (Name: Cpu Number)
+      vpp_main  : 8
+      vpp_wk_1  : 10
+      vpp_wk_0  : 9
+      vpp_stats : 0
+    
+    Grub Command Line:
+      Current: BOOT_IMAGE=/vmlinuz-4.4.0-128-generic root=UUID=9930aeee-b1d3-4cf5-b0de-d95dbb7dec5e ro
+      Configured: GRUB_CMDLINE_LINUX_DEFAULT="isolcpus=1,8,9-10 nohz_full=1,8,9-10 rcu_nocbs=1,8,9-10"
+    
+    Huge Pages:
+      Total System Memory           : 65863384 kB
+      Total Free Memory             : 31169292 kB
+      Actual Huge Page Total        : 8196
+      Configured Huge Page Total    : 8196
+      Huge Pages Free               : 7942
+      Huge Page Size                : 2048 kB
+    
+    Devices:
+    Total Number of Buffers: 25600
+    
+    Devices with link up (can not be used with VPP):
+    0000:08:00.0    enp8s0f0                  I350 Gigabit Network Connection
+    
+    Devices bound to kernel drivers:
+    0000:90:00.0    enp144s0                  VIC Ethernet NIC
+    0000:8f:00.0    enp143s0                  VIC Ethernet NIC
+    0000:84:00.0    enp132s0f0,enp132s0f0d1   Ethernet Controller XL710 for 40GbE QSFP+
+    0000:84:00.1    enp132s0f1,enp132s0f1d1   Ethernet Controller XL710 for 40GbE QSFP+
+    0000:08:00.1    enp8s0f1                  I350 Gigabit Network Connection
+    0000:02:00.0    enp2s0f0                  82599ES 10-Gigabit SFI/SFP+ Network Connection
+    0000:02:00.1    enp2s0f1                  82599ES 10-Gigabit SFI/SFP+ Network Connection
+    
+    Devices bound to DPDK drivers:
+    0000:86:00.0                              82599ES 10-Gigabit SFI/SFP+ Network Connection
+    0000:86:00.1                              82599ES 10-Gigabit SFI/SFP+ Network Connection
+    
+    Devices in use by VPP:
+    Name                           Socket RXQs RXDescs TXQs TXDescs
+    TenGigabitEthernet86/0/0            1    2    1024    3    1024
+    TenGigabitEthernet86/0/1            1    2    1024    3    1024
+    
+    VPP Service Status:
+      active (running)
+
+.. toctree::
+
+   sysinfo
+
+
diff --git a/docs/gettingstarted/users/configutil/index.rst b/docs/gettingstarted/users/configutil/index.rst
new file mode 100644
index 0000000..6cf3a30
--- /dev/null
+++ b/docs/gettingstarted/users/configutil/index.rst
@@ -0,0 +1,30 @@
+.. _configutil:
+
+#########################
+VPP Configuration Utility
+#########################
+
+This guide provides instructions on how to install and use the vpp configuration
+utility.
+
+The FD.io VPP Configuration Utility, or vpp-config, allows the user to configure
+FD.io VPP in a simple and safe manner. The utility takes input from the user and
+creates the configuration files in a dry run directory. The user should then examine
+these files for correctness. If the configuration files look correct, the user
+can then apply the configuration. Once the configuration is applied the user
+should then check the system configuration with the utility and see if it was
+applied correctly.
+
+This utility also includes a utility that can be used to install or uninstall FD.io VPP
+packages. This should be used to insure the latest tested release is installed.
+
+.. toctree::
+
+   installing
+   usingvppconfig
+   commandfour
+   commandone
+   commandtwo
+   commandthree
+   configapplied
+
diff --git a/docs/gettingstarted/users/configutil/installing.rst b/docs/gettingstarted/users/configutil/installing.rst
new file mode 100644
index 0000000..57929ae
--- /dev/null
+++ b/docs/gettingstarted/users/configutil/installing.rst
@@ -0,0 +1,30 @@
+.. _installing:
+
+.. toctree::
+
+**********
+Installing
+**********
+
+The FD.io VPP configuration utility uses the `Python Package Index <https://pypi.org>`__
+or "pypi".
+
+To install FD.io vpp-config first install python pip.
+
+For Ubuntu execute:
+
+.. code-block:: console
+
+    $ sudo apt-get install python-pip
+
+For Centos execute:
+
+.. code-block:: console
+
+    $ sudo yum install install python-pip
+
+Then install the config utility itself.
+
+.. code-block:: console
+
+    $ sudo -H pip install vpp-config
diff --git a/docs/gettingstarted/users/configutil/sysinfo.rst b/docs/gettingstarted/users/configutil/sysinfo.rst
new file mode 100644
index 0000000..893f949
--- /dev/null
+++ b/docs/gettingstarted/users/configutil/sysinfo.rst
@@ -0,0 +1,50 @@
+.. _sysinfo:
+
+CPU
+---
+
+The CPU section of the system information is a summary of the CPU characteristics of the system.
+It is important to understand the CPU topology and frequency in order to understand what the VPP
+performance characteristics would be. 
+
+Threads
+-------
+
+It usually is not needed, but VPP can be configured to run on isolated CPUs. In the example shown
+VPP is configured with 2 workers. The main thread is also configured to run on a seperate CPU. The
+stats thread will always run on CPU 0. This utilty will put the worker threads on CPUs that are
+associated with the ports that are configured.
+
+Grub Command Line
+-----------------
+
+In general the Grub command line does not need to be changed. If the system is running many processes
+it may be neccessary to isolate CPUs for VPP or other processes.
+
+Huge Pages
+----------
+
+As default when VPP is configured the number of huge pages that will be configured will be 1024.
+This may not be enough. This section will show the total system memory and how many are configured.
+
+
+Devices
+-------
+
+In the devices section we have the "Total Number of Buffers". This utility allocates the correct
+number of buffers. The number of buffers are calculated from the number of rx queues.
+
+VPP will not use links that are up. Those devices are shown with this utility.
+
+The devices bound to the kernel are not being used by VPP, but can be.
+
+The devices that are being used by VPP are shown with the interface name be used with VPP. The
+socket being used by the VPP port is also shown. Notice in this example the worker thread are
+on the correct CPU. The number of RX, TX Descriptors and TX queues are calculated from the number
+of RX queues.
+
+
+VPP Service Status
+------------------
+
+The VPP service status, will be installed, not installed, running or not.
diff --git a/docs/gettingstarted/users/configutil/usingvppconfig.rst b/docs/gettingstarted/users/configutil/usingvppconfig.rst
new file mode 100644
index 0000000..4f1ce6c
--- /dev/null
+++ b/docs/gettingstarted/users/configutil/usingvppconfig.rst
@@ -0,0 +1,51 @@
+.. _usingvppconfig.rst:
+
+*******
+Running
+*******
+
+The vpp-config utility provides the user with several different menus. This allows the
+user to configure ports, some performance characteristics, the number of huge pages
+and install/uninstall the released FD.io packages.
+
+It is recommended that the menu options are executed in this order.
+
+#. :ref:`4) List/Install/Uninstall VPP <config-command-four>`
+#. :ref:`1) Show basic system information <config-command-one>`
+#. :ref:`2) Dry Run <config-command-two>`
+#. :ref:`3) Full Configuration <config-command-three>`
+
+Once vpp-config is installed as a root user execute the following
+
+.. code-block:: console
+
+    $ sudo -H bash
+    # vpp-config
+    
+    Welcome to the VPP system configuration utility
+    
+    These are the files we will modify:
+        /etc/vpp/startup.conf
+        /etc/sysctl.d/80-vpp.conf
+        /etc/default/grub
+    
+    Before we change them, we'll create working copies in /usr/local/vpp/vpp-config/dryrun
+    Please inspect them carefully before applying the actual configuration (option 3)!
+    
+    What would you like to do?
+    
+    1) Show basic system information
+    2) Dry Run (Will save the configuration files in /usr/local/vpp/vpp-config/dryrun for inspection)
+    4) List/Install/Uninstall VPP.
+    q) Quit
+    
+    Command:
+
+Default Values
+==============
+
+If you do not choose to modify the default for any of the questions prompted by vpp-config,
+you may press the ENTER key to select the default options:
+
+* Questions that ask [Y/n], the capital letter Y is the default answer.
+* Numbers have their default within brackets, such as in [1024], the 1024 is the default.