c4c72d2835
Change-Id: If5b0d07ea90d978c6b1f11210a661876b7929653 Signed-off-by: John DeNisco <jdenisco@cisco.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
|