9ad39c026c
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>
77 lines
1.9 KiB
ReStructuredText
77 lines
1.9 KiB
ReStructuredText
.. _routing:
|
|
|
|
.. toctree::
|
|
|
|
Routing
|
|
=======
|
|
|
|
Skills to be Learned
|
|
---------------------
|
|
|
|
In this exercise you will learn these new skills:
|
|
|
|
#. Add route to Linux Host routing table
|
|
#. Add route to FD.io VPP routing table
|
|
|
|
And revisit the old ones:
|
|
|
|
#. Examine FD.io VPP routing table
|
|
#. Enable trace on vpp1 and vpp2
|
|
#. ping from host to FD.io VPP
|
|
#. Examine and clear trace on vpp1 and vpp2
|
|
#. ping from FD.io VPP to host
|
|
#. Examine and clear trace on vpp1 and vpp2
|
|
|
|
VPP command learned in this exercise
|
|
-------------------------------------
|
|
|
|
#. `ip route
|
|
add <https://docs.fd.io/vpp/17.04/clicmd_src_vnet_ip.html#clicmd_ip_route>`__
|
|
|
|
Topology
|
|
---------
|
|
|
|
.. figure:: /_images/Connecting_two_vpp_instances_with_memif.png
|
|
:alt: Connect two FD.io VPP topology
|
|
|
|
Connect two FD.io VPP topology
|
|
|
|
Initial State
|
|
--------------
|
|
|
|
The initial state here is presumed to be the final state from the
|
|
exercise `Connecting two FD.io VPP
|
|
instances <VPP/Progressive_VPP_Tutorial#Connecting_two_vpp_instances>`__
|
|
|
|
Setup host route
|
|
-----------------
|
|
|
|
.. code-block:: console
|
|
|
|
$ sudo ip route add 10.10.2.0/24 via 10.10.1.2
|
|
$ ip route
|
|
default via 10.0.2.2 dev enp0s3
|
|
10.0.2.0/24 dev enp0s3 proto kernel scope link src 10.0.2.15
|
|
10.10.1.0/24 dev vpp1host proto kernel scope link src 10.10.1.1
|
|
10.10.2.0/24 via 10.10.1.2 dev vpp1host
|
|
|
|
Setup return route on vpp2
|
|
---------------------------
|
|
|
|
.. code-block:: console
|
|
|
|
$ sudo vppctl -s /run/vpp/cli-vpp2.sock
|
|
vpp# ip route add 10.10.1.0/24 via 10.10.2.1
|
|
|
|
Ping from host through vpp1 to vpp2
|
|
------------------------------------
|
|
|
|
The connection from vpp1 to vpp2 uses the **memif** driver, the connection to the host
|
|
uses the **af-packet** driver. To trace packets from the host we use **af-packet-input** from
|
|
vpp1 to vpp2 we use **memif-input**.
|
|
|
|
#. Setup a trace on vpp1 and vpp2
|
|
#. Ping 10.10.2.2 from the host
|
|
#. Examine the trace on vpp1 and vpp2
|
|
#. Clear the trace on vpp1 and vpp2
|