* [spp] [PATCH 0/7] Revise documentation for the latest release @ 2018-12-12 2:03 ogawa.yasufumi 2018-12-12 2:03 ` [spp] [PATCH 1/7] docs: update Getting Started section ogawa.yasufumi ` (7 more replies) 0 siblings, 8 replies; 17+ messages in thread From: ogawa.yasufumi @ 2018-12-12 2:03 UTC (permalink / raw) To: ferruh.yigit, spp, ogawa.yasufumi From: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp> Hi, There are several updates from previous v18.05, for instance, introducing spp-ctl and spp_mirror, re-designing SPP CLI and moving spp_vf.py or so. However, some of descriptions and examples in documation are still remained old. This series of patches is to update documentation and recipe files of examples to the latest release. Thanks, Yasufumi Yasufumi Ogawa (7): docs: update Getting Started section docs: update How to Use section docs: update Use Cases section docs: update spp_nfv commands docs: update Getting Started section of sppc docs: update Use Cases section of sppc recipes: update recipe files docs/guides/commands/secondary/spp_nfv.rst | 36 ++-- docs/guides/setup/getting_started.rst | 10 +- docs/guides/setup/howto_use.rst | 12 +- docs/guides/setup/use_cases.rst | 166 ++++++++-------- docs/guides/tools/sppc/getting_started.rst | 51 ++--- docs/guides/tools/sppc/usecases.rst | 294 ++++++++++++++++------------- recipes/sppc/samples/l2fwd.rcp | 22 +++ recipes/sppc/samples/l2fwd.rcps | 22 --- recipes/sppc/samples/lb_pg.rcp | 31 +++ recipes/sppc/samples/load_balancer.rcp | 30 +++ recipes/sppc/samples/load_balancer.rcps | 30 --- recipes/sppc/samples/pg_l2fwd.rcp | 17 ++ recipes/sppc/samples/pg_l2fwd_less.rcp | 17 ++ recipes/sppc/samples/test_ring.rcp | 16 ++ 14 files changed, 437 insertions(+), 317 deletions(-) create mode 100644 recipes/sppc/samples/l2fwd.rcp delete mode 100644 recipes/sppc/samples/l2fwd.rcps create mode 100644 recipes/sppc/samples/lb_pg.rcp create mode 100644 recipes/sppc/samples/load_balancer.rcp delete mode 100644 recipes/sppc/samples/load_balancer.rcps create mode 100644 recipes/sppc/samples/pg_l2fwd.rcp create mode 100644 recipes/sppc/samples/pg_l2fwd_less.rcp create mode 100644 recipes/sppc/samples/test_ring.rcp -- 2.7.4 ^ permalink raw reply [flat|nested] 17+ messages in thread
* [spp] [PATCH 1/7] docs: update Getting Started section 2018-12-12 2:03 [spp] [PATCH 0/7] Revise documentation for the latest release ogawa.yasufumi @ 2018-12-12 2:03 ` ogawa.yasufumi 2018-12-12 2:03 ` [spp] [PATCH 2/7] docs: update How to Use section ogawa.yasufumi ` (6 subsequent siblings) 7 siblings, 0 replies; 17+ messages in thread From: ogawa.yasufumi @ 2018-12-12 2:03 UTC (permalink / raw) To: ferruh.yigit, spp, ogawa.yasufumi From: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp> Update the description of supported versions of Python to explain that Python2 is going to be not supported in future release. Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp> --- docs/guides/setup/getting_started.rst | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/docs/guides/setup/getting_started.rst b/docs/guides/setup/getting_started.rst index ca639db..896090d 100644 --- a/docs/guides/setup/getting_started.rst +++ b/docs/guides/setup/getting_started.rst @@ -206,10 +206,13 @@ Python 2 or 3 ? ~~~~~~~~~~~~~~~ You need to install Python for using usertools of DPDK or SPP controller. -DPDK and SPP support both of Python2 and 3. +DPDK supports both of Python2 and 3. Howevrer, Python2 will not be maintained after 2020 and SPP is going to update only supporting Python3. +In SPP, it supports both of Python2 and 3 without spp-ctl currently, but is +going to support only Python3 before the end of 2019. + Binding Network Ports to DPDK ----------------------------- @@ -380,8 +383,11 @@ Compiled PDF file is created as ``docs/guides/_build/html/SoftPatchPanel.pdf``. $ make doc-pdf -You can also compile both of HTML and PDF documentations with ``doc-all``. +You can also compile both of HTML and PDF documentations with ``doc`` or +``doc-all``. .. code-block:: console + $ make doc + # or $ make doc-all -- 2.7.4 ^ permalink raw reply [flat|nested] 17+ messages in thread
* [spp] [PATCH 2/7] docs: update How to Use section 2018-12-12 2:03 [spp] [PATCH 0/7] Revise documentation for the latest release ogawa.yasufumi 2018-12-12 2:03 ` [spp] [PATCH 1/7] docs: update Getting Started section ogawa.yasufumi @ 2018-12-12 2:03 ` ogawa.yasufumi 2018-12-12 2:03 ` [spp] [PATCH 3/7] docs: update Use Cases section ogawa.yasufumi ` (5 subsequent siblings) 7 siblings, 0 replies; 17+ messages in thread From: ogawa.yasufumi @ 2018-12-12 2:03 UTC (permalink / raw) To: ferruh.yigit, spp, ogawa.yasufumi From: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp> Update descriptions and examples to the latest release. Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp> --- docs/guides/setup/howto_use.rst | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/guides/setup/howto_use.rst b/docs/guides/setup/howto_use.rst index 5e96919..1f511dd 100644 --- a/docs/guides/setup/howto_use.rst +++ b/docs/guides/setup/howto_use.rst @@ -41,11 +41,11 @@ events such as receiving a request or terminating a process. $ cd /path/to/spp $ python3 src/spp-ctl/spp-ctl -Notice that It is implemented in ``python3`` and cannot launch +Notice that ``spp-ctl`` is implemented in ``python3`` and cannot launch with ``python`` or ``python2``. -It has a option ``-b`` for binding address to be accessed from other than -``127.0.0.1`` or ``localhost``. +It has a option ``-b`` for binding address explicitly to be accessed +from other than default, ``127.0.0.1`` or ``localhost``. .. code-block:: console @@ -164,7 +164,7 @@ physical ports. --socket-mem 512,512 \ --huge-dir=/dev/hugepages \ --vdev eth_vhost1,iface=/tmp/sock1 # used as 1st phy port - --vdev eth_vhost2,iface=/tmp/sock2 # used as 2nd + --vdev eth_vhost2,iface=/tmp/sock2 # used as 2nd phy port --proc-type=primary \ -- \ -p 0x03 \ @@ -243,9 +243,9 @@ Run ``add`` command with resource UID ``vhost:0`` to create socket file. .. code-block:: console - spp > sec 1;add vhost:0 + spp > nfv 1; add vhost:0 -In this example, create socket file with index 0 from secondary of ID 1. +In this example, create socket file with index 0 from ``spp_nfv`` of ID 1. Socket file is created as ``/tmp/sock0``. It is used as a qemu option to add vhost interface. -- 2.7.4 ^ permalink raw reply [flat|nested] 17+ messages in thread
* [spp] [PATCH 3/7] docs: update Use Cases section 2018-12-12 2:03 [spp] [PATCH 0/7] Revise documentation for the latest release ogawa.yasufumi 2018-12-12 2:03 ` [spp] [PATCH 1/7] docs: update Getting Started section ogawa.yasufumi 2018-12-12 2:03 ` [spp] [PATCH 2/7] docs: update How to Use section ogawa.yasufumi @ 2018-12-12 2:03 ` ogawa.yasufumi 2018-12-12 2:03 ` [spp] [PATCH 4/7] docs: update spp_nfv commands ogawa.yasufumi ` (4 subsequent siblings) 7 siblings, 0 replies; 17+ messages in thread From: ogawa.yasufumi @ 2018-12-12 2:03 UTC (permalink / raw) To: ferruh.yigit, spp, ogawa.yasufumi From: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp> Update descriptions and examples to the latest release. Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp> --- docs/guides/setup/use_cases.rst | 166 ++++++++++++++++++++-------------------- 1 file changed, 82 insertions(+), 84 deletions(-) diff --git a/docs/guides/setup/use_cases.rst b/docs/guides/setup/use_cases.rst index b8ce7d2..7cf143b 100644 --- a/docs/guides/setup/use_cases.rst +++ b/docs/guides/setup/use_cases.rst @@ -9,27 +9,27 @@ Use Cases Single spp_nfv -------------- -The most simple use case mainly for testing performance of packet +The most simple usecase mainly for testing performance of packet forwarding on host. One ``spp_nfv`` and two physical ports. -In this use case, try to configure two senarios. +In this usecase, try to configure two senarios. -- Configure spp_nfv as L2fwd -- Configure spp_nfv for Loopback +- Configure ``spp_nfv`` as L2fwd +- Configure ``spp_nfv`` for Loopback -First of all, Check the status of ``spp_nfv`` from SPP controller. +First of all, Check the status of ``spp_nfv`` from SPP CLI. .. code-block:: console - spp > sec 1; status + spp > nfv 1; status - status: idling - ports: - phy:0 - phy:1 -This status message explains that ``sec 1`` has two physical ports. +This status message explains that ``nfv 1`` has two physical ports. Configure spp_nfv as L2fwd @@ -42,19 +42,19 @@ which means it is bi-directional connection. .. code-block:: console - spp > sec 1; patch phy:0 phy:1 + spp > nfv 1; patch phy:0 phy:1 Patch ports (phy:0 -> phy:1). - spp > sec 1; patch phy:1 phy:0 + spp > nfv 1; patch phy:1 phy:0 Patch ports (phy:1 -> phy:0). - spp > sec 1; forward + spp > nfv 1; forward Start forwarding. -Confirm that status of ``sec 1`` is updated to ``running`` and ports are +Confirm that status of ``nfv 1`` is updated to ``running`` and ports are patches as you defined. .. code-block:: console - spp > sec 1; status + spp > nfv 1; status - status: running - ports: - phy:0 -> phy:1 @@ -73,9 +73,9 @@ Stop forwarding and reset patch to clear configuration. .. code-block:: console - spp > sec 1; stop + spp > nfv 1; stop Stop forwarding. - spp > sec 1; patch reset + spp > nfv 1; patch reset Clear all of patches. @@ -87,11 +87,11 @@ for loopback. .. code-block:: console - spp > sec 1; patch phy:0 phy:0 + spp > nfv 1; patch phy:0 phy:0 Patch ports (phy:0 -> phy:0). - spp > sec 1; patch phy:1 phy:1 + spp > nfv 1; patch phy:1 phy:1 Patch ports (phy:1 -> phy:1). - spp > sec 1; forward + spp > nfv 1; forward Start forwarding. @@ -102,15 +102,13 @@ Use case for testing performance of packet forwarding with two ``spp_nfv`` on host. Throughput is expected to be better than :ref:`Single spp_nfv<single_spp_nfv>` -use case -because bi-directional forwarding of single nfv shared with two of -uni-directional forwarding between dual spp_nfv. +usecase because bi-directional forwarding of single ``spp_nfv`` is shared +with two of uni-directional forwarding between dual ``spp_nfv``. -In this use case, configure two senarios almost similar to -previous section. +In this usecase, configure two senarios almost similar to previous section. -- Configure Two spp_nfv as L2fwd -- Configure Two spp_nfv for Loopback +- Configure Two ``spp_nfv`` as L2fwd +- Configure Two ``spp_nfv`` for Loopback Configure Two spp_nfv as L2fwd @@ -118,18 +116,18 @@ Configure Two spp_nfv as L2fwd Assing the destination of ports with ``patch`` subcommand and start forwarding. -Patch from ``phy:0`` to ``phy:1`` for ``sec 1`` and -from ``phy:1`` to ``phy:0`` for ``sec 2``. +Patch from ``phy:0`` to ``phy:1`` for ``nfv 1`` and +from ``phy:1`` to ``phy:0`` for ``nfv 2``. .. code-block:: console - spp > sec 1; patch phy:0 phy:1 + spp > nfv 1; patch phy:0 phy:1 Patch ports (phy:0 -> phy:1). - spp > sec 2; patch phy:1 phy:0 + spp > nfv 2; patch phy:1 phy:0 Patch ports (phy:1 -> phy:0). - spp > sec 1; forward + spp > nfv 1; forward Start forwarding. - spp > sec 2; forward + spp > nfv 2; forward Start forwarding. .. _figure_spp_two_nfv_as_l2fwd: @@ -143,18 +141,18 @@ from ``phy:1`` to ``phy:0`` for ``sec 2``. Configure two spp_nfv for Loopback ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Patch ``phy:0`` to ``phy:0`` for ``sec 1`` and -``phy:1`` to ``phy:1`` for ``sec 2`` for loopback. +Patch ``phy:0`` to ``phy:0`` for ``nfv 1`` and +``phy:1`` to ``phy:1`` for ``nfv 2`` for loopback. .. code-block:: console - spp > sec 1; patch phy:0 phy:0 + spp > nfv 1; patch phy:0 phy:0 Patch ports (phy:0 -> phy:0). - spp > sec 2; patch phy:1 phy:1 + spp > nfv 2; patch phy:1 phy:1 Patch ports (phy:1 -> phy:1). - spp > sec 1; forward + spp > nfv 1; forward Start forwarding. - spp > sec 2; forward + spp > nfv 2; forward Start forwarding. .. _figure_spp_two_nfv_loopback: @@ -168,7 +166,7 @@ Patch ``phy:0`` to ``phy:0`` for ``sec 1`` and Dual spp_nfv with Ring PMD -------------------------- -In this use case, configure two senarios by using ring PMD. +In this usecase, configure two senarios by using ring PMD. - Uni-Directional L2fwd - Bi-Directional L2fwd @@ -185,24 +183,24 @@ All of ring PMDs is showed with ``status`` subcommand. .. code-block:: console - spp > sec 1; add ring:0 + spp > nfv 1; add ring:0 Add ring:0. - spp > sec 1; status + spp > nfv 1; status - status: idling - ports: - phy:0 - phy:1 - ring:0 -Notice that ``ring:0`` is added to ``sec 1``. +Notice that ``ring:0`` is added to ``nfv 1``. You can delete it with ``del`` command if you do not need to use it anymore. .. code-block:: console - spp > sec 1; del ring:0 + spp > nfv 1; del ring:0 Delete ring:0. - spp > sec 1; status + spp > nfv 1; status - status: idling - ports: - phy:0 @@ -213,22 +211,22 @@ Uni-Directional L2fwd ~~~~~~~~~~~~~~~~~~~~~ Add a ring PMD and connect two ``spp_nvf`` processes. -To configure network path, add ``ring:0`` to ``sec 1`` and ``sec 2``. +To configure network path, add ``ring:0`` to ``nfv 1`` and ``nfv 2``. Then, connect it with ``patch`` subcommand. .. code-block:: console - spp > sec 1; add ring:0 + spp > nfv 1; add ring:0 Add ring:0. - spp > sec 2; add ring:0 + spp > nfv 2; add ring:0 Add ring:0. - spp > sec 1; patch phy:0 ring:0 + spp > nfv 1; patch phy:0 ring:0 Patch ports (phy:0 -> ring:0). - spp > sec 2; patch ring:0 phy:1 + spp > nfv 2; patch ring:0 phy:1 Patch ports (ring:0 -> phy:1). - spp > sec 1; forward + spp > nfv 1; forward Start forwarding. - spp > sec 2; forward + spp > nfv 2; forward Start forwarding. .. _figure_spp_uni_directional_l2fwd: @@ -244,18 +242,18 @@ Bi-Directional L2fwd Add two ring PMDs to two ``spp_nvf`` processes. For bi-directional forwarding, -patch ``ring:0`` for a path from ``sec 1`` to ``sec 2`` -and ``ring:1`` for another path from ``sec 2`` to ``sec 1``. +patch ``ring:0`` for a path from ``nfv 1`` to ``nfv 2`` +and ``ring:1`` for another path from ``nfv 2`` to ``nfv 1``. -First, add ``ring:0`` and ``ring:1`` to ``sec 1``. +First, add ``ring:0`` and ``ring:1`` to ``nfv 1``. .. code-block:: console - spp > sec 1; add ring:0 + spp > nfv 1; add ring:0 Add ring:0. - spp > sec 1; add ring:1 + spp > nfv 1; add ring:1 Add ring:1. - spp > sec 1; status + spp > nfv 1; status - status: idling - ports: - phy:0 @@ -263,15 +261,15 @@ First, add ``ring:0`` and ``ring:1`` to ``sec 1``. - ring:0 - ring:1 -Then, add ``ring:0`` and ``ring:1`` to ``sec 2``. +Then, add ``ring:0`` and ``ring:1`` to ``nfv 2``. .. code-block:: console - spp > sec 2; add ring:0 + spp > nfv 2; add ring:0 Add ring:0. - spp > sec 2; add ring:1 + spp > nfv 2; add ring:1 Add ring:1. - spp > sec 2; status + spp > nfv 2; status - status: idling - ports: - phy:0 @@ -281,17 +279,17 @@ Then, add ``ring:0`` and ``ring:1`` to ``sec 2``. .. code-block:: console - spp > sec 1; patch phy:0 ring:0 + spp > nfv 1; patch phy:0 ring:0 Patch ports (phy:0 -> ring:0). - spp > sec 1; patch ring:1 phy:0 + spp > nfv 1; patch ring:1 phy:0 Patch ports (ring:1 -> phy:0). - spp > sec 2; patch phy:1 ring:1 + spp > nfv 2; patch phy:1 ring:1 Patch ports (phy:1 -> ring:0). - spp > sec 2; patch ring:0 phy:1 + spp > nfv 2; patch ring:0 phy:1 Patch ports (ring:0 -> phy:1). - spp > sec 1; forward + spp > nfv 1; forward Start forwarding. - spp > sec 2; forward + spp > nfv 2; forward Start forwarding. .. _figure_spp_bi_directional_l2fwd: @@ -317,7 +315,7 @@ vhost must be created by ``add`` subcommand before the VM is launched. Setup Vhost PMD ~~~~~~~~~~~~~~~ -In this use case, add ``vhost:0`` to ``sec 1`` for communicating +In this usecase, add ``vhost:0`` to ``nfv 1`` for communicating with the VM. First, check if ``/tmp/sock0`` is already exist. You should remove it already exist to avoid a failure of socket file @@ -331,11 +329,11 @@ creation. # remove it if exist $ sudo rm /tmp/sock0 -Create ``/tmp/sock0`` from ``sec 1``. +Create ``/tmp/sock0`` from ``nfv 1``. .. code-block:: console - spp > sec 1; add vhost:0 + spp > nfv 1; add vhost:0 Add vhost:0. @@ -346,24 +344,24 @@ Launch a VM by using the vhost interface created as previous step. Lauunching VM is described in :doc:`How to Use<howto_use>` and launch ``spp_vm`` with secondary ID 2. -You find ``sec 2`` from controller after launched. +You find ``nfv 2`` from controller after launched. -Patch ``phy:0`` and ``phy:1`` to ``vhost:0`` with ``sec 1`` +Patch ``phy:0`` and ``phy:1`` to ``vhost:0`` with ``nfv 1`` running on host. Inside VM, configure loopback by patching ``phy:0`` and ``phy:0`` -with ``sec 2``. +with ``nfv 2``. .. code-block:: console - spp > sec 1; patch phy:0 vhost:0 + spp > nfv 1; patch phy:0 vhost:0 Patch ports (phy:0 -> vhost:0). - spp > sec 1; patch vhost:0 phy:1 + spp > nfv 1; patch vhost:0 phy:1 Patch ports (vhost:0 -> phy:1). - spp > sec 2; patch phy:0 phy:0 + spp > nfv 2; patch phy:0 phy:0 Patch ports (phy:0 -> phy:0). - spp > sec 1; forward + spp > nfv 1; forward Start forwarding. - spp > sec 2; forward + spp > nfv 2; forward Start forwarding. .. _figure_spp_uni_directional_l2fwd_vhost: @@ -396,7 +394,7 @@ Here is an example for creating pcap PMD ``pcap:1``. .. code-block:: console - spp > sec 1; add pcap:1 + spp > nfv 1; add pcap:1 After running it, you can find two of pcap files in ``/tmp``. @@ -419,11 +417,11 @@ As the first usecase, add a pcap PMD and capture incoming packets from .. code-block:: console - spp > sec 1; add pcap 1 + spp > nfv 1; add pcap 1 Add pcap:1. - spp > sec 1; patch phy:0 pcap:1 + spp > nfv 1; patch phy:0 pcap:1 Patch ports (phy:0 -> pcap:1). - spp > sec 1; forward + spp > nfv 1; forward Start forwarding. .. _figure_spp_pcap_incoming: @@ -447,7 +445,7 @@ To stop capturing, simply stop forwarding of ``spp_nfv``. .. code-block:: console - spp > sec 1; stop + spp > nfv 1; stop Stop forwarding. You can analyze the dumped pcap file with other tools like as wireshark. @@ -466,7 +464,7 @@ Then, add pcap PMD ``pcap:2`` to another ``spp_nfv``. .. code-block:: console - spp > sec 2; add pcap:2 + spp > nfv 2; add pcap:2 Add pcap:2. .. _figure_spp_pcap_restoring: @@ -492,9 +490,9 @@ and watch received packets on pktgen. .. code-block:: console - spp > sec 2; patch pcap:2 phy:1 + spp > nfv 2; patch pcap:2 phy:1 Patch ports (pcap:2 -> phy:1). - spp > sec 2; forward + spp > nfv 2; forward Start forwarding. After started forwarding, you can see that packet count is increased. -- 2.7.4 ^ permalink raw reply [flat|nested] 17+ messages in thread
* [spp] [PATCH 4/7] docs: update spp_nfv commands 2018-12-12 2:03 [spp] [PATCH 0/7] Revise documentation for the latest release ogawa.yasufumi ` (2 preceding siblings ...) 2018-12-12 2:03 ` [spp] [PATCH 3/7] docs: update Use Cases section ogawa.yasufumi @ 2018-12-12 2:03 ` ogawa.yasufumi 2018-12-12 2:03 ` [spp] [PATCH 5/7] docs: update Getting Started section of sppc ogawa.yasufumi ` (3 subsequent siblings) 7 siblings, 0 replies; 17+ messages in thread From: ogawa.yasufumi @ 2018-12-12 2:03 UTC (permalink / raw) To: ferruh.yigit, spp, ogawa.yasufumi From: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp> Update descriptions and examples to the latest release. Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp> --- docs/guides/commands/secondary/spp_nfv.rst | 36 +++++++++++++++--------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/docs/guides/commands/secondary/spp_nfv.rst b/docs/guides/commands/secondary/spp_nfv.rst index 794ead5..4bc71a8 100644 --- a/docs/guides/commands/secondary/spp_nfv.rst +++ b/docs/guides/commands/secondary/spp_nfv.rst @@ -4,18 +4,18 @@ spp_nfv ======= -Each of ``spp_nfv`` and ``spp_vm`` processes is managed with ``sec`` command. +Each of ``spp_nfv`` and ``spp_vm`` processes is managed with ``nfv`` command. It is for sending sub commands to secondary with specific ID called secondary ID. -``sec`` command takes an secondary ID and a sub command. They must be +``nfv`` command takes an secondary ID and a sub command. They must be separated with delimiter ``;``. Some of sub commands take additional arguments for speicfying resource owned by secondary process. .. code-block:: console - spp > sec SEC_ID; SUB_CMD + spp > nfv SEC_ID; SUB_CMD All of Sub commands are referred with ``help`` command. @@ -28,14 +28,14 @@ All of Sub commands are referred with ``help`` command. SPP secondary process is specified with secondary ID and takes sub commands. - spp > sec 1; status - spp > sec 1; add ring:0 - spp > sec 1; patch phy:0 ring:0 + spp > nfv 1; status + spp > nfv 1; add ring:0 + spp > nfv 1; patch phy:0 ring:0 You can refer all of sub commands by pressing TAB after - 'sec 1;'. + 'nfv 1;'. - spp > sec 1; # press TAB + spp > nfv 1; # press TAB add del exit forward patch status stop status @@ -47,7 +47,7 @@ source if it is not patched. .. code-block:: console - spp > sec 1; status + spp > nfv 1; status - status: idling - ports: - phy:0 -> ring:0 @@ -63,13 +63,13 @@ For example, adding ``ring:0`` by .. code-block:: console - spp> sec 1; add ring:0 + spp> nfv 1; add ring:0 Or adding ``vhost:0`` by .. code-block:: console - spp> sec 1; add vhost:0 + spp> nfv 1; add vhost:0 patch @@ -80,7 +80,7 @@ This command just creates a path and does not start forwarding. .. code-block:: console - spp > sec 1; patch phy:0 ring:0 + spp > nfv 1; patch phy:0 ring:0 forward @@ -90,14 +90,14 @@ Start forwarding. .. code-block:: console - spp > sec 1; forward + spp > nfv 1; forward Running status is changed from ``idling`` to ``running`` by executing it. .. code-block:: console - spp > sec 1; status + spp > nfv 1; status - status: running - ports: - phy:0 @@ -111,14 +111,14 @@ Stop forwarding. .. code-block:: console - spp > sec 1; stop + spp > nfv 1; stop Running status is changed from ``running`` to ``idling`` by executing it. .. code-block:: console - spp > sec 1; status + spp > nfv 1; status - status: idling - ports: - phy:0 @@ -132,7 +132,7 @@ Delete a port from the secondary. .. code-block:: console - spp> sec 1; del ring:0 + spp> nfv 1; del ring:0 exit @@ -143,4 +143,4 @@ use ``bye sec`` command instead of it. .. code-block:: console - spp> sec 1; exit + spp> nfv 1; exit -- 2.7.4 ^ permalink raw reply [flat|nested] 17+ messages in thread
* [spp] [PATCH 5/7] docs: update Getting Started section of sppc 2018-12-12 2:03 [spp] [PATCH 0/7] Revise documentation for the latest release ogawa.yasufumi ` (3 preceding siblings ...) 2018-12-12 2:03 ` [spp] [PATCH 4/7] docs: update spp_nfv commands ogawa.yasufumi @ 2018-12-12 2:03 ` ogawa.yasufumi 2018-12-12 2:03 ` [spp] [PATCH 6/7] docs: update Use Cases " ogawa.yasufumi ` (2 subsequent siblings) 7 siblings, 0 replies; 17+ messages in thread From: ogawa.yasufumi @ 2018-12-12 2:03 UTC (permalink / raw) To: ferruh.yigit, spp, ogawa.yasufumi From: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp> Update descriptions and examples to the latest release. Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp> --- docs/guides/tools/sppc/getting_started.rst | 51 ++++++++++++++++++------------ 1 file changed, 30 insertions(+), 21 deletions(-) diff --git a/docs/guides/tools/sppc/getting_started.rst b/docs/guides/tools/sppc/getting_started.rst index 8a6b5b8..0ae0978 100644 --- a/docs/guides/tools/sppc/getting_started.rst +++ b/docs/guides/tools/sppc/getting_started.rst @@ -142,15 +142,14 @@ It is better to define this variable in ``$HOME/.bashrc``. .. code-block:: console # Set your host IP address - export SPP_CTRL_IP=[HOST_IPADDR] + export SPP_CTRL_IP=HOST_IPADDR SPP Controller ~~~~~~~~~~~~~~ -Launch SPP controller to be ready -before primary and secondary processes. -SPP controller is launched in the terminal 1 in this guide. +Launch ``spp-ctl`` and ``spp.py`` to be ready before primary and secondary +processes. .. note:: @@ -161,10 +160,20 @@ SPP controller is launched in the terminal 1 in this guide. ``mlterm`` is the most useful and easy to customize. Refer :doc:`../../commands/experimental` for ``topo`` command. +``spp-ctl`` is launched in the termina l. + .. code-block:: console # Terminal 1 $ cd /path/to/spp + $ python3 src/spp-ctl/spp-ctl + +``spp.py`` is launched in the terminal 2. + +.. code-block:: console + + # Terminal 2 + $ cd /path/to/spp $ python src/spp.py @@ -173,13 +182,13 @@ SPP Primary Container As ``SPP_CTRL_IP`` is activated, you are enalbed to run ``app/spp-primary.py`` with options of EAL and SPP primary -in terminal 2. +in terminal 3. In this case, launch spp-primary in background mode using one core and two ports. .. code-block:: console - # Terminal 2 + # Terminal 3 $ cd /path/to/spp/tools/sppc $ python app/spp-primary.py -l 0 -p 0x03 @@ -194,13 +203,13 @@ There behave as similar to ``spp_nfv`` running on host and The difference is that both of them are running on containers. You use only ``spp_nfv.py`` in this guide. -Launch ``spp_nfv`` in terminal 2 +Launch ``spp_nfv`` in terminal 3 with options for secondary ID is ``1`` and core list is ``1-2`` for using 2nd and 3rd cores. .. code-block:: console - # Terminal 2 + # Terminal 3 $ python app/spp-nfv.py -i 1 -l 1-2 If it is succeeded, container is running in background. @@ -218,9 +227,9 @@ before launching the app container. .. code-block:: console - # Terminal 1 - spp > sec 1;add vhost 1 - spp > sec 1;add vhost 2 + # Terminal 2 + spp > nfv 1; add vhost 1 + spp > nfv 1; add vhost 2 ``spp_nfv`` of ID 1 running inside container creates ``vhost:1`` and ``vhost:2``. @@ -229,7 +238,7 @@ app container launcher. .. code-block:: console - # Terminal 2 + # Terminal 3 $ cd /path/to/spp/tools/sppc $ app/testpmd.py -l 3-4 -d 1,2 sudo docker run -it \ @@ -272,17 +281,17 @@ and start forwarding from testpmd. SPP and testpmd on containers -From terminal 1, add ``ring:0``, connect ``vhost:1`` and ``vhost:2`` +In terminal 2, add ``ring:0``, connect ``vhost:1`` and ``vhost:2`` with it. .. code-block:: console - # Terminal 1 - spp > sec 1;add ring 0 - spp > sec 1;patch vhost:1 ring:0 - spp > sec 1;patch ring:0 vhost:2 - spp > sec 1;forward - spp > sec 1;status + # Terminal 2 + spp > nfv 1; add ring 0 + spp > nfv 1; patch vhost:1 ring:0 + spp > nfv 1; patch ring:0 vhost:2 + spp > nfv 1; forward + spp > nfv 1; status status: running ports: - 'ring:0 -> vhost:2' @@ -293,7 +302,7 @@ Start forwarding on port 0 by ``start tx_first``. .. code-block:: console - # Terminal 2 + # Terminal 3 testpmd> start tx_first io packet forwarding - ports=2 - cores=1 - streams=2 - NUMA support... Logical Core 4 (socket 0) forwards packets on 2 streams: @@ -306,7 +315,7 @@ In this case, about 35 million packets are forwarded. .. code-block:: console - # Terminal 2 + # Terminal 3 testpmd> stop Telling cores to stop... Waiting for lcores to finish... -- 2.7.4 ^ permalink raw reply [flat|nested] 17+ messages in thread
* [spp] [PATCH 6/7] docs: update Use Cases section of sppc 2018-12-12 2:03 [spp] [PATCH 0/7] Revise documentation for the latest release ogawa.yasufumi ` (4 preceding siblings ...) 2018-12-12 2:03 ` [spp] [PATCH 5/7] docs: update Getting Started section of sppc ogawa.yasufumi @ 2018-12-12 2:03 ` ogawa.yasufumi 2018-12-12 2:03 ` [spp] [PATCH 7/7] recipes: update recipe files ogawa.yasufumi 2018-12-13 23:03 ` [spp] [PATCH v2 0/8] Revise documentation for the latest release ogawa.yasufumi 7 siblings, 0 replies; 17+ messages in thread From: ogawa.yasufumi @ 2018-12-12 2:03 UTC (permalink / raw) To: ferruh.yigit, spp, ogawa.yasufumi From: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp> Update of descriptions and examples to the latest release. Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp> --- docs/guides/tools/sppc/usecases.rst | 294 ++++++++++++++++++++---------------- 1 file changed, 160 insertions(+), 134 deletions(-) diff --git a/docs/guides/tools/sppc/usecases.rst b/docs/guides/tools/sppc/usecases.rst index 95a4c28..7fadf22 100644 --- a/docs/guides/tools/sppc/usecases.rst +++ b/docs/guides/tools/sppc/usecases.rst @@ -49,61 +49,67 @@ all of app container processes run on a single node. Test of vhost PMD in a single node -You use two terminals in this example, one is for SPP controller -and other one is for managing app containers. -First of all, launch SPP controller in terminal 1. +You use three terminals in this example, first one is for ``spp-ctl``, +second one is for SPP CLI and third one is for managing app containers. +First of all, launch ``spp-ctl`` in terminal 1. .. code-block:: console # Terminal 1 $ cd /path/to/spp + $ python3 src/spp-ctl/spp-ctl + +Then, ``spp.py`` in terminal 2. + +.. code-block:: console + + # Terminal 2 + $ cd /path/to/spp $ python src/spp.py -Move to terminal 2, launch app containers of ``spp_primary`` +Move to terminal 3, launch app containers of ``spp_primary`` and ``spp_nfv`` step by step in background mode. -You notice that TAP device is attached with ``-dt 1`` which is not used +You notice that vhost device is attached with ``-dv 1`` which is not used actually. It is because that SPP primary requires at least one port even if it is no need. -You can also assign a physical port or vhost instead of this TAP device. - +You can also assign a physical port instead of this vhost device. .. code-block:: console - # Terminal 2 + # Terminal 3 $ cd /path/to/spp/tools/sppc - $ python app/spp-primary.py -l 0 -p 0x01 -dt 1 + $ python app/spp-primary.py -l 0 -p 0x01 -dv 1 $ python app/spp-nfv.py -i 1 -l 1-2 $ python app/spp-nfv.py -i 2 -l 3-4 -Then, add two vhost PMDs for pktgen app container from SPP controller. +Then, add two vhost PMDs for pktgen app container from SPP CLI. .. code-block:: console - # Terminal 1 - spp > sec 1;add vhost 1 - spp > sec 2;add vhost 2 + # Terminal 2 + spp > nfv 1; add vhost 1 + spp > nfv 2; add vhost 2 -Now, it is ready for launching pktgen app container. -In this use case, use five lcores for pktgen. -One lcore is used for master, and remaining lcores are used for -rx and tx evenly. +It is ready for launching pktgen app container. In this usecase, +use five lcores for pktgen. One lcore is used for master, and remaining +lcores are used for rx and tx evenly. Device ID option ``-d 1,2`` is for refferring vhost 1 and 2. .. code-block:: console - # Terminal 2 + # Terminal 3 $ python app/pktgen.py -fg -l 5-9 -d 1,2 Finally, configure network path from SPP controller, .. code-block:: console - # Terminal 1 - spp > sec 1;patch ring:0 vhost:1 - spp > sec 2;patch vhost:2 ring:0 - spp > sec 1;forward - spp > sec 2;forward + # Terminal 2 + spp > nfv 1; patch ring:0 vhost:1 + spp > nfv 2; patch vhost:2 ring:0 + spp > nfv 1; forward + spp > nfv 2; forward and start forwarding from pktgen. @@ -142,27 +148,34 @@ with ring PMDs in serial. Test of ring PMD -You use two terminals on host 1, one is for SPP controller and another one -for ``spp_nfv`` app containers. +You use three terminals on host 1, first one is for ``spp-ctl``, +second one is for ``spp.py``, and third one is for ``spp_nfv`` app containers. Pktgen on host 2 is started forwarding after setup on host 1 is finished. -First, Launch SPP controller in terminal 1 as -:ref:`sppc_usecases_test_ring`. +First, launch ``spp-ctl`` in terminal 1. .. code-block:: console # Terminal 1 $ cd /path/to/spp + $ python3 src/spp-ctl/spp-ctl + +Then, launch ``spp.py`` in terminal 2. + +.. code-block:: console + + # Terminal 2 + $ cd /path/to/spp $ python src/spp.py -In terminal 2, launch ``spp_primary`` and ``spp_nfv`` containers +In terminal 3, launch ``spp_primary`` and ``spp_nfv`` containers in background mode. In this case, you attach physical ports to ``spp_primary`` with portmask option. .. code-block:: console - # Terminal 2 + # Terminal 3 $ cd /path/to/spp/tools/sppc $ python app/spp-primary.py -l 0 -p 0x03 $ python app/spp-nfv.py -i 1 -l 1-2 @@ -223,17 +236,17 @@ containers. You can use recipe scripts from ``playback`` command instead of typing commands step by step. For this usecase example, it is included in -``recipes/sppc/usecases/test_ring``. +``recipes/sppc/samples/test_ring.rcp``. .. code-block:: console # Terminal 2 - spp > sec 1;add ring:0 - spp > sec 2;add ring:1 - spp > sec 2;add ring:2 - spp > sec 3;add ring:2 - spp > sec 3;add ring:3 - spp > sec 4;add ring:3 + spp > nfv 1; add ring:0 + spp > nfv 2; add ring:1 + spp > nfv 2; add ring:2 + spp > nfv 3; add ring:2 + spp > nfv 3; add ring:3 + spp > nfv 4; add ring:3 Then, patch all of ports to be configured containers are connected in serial. @@ -241,15 +254,15 @@ in serial. .. code-block:: console # Terminal 2 - spp > sec 1;patch phy:0 ring:0 - spp > sec 2;patch ring:0 ring:1 - spp > sec 3;patch ring:1 ring:2 - spp > sec 3;patch ring:2 ring:3 - spp > sec 4;patch ring:3 phy:1 - spp > sec 1;forward - spp > sec 2;forward - spp > sec 3;forward - spp > sec 4;forward + spp > nfv 1; patch phy:0 ring:0 + spp > nfv 2; patch ring:0 ring:1 + spp > nfv 3; patch ring:1 ring:2 + spp > nfv 3; patch ring:2 ring:3 + spp > nfv 4; patch ring:3 phy:1 + spp > nfv 1; forward + spp > nfv 2; forward + spp > nfv 3; forward + spp > nfv 4; forward After setup on host 1 is finished, start forwarding from pktgen on host 2. You can see the throughput of rx and tx ports on pktgen's terminal. @@ -289,26 +302,28 @@ Here is a list of lcore assignment for each of app containers. * Three lcores for ``pktgen`` container. * Two lcores for ``l2fwd`` container. -First of all, launch SPP controller. +First of all, launch ``spp-ctl`` and ``spp.py``. .. code-block:: console # Terminal 1 $ cd /path/to/spp + $ python3 src/spp-ctl/spp-ctl + + # Terminal 2 + $ cd /path/to/spp $ python src/spp.py -Launch ``spp_primary`` and ``spp_nfv`` containers in background. +Then, launch ``spp_primary`` and ``spp_nfv`` containers in background. It does not use physical NICs as similar to :ref:`sppc_usecases_test_vhost_single`. Use four of ``spp_nfv`` containers for using four vhost PMDs. -For this usecase example, recipe scripts are included in -``recipes/sppc/usecases/pg_l2fwd``. .. code-block:: console - # Terminal 2 + # Terminal 3 $ cd /path/to/spp/tools/sppc - $ python app/spp-primary.py -l 0 -p 0x01 -dt 1 + $ python app/spp-primary.py -l 0 -p 0x01 -dv 9 $ python app/spp-nfv.py -i 1 -l 1-2 $ python app/spp-nfv.py -i 2 -l 3-4 $ python app/spp-nfv.py -i 3 -l 5-6 @@ -319,15 +334,15 @@ its secondary ID. .. code-block:: console - # Terminal 1 - spp > sec 1;add vhost 1 - spp > sec 2;add vhost 2 - spp > sec 3;add vhost 3 - spp > sec 4;add vhost 4 - spp > sec 1;add ring 0 - spp > sec 4;add ring 0 - spp > sec 2;add ring 1 - spp > sec 3;add ring 1 + # Terminal 2 + spp > nfv 1; add vhost:1 + spp > nfv 2; add vhost:2 + spp > nfv 3; add vhost:3 + spp > nfv 4; add vhost:4 + spp > nfv 1; add ring:0 + spp > nfv 4; add ring:0 + spp > nfv 2; add ring:1 + spp > nfv 3; add ring:1 After vhost PMDs are created, you can launch containers @@ -337,14 +352,15 @@ In this case, ``pktgen`` container owns vhost 1 and 2, .. code-block:: console - # Terminal 2 + # Terminal 3 + $ cd /path/to/spp/tools/sppc $ python app/pktgen.py -l 9-11 -d 1,2 and ``l2fwd`` container owns vhost 3 and 4. .. code-block:: console - # Terminal 3 + # Terminal 4 $ cd /path/to/spp/tools/sppc $ python app/l2fwd.py -l 12-13 -d 3,4 @@ -354,20 +370,22 @@ and start forwarding from SPP controller. .. code-block:: console - # Terminal 1 - spp > sec 1;patch ring:0 vhost:1 - spp > sec 2;patch vhost:2 ring:1 - spp > sec 3;patch ring:1 vhost:3 - spp > sec 4;patch vhost:4 ring:0 - spp > sec 1;forward - spp > sec 2;forward - spp > sec 3;forward - spp > sec 4;forward + # Terminal 2 + spp > nfv 1; patch ring:0 vhost:1 + spp > nfv 2; patch vhost:2 ring:1 + spp > nfv 3; patch ring:1 vhost:3 + spp > nfv 4; patch vhost:4 ring:0 + spp > nfv 1; forward + spp > nfv 2; forward + spp > nfv 3; forward + spp > nfv 4; forward Finally, start forwarding from ``pktgen`` container. You can see that packet count is increased on both of ``pktgen`` and ``l2fwd``. +For this usecase example, recipe scripts are included in +``recipes/sppc/samples/pg_l2fwd.rcp``. .. _sppc_usecases_pktgen_l2fwd_less_lcores: @@ -380,8 +398,8 @@ This section describes the effort of reducing the usage of lcore for Here is a list of lcore assignment for each of app containers. It is totally 7 lcores while the maximum number is 14. -* One lcore for spp_primary container. -* Three lcores for four spp_nfv containers. +* One lcore for ``spp_primary`` container. +* Three lcores for four ``spp_nfv`` containers. * Two lcores for pktgen container. * One lcores for l2fwd container. @@ -392,26 +410,28 @@ It is totally 7 lcores while the maximum number is 14. Pktgen and l2fwd using less lcores -First of all, launch SPP controller. +First of all, launch ``spp-ctl`` and ``spp.py``. .. code-block:: console # Terminal 1 $ cd /path/to/spp + $ python3 src/spp-ctl/spp-ctl + + # Terminal 2 + $ cd /path/to/spp $ python src/spp.py Launch ``spp_primary`` and ``spp_nfv`` containers in background. It does not use physical NICs as similar to :ref:`sppc_usecases_test_vhost_single`. Use two of ``spp_nfv`` containers for using four vhost PMDs. -For this usecase example, recipe scripts are included in -``recipes/sppc/usecases/pg_l2fwd_less``. .. code-block:: console - # Terminal 2 + # Terminal 3 $ cd /path/to/spp/tools/sppc - $ python app/spp-primary.py -l 0 -p 0x01 -dt 1 + $ python app/spp-primary.py -l 0 -p 0x01 -dv 9 $ python app/spp-nfv.py -i 1 -l 1,2 $ python app/spp-nfv.py -i 2 -l 1,3 @@ -426,15 +446,15 @@ Assign each of two vhost PMDs to the processes. .. code-block:: console - # Terminal 1 - spp > sec 1;add vhost 1 - spp > sec 1;add vhost 2 - spp > sec 2;add vhost 3 - spp > sec 2;add vhost 4 - spp > sec 1;add ring 0 - spp > sec 1;add ring 1 - spp > sec 2;add ring 0 - spp > sec 2;add ring 1 + # Terminal 2 + spp > nfv 1; add vhost:1 + spp > nfv 1; add vhost:2 + spp > nfv 2; add vhost:3 + spp > nfv 2; add vhost:4 + spp > nfv 1; add ring:0 + spp > nfv 1; add ring:1 + spp > nfv 2; add ring:0 + spp > nfv 2; add ring:1 After vhost PMDs are created, you can launch containers of ``pktgen`` and ``l2fwd``. @@ -444,14 +464,14 @@ In this case, ``pktgen`` container uses vhost 1 and 2, .. code-block:: console - # Terminal 2 + # Terminal 3 $ python app/pktgen.py -l 1,4,5 -d 1,2 and ``l2fwd`` container uses vhost 3 and 4. .. code-block:: console - # Terminal 3 + # Terminal 4 $ cd /path/to/spp/tools/sppc $ python app/l2fwd.py -l 1,6 -d 3,4 @@ -461,20 +481,22 @@ and start forwarding from SPP controller. .. code-block:: console - # Terminal 1 - spp > sec 1;patch ring:0 vhost:1 - spp > sec 1;patch vhost:2 ring:1 - spp > sec 3;patch ring:1 vhost:3 - spp > sec 4;patch vhost:4 ring:0 - spp > sec 1;forward - spp > sec 2;forward - spp > sec 3;forward - spp > sec 4;forward + # Terminal 2 + spp > nfv 1; patch ring:0 vhost:1 + spp > nfv 1; patch vhost:2 ring:1 + spp > nfv 3; patch ring:1 vhost:3 + spp > nfv 4; patch vhost:4 ring:0 + spp > nfv 1; forward + spp > nfv 2; forward + spp > nfv 3; forward + spp > nfv 4; forward Finally, start forwarding from ``pktgen`` container. You can see that packet count is increased on both of ``pktgen`` and ``l2fwd``. +For this usecase example, recipe scripts are included in +``recipes/sppc/samples/pg_l2fwd_less.rcp``. .. _sppc_usecases_lb_pktgen: @@ -517,26 +539,28 @@ Here is a list of lcore assignment for each of app containers. * Three lcores for ``pktgen`` container. * Four lcores for ``load_balancer`` container. -First of all, launch SPP controller. +First of all, launch ``spp-ctl`` and ``spp.py``. .. code-block:: console # Terminal 1 $ cd /path/to/spp + $ python3 src/spp-ctl/spp-ctl + + # Terminal 2 + $ cd /path/to/spp $ python src/spp.py Launch ``spp_primary`` and ``spp_nfv`` containers in background. It does not use physical NICs as similar to :ref:`sppc_usecases_test_vhost_single`. Use six ``spp_nfv`` containers for using six vhost PMDs. -For this usecase example, recipe scripts are included in -``recipes/sppc/usecases/lb_pg``. .. code-block:: console - # Terminal 2 + # Terminal 3 $ cd /path/to/spp/tools/sppc - $ python app/spp-primary.py -l 0 -p 0x01 -dt 1 + $ python app/spp-primary.py -l 0 -p 0x01 -dv 9 $ python app/spp-nfv.py -i 1 -l 1,2 $ python app/spp-nfv.py -i 2 -l 1,3 $ python app/spp-nfv.py -i 3 -l 1,4 @@ -549,32 +573,31 @@ its secondary ID. .. code-block:: console - # Terminal 1 - spp > sec 1;add vhost 1 - spp > sec 2;add vhost 2 - spp > sec 3;add vhost 3 - spp > sec 4;add vhost 4 - spp > sec 5;add vhost 5 - spp > sec 6;add vhost 6 - spp > sec 1;add ring 0 - spp > sec 2;add ring 1 - spp > sec 3;add ring 2 - spp > sec 4;add ring 0 - spp > sec 5;add ring 1 - spp > sec 6;add ring 2 + # Terminal 2 + spp > nfv 1; add vhost:1 + spp > nfv 2; add vhost:2 + spp > nfv 3; add vhost:3 + spp > nfv 4; add vhost:4 + spp > nfv 5; add vhost:5 + spp > nfv 6; add vhost:6 + spp > nfv 1; add ring:0 + spp > nfv 2; add ring:1 + spp > nfv 3; add ring:2 + spp > nfv 4; add ring:0 + spp > nfv 5; add ring:1 + spp > nfv 6; add ring:2 And patch all of ports. .. code-block:: console - # Terminal 1 - spp > sec 1;patch vhost:1 ring:0 - spp > sec 2;patch ring:1 vhost:2 - spp > sec 3;patch ring:2 vhost:3 - spp > sec 4;patch ring:0 vhost:4 - spp > sec 5;patch vhost:5 ring:1 - spp > sec 6;patch vhost:6 ring:2 - + # Terminal 2 + spp > nfv 1; patch vhost:1 ring:0 + spp > nfv 2; patch ring:1 vhost:2 + spp > nfv 3; patch ring:2 vhost:3 + spp > nfv 4; patch ring:0 vhost:4 + spp > nfv 5; patch vhost:5 ring:1 + spp > nfv 6; patch vhost:6 ring:2 You had better to check that network path is configured properly. ``topo`` command is useful for checking it with a graphical image. @@ -583,7 +606,7 @@ Define two groups of vhost PMDs as ``c1`` and ``c2`` with .. code-block:: console - # Terminal 1 + # Terminal 2 # define c1 and c2 to help your understanding spp > topo_subgraph add c1 vhost:1,vhost:2,vhost:3 spp > topo_subgraph add c2 vhost:4,vhost:5,vhost:6 @@ -600,7 +623,7 @@ For ``pktgen`` container, assign lcores 8-10 and vhost 1-3. .. code-block:: console - # Terminal 2 + # Terminal 3 $ cd /path/to/spp/tools/sppc $ python app/pktgen.py -l 8-10 -d 1-3 -T @@ -612,7 +635,7 @@ or more queues. In this case, assign 4 queues. .. code-block:: console - # Terminal 3 + # Terminal 4 $ cd /path/to/spp/tools/sppc $ python app/load_balancer.py -l 11-14 -d 4-6 -fg -nq 4 -rx "(0,0,11),(0,1,11),(0,2,11)" \ @@ -626,13 +649,13 @@ and start forwarding from SPP controller. .. code-block:: console - # Terminal 1 - spp > sec 1;forward - spp > sec 2;forward - spp > sec 3;forward - spp > sec 4;forward - spp > sec 5;forward - spp > sec 6;forward + # Terminal 2 + spp > nfv 1; forward + spp > nfv 2; forward + spp > nfv 3; forward + spp > nfv 4; forward + spp > nfv 5; forward + spp > nfv 6; forward You start forwarding from ``pktgen`` container. The destination of ``load_balancer`` is decided by considering @@ -666,3 +689,6 @@ You might not be able to stop ``load_balancer`` application with *Ctrl-C*. In this case, terminate it with ``docker kill`` directly as explained in :ref:`sppc_appl_load_balancer`. You can find the name of container from ``docker ps``. + +For this usecase example, recipe scripts are included in +``recipes/sppc/samples/lb_pg.rcp``. -- 2.7.4 ^ permalink raw reply [flat|nested] 17+ messages in thread
* [spp] [PATCH 7/7] recipes: update recipe files 2018-12-12 2:03 [spp] [PATCH 0/7] Revise documentation for the latest release ogawa.yasufumi ` (5 preceding siblings ...) 2018-12-12 2:03 ` [spp] [PATCH 6/7] docs: update Use Cases " ogawa.yasufumi @ 2018-12-12 2:03 ` ogawa.yasufumi 2018-12-13 23:03 ` [spp] [PATCH v2 0/8] Revise documentation for the latest release ogawa.yasufumi 7 siblings, 0 replies; 17+ messages in thread From: ogawa.yasufumi @ 2018-12-12 2:03 UTC (permalink / raw) To: ferruh.yigit, spp, ogawa.yasufumi From: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp> Update recipe files to the latest release. Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp> --- recipes/sppc/samples/l2fwd.rcp | 22 ++++++++++++++++++++++ recipes/sppc/samples/l2fwd.rcps | 22 ---------------------- recipes/sppc/samples/lb_pg.rcp | 31 +++++++++++++++++++++++++++++++ recipes/sppc/samples/load_balancer.rcp | 30 ++++++++++++++++++++++++++++++ recipes/sppc/samples/load_balancer.rcps | 30 ------------------------------ recipes/sppc/samples/pg_l2fwd.rcp | 17 +++++++++++++++++ recipes/sppc/samples/pg_l2fwd_less.rcp | 17 +++++++++++++++++ recipes/sppc/samples/test_ring.rcp | 16 ++++++++++++++++ 8 files changed, 133 insertions(+), 52 deletions(-) create mode 100644 recipes/sppc/samples/l2fwd.rcp delete mode 100644 recipes/sppc/samples/l2fwd.rcps create mode 100644 recipes/sppc/samples/lb_pg.rcp create mode 100644 recipes/sppc/samples/load_balancer.rcp delete mode 100644 recipes/sppc/samples/load_balancer.rcps create mode 100644 recipes/sppc/samples/pg_l2fwd.rcp create mode 100644 recipes/sppc/samples/pg_l2fwd_less.rcp create mode 100644 recipes/sppc/samples/test_ring.rcp diff --git a/recipes/sppc/samples/l2fwd.rcp b/recipes/sppc/samples/l2fwd.rcp new file mode 100644 index 0000000..63dccd7 --- /dev/null +++ b/recipes/sppc/samples/l2fwd.rcp @@ -0,0 +1,22 @@ +nfv 1; add vhost:1 +nfv 2; add vhost:2 +nfv 3; add vhost:3 +nfv 4; add vhost:4 + +nfv 1; add ring:1 +nfv 2; add ring:0 +nfv 3; add ring:0 +nfv 4; add ring:1 + +topo_subgraph add c1 vhost:1;vhost:2 +topo_subgraph add c2 vhost:3;vhost:4 + +nfv 1; patch ring:1 vhost:1 +nfv 2; patch vhost:2 ring:0 +nfv 3; patch ring:0 vhost:3 +nfv 4; patch vhost:4 ring:1 + +nfv 1; forward +nfv 2; forward +nfv 3; forward +nfv 4; forward diff --git a/recipes/sppc/samples/l2fwd.rcps b/recipes/sppc/samples/l2fwd.rcps deleted file mode 100644 index bb434ff..0000000 --- a/recipes/sppc/samples/l2fwd.rcps +++ /dev/null @@ -1,22 +0,0 @@ -sec 1;add vhost 1 -sec 2;add vhost 2 -sec 3;add vhost 3 -sec 4;add vhost 4 - -sec 1;add ring 1 -sec 2;add ring 0 -sec 3;add ring 0 -sec 4;add ring 1 - -topo_subgraph add c1 vhost:1;vhost:2 -topo_subgraph add c2 vhost:3;vhost:4 - -sec 1;patch ring:1 vhost:1 -sec 2;patch vhost:2 ring:0 -sec 3;patch ring:0 vhost:3 -sec 4;patch vhost:4 ring:1 - -sec 1;forward -sec 2;forward -sec 3;forward -sec 4;forward diff --git a/recipes/sppc/samples/lb_pg.rcp b/recipes/sppc/samples/lb_pg.rcp new file mode 100644 index 0000000..1ef80a5 --- /dev/null +++ b/recipes/sppc/samples/lb_pg.rcp @@ -0,0 +1,31 @@ +nfv 1; add vhost:1 +nfv 2; add vhost:2 +nfv 3; add vhost:3 +nfv 4; add vhost:4 +nfv 5; add vhost:5 +nfv 6; add vhost:6 +nfv 1; add ring:0 +nfv 2; add ring:1 +nfv 3; add ring:2 +nfv 4; add ring:0 +nfv 5; add ring:1 +nfv 6; add ring:2 + +nfv 1; patch vhost:1 ring:0 +nfv 2; patch ring:1 vhost:2 +nfv 3; patch ring:2 vhost:3 +nfv 4; patch ring:0 vhost:4 +nfv 5; patch vhost:5 ring:1 +nfv 6; patch vhost:6 ring:2 + +# define c1 and c2 to help your understanding +topo_subgraph add c1 vhost:1,vhost:2,vhost:3 +topo_subgraph add c2 vhost:4,vhost:5,vhost:6 +topo term + +nfv 1; forward +nfv 2; forward +nfv 3; forward +nfv 4; forward +nfv 5; forward +nfv 6; forward diff --git a/recipes/sppc/samples/load_balancer.rcp b/recipes/sppc/samples/load_balancer.rcp new file mode 100644 index 0000000..4104759 --- /dev/null +++ b/recipes/sppc/samples/load_balancer.rcp @@ -0,0 +1,30 @@ +nfv 1; add vhost:1 +nfv 2; add vhost:2 +nfv 3; add vhost:3 +nfv 4; add vhost:4 +nfv 5; add vhost:5 +nfv 6; add vhost:6 + +nfv 1; add ring:0 +nfv 2; add ring:1 +nfv 3; add ring:2 +nfv 4; add ring:0 +nfv 5; add ring:1 +nfv 6; add ring:2 + +topo_subgraph add c1 vhost:1,vhost:2,vhost:3 +topo_subgraph add c2 vhost:4,vhost:5,vhost:6 + +nfv 1; patch vhost:1 ring:0 +nfv 2; patch ring:1 vhost:2 +nfv 3; patch ring:2 vhost:3 +nfv 4; patch ring:0 vhost:4 +nfv 5; patch vhost:5 ring:1 +nfv 6; patch vhost:6 ring:2 + +nfv 1; forward +nfv 2; forward +nfv 3; forward +nfv 4; forward +nfv 5; forward +nfv 6; forward diff --git a/recipes/sppc/samples/load_balancer.rcps b/recipes/sppc/samples/load_balancer.rcps deleted file mode 100644 index 3e4b24f..0000000 --- a/recipes/sppc/samples/load_balancer.rcps +++ /dev/null @@ -1,30 +0,0 @@ -sec 1;add vhost 1 -sec 2;add vhost 2 -sec 3;add vhost 3 -sec 4;add vhost 4 -sec 5;add vhost 5 -sec 6;add vhost 6 - -sec 1;add ring 0 -sec 2;add ring 1 -sec 3;add ring 2 -sec 4;add ring 0 -sec 5;add ring 1 -sec 6;add ring 2 - -topo_subgraph add c1 vhost:1,vhost:2,vhost:3 -topo_subgraph add c2 vhost:4,vhost:5,vhost:6 - -sec 1;patch vhost:1 ring:0 -sec 2;patch ring:1 vhost:2 -sec 3;patch ring:2 vhost:3 -sec 4;patch ring:0 vhost:4 -sec 5;patch vhost:5 ring:1 -sec 6;patch vhost:6 ring:2 - -sec 1;forward -sec 2;forward -sec 3;forward -sec 4;forward -sec 5;forward -sec 6;forward diff --git a/recipes/sppc/samples/pg_l2fwd.rcp b/recipes/sppc/samples/pg_l2fwd.rcp new file mode 100644 index 0000000..9c7d636 --- /dev/null +++ b/recipes/sppc/samples/pg_l2fwd.rcp @@ -0,0 +1,17 @@ +nfv 1; add vhost:1 +nfv 2; add vhost:2 +nfv 3; add vhost:3 +nfv 4; add vhost:4 +nfv 1; add ring:0 +nfv 4; add ring:0 +nfv 2; add ring:1 +nfv 3; add ring:1 + +nfv 1; patch ring:0 vhost:1 +nfv 2; patch vhost:2 ring:1 +nfv 3; patch ring:1 vhost:3 +nfv 4; patch vhost:4 ring:0 +nfv 1; forward +nfv 2; forward +nfv 3; forward +nfv 4; forward diff --git a/recipes/sppc/samples/pg_l2fwd_less.rcp b/recipes/sppc/samples/pg_l2fwd_less.rcp new file mode 100644 index 0000000..85fb635 --- /dev/null +++ b/recipes/sppc/samples/pg_l2fwd_less.rcp @@ -0,0 +1,17 @@ +nfv 1; add vhost:1 +nfv 1; add vhost:2 +nfv 2; add vhost:3 +nfv 2; add vhost:4 +nfv 1; add ring:0 +nfv 1; add ring:1 +nfv 2; add ring:0 +nfv 2; add ring:1 + +nfv 1; patch ring:0 vhost:1 +nfv 1; patch vhost:2 ring:1 +nfv 3; patch ring:1 vhost:3 +nfv 4; patch vhost:4 ring:0 +nfv 1; forward +nfv 2; forward +nfv 3; forward +nfv 4; forward diff --git a/recipes/sppc/samples/test_ring.rcp b/recipes/sppc/samples/test_ring.rcp new file mode 100644 index 0000000..2295c3b --- /dev/null +++ b/recipes/sppc/samples/test_ring.rcp @@ -0,0 +1,16 @@ +nfv 1; add ring:0 +nfv 2; add ring:1 +nfv 2; add ring:2 +nfv 3; add ring:2 +nfv 3; add ring:3 +nfv 4; add ring:3 + +nfv 1; patch phy:0 ring:0 +nfv 2; patch ring:0 ring:1 +nfv 3; patch ring:1 ring:2 +nfv 3; patch ring:2 ring:3 +nfv 4; patch ring:3 phy:1 +nfv 1; forward +nfv 2; forward +nfv 3; forward +nfv 4; forward -- 2.7.4 ^ permalink raw reply [flat|nested] 17+ messages in thread
* [spp] [PATCH v2 0/8] Revise documentation for the latest release 2018-12-12 2:03 [spp] [PATCH 0/7] Revise documentation for the latest release ogawa.yasufumi ` (6 preceding siblings ...) 2018-12-12 2:03 ` [spp] [PATCH 7/7] recipes: update recipe files ogawa.yasufumi @ 2018-12-13 23:03 ` ogawa.yasufumi 2018-12-13 23:03 ` [spp] [PATCH v2 1/8] docs: update Getting Started section ogawa.yasufumi ` (7 more replies) 7 siblings, 8 replies; 17+ messages in thread From: ogawa.yasufumi @ 2018-12-13 23:03 UTC (permalink / raw) To: ferruh.yigit, spp, ogawa.yasufumi From: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp> This v2 set of patches is including revising how to use section of spp_vf. Update old step of launching `spp_vf.py` to `spp-ctl` and `spp.py` instead. Yasufumi Ogawa (8): docs: update Getting Started section docs: update How to Use section docs: update Use Cases section docs: update spp_nfv commands docs: update Getting Started section of sppc docs: update Use Cases section of sppc recipes: update recipe files docs: revise how to use section of spp_vf docs/guides/commands/secondary/spp_nfv.rst | 36 ++-- docs/guides/setup/getting_started.rst | 10 +- docs/guides/setup/howto_use.rst | 12 +- docs/guides/setup/use_cases.rst | 166 ++++++++-------- docs/guides/spp_vf/gsg/howto_use.rst | 16 +- docs/guides/tools/sppc/getting_started.rst | 51 ++--- docs/guides/tools/sppc/usecases.rst | 294 ++++++++++++++++------------- recipes/sppc/samples/l2fwd.rcp | 22 +++ recipes/sppc/samples/l2fwd.rcps | 22 --- recipes/sppc/samples/lb_pg.rcp | 31 +++ recipes/sppc/samples/load_balancer.rcp | 30 +++ recipes/sppc/samples/load_balancer.rcps | 30 --- recipes/sppc/samples/pg_l2fwd.rcp | 17 ++ recipes/sppc/samples/pg_l2fwd_less.rcp | 17 ++ recipes/sppc/samples/test_ring.rcp | 16 ++ 15 files changed, 451 insertions(+), 319 deletions(-) create mode 100644 recipes/sppc/samples/l2fwd.rcp delete mode 100644 recipes/sppc/samples/l2fwd.rcps create mode 100644 recipes/sppc/samples/lb_pg.rcp create mode 100644 recipes/sppc/samples/load_balancer.rcp delete mode 100644 recipes/sppc/samples/load_balancer.rcps create mode 100644 recipes/sppc/samples/pg_l2fwd.rcp create mode 100644 recipes/sppc/samples/pg_l2fwd_less.rcp create mode 100644 recipes/sppc/samples/test_ring.rcp -- 2.7.4 ^ permalink raw reply [flat|nested] 17+ messages in thread
* [spp] [PATCH v2 1/8] docs: update Getting Started section 2018-12-13 23:03 ` [spp] [PATCH v2 0/8] Revise documentation for the latest release ogawa.yasufumi @ 2018-12-13 23:03 ` ogawa.yasufumi 2018-12-13 23:03 ` [spp] [PATCH v2 2/8] docs: update How to Use section ogawa.yasufumi ` (6 subsequent siblings) 7 siblings, 0 replies; 17+ messages in thread From: ogawa.yasufumi @ 2018-12-13 23:03 UTC (permalink / raw) To: ferruh.yigit, spp, ogawa.yasufumi From: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp> Update the description of supported versions of Python to explain that Python2 is going to be not supported in future release. Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp> --- docs/guides/setup/getting_started.rst | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/docs/guides/setup/getting_started.rst b/docs/guides/setup/getting_started.rst index ca639db..896090d 100644 --- a/docs/guides/setup/getting_started.rst +++ b/docs/guides/setup/getting_started.rst @@ -206,10 +206,13 @@ Python 2 or 3 ? ~~~~~~~~~~~~~~~ You need to install Python for using usertools of DPDK or SPP controller. -DPDK and SPP support both of Python2 and 3. +DPDK supports both of Python2 and 3. Howevrer, Python2 will not be maintained after 2020 and SPP is going to update only supporting Python3. +In SPP, it supports both of Python2 and 3 without spp-ctl currently, but is +going to support only Python3 before the end of 2019. + Binding Network Ports to DPDK ----------------------------- @@ -380,8 +383,11 @@ Compiled PDF file is created as ``docs/guides/_build/html/SoftPatchPanel.pdf``. $ make doc-pdf -You can also compile both of HTML and PDF documentations with ``doc-all``. +You can also compile both of HTML and PDF documentations with ``doc`` or +``doc-all``. .. code-block:: console + $ make doc + # or $ make doc-all -- 2.7.4 ^ permalink raw reply [flat|nested] 17+ messages in thread
* [spp] [PATCH v2 2/8] docs: update How to Use section 2018-12-13 23:03 ` [spp] [PATCH v2 0/8] Revise documentation for the latest release ogawa.yasufumi 2018-12-13 23:03 ` [spp] [PATCH v2 1/8] docs: update Getting Started section ogawa.yasufumi @ 2018-12-13 23:03 ` ogawa.yasufumi 2018-12-13 23:03 ` [spp] [PATCH v2 3/8] docs: update Use Cases section ogawa.yasufumi ` (5 subsequent siblings) 7 siblings, 0 replies; 17+ messages in thread From: ogawa.yasufumi @ 2018-12-13 23:03 UTC (permalink / raw) To: ferruh.yigit, spp, ogawa.yasufumi From: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp> Update descriptions and examples to the latest release. Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp> --- docs/guides/setup/howto_use.rst | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/guides/setup/howto_use.rst b/docs/guides/setup/howto_use.rst index 5e96919..1f511dd 100644 --- a/docs/guides/setup/howto_use.rst +++ b/docs/guides/setup/howto_use.rst @@ -41,11 +41,11 @@ events such as receiving a request or terminating a process. $ cd /path/to/spp $ python3 src/spp-ctl/spp-ctl -Notice that It is implemented in ``python3`` and cannot launch +Notice that ``spp-ctl`` is implemented in ``python3`` and cannot launch with ``python`` or ``python2``. -It has a option ``-b`` for binding address to be accessed from other than -``127.0.0.1`` or ``localhost``. +It has a option ``-b`` for binding address explicitly to be accessed +from other than default, ``127.0.0.1`` or ``localhost``. .. code-block:: console @@ -164,7 +164,7 @@ physical ports. --socket-mem 512,512 \ --huge-dir=/dev/hugepages \ --vdev eth_vhost1,iface=/tmp/sock1 # used as 1st phy port - --vdev eth_vhost2,iface=/tmp/sock2 # used as 2nd + --vdev eth_vhost2,iface=/tmp/sock2 # used as 2nd phy port --proc-type=primary \ -- \ -p 0x03 \ @@ -243,9 +243,9 @@ Run ``add`` command with resource UID ``vhost:0`` to create socket file. .. code-block:: console - spp > sec 1;add vhost:0 + spp > nfv 1; add vhost:0 -In this example, create socket file with index 0 from secondary of ID 1. +In this example, create socket file with index 0 from ``spp_nfv`` of ID 1. Socket file is created as ``/tmp/sock0``. It is used as a qemu option to add vhost interface. -- 2.7.4 ^ permalink raw reply [flat|nested] 17+ messages in thread
* [spp] [PATCH v2 3/8] docs: update Use Cases section 2018-12-13 23:03 ` [spp] [PATCH v2 0/8] Revise documentation for the latest release ogawa.yasufumi 2018-12-13 23:03 ` [spp] [PATCH v2 1/8] docs: update Getting Started section ogawa.yasufumi 2018-12-13 23:03 ` [spp] [PATCH v2 2/8] docs: update How to Use section ogawa.yasufumi @ 2018-12-13 23:03 ` ogawa.yasufumi 2018-12-13 23:03 ` [spp] [PATCH v2 4/8] docs: update spp_nfv commands ogawa.yasufumi ` (4 subsequent siblings) 7 siblings, 0 replies; 17+ messages in thread From: ogawa.yasufumi @ 2018-12-13 23:03 UTC (permalink / raw) To: ferruh.yigit, spp, ogawa.yasufumi From: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp> Update descriptions and examples to the latest release. Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp> --- docs/guides/setup/use_cases.rst | 166 ++++++++++++++++++++-------------------- 1 file changed, 82 insertions(+), 84 deletions(-) diff --git a/docs/guides/setup/use_cases.rst b/docs/guides/setup/use_cases.rst index b8ce7d2..7cf143b 100644 --- a/docs/guides/setup/use_cases.rst +++ b/docs/guides/setup/use_cases.rst @@ -9,27 +9,27 @@ Use Cases Single spp_nfv -------------- -The most simple use case mainly for testing performance of packet +The most simple usecase mainly for testing performance of packet forwarding on host. One ``spp_nfv`` and two physical ports. -In this use case, try to configure two senarios. +In this usecase, try to configure two senarios. -- Configure spp_nfv as L2fwd -- Configure spp_nfv for Loopback +- Configure ``spp_nfv`` as L2fwd +- Configure ``spp_nfv`` for Loopback -First of all, Check the status of ``spp_nfv`` from SPP controller. +First of all, Check the status of ``spp_nfv`` from SPP CLI. .. code-block:: console - spp > sec 1; status + spp > nfv 1; status - status: idling - ports: - phy:0 - phy:1 -This status message explains that ``sec 1`` has two physical ports. +This status message explains that ``nfv 1`` has two physical ports. Configure spp_nfv as L2fwd @@ -42,19 +42,19 @@ which means it is bi-directional connection. .. code-block:: console - spp > sec 1; patch phy:0 phy:1 + spp > nfv 1; patch phy:0 phy:1 Patch ports (phy:0 -> phy:1). - spp > sec 1; patch phy:1 phy:0 + spp > nfv 1; patch phy:1 phy:0 Patch ports (phy:1 -> phy:0). - spp > sec 1; forward + spp > nfv 1; forward Start forwarding. -Confirm that status of ``sec 1`` is updated to ``running`` and ports are +Confirm that status of ``nfv 1`` is updated to ``running`` and ports are patches as you defined. .. code-block:: console - spp > sec 1; status + spp > nfv 1; status - status: running - ports: - phy:0 -> phy:1 @@ -73,9 +73,9 @@ Stop forwarding and reset patch to clear configuration. .. code-block:: console - spp > sec 1; stop + spp > nfv 1; stop Stop forwarding. - spp > sec 1; patch reset + spp > nfv 1; patch reset Clear all of patches. @@ -87,11 +87,11 @@ for loopback. .. code-block:: console - spp > sec 1; patch phy:0 phy:0 + spp > nfv 1; patch phy:0 phy:0 Patch ports (phy:0 -> phy:0). - spp > sec 1; patch phy:1 phy:1 + spp > nfv 1; patch phy:1 phy:1 Patch ports (phy:1 -> phy:1). - spp > sec 1; forward + spp > nfv 1; forward Start forwarding. @@ -102,15 +102,13 @@ Use case for testing performance of packet forwarding with two ``spp_nfv`` on host. Throughput is expected to be better than :ref:`Single spp_nfv<single_spp_nfv>` -use case -because bi-directional forwarding of single nfv shared with two of -uni-directional forwarding between dual spp_nfv. +usecase because bi-directional forwarding of single ``spp_nfv`` is shared +with two of uni-directional forwarding between dual ``spp_nfv``. -In this use case, configure two senarios almost similar to -previous section. +In this usecase, configure two senarios almost similar to previous section. -- Configure Two spp_nfv as L2fwd -- Configure Two spp_nfv for Loopback +- Configure Two ``spp_nfv`` as L2fwd +- Configure Two ``spp_nfv`` for Loopback Configure Two spp_nfv as L2fwd @@ -118,18 +116,18 @@ Configure Two spp_nfv as L2fwd Assing the destination of ports with ``patch`` subcommand and start forwarding. -Patch from ``phy:0`` to ``phy:1`` for ``sec 1`` and -from ``phy:1`` to ``phy:0`` for ``sec 2``. +Patch from ``phy:0`` to ``phy:1`` for ``nfv 1`` and +from ``phy:1`` to ``phy:0`` for ``nfv 2``. .. code-block:: console - spp > sec 1; patch phy:0 phy:1 + spp > nfv 1; patch phy:0 phy:1 Patch ports (phy:0 -> phy:1). - spp > sec 2; patch phy:1 phy:0 + spp > nfv 2; patch phy:1 phy:0 Patch ports (phy:1 -> phy:0). - spp > sec 1; forward + spp > nfv 1; forward Start forwarding. - spp > sec 2; forward + spp > nfv 2; forward Start forwarding. .. _figure_spp_two_nfv_as_l2fwd: @@ -143,18 +141,18 @@ from ``phy:1`` to ``phy:0`` for ``sec 2``. Configure two spp_nfv for Loopback ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Patch ``phy:0`` to ``phy:0`` for ``sec 1`` and -``phy:1`` to ``phy:1`` for ``sec 2`` for loopback. +Patch ``phy:0`` to ``phy:0`` for ``nfv 1`` and +``phy:1`` to ``phy:1`` for ``nfv 2`` for loopback. .. code-block:: console - spp > sec 1; patch phy:0 phy:0 + spp > nfv 1; patch phy:0 phy:0 Patch ports (phy:0 -> phy:0). - spp > sec 2; patch phy:1 phy:1 + spp > nfv 2; patch phy:1 phy:1 Patch ports (phy:1 -> phy:1). - spp > sec 1; forward + spp > nfv 1; forward Start forwarding. - spp > sec 2; forward + spp > nfv 2; forward Start forwarding. .. _figure_spp_two_nfv_loopback: @@ -168,7 +166,7 @@ Patch ``phy:0`` to ``phy:0`` for ``sec 1`` and Dual spp_nfv with Ring PMD -------------------------- -In this use case, configure two senarios by using ring PMD. +In this usecase, configure two senarios by using ring PMD. - Uni-Directional L2fwd - Bi-Directional L2fwd @@ -185,24 +183,24 @@ All of ring PMDs is showed with ``status`` subcommand. .. code-block:: console - spp > sec 1; add ring:0 + spp > nfv 1; add ring:0 Add ring:0. - spp > sec 1; status + spp > nfv 1; status - status: idling - ports: - phy:0 - phy:1 - ring:0 -Notice that ``ring:0`` is added to ``sec 1``. +Notice that ``ring:0`` is added to ``nfv 1``. You can delete it with ``del`` command if you do not need to use it anymore. .. code-block:: console - spp > sec 1; del ring:0 + spp > nfv 1; del ring:0 Delete ring:0. - spp > sec 1; status + spp > nfv 1; status - status: idling - ports: - phy:0 @@ -213,22 +211,22 @@ Uni-Directional L2fwd ~~~~~~~~~~~~~~~~~~~~~ Add a ring PMD and connect two ``spp_nvf`` processes. -To configure network path, add ``ring:0`` to ``sec 1`` and ``sec 2``. +To configure network path, add ``ring:0`` to ``nfv 1`` and ``nfv 2``. Then, connect it with ``patch`` subcommand. .. code-block:: console - spp > sec 1; add ring:0 + spp > nfv 1; add ring:0 Add ring:0. - spp > sec 2; add ring:0 + spp > nfv 2; add ring:0 Add ring:0. - spp > sec 1; patch phy:0 ring:0 + spp > nfv 1; patch phy:0 ring:0 Patch ports (phy:0 -> ring:0). - spp > sec 2; patch ring:0 phy:1 + spp > nfv 2; patch ring:0 phy:1 Patch ports (ring:0 -> phy:1). - spp > sec 1; forward + spp > nfv 1; forward Start forwarding. - spp > sec 2; forward + spp > nfv 2; forward Start forwarding. .. _figure_spp_uni_directional_l2fwd: @@ -244,18 +242,18 @@ Bi-Directional L2fwd Add two ring PMDs to two ``spp_nvf`` processes. For bi-directional forwarding, -patch ``ring:0`` for a path from ``sec 1`` to ``sec 2`` -and ``ring:1`` for another path from ``sec 2`` to ``sec 1``. +patch ``ring:0`` for a path from ``nfv 1`` to ``nfv 2`` +and ``ring:1`` for another path from ``nfv 2`` to ``nfv 1``. -First, add ``ring:0`` and ``ring:1`` to ``sec 1``. +First, add ``ring:0`` and ``ring:1`` to ``nfv 1``. .. code-block:: console - spp > sec 1; add ring:0 + spp > nfv 1; add ring:0 Add ring:0. - spp > sec 1; add ring:1 + spp > nfv 1; add ring:1 Add ring:1. - spp > sec 1; status + spp > nfv 1; status - status: idling - ports: - phy:0 @@ -263,15 +261,15 @@ First, add ``ring:0`` and ``ring:1`` to ``sec 1``. - ring:0 - ring:1 -Then, add ``ring:0`` and ``ring:1`` to ``sec 2``. +Then, add ``ring:0`` and ``ring:1`` to ``nfv 2``. .. code-block:: console - spp > sec 2; add ring:0 + spp > nfv 2; add ring:0 Add ring:0. - spp > sec 2; add ring:1 + spp > nfv 2; add ring:1 Add ring:1. - spp > sec 2; status + spp > nfv 2; status - status: idling - ports: - phy:0 @@ -281,17 +279,17 @@ Then, add ``ring:0`` and ``ring:1`` to ``sec 2``. .. code-block:: console - spp > sec 1; patch phy:0 ring:0 + spp > nfv 1; patch phy:0 ring:0 Patch ports (phy:0 -> ring:0). - spp > sec 1; patch ring:1 phy:0 + spp > nfv 1; patch ring:1 phy:0 Patch ports (ring:1 -> phy:0). - spp > sec 2; patch phy:1 ring:1 + spp > nfv 2; patch phy:1 ring:1 Patch ports (phy:1 -> ring:0). - spp > sec 2; patch ring:0 phy:1 + spp > nfv 2; patch ring:0 phy:1 Patch ports (ring:0 -> phy:1). - spp > sec 1; forward + spp > nfv 1; forward Start forwarding. - spp > sec 2; forward + spp > nfv 2; forward Start forwarding. .. _figure_spp_bi_directional_l2fwd: @@ -317,7 +315,7 @@ vhost must be created by ``add`` subcommand before the VM is launched. Setup Vhost PMD ~~~~~~~~~~~~~~~ -In this use case, add ``vhost:0`` to ``sec 1`` for communicating +In this usecase, add ``vhost:0`` to ``nfv 1`` for communicating with the VM. First, check if ``/tmp/sock0`` is already exist. You should remove it already exist to avoid a failure of socket file @@ -331,11 +329,11 @@ creation. # remove it if exist $ sudo rm /tmp/sock0 -Create ``/tmp/sock0`` from ``sec 1``. +Create ``/tmp/sock0`` from ``nfv 1``. .. code-block:: console - spp > sec 1; add vhost:0 + spp > nfv 1; add vhost:0 Add vhost:0. @@ -346,24 +344,24 @@ Launch a VM by using the vhost interface created as previous step. Lauunching VM is described in :doc:`How to Use<howto_use>` and launch ``spp_vm`` with secondary ID 2. -You find ``sec 2`` from controller after launched. +You find ``nfv 2`` from controller after launched. -Patch ``phy:0`` and ``phy:1`` to ``vhost:0`` with ``sec 1`` +Patch ``phy:0`` and ``phy:1`` to ``vhost:0`` with ``nfv 1`` running on host. Inside VM, configure loopback by patching ``phy:0`` and ``phy:0`` -with ``sec 2``. +with ``nfv 2``. .. code-block:: console - spp > sec 1; patch phy:0 vhost:0 + spp > nfv 1; patch phy:0 vhost:0 Patch ports (phy:0 -> vhost:0). - spp > sec 1; patch vhost:0 phy:1 + spp > nfv 1; patch vhost:0 phy:1 Patch ports (vhost:0 -> phy:1). - spp > sec 2; patch phy:0 phy:0 + spp > nfv 2; patch phy:0 phy:0 Patch ports (phy:0 -> phy:0). - spp > sec 1; forward + spp > nfv 1; forward Start forwarding. - spp > sec 2; forward + spp > nfv 2; forward Start forwarding. .. _figure_spp_uni_directional_l2fwd_vhost: @@ -396,7 +394,7 @@ Here is an example for creating pcap PMD ``pcap:1``. .. code-block:: console - spp > sec 1; add pcap:1 + spp > nfv 1; add pcap:1 After running it, you can find two of pcap files in ``/tmp``. @@ -419,11 +417,11 @@ As the first usecase, add a pcap PMD and capture incoming packets from .. code-block:: console - spp > sec 1; add pcap 1 + spp > nfv 1; add pcap 1 Add pcap:1. - spp > sec 1; patch phy:0 pcap:1 + spp > nfv 1; patch phy:0 pcap:1 Patch ports (phy:0 -> pcap:1). - spp > sec 1; forward + spp > nfv 1; forward Start forwarding. .. _figure_spp_pcap_incoming: @@ -447,7 +445,7 @@ To stop capturing, simply stop forwarding of ``spp_nfv``. .. code-block:: console - spp > sec 1; stop + spp > nfv 1; stop Stop forwarding. You can analyze the dumped pcap file with other tools like as wireshark. @@ -466,7 +464,7 @@ Then, add pcap PMD ``pcap:2`` to another ``spp_nfv``. .. code-block:: console - spp > sec 2; add pcap:2 + spp > nfv 2; add pcap:2 Add pcap:2. .. _figure_spp_pcap_restoring: @@ -492,9 +490,9 @@ and watch received packets on pktgen. .. code-block:: console - spp > sec 2; patch pcap:2 phy:1 + spp > nfv 2; patch pcap:2 phy:1 Patch ports (pcap:2 -> phy:1). - spp > sec 2; forward + spp > nfv 2; forward Start forwarding. After started forwarding, you can see that packet count is increased. -- 2.7.4 ^ permalink raw reply [flat|nested] 17+ messages in thread
* [spp] [PATCH v2 4/8] docs: update spp_nfv commands 2018-12-13 23:03 ` [spp] [PATCH v2 0/8] Revise documentation for the latest release ogawa.yasufumi ` (2 preceding siblings ...) 2018-12-13 23:03 ` [spp] [PATCH v2 3/8] docs: update Use Cases section ogawa.yasufumi @ 2018-12-13 23:03 ` ogawa.yasufumi 2018-12-13 23:04 ` [spp] [PATCH v2 5/8] docs: update Getting Started section of sppc ogawa.yasufumi ` (3 subsequent siblings) 7 siblings, 0 replies; 17+ messages in thread From: ogawa.yasufumi @ 2018-12-13 23:03 UTC (permalink / raw) To: ferruh.yigit, spp, ogawa.yasufumi From: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp> Update descriptions and examples to the latest release. Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp> --- docs/guides/commands/secondary/spp_nfv.rst | 36 +++++++++++++++--------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/docs/guides/commands/secondary/spp_nfv.rst b/docs/guides/commands/secondary/spp_nfv.rst index 794ead5..4bc71a8 100644 --- a/docs/guides/commands/secondary/spp_nfv.rst +++ b/docs/guides/commands/secondary/spp_nfv.rst @@ -4,18 +4,18 @@ spp_nfv ======= -Each of ``spp_nfv`` and ``spp_vm`` processes is managed with ``sec`` command. +Each of ``spp_nfv`` and ``spp_vm`` processes is managed with ``nfv`` command. It is for sending sub commands to secondary with specific ID called secondary ID. -``sec`` command takes an secondary ID and a sub command. They must be +``nfv`` command takes an secondary ID and a sub command. They must be separated with delimiter ``;``. Some of sub commands take additional arguments for speicfying resource owned by secondary process. .. code-block:: console - spp > sec SEC_ID; SUB_CMD + spp > nfv SEC_ID; SUB_CMD All of Sub commands are referred with ``help`` command. @@ -28,14 +28,14 @@ All of Sub commands are referred with ``help`` command. SPP secondary process is specified with secondary ID and takes sub commands. - spp > sec 1; status - spp > sec 1; add ring:0 - spp > sec 1; patch phy:0 ring:0 + spp > nfv 1; status + spp > nfv 1; add ring:0 + spp > nfv 1; patch phy:0 ring:0 You can refer all of sub commands by pressing TAB after - 'sec 1;'. + 'nfv 1;'. - spp > sec 1; # press TAB + spp > nfv 1; # press TAB add del exit forward patch status stop status @@ -47,7 +47,7 @@ source if it is not patched. .. code-block:: console - spp > sec 1; status + spp > nfv 1; status - status: idling - ports: - phy:0 -> ring:0 @@ -63,13 +63,13 @@ For example, adding ``ring:0`` by .. code-block:: console - spp> sec 1; add ring:0 + spp> nfv 1; add ring:0 Or adding ``vhost:0`` by .. code-block:: console - spp> sec 1; add vhost:0 + spp> nfv 1; add vhost:0 patch @@ -80,7 +80,7 @@ This command just creates a path and does not start forwarding. .. code-block:: console - spp > sec 1; patch phy:0 ring:0 + spp > nfv 1; patch phy:0 ring:0 forward @@ -90,14 +90,14 @@ Start forwarding. .. code-block:: console - spp > sec 1; forward + spp > nfv 1; forward Running status is changed from ``idling`` to ``running`` by executing it. .. code-block:: console - spp > sec 1; status + spp > nfv 1; status - status: running - ports: - phy:0 @@ -111,14 +111,14 @@ Stop forwarding. .. code-block:: console - spp > sec 1; stop + spp > nfv 1; stop Running status is changed from ``running`` to ``idling`` by executing it. .. code-block:: console - spp > sec 1; status + spp > nfv 1; status - status: idling - ports: - phy:0 @@ -132,7 +132,7 @@ Delete a port from the secondary. .. code-block:: console - spp> sec 1; del ring:0 + spp> nfv 1; del ring:0 exit @@ -143,4 +143,4 @@ use ``bye sec`` command instead of it. .. code-block:: console - spp> sec 1; exit + spp> nfv 1; exit -- 2.7.4 ^ permalink raw reply [flat|nested] 17+ messages in thread
* [spp] [PATCH v2 5/8] docs: update Getting Started section of sppc 2018-12-13 23:03 ` [spp] [PATCH v2 0/8] Revise documentation for the latest release ogawa.yasufumi ` (3 preceding siblings ...) 2018-12-13 23:03 ` [spp] [PATCH v2 4/8] docs: update spp_nfv commands ogawa.yasufumi @ 2018-12-13 23:04 ` ogawa.yasufumi 2018-12-13 23:04 ` [spp] [PATCH v2 6/8] docs: update Use Cases " ogawa.yasufumi ` (2 subsequent siblings) 7 siblings, 0 replies; 17+ messages in thread From: ogawa.yasufumi @ 2018-12-13 23:04 UTC (permalink / raw) To: ferruh.yigit, spp, ogawa.yasufumi From: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp> Update descriptions and examples to the latest release. Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp> --- docs/guides/tools/sppc/getting_started.rst | 51 ++++++++++++++++++------------ 1 file changed, 30 insertions(+), 21 deletions(-) diff --git a/docs/guides/tools/sppc/getting_started.rst b/docs/guides/tools/sppc/getting_started.rst index 8a6b5b8..0ae0978 100644 --- a/docs/guides/tools/sppc/getting_started.rst +++ b/docs/guides/tools/sppc/getting_started.rst @@ -142,15 +142,14 @@ It is better to define this variable in ``$HOME/.bashrc``. .. code-block:: console # Set your host IP address - export SPP_CTRL_IP=[HOST_IPADDR] + export SPP_CTRL_IP=HOST_IPADDR SPP Controller ~~~~~~~~~~~~~~ -Launch SPP controller to be ready -before primary and secondary processes. -SPP controller is launched in the terminal 1 in this guide. +Launch ``spp-ctl`` and ``spp.py`` to be ready before primary and secondary +processes. .. note:: @@ -161,10 +160,20 @@ SPP controller is launched in the terminal 1 in this guide. ``mlterm`` is the most useful and easy to customize. Refer :doc:`../../commands/experimental` for ``topo`` command. +``spp-ctl`` is launched in the termina l. + .. code-block:: console # Terminal 1 $ cd /path/to/spp + $ python3 src/spp-ctl/spp-ctl + +``spp.py`` is launched in the terminal 2. + +.. code-block:: console + + # Terminal 2 + $ cd /path/to/spp $ python src/spp.py @@ -173,13 +182,13 @@ SPP Primary Container As ``SPP_CTRL_IP`` is activated, you are enalbed to run ``app/spp-primary.py`` with options of EAL and SPP primary -in terminal 2. +in terminal 3. In this case, launch spp-primary in background mode using one core and two ports. .. code-block:: console - # Terminal 2 + # Terminal 3 $ cd /path/to/spp/tools/sppc $ python app/spp-primary.py -l 0 -p 0x03 @@ -194,13 +203,13 @@ There behave as similar to ``spp_nfv`` running on host and The difference is that both of them are running on containers. You use only ``spp_nfv.py`` in this guide. -Launch ``spp_nfv`` in terminal 2 +Launch ``spp_nfv`` in terminal 3 with options for secondary ID is ``1`` and core list is ``1-2`` for using 2nd and 3rd cores. .. code-block:: console - # Terminal 2 + # Terminal 3 $ python app/spp-nfv.py -i 1 -l 1-2 If it is succeeded, container is running in background. @@ -218,9 +227,9 @@ before launching the app container. .. code-block:: console - # Terminal 1 - spp > sec 1;add vhost 1 - spp > sec 1;add vhost 2 + # Terminal 2 + spp > nfv 1; add vhost 1 + spp > nfv 1; add vhost 2 ``spp_nfv`` of ID 1 running inside container creates ``vhost:1`` and ``vhost:2``. @@ -229,7 +238,7 @@ app container launcher. .. code-block:: console - # Terminal 2 + # Terminal 3 $ cd /path/to/spp/tools/sppc $ app/testpmd.py -l 3-4 -d 1,2 sudo docker run -it \ @@ -272,17 +281,17 @@ and start forwarding from testpmd. SPP and testpmd on containers -From terminal 1, add ``ring:0``, connect ``vhost:1`` and ``vhost:2`` +In terminal 2, add ``ring:0``, connect ``vhost:1`` and ``vhost:2`` with it. .. code-block:: console - # Terminal 1 - spp > sec 1;add ring 0 - spp > sec 1;patch vhost:1 ring:0 - spp > sec 1;patch ring:0 vhost:2 - spp > sec 1;forward - spp > sec 1;status + # Terminal 2 + spp > nfv 1; add ring 0 + spp > nfv 1; patch vhost:1 ring:0 + spp > nfv 1; patch ring:0 vhost:2 + spp > nfv 1; forward + spp > nfv 1; status status: running ports: - 'ring:0 -> vhost:2' @@ -293,7 +302,7 @@ Start forwarding on port 0 by ``start tx_first``. .. code-block:: console - # Terminal 2 + # Terminal 3 testpmd> start tx_first io packet forwarding - ports=2 - cores=1 - streams=2 - NUMA support... Logical Core 4 (socket 0) forwards packets on 2 streams: @@ -306,7 +315,7 @@ In this case, about 35 million packets are forwarded. .. code-block:: console - # Terminal 2 + # Terminal 3 testpmd> stop Telling cores to stop... Waiting for lcores to finish... -- 2.7.4 ^ permalink raw reply [flat|nested] 17+ messages in thread
* [spp] [PATCH v2 6/8] docs: update Use Cases section of sppc 2018-12-13 23:03 ` [spp] [PATCH v2 0/8] Revise documentation for the latest release ogawa.yasufumi ` (4 preceding siblings ...) 2018-12-13 23:04 ` [spp] [PATCH v2 5/8] docs: update Getting Started section of sppc ogawa.yasufumi @ 2018-12-13 23:04 ` ogawa.yasufumi 2018-12-13 23:04 ` [spp] [PATCH v2 7/8] recipes: update recipe files ogawa.yasufumi 2018-12-13 23:04 ` [spp] [PATCH v2 8/8] docs: revise how to use section of spp_vf ogawa.yasufumi 7 siblings, 0 replies; 17+ messages in thread From: ogawa.yasufumi @ 2018-12-13 23:04 UTC (permalink / raw) To: ferruh.yigit, spp, ogawa.yasufumi From: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp> Update of descriptions and examples to the latest release. Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp> --- docs/guides/tools/sppc/usecases.rst | 294 ++++++++++++++++++++---------------- 1 file changed, 160 insertions(+), 134 deletions(-) diff --git a/docs/guides/tools/sppc/usecases.rst b/docs/guides/tools/sppc/usecases.rst index 95a4c28..7fadf22 100644 --- a/docs/guides/tools/sppc/usecases.rst +++ b/docs/guides/tools/sppc/usecases.rst @@ -49,61 +49,67 @@ all of app container processes run on a single node. Test of vhost PMD in a single node -You use two terminals in this example, one is for SPP controller -and other one is for managing app containers. -First of all, launch SPP controller in terminal 1. +You use three terminals in this example, first one is for ``spp-ctl``, +second one is for SPP CLI and third one is for managing app containers. +First of all, launch ``spp-ctl`` in terminal 1. .. code-block:: console # Terminal 1 $ cd /path/to/spp + $ python3 src/spp-ctl/spp-ctl + +Then, ``spp.py`` in terminal 2. + +.. code-block:: console + + # Terminal 2 + $ cd /path/to/spp $ python src/spp.py -Move to terminal 2, launch app containers of ``spp_primary`` +Move to terminal 3, launch app containers of ``spp_primary`` and ``spp_nfv`` step by step in background mode. -You notice that TAP device is attached with ``-dt 1`` which is not used +You notice that vhost device is attached with ``-dv 1`` which is not used actually. It is because that SPP primary requires at least one port even if it is no need. -You can also assign a physical port or vhost instead of this TAP device. - +You can also assign a physical port instead of this vhost device. .. code-block:: console - # Terminal 2 + # Terminal 3 $ cd /path/to/spp/tools/sppc - $ python app/spp-primary.py -l 0 -p 0x01 -dt 1 + $ python app/spp-primary.py -l 0 -p 0x01 -dv 1 $ python app/spp-nfv.py -i 1 -l 1-2 $ python app/spp-nfv.py -i 2 -l 3-4 -Then, add two vhost PMDs for pktgen app container from SPP controller. +Then, add two vhost PMDs for pktgen app container from SPP CLI. .. code-block:: console - # Terminal 1 - spp > sec 1;add vhost 1 - spp > sec 2;add vhost 2 + # Terminal 2 + spp > nfv 1; add vhost 1 + spp > nfv 2; add vhost 2 -Now, it is ready for launching pktgen app container. -In this use case, use five lcores for pktgen. -One lcore is used for master, and remaining lcores are used for -rx and tx evenly. +It is ready for launching pktgen app container. In this usecase, +use five lcores for pktgen. One lcore is used for master, and remaining +lcores are used for rx and tx evenly. Device ID option ``-d 1,2`` is for refferring vhost 1 and 2. .. code-block:: console - # Terminal 2 + # Terminal 3 $ python app/pktgen.py -fg -l 5-9 -d 1,2 Finally, configure network path from SPP controller, .. code-block:: console - # Terminal 1 - spp > sec 1;patch ring:0 vhost:1 - spp > sec 2;patch vhost:2 ring:0 - spp > sec 1;forward - spp > sec 2;forward + # Terminal 2 + spp > nfv 1; patch ring:0 vhost:1 + spp > nfv 2; patch vhost:2 ring:0 + spp > nfv 1; forward + spp > nfv 2; forward and start forwarding from pktgen. @@ -142,27 +148,34 @@ with ring PMDs in serial. Test of ring PMD -You use two terminals on host 1, one is for SPP controller and another one -for ``spp_nfv`` app containers. +You use three terminals on host 1, first one is for ``spp-ctl``, +second one is for ``spp.py``, and third one is for ``spp_nfv`` app containers. Pktgen on host 2 is started forwarding after setup on host 1 is finished. -First, Launch SPP controller in terminal 1 as -:ref:`sppc_usecases_test_ring`. +First, launch ``spp-ctl`` in terminal 1. .. code-block:: console # Terminal 1 $ cd /path/to/spp + $ python3 src/spp-ctl/spp-ctl + +Then, launch ``spp.py`` in terminal 2. + +.. code-block:: console + + # Terminal 2 + $ cd /path/to/spp $ python src/spp.py -In terminal 2, launch ``spp_primary`` and ``spp_nfv`` containers +In terminal 3, launch ``spp_primary`` and ``spp_nfv`` containers in background mode. In this case, you attach physical ports to ``spp_primary`` with portmask option. .. code-block:: console - # Terminal 2 + # Terminal 3 $ cd /path/to/spp/tools/sppc $ python app/spp-primary.py -l 0 -p 0x03 $ python app/spp-nfv.py -i 1 -l 1-2 @@ -223,17 +236,17 @@ containers. You can use recipe scripts from ``playback`` command instead of typing commands step by step. For this usecase example, it is included in -``recipes/sppc/usecases/test_ring``. +``recipes/sppc/samples/test_ring.rcp``. .. code-block:: console # Terminal 2 - spp > sec 1;add ring:0 - spp > sec 2;add ring:1 - spp > sec 2;add ring:2 - spp > sec 3;add ring:2 - spp > sec 3;add ring:3 - spp > sec 4;add ring:3 + spp > nfv 1; add ring:0 + spp > nfv 2; add ring:1 + spp > nfv 2; add ring:2 + spp > nfv 3; add ring:2 + spp > nfv 3; add ring:3 + spp > nfv 4; add ring:3 Then, patch all of ports to be configured containers are connected in serial. @@ -241,15 +254,15 @@ in serial. .. code-block:: console # Terminal 2 - spp > sec 1;patch phy:0 ring:0 - spp > sec 2;patch ring:0 ring:1 - spp > sec 3;patch ring:1 ring:2 - spp > sec 3;patch ring:2 ring:3 - spp > sec 4;patch ring:3 phy:1 - spp > sec 1;forward - spp > sec 2;forward - spp > sec 3;forward - spp > sec 4;forward + spp > nfv 1; patch phy:0 ring:0 + spp > nfv 2; patch ring:0 ring:1 + spp > nfv 3; patch ring:1 ring:2 + spp > nfv 3; patch ring:2 ring:3 + spp > nfv 4; patch ring:3 phy:1 + spp > nfv 1; forward + spp > nfv 2; forward + spp > nfv 3; forward + spp > nfv 4; forward After setup on host 1 is finished, start forwarding from pktgen on host 2. You can see the throughput of rx and tx ports on pktgen's terminal. @@ -289,26 +302,28 @@ Here is a list of lcore assignment for each of app containers. * Three lcores for ``pktgen`` container. * Two lcores for ``l2fwd`` container. -First of all, launch SPP controller. +First of all, launch ``spp-ctl`` and ``spp.py``. .. code-block:: console # Terminal 1 $ cd /path/to/spp + $ python3 src/spp-ctl/spp-ctl + + # Terminal 2 + $ cd /path/to/spp $ python src/spp.py -Launch ``spp_primary`` and ``spp_nfv`` containers in background. +Then, launch ``spp_primary`` and ``spp_nfv`` containers in background. It does not use physical NICs as similar to :ref:`sppc_usecases_test_vhost_single`. Use four of ``spp_nfv`` containers for using four vhost PMDs. -For this usecase example, recipe scripts are included in -``recipes/sppc/usecases/pg_l2fwd``. .. code-block:: console - # Terminal 2 + # Terminal 3 $ cd /path/to/spp/tools/sppc - $ python app/spp-primary.py -l 0 -p 0x01 -dt 1 + $ python app/spp-primary.py -l 0 -p 0x01 -dv 9 $ python app/spp-nfv.py -i 1 -l 1-2 $ python app/spp-nfv.py -i 2 -l 3-4 $ python app/spp-nfv.py -i 3 -l 5-6 @@ -319,15 +334,15 @@ its secondary ID. .. code-block:: console - # Terminal 1 - spp > sec 1;add vhost 1 - spp > sec 2;add vhost 2 - spp > sec 3;add vhost 3 - spp > sec 4;add vhost 4 - spp > sec 1;add ring 0 - spp > sec 4;add ring 0 - spp > sec 2;add ring 1 - spp > sec 3;add ring 1 + # Terminal 2 + spp > nfv 1; add vhost:1 + spp > nfv 2; add vhost:2 + spp > nfv 3; add vhost:3 + spp > nfv 4; add vhost:4 + spp > nfv 1; add ring:0 + spp > nfv 4; add ring:0 + spp > nfv 2; add ring:1 + spp > nfv 3; add ring:1 After vhost PMDs are created, you can launch containers @@ -337,14 +352,15 @@ In this case, ``pktgen`` container owns vhost 1 and 2, .. code-block:: console - # Terminal 2 + # Terminal 3 + $ cd /path/to/spp/tools/sppc $ python app/pktgen.py -l 9-11 -d 1,2 and ``l2fwd`` container owns vhost 3 and 4. .. code-block:: console - # Terminal 3 + # Terminal 4 $ cd /path/to/spp/tools/sppc $ python app/l2fwd.py -l 12-13 -d 3,4 @@ -354,20 +370,22 @@ and start forwarding from SPP controller. .. code-block:: console - # Terminal 1 - spp > sec 1;patch ring:0 vhost:1 - spp > sec 2;patch vhost:2 ring:1 - spp > sec 3;patch ring:1 vhost:3 - spp > sec 4;patch vhost:4 ring:0 - spp > sec 1;forward - spp > sec 2;forward - spp > sec 3;forward - spp > sec 4;forward + # Terminal 2 + spp > nfv 1; patch ring:0 vhost:1 + spp > nfv 2; patch vhost:2 ring:1 + spp > nfv 3; patch ring:1 vhost:3 + spp > nfv 4; patch vhost:4 ring:0 + spp > nfv 1; forward + spp > nfv 2; forward + spp > nfv 3; forward + spp > nfv 4; forward Finally, start forwarding from ``pktgen`` container. You can see that packet count is increased on both of ``pktgen`` and ``l2fwd``. +For this usecase example, recipe scripts are included in +``recipes/sppc/samples/pg_l2fwd.rcp``. .. _sppc_usecases_pktgen_l2fwd_less_lcores: @@ -380,8 +398,8 @@ This section describes the effort of reducing the usage of lcore for Here is a list of lcore assignment for each of app containers. It is totally 7 lcores while the maximum number is 14. -* One lcore for spp_primary container. -* Three lcores for four spp_nfv containers. +* One lcore for ``spp_primary`` container. +* Three lcores for four ``spp_nfv`` containers. * Two lcores for pktgen container. * One lcores for l2fwd container. @@ -392,26 +410,28 @@ It is totally 7 lcores while the maximum number is 14. Pktgen and l2fwd using less lcores -First of all, launch SPP controller. +First of all, launch ``spp-ctl`` and ``spp.py``. .. code-block:: console # Terminal 1 $ cd /path/to/spp + $ python3 src/spp-ctl/spp-ctl + + # Terminal 2 + $ cd /path/to/spp $ python src/spp.py Launch ``spp_primary`` and ``spp_nfv`` containers in background. It does not use physical NICs as similar to :ref:`sppc_usecases_test_vhost_single`. Use two of ``spp_nfv`` containers for using four vhost PMDs. -For this usecase example, recipe scripts are included in -``recipes/sppc/usecases/pg_l2fwd_less``. .. code-block:: console - # Terminal 2 + # Terminal 3 $ cd /path/to/spp/tools/sppc - $ python app/spp-primary.py -l 0 -p 0x01 -dt 1 + $ python app/spp-primary.py -l 0 -p 0x01 -dv 9 $ python app/spp-nfv.py -i 1 -l 1,2 $ python app/spp-nfv.py -i 2 -l 1,3 @@ -426,15 +446,15 @@ Assign each of two vhost PMDs to the processes. .. code-block:: console - # Terminal 1 - spp > sec 1;add vhost 1 - spp > sec 1;add vhost 2 - spp > sec 2;add vhost 3 - spp > sec 2;add vhost 4 - spp > sec 1;add ring 0 - spp > sec 1;add ring 1 - spp > sec 2;add ring 0 - spp > sec 2;add ring 1 + # Terminal 2 + spp > nfv 1; add vhost:1 + spp > nfv 1; add vhost:2 + spp > nfv 2; add vhost:3 + spp > nfv 2; add vhost:4 + spp > nfv 1; add ring:0 + spp > nfv 1; add ring:1 + spp > nfv 2; add ring:0 + spp > nfv 2; add ring:1 After vhost PMDs are created, you can launch containers of ``pktgen`` and ``l2fwd``. @@ -444,14 +464,14 @@ In this case, ``pktgen`` container uses vhost 1 and 2, .. code-block:: console - # Terminal 2 + # Terminal 3 $ python app/pktgen.py -l 1,4,5 -d 1,2 and ``l2fwd`` container uses vhost 3 and 4. .. code-block:: console - # Terminal 3 + # Terminal 4 $ cd /path/to/spp/tools/sppc $ python app/l2fwd.py -l 1,6 -d 3,4 @@ -461,20 +481,22 @@ and start forwarding from SPP controller. .. code-block:: console - # Terminal 1 - spp > sec 1;patch ring:0 vhost:1 - spp > sec 1;patch vhost:2 ring:1 - spp > sec 3;patch ring:1 vhost:3 - spp > sec 4;patch vhost:4 ring:0 - spp > sec 1;forward - spp > sec 2;forward - spp > sec 3;forward - spp > sec 4;forward + # Terminal 2 + spp > nfv 1; patch ring:0 vhost:1 + spp > nfv 1; patch vhost:2 ring:1 + spp > nfv 3; patch ring:1 vhost:3 + spp > nfv 4; patch vhost:4 ring:0 + spp > nfv 1; forward + spp > nfv 2; forward + spp > nfv 3; forward + spp > nfv 4; forward Finally, start forwarding from ``pktgen`` container. You can see that packet count is increased on both of ``pktgen`` and ``l2fwd``. +For this usecase example, recipe scripts are included in +``recipes/sppc/samples/pg_l2fwd_less.rcp``. .. _sppc_usecases_lb_pktgen: @@ -517,26 +539,28 @@ Here is a list of lcore assignment for each of app containers. * Three lcores for ``pktgen`` container. * Four lcores for ``load_balancer`` container. -First of all, launch SPP controller. +First of all, launch ``spp-ctl`` and ``spp.py``. .. code-block:: console # Terminal 1 $ cd /path/to/spp + $ python3 src/spp-ctl/spp-ctl + + # Terminal 2 + $ cd /path/to/spp $ python src/spp.py Launch ``spp_primary`` and ``spp_nfv`` containers in background. It does not use physical NICs as similar to :ref:`sppc_usecases_test_vhost_single`. Use six ``spp_nfv`` containers for using six vhost PMDs. -For this usecase example, recipe scripts are included in -``recipes/sppc/usecases/lb_pg``. .. code-block:: console - # Terminal 2 + # Terminal 3 $ cd /path/to/spp/tools/sppc - $ python app/spp-primary.py -l 0 -p 0x01 -dt 1 + $ python app/spp-primary.py -l 0 -p 0x01 -dv 9 $ python app/spp-nfv.py -i 1 -l 1,2 $ python app/spp-nfv.py -i 2 -l 1,3 $ python app/spp-nfv.py -i 3 -l 1,4 @@ -549,32 +573,31 @@ its secondary ID. .. code-block:: console - # Terminal 1 - spp > sec 1;add vhost 1 - spp > sec 2;add vhost 2 - spp > sec 3;add vhost 3 - spp > sec 4;add vhost 4 - spp > sec 5;add vhost 5 - spp > sec 6;add vhost 6 - spp > sec 1;add ring 0 - spp > sec 2;add ring 1 - spp > sec 3;add ring 2 - spp > sec 4;add ring 0 - spp > sec 5;add ring 1 - spp > sec 6;add ring 2 + # Terminal 2 + spp > nfv 1; add vhost:1 + spp > nfv 2; add vhost:2 + spp > nfv 3; add vhost:3 + spp > nfv 4; add vhost:4 + spp > nfv 5; add vhost:5 + spp > nfv 6; add vhost:6 + spp > nfv 1; add ring:0 + spp > nfv 2; add ring:1 + spp > nfv 3; add ring:2 + spp > nfv 4; add ring:0 + spp > nfv 5; add ring:1 + spp > nfv 6; add ring:2 And patch all of ports. .. code-block:: console - # Terminal 1 - spp > sec 1;patch vhost:1 ring:0 - spp > sec 2;patch ring:1 vhost:2 - spp > sec 3;patch ring:2 vhost:3 - spp > sec 4;patch ring:0 vhost:4 - spp > sec 5;patch vhost:5 ring:1 - spp > sec 6;patch vhost:6 ring:2 - + # Terminal 2 + spp > nfv 1; patch vhost:1 ring:0 + spp > nfv 2; patch ring:1 vhost:2 + spp > nfv 3; patch ring:2 vhost:3 + spp > nfv 4; patch ring:0 vhost:4 + spp > nfv 5; patch vhost:5 ring:1 + spp > nfv 6; patch vhost:6 ring:2 You had better to check that network path is configured properly. ``topo`` command is useful for checking it with a graphical image. @@ -583,7 +606,7 @@ Define two groups of vhost PMDs as ``c1`` and ``c2`` with .. code-block:: console - # Terminal 1 + # Terminal 2 # define c1 and c2 to help your understanding spp > topo_subgraph add c1 vhost:1,vhost:2,vhost:3 spp > topo_subgraph add c2 vhost:4,vhost:5,vhost:6 @@ -600,7 +623,7 @@ For ``pktgen`` container, assign lcores 8-10 and vhost 1-3. .. code-block:: console - # Terminal 2 + # Terminal 3 $ cd /path/to/spp/tools/sppc $ python app/pktgen.py -l 8-10 -d 1-3 -T @@ -612,7 +635,7 @@ or more queues. In this case, assign 4 queues. .. code-block:: console - # Terminal 3 + # Terminal 4 $ cd /path/to/spp/tools/sppc $ python app/load_balancer.py -l 11-14 -d 4-6 -fg -nq 4 -rx "(0,0,11),(0,1,11),(0,2,11)" \ @@ -626,13 +649,13 @@ and start forwarding from SPP controller. .. code-block:: console - # Terminal 1 - spp > sec 1;forward - spp > sec 2;forward - spp > sec 3;forward - spp > sec 4;forward - spp > sec 5;forward - spp > sec 6;forward + # Terminal 2 + spp > nfv 1; forward + spp > nfv 2; forward + spp > nfv 3; forward + spp > nfv 4; forward + spp > nfv 5; forward + spp > nfv 6; forward You start forwarding from ``pktgen`` container. The destination of ``load_balancer`` is decided by considering @@ -666,3 +689,6 @@ You might not be able to stop ``load_balancer`` application with *Ctrl-C*. In this case, terminate it with ``docker kill`` directly as explained in :ref:`sppc_appl_load_balancer`. You can find the name of container from ``docker ps``. + +For this usecase example, recipe scripts are included in +``recipes/sppc/samples/lb_pg.rcp``. -- 2.7.4 ^ permalink raw reply [flat|nested] 17+ messages in thread
* [spp] [PATCH v2 7/8] recipes: update recipe files 2018-12-13 23:03 ` [spp] [PATCH v2 0/8] Revise documentation for the latest release ogawa.yasufumi ` (5 preceding siblings ...) 2018-12-13 23:04 ` [spp] [PATCH v2 6/8] docs: update Use Cases " ogawa.yasufumi @ 2018-12-13 23:04 ` ogawa.yasufumi 2018-12-13 23:04 ` [spp] [PATCH v2 8/8] docs: revise how to use section of spp_vf ogawa.yasufumi 7 siblings, 0 replies; 17+ messages in thread From: ogawa.yasufumi @ 2018-12-13 23:04 UTC (permalink / raw) To: ferruh.yigit, spp, ogawa.yasufumi From: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp> Update recipe files to the latest release. Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp> --- recipes/sppc/samples/l2fwd.rcp | 22 ++++++++++++++++++++++ recipes/sppc/samples/l2fwd.rcps | 22 ---------------------- recipes/sppc/samples/lb_pg.rcp | 31 +++++++++++++++++++++++++++++++ recipes/sppc/samples/load_balancer.rcp | 30 ++++++++++++++++++++++++++++++ recipes/sppc/samples/load_balancer.rcps | 30 ------------------------------ recipes/sppc/samples/pg_l2fwd.rcp | 17 +++++++++++++++++ recipes/sppc/samples/pg_l2fwd_less.rcp | 17 +++++++++++++++++ recipes/sppc/samples/test_ring.rcp | 16 ++++++++++++++++ 8 files changed, 133 insertions(+), 52 deletions(-) create mode 100644 recipes/sppc/samples/l2fwd.rcp delete mode 100644 recipes/sppc/samples/l2fwd.rcps create mode 100644 recipes/sppc/samples/lb_pg.rcp create mode 100644 recipes/sppc/samples/load_balancer.rcp delete mode 100644 recipes/sppc/samples/load_balancer.rcps create mode 100644 recipes/sppc/samples/pg_l2fwd.rcp create mode 100644 recipes/sppc/samples/pg_l2fwd_less.rcp create mode 100644 recipes/sppc/samples/test_ring.rcp diff --git a/recipes/sppc/samples/l2fwd.rcp b/recipes/sppc/samples/l2fwd.rcp new file mode 100644 index 0000000..63dccd7 --- /dev/null +++ b/recipes/sppc/samples/l2fwd.rcp @@ -0,0 +1,22 @@ +nfv 1; add vhost:1 +nfv 2; add vhost:2 +nfv 3; add vhost:3 +nfv 4; add vhost:4 + +nfv 1; add ring:1 +nfv 2; add ring:0 +nfv 3; add ring:0 +nfv 4; add ring:1 + +topo_subgraph add c1 vhost:1;vhost:2 +topo_subgraph add c2 vhost:3;vhost:4 + +nfv 1; patch ring:1 vhost:1 +nfv 2; patch vhost:2 ring:0 +nfv 3; patch ring:0 vhost:3 +nfv 4; patch vhost:4 ring:1 + +nfv 1; forward +nfv 2; forward +nfv 3; forward +nfv 4; forward diff --git a/recipes/sppc/samples/l2fwd.rcps b/recipes/sppc/samples/l2fwd.rcps deleted file mode 100644 index bb434ff..0000000 --- a/recipes/sppc/samples/l2fwd.rcps +++ /dev/null @@ -1,22 +0,0 @@ -sec 1;add vhost 1 -sec 2;add vhost 2 -sec 3;add vhost 3 -sec 4;add vhost 4 - -sec 1;add ring 1 -sec 2;add ring 0 -sec 3;add ring 0 -sec 4;add ring 1 - -topo_subgraph add c1 vhost:1;vhost:2 -topo_subgraph add c2 vhost:3;vhost:4 - -sec 1;patch ring:1 vhost:1 -sec 2;patch vhost:2 ring:0 -sec 3;patch ring:0 vhost:3 -sec 4;patch vhost:4 ring:1 - -sec 1;forward -sec 2;forward -sec 3;forward -sec 4;forward diff --git a/recipes/sppc/samples/lb_pg.rcp b/recipes/sppc/samples/lb_pg.rcp new file mode 100644 index 0000000..1ef80a5 --- /dev/null +++ b/recipes/sppc/samples/lb_pg.rcp @@ -0,0 +1,31 @@ +nfv 1; add vhost:1 +nfv 2; add vhost:2 +nfv 3; add vhost:3 +nfv 4; add vhost:4 +nfv 5; add vhost:5 +nfv 6; add vhost:6 +nfv 1; add ring:0 +nfv 2; add ring:1 +nfv 3; add ring:2 +nfv 4; add ring:0 +nfv 5; add ring:1 +nfv 6; add ring:2 + +nfv 1; patch vhost:1 ring:0 +nfv 2; patch ring:1 vhost:2 +nfv 3; patch ring:2 vhost:3 +nfv 4; patch ring:0 vhost:4 +nfv 5; patch vhost:5 ring:1 +nfv 6; patch vhost:6 ring:2 + +# define c1 and c2 to help your understanding +topo_subgraph add c1 vhost:1,vhost:2,vhost:3 +topo_subgraph add c2 vhost:4,vhost:5,vhost:6 +topo term + +nfv 1; forward +nfv 2; forward +nfv 3; forward +nfv 4; forward +nfv 5; forward +nfv 6; forward diff --git a/recipes/sppc/samples/load_balancer.rcp b/recipes/sppc/samples/load_balancer.rcp new file mode 100644 index 0000000..4104759 --- /dev/null +++ b/recipes/sppc/samples/load_balancer.rcp @@ -0,0 +1,30 @@ +nfv 1; add vhost:1 +nfv 2; add vhost:2 +nfv 3; add vhost:3 +nfv 4; add vhost:4 +nfv 5; add vhost:5 +nfv 6; add vhost:6 + +nfv 1; add ring:0 +nfv 2; add ring:1 +nfv 3; add ring:2 +nfv 4; add ring:0 +nfv 5; add ring:1 +nfv 6; add ring:2 + +topo_subgraph add c1 vhost:1,vhost:2,vhost:3 +topo_subgraph add c2 vhost:4,vhost:5,vhost:6 + +nfv 1; patch vhost:1 ring:0 +nfv 2; patch ring:1 vhost:2 +nfv 3; patch ring:2 vhost:3 +nfv 4; patch ring:0 vhost:4 +nfv 5; patch vhost:5 ring:1 +nfv 6; patch vhost:6 ring:2 + +nfv 1; forward +nfv 2; forward +nfv 3; forward +nfv 4; forward +nfv 5; forward +nfv 6; forward diff --git a/recipes/sppc/samples/load_balancer.rcps b/recipes/sppc/samples/load_balancer.rcps deleted file mode 100644 index 3e4b24f..0000000 --- a/recipes/sppc/samples/load_balancer.rcps +++ /dev/null @@ -1,30 +0,0 @@ -sec 1;add vhost 1 -sec 2;add vhost 2 -sec 3;add vhost 3 -sec 4;add vhost 4 -sec 5;add vhost 5 -sec 6;add vhost 6 - -sec 1;add ring 0 -sec 2;add ring 1 -sec 3;add ring 2 -sec 4;add ring 0 -sec 5;add ring 1 -sec 6;add ring 2 - -topo_subgraph add c1 vhost:1,vhost:2,vhost:3 -topo_subgraph add c2 vhost:4,vhost:5,vhost:6 - -sec 1;patch vhost:1 ring:0 -sec 2;patch ring:1 vhost:2 -sec 3;patch ring:2 vhost:3 -sec 4;patch ring:0 vhost:4 -sec 5;patch vhost:5 ring:1 -sec 6;patch vhost:6 ring:2 - -sec 1;forward -sec 2;forward -sec 3;forward -sec 4;forward -sec 5;forward -sec 6;forward diff --git a/recipes/sppc/samples/pg_l2fwd.rcp b/recipes/sppc/samples/pg_l2fwd.rcp new file mode 100644 index 0000000..9c7d636 --- /dev/null +++ b/recipes/sppc/samples/pg_l2fwd.rcp @@ -0,0 +1,17 @@ +nfv 1; add vhost:1 +nfv 2; add vhost:2 +nfv 3; add vhost:3 +nfv 4; add vhost:4 +nfv 1; add ring:0 +nfv 4; add ring:0 +nfv 2; add ring:1 +nfv 3; add ring:1 + +nfv 1; patch ring:0 vhost:1 +nfv 2; patch vhost:2 ring:1 +nfv 3; patch ring:1 vhost:3 +nfv 4; patch vhost:4 ring:0 +nfv 1; forward +nfv 2; forward +nfv 3; forward +nfv 4; forward diff --git a/recipes/sppc/samples/pg_l2fwd_less.rcp b/recipes/sppc/samples/pg_l2fwd_less.rcp new file mode 100644 index 0000000..85fb635 --- /dev/null +++ b/recipes/sppc/samples/pg_l2fwd_less.rcp @@ -0,0 +1,17 @@ +nfv 1; add vhost:1 +nfv 1; add vhost:2 +nfv 2; add vhost:3 +nfv 2; add vhost:4 +nfv 1; add ring:0 +nfv 1; add ring:1 +nfv 2; add ring:0 +nfv 2; add ring:1 + +nfv 1; patch ring:0 vhost:1 +nfv 1; patch vhost:2 ring:1 +nfv 3; patch ring:1 vhost:3 +nfv 4; patch vhost:4 ring:0 +nfv 1; forward +nfv 2; forward +nfv 3; forward +nfv 4; forward diff --git a/recipes/sppc/samples/test_ring.rcp b/recipes/sppc/samples/test_ring.rcp new file mode 100644 index 0000000..2295c3b --- /dev/null +++ b/recipes/sppc/samples/test_ring.rcp @@ -0,0 +1,16 @@ +nfv 1; add ring:0 +nfv 2; add ring:1 +nfv 2; add ring:2 +nfv 3; add ring:2 +nfv 3; add ring:3 +nfv 4; add ring:3 + +nfv 1; patch phy:0 ring:0 +nfv 2; patch ring:0 ring:1 +nfv 3; patch ring:1 ring:2 +nfv 3; patch ring:2 ring:3 +nfv 4; patch ring:3 phy:1 +nfv 1; forward +nfv 2; forward +nfv 3; forward +nfv 4; forward -- 2.7.4 ^ permalink raw reply [flat|nested] 17+ messages in thread
* [spp] [PATCH v2 8/8] docs: revise how to use section of spp_vf 2018-12-13 23:03 ` [spp] [PATCH v2 0/8] Revise documentation for the latest release ogawa.yasufumi ` (6 preceding siblings ...) 2018-12-13 23:04 ` [spp] [PATCH v2 7/8] recipes: update recipe files ogawa.yasufumi @ 2018-12-13 23:04 ` ogawa.yasufumi 7 siblings, 0 replies; 17+ messages in thread From: ogawa.yasufumi @ 2018-12-13 23:04 UTC (permalink / raw) To: ferruh.yigit, spp, ogawa.yasufumi From: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp> Update launching SPP Controller still remained old. Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp> --- docs/guides/spp_vf/gsg/howto_use.rst | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/docs/guides/spp_vf/gsg/howto_use.rst b/docs/guides/spp_vf/gsg/howto_use.rst index 44bc77a..750de13 100644 --- a/docs/guides/spp_vf/gsg/howto_use.rst +++ b/docs/guides/spp_vf/gsg/howto_use.rst @@ -9,11 +9,23 @@ How to Use SPP Controller -------------- -First, run SPP Controller with port numbers for spp primary and secondary. +Go to the SPP's directory first. .. code-block:: console - $ python ./src/spp_vf.py -p 5555 -s 6666 + $ cd /path/to/spp + +Launch ``spp-ctl`` before launching SPP primary and secondary processes. +You also need to launch ``spp.py`` if you use ``spp_vf`` from CLI. +``-b`` option is for binding IP address to communicate other SPP processes, +but no need to give it explicitly if ``127.0.0.1`` or ``localhost`` although +doing explicitly in this example to be more understandable. + +.. code-block:: console + + # Launch spp-ctl and spp.py + $ python3 ./src/spp-ctl/spp-ctl -b 127.0.0.1 + $ python ./src/spp.py -b 127.0.0.1 SPP Primary -- 2.7.4 ^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2018-12-13 23:06 UTC | newest] Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2018-12-12 2:03 [spp] [PATCH 0/7] Revise documentation for the latest release ogawa.yasufumi 2018-12-12 2:03 ` [spp] [PATCH 1/7] docs: update Getting Started section ogawa.yasufumi 2018-12-12 2:03 ` [spp] [PATCH 2/7] docs: update How to Use section ogawa.yasufumi 2018-12-12 2:03 ` [spp] [PATCH 3/7] docs: update Use Cases section ogawa.yasufumi 2018-12-12 2:03 ` [spp] [PATCH 4/7] docs: update spp_nfv commands ogawa.yasufumi 2018-12-12 2:03 ` [spp] [PATCH 5/7] docs: update Getting Started section of sppc ogawa.yasufumi 2018-12-12 2:03 ` [spp] [PATCH 6/7] docs: update Use Cases " ogawa.yasufumi 2018-12-12 2:03 ` [spp] [PATCH 7/7] recipes: update recipe files ogawa.yasufumi 2018-12-13 23:03 ` [spp] [PATCH v2 0/8] Revise documentation for the latest release ogawa.yasufumi 2018-12-13 23:03 ` [spp] [PATCH v2 1/8] docs: update Getting Started section ogawa.yasufumi 2018-12-13 23:03 ` [spp] [PATCH v2 2/8] docs: update How to Use section ogawa.yasufumi 2018-12-13 23:03 ` [spp] [PATCH v2 3/8] docs: update Use Cases section ogawa.yasufumi 2018-12-13 23:03 ` [spp] [PATCH v2 4/8] docs: update spp_nfv commands ogawa.yasufumi 2018-12-13 23:04 ` [spp] [PATCH v2 5/8] docs: update Getting Started section of sppc ogawa.yasufumi 2018-12-13 23:04 ` [spp] [PATCH v2 6/8] docs: update Use Cases " ogawa.yasufumi 2018-12-13 23:04 ` [spp] [PATCH v2 7/8] recipes: update recipe files ogawa.yasufumi 2018-12-13 23:04 ` [spp] [PATCH v2 8/8] docs: revise how to use section of spp_vf ogawa.yasufumi
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).