11 In this exercise you will learn these new skills:
13 #. Add route to Linux Host routing table
14 #. Add route to FD.io VPP routing table
16 And revisit the old ones:
18 #. Examine FD.io VPP routing table
19 #. Enable trace on vpp1 and vpp2
20 #. ping from host to FD.io VPP
21 #. Examine and clear trace on vpp1 and vpp2
22 #. ping from FD.io VPP to host
23 #. Examine and clear trace on vpp1 and vpp2
25 VPP command learned in this exercise
26 -------------------------------------
29 add <https://docs.fd.io/vpp/17.04/clicmd_src_vnet_ip.html#clicmd_ip_route>`__
34 .. figure:: /_images/Connecting_two_vpp_instances_with_memif.png
35 :alt: Connect two FD.io VPP topology
37 Connect two FD.io VPP topology
42 The initial state here is presumed to be the final state from the
43 exercise `Connecting two FD.io VPP
44 instances <VPP/Progressive_VPP_Tutorial#Connecting_two_vpp_instances>`__
49 .. code-block:: console
51 $ sudo ip route add 10.10.2.0/24 via 10.10.1.2
53 default via 10.0.2.2 dev enp0s3
54 10.0.2.0/24 dev enp0s3 proto kernel scope link src 10.0.2.15
55 10.10.1.0/24 dev vpp1host proto kernel scope link src 10.10.1.1
56 10.10.2.0/24 via 10.10.1.2 dev vpp1host
58 Setup return route on vpp2
59 ---------------------------
61 .. code-block:: console
63 $ sudo vppctl -s /run/vpp/cli-vpp2.sock
64 vpp# ip route add 10.10.1.0/24 via 10.10.2.1
66 Ping from host through vpp1 to vpp2
67 ------------------------------------
69 The connection from vpp1 to vpp2 uses the **memif** driver, the connection to the host
70 uses the **af-packet** driver. To trace packets from the host we use **af-packet-input** from
71 vpp1 to vpp2 we use **memif-input**.
73 #. Setup a trace on vpp1 and vpp2
74 #. Ping 10.10.2.2 from the host
75 #. Examine the trace on vpp1 and vpp2
76 #. Clear the trace on vpp1 and vpp2