aboutsummaryrefslogtreecommitdiffstats
path: root/docs/usecases/vppcloud/vppinaws.rst
diff options
context:
space:
mode:
authorNathan Skrzypczak <nathan.skrzypczak@gmail.com>2021-08-19 11:38:06 +0200
committerDave Wallace <dwallacelf@gmail.com>2021-10-13 23:22:32 +0000
commit9ad39c026c8a3c945a7003c4aa4f5cb1d4c80160 (patch)
tree3cca19635417e28ae381d67ae31c75df2925032d /docs/usecases/vppcloud/vppinaws.rst
parentf47122e07e1ecd0151902a3cabe46c60a99bee8e (diff)
docs: better docs, mv doxygen to sphinx
This patch refactors the VPP sphinx docs in order to make it easier to consume for external readers as well as VPP developers. It also makes sphinx the single source of documentation, which simplifies maintenance and operation. Most important updates are: - reformat the existing documentation as rst - split RELEASE.md and move it into separate rst files - remove section 'events' - remove section 'archive' - remove section 'related projects' - remove section 'feature by release' - remove section 'Various links' - make (Configuration reference, CLI docs, developer docs) top level items in the list - move 'Use Cases' as part of 'About VPP' - move 'Troubleshooting' as part of 'Getting Started' - move test framework docs into 'Developer Documentation' - add a 'Contributing' section for gerrit, docs and other contributer related infos - deprecate doxygen and test-docs targets - redirect the "make doxygen" target to "make docs" Type: refactor Change-Id: I552a5645d5b7964d547f99b1336e2ac24e7c209f Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com> Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Diffstat (limited to 'docs/usecases/vppcloud/vppinaws.rst')
-rw-r--r--docs/usecases/vppcloud/vppinaws.rst147
1 files changed, 147 insertions, 0 deletions
diff --git a/docs/usecases/vppcloud/vppinaws.rst b/docs/usecases/vppcloud/vppinaws.rst
new file mode 100644
index 00000000000..8d5662d2bd8
--- /dev/null
+++ b/docs/usecases/vppcloud/vppinaws.rst
@@ -0,0 +1,147 @@
+.. _vppinaws:
+
+.. toctree::
+
+VPP in AWS
+==========
+
+Warning: before starting this guide you should have a minimum knowledge on how `AWS works <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html>`_!
+
+First of all, you should log into your Virtual Machine inside AWS (we suggest to create an instance with Ubuntu 16.04 on a m5 type) and download some useful packages to make VPP installation as smooth as possible:
+
+.. code-block:: console
+
+ $ sudo apt-get update
+ $ sudo apt-get upgrade
+ $ sudo apt-get install build-essential
+ $ sudo apt-get install python-pip
+ $ sudo apt-get install libnuma-dev
+ $ sudo apt-get install make
+ $ sudo apt install libelf-dev
+
+
+
+Afterwards, types the following commands to install VPP:
+
+.. code-block:: console
+
+ $ curl -s https://packagecloud.io/install/repositories/fdio/1807/script.deb.sh | sudo bash
+
+
+
+
+In this case we downloaded VPP version 18.07 but actually you can use any VPP version available. Then, you can install VPP with all of its plugins:
+
+
+.. code-block:: console
+
+ $ sudo apt-get update
+ $ sudo apt-get install vpp
+ $ sudo apt-get install vpp-plugins vpp-dbg vpp-dev vpp-api-java vpp-api-python vpp-api-lua
+
+
+
+Now, you need to bind the NICs (Network Card Interface) to VPP. Firstly you have the retrieve the PCI addresses of the NICs you want to bind:
+
+.. code-block:: console
+
+ $ sudo lshw -class network -businfo
+
+
+
+
+The PCI addresses have a format similar to this: 0000:00:0X.0. Once you retrieve them, you should copy them inside the startup file of VPP:
+
+.. code-block:: console
+
+ $ sudo nano /etc/vpp/startup.conf
+
+
+
+Here, inside the dpdk block, copy the PCI addresses of the NIC you want to bind to VPP.
+
+
+.. code-block:: console
+
+ dev 0000:00:0X.0
+
+
+
+
+Now you should install DPDK package. This will allow to bind the NICs to VPP through a script available inside the DPDK package:
+
+.. code-block:: console
+
+ $ wget https://fast.dpdk.org/rel/dpdk-18.08.tar.xz
+ $ tar -xvf dpdk-18.08.tar.xz
+ $ cd ~/dpdk-18.08/usertools/
+
+
+
+and open the script:
+
+.. code-block:: console
+
+ $ ./dpdk-setup.sh
+
+
+
+When the script is running, you should be able to execute several options. For the moment, just install T=x86_64-native-linuxapp-gcc and then close the script. Now go inside:
+
+.. code-block:: console
+
+ $ cd ~/dpdk-18.08/x86_64-native-linuxapp-gcc/
+
+
+
+and type:
+
+.. code-block:: console
+
+ $ sudo modprobe uio
+ $ sudo insmod kmod/igb_uio.ko
+
+
+In this way, the PCIs addresses should appear inside the setup file of DPDK and therefore you can bind them:
+
+.. code-block:: console
+
+ $ ./dpdk-setup.sh
+
+
+
+Inside the script, bind the NICs using the option 24.
+
+Finally restart VPP and the NICs should appear inside VPP CLI:
+
+.. code-block:: console
+
+ $ sudo service vpp stop
+ $ sudo service vpp start
+ $ sudo vppctl show int
+
+
+
+
+Notice that if you stop the VM, you need to bind again the NICs.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+