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>
131 lines
3.1 KiB
ReStructuredText
131 lines
3.1 KiB
ReStructuredText
.. _twovppinstances:
|
|
|
|
.. toctree::
|
|
|
|
Connecting Two FD.io VPP Instances
|
|
==================================
|
|
|
|
.. _background-1:
|
|
|
|
memif is a very high performance, direct memory interface type which can
|
|
be used between FD.io VPP instances. It uses a file socket for a control channel
|
|
to set up shared memory.
|
|
|
|
.. _skills-to-be-learned-1:
|
|
|
|
Skills to be Learned
|
|
---------------------
|
|
|
|
You will learn the following new skill in this exercise:
|
|
|
|
#. Create a memif interface between two FD.io VPP instances
|
|
|
|
You should be able to perform this exercise with the following skills
|
|
learned in previous exercises:
|
|
|
|
#. Run a second FD.io VPP instance
|
|
#. Add an ip address to a FD.io VPP interface
|
|
#. Ping from FD.io VPP
|
|
|
|
.. _topology-1:
|
|
|
|
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-1:
|
|
|
|
Initial state
|
|
--------------
|
|
|
|
The initial state here is presumed to be the final state from the
|
|
exercise `Create an
|
|
Interface <VPP/Progressive_VPP_Tutorial#Exercise:_Create_an_Interface>`__
|
|
|
|
.. _action-running-a-second-vpp-instances-1:
|
|
|
|
Running a second FD.io VPP instances
|
|
-------------------------------------
|
|
|
|
You should already have a FD.io VPP instance running named: vpp1.
|
|
|
|
Run a second FD.io VPP instance named: vpp2.
|
|
|
|
.. code-block:: console
|
|
|
|
$ sudo /usr/bin/vpp -c startup2.conf
|
|
....
|
|
$ sudo vppctl -s /run/vpp/cli-vpp2.sock
|
|
_______ _ _ _____ ___
|
|
__/ __/ _ \ (_)__ | | / / _ \/ _ \
|
|
_/ _// // / / / _ \ | |/ / ___/ ___/
|
|
/_/ /____(_)_/\___/ |___/_/ /_/
|
|
|
|
vpp# show version
|
|
vpp v18.07-release built by root on c469eba2a593 at Mon Jul 30 23:27:03 UTC 2018
|
|
vpp# quit
|
|
|
|
.. _action-create-memif-interface-on-vpp1-1:
|
|
|
|
Create memif interface on vpp1
|
|
-------------------------------
|
|
|
|
Create a memif interface on vpp1. To connect to the instance vpp1 use the
|
|
socket **/run/vpp/cli-vpp1.sock**
|
|
|
|
.. code-block:: console
|
|
|
|
$ sudo vppctl -s /run/vpp/cli-vpp1.sock
|
|
vpp# create interface memif id 0 master
|
|
|
|
This will create an interface on vpp1 memif0/0 using /run/vpp/memif as
|
|
its socket file. The role of vpp1 for this memif interface is 'master'.
|
|
|
|
With what you have learned:
|
|
|
|
#. Set the memif0/0 state to up.
|
|
#. Assign IP address 10.10.2.1/24 to memif0/0
|
|
#. Examine memif0/0 via show commands
|
|
|
|
.. _action-create-memif-interface-on-vpp2-1:
|
|
|
|
Create memif interface on vpp2
|
|
--------------------------------
|
|
|
|
We want vpp2 to pick up the 'slave' role using the same
|
|
run/vpp/memif-vpp1vpp2 socket file
|
|
|
|
.. code-block:: console
|
|
|
|
vpp# create interface memif id 0 slave
|
|
|
|
This will create an interface on vpp2 memif0/0 using /run/vpp/memif as
|
|
its socket file. The role of vpp2 for this memif interface is 'slave'.
|
|
|
|
Use your previously used skills to:
|
|
|
|
#. Set the memif0/0 state to up.
|
|
#. Assign IP address 10.10.2.2/24 to memif0/0
|
|
#. Examine memif0/0 via show commands
|
|
|
|
.. _action-ping-from-vpp1-to-vpp2-1:
|
|
|
|
Ping from vpp1 to vpp2
|
|
------------------------
|
|
|
|
Ping 10.10.2.2 from vpp1
|
|
|
|
.. code-block:: console
|
|
|
|
$ ping 10.10.2.2
|
|
|
|
Ping 10.10.2.1 from vpp2
|
|
|
|
.. code-block:: console
|
|
|
|
$ ping 10.10.2.1
|