Soft Patch Panel
 help / color / mirror / Atom feed
* [spp] [PATCH 00/11] Add Hardware offload document
@ 2020-02-26 11:43 x-fn-spp-ml
  2020-02-26 11:43 ` [spp] [PATCH 01/11] docs: add support for rte_flow x-fn-spp-ml
                   ` (11 more replies)
  0 siblings, 12 replies; 15+ messages in thread
From: x-fn-spp-ml @ 2020-02-26 11:43 UTC (permalink / raw)
  To: ferruh.yigit, yasufum.o; +Cc: spp

From: Hideyuki Yamashita <yamashita.hideyuki@ntt-tx.co.jp>

This patch set provides doccuments of hardware offload
capability for spp.

tx-spp (11):
  docs: add support for rte_flow
  docs: add support of MLX5 PMD support in DPDK
  docs: change primary process startup parameter
  docs: add description of REST-APIs for flow rules
  docs: support flow syntax in primary command
  docs: support multi-queue in spp_vf command
  docs: add svg for classify case of hardware offload
  docs: add svg for vlan case of hardware offload
  docs: add svg for vm case of hardware offload
  docs: add usecase for hardware offload
  docs: add install drivers for Mellanox NIC

 docs/guides/api_ref/spp_primary.rst           |  208 ++++
 docs/guides/commands/primary.rst              |   99 +-
 docs/guides/commands/secondary/spp_vf.rst     |   54 +-
 docs/guides/design/spp_primary.rst            |    3 +
 docs/guides/gsg/howto_use.rst                 |   20 +
 docs/guides/gsg/install.rst                   |   25 +-
 docs/guides/gsg/setup.rst                     |   12 +
 .../spp_hardware_offload_classify.svg         |  680 +++++++++++
 .../use_cases/spp_hardware_offload_vlan.svg   |  805 +++++++++++++
 .../use_cases/spp_hardware_offload_vm.svg     | 1063 +++++++++++++++++
 docs/guides/usecases/hardware-offload.rst     |  327 +++++
 docs/guides/usecases/index.rst                |    1 +
 12 files changed, 3254 insertions(+), 43 deletions(-)
 create mode 100644 docs/guides/images/setup/use_cases/spp_hardware_offload_classify.svg
 create mode 100644 docs/guides/images/setup/use_cases/spp_hardware_offload_vlan.svg
 create mode 100644 docs/guides/images/setup/use_cases/spp_hardware_offload_vm.svg
 create mode 100644 docs/guides/usecases/hardware-offload.rst

-- 
2.17.1


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [spp] [PATCH 01/11] docs: add support for rte_flow
  2020-02-26 11:43 [spp] [PATCH 00/11] Add Hardware offload document x-fn-spp-ml
@ 2020-02-26 11:43 ` x-fn-spp-ml
  2020-02-26 11:43 ` [spp] [PATCH 02/11] docs: add support of MLX5 PMD support in DPDK x-fn-spp-ml
                   ` (10 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: x-fn-spp-ml @ 2020-02-26 11:43 UTC (permalink / raw)
  To: ferruh.yigit, yasufum.o; +Cc: spp

From: Hideyuki Yamashita<yamashita.hideyuki@ntt-tx.co.jp>

Packet classification and distribution based on destination MAC address
can be done using NIC capability. By doing so, resource consumption of
host can be reduced. VLAN tag manipulation(entag/detag) can be done
using NIC capability in some NICs.
Primary process is enhanced to invoke such hardware capability using
DPDK rte_flow APIs and description is added in design section.

Signed-off-by: Hideyuki Yamashita <yamashita.hideyuki@ntt-tx.co.jp>
Signed-off-by: Naoki Takada <ntakada14@gmail.com>
---
 docs/guides/design/spp_primary.rst | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/docs/guides/design/spp_primary.rst b/docs/guides/design/spp_primary.rst
index 35e4bbb..9ad3cc8 100644
--- a/docs/guides/design/spp_primary.rst
+++ b/docs/guides/design/spp_primary.rst
@@ -25,6 +25,9 @@ the server process of the sample application.
 It does not work for packet forwaring without in some usecases, but just
 provide rings and memory pools for secondary processes.
 
+Primary process supports ``rte_flow`` of DPDK for hardware offloading.
+Packet distribution based on dst MAC address and/or VLAN ID
+is supported. Entag/detag of VLAN is also supported.
 
 Master and Worker Threads
 -------------------------
-- 
2.17.1


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [spp] [PATCH 02/11] docs: add support of MLX5 PMD support in DPDK
  2020-02-26 11:43 [spp] [PATCH 00/11] Add Hardware offload document x-fn-spp-ml
  2020-02-26 11:43 ` [spp] [PATCH 01/11] docs: add support for rte_flow x-fn-spp-ml
@ 2020-02-26 11:43 ` x-fn-spp-ml
  2020-02-26 11:43 ` [spp] [PATCH 03/11] docs: change primary process startup parameter x-fn-spp-ml
                   ` (9 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: x-fn-spp-ml @ 2020-02-26 11:43 UTC (permalink / raw)
  To: ferruh.yigit, yasufum.o; +Cc: spp

From: Hideyuki Yamashita <yamashita.hideyuki@ntt-tx.co.jp>

This patch adds configuration change of DPDK
to support MLX5 PMD in DPDK compilation.

Signed-off-by: Hideyuki Yamashita <yamashita.hideyuki@ntt-tx.co.jp>
Signed-off-by: Naoki Takada <ntakada14@gmail.com>
---
 docs/guides/gsg/install.rst | 25 +++++--------------------
 1 file changed, 5 insertions(+), 20 deletions(-)

diff --git a/docs/guides/gsg/install.rst b/docs/guides/gsg/install.rst
index 335a151..2abf330 100644
--- a/docs/guides/gsg/install.rst
+++ b/docs/guides/gsg/install.rst
@@ -129,29 +129,15 @@ config file ``common_base`` should be changed to ``y`` to enable PCAP.
     ...
     CONFIG_RTE_PORT_PCAP=y
 
-Compile DPDK with target environment.
-
-.. code-block:: console
-
-    $ cd dpdk
-    $ export RTE_SDK=$(pwd)
-    $ export RTE_TARGET=x86_64-native-linuxapp-gcc  # depends on your env
-    $ make install T=$RTE_TARGET
-
+If you use MLX5 NIC, ``CONFIG_RTE_LIBRTE_MLX5_PMD`` defined in
+config file ``common_base`` should be changed to ``y``.
 
-PCAP is disabled by default in DPDK configuration, so should be changed
-if you use this feature.
-``CONFIG_RTE_LIBRTE_PMD_PCAP`` and ``CONFIG_RTE_PORT_PCAP`` defined in
-config file ``common_base`` should be changed to ``y`` to enable PCAP.
-
-.. code-block:: console
+.. code-block:: none
 
     # dpdk/config/common_base
-    CONFIG_RTE_LIBRTE_PMD_PCAP=y
-    ...
-    CONFIG_RTE_PORT_PCAP=y
+    CONFIG_RTE_LIBRTE_MLX5_PMD=y
 
-Compile DPDK with options for target environment.
+Compile DPDK with target environment.
 
 .. code-block:: console
 
@@ -160,7 +146,6 @@ Compile DPDK with options for target environment.
     $ export RTE_TARGET=x86_64-native-linuxapp-gcc  # depends on your env
     $ make install T=$RTE_TARGET
 
-
 Pyhton
 ------
 
-- 
2.17.1


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [spp] [PATCH 03/11] docs: change primary process startup parameter
  2020-02-26 11:43 [spp] [PATCH 00/11] Add Hardware offload document x-fn-spp-ml
  2020-02-26 11:43 ` [spp] [PATCH 01/11] docs: add support for rte_flow x-fn-spp-ml
  2020-02-26 11:43 ` [spp] [PATCH 02/11] docs: add support of MLX5 PMD support in DPDK x-fn-spp-ml
@ 2020-02-26 11:43 ` x-fn-spp-ml
  2020-02-26 11:43 ` [spp] [PATCH 04/11] docs: add description of REST-APIs for flow rules x-fn-spp-ml
                   ` (8 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: x-fn-spp-ml @ 2020-02-26 11:43 UTC (permalink / raw)
  To: ferruh.yigit, yasufum.o; +Cc: spp

From: Hideyuki Yamashita <yamashita.hideyuki@ntt-tx.co.jp>

This patch adds change on primary process startup command
when using offload with MLX5 supported NIC.

Signed-off-by: Hideyuki Yamashita <yamashita.hideyuki@ntt-tx.co.jp>
Signed-off-by: Naoki Takada <ntakada14@gmail.com>
---
 docs/guides/gsg/howto_use.rst | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/docs/guides/gsg/howto_use.rst b/docs/guides/gsg/howto_use.rst
index b0824d4..6d84be7 100644
--- a/docs/guides/gsg/howto_use.rst
+++ b/docs/guides/gsg/howto_use.rst
@@ -415,6 +415,26 @@ secondary processes.
         -n 10 \
         -s 192.168.1.100:5555
 
+In case of using MLX5 supported NIC, you must add ``dv_flow_en=1``
+with white list option.
+
+.. code-block:: console
+
+    # terminal 3
+    $ sudo ./src/primary/x86_64-native-linuxapp-gcc/spp_primary \
+        -l 0 -n 4 \
+        -w 0000:03:00.0,dv_flow_en=1 \
+        -w 0000:04:00.0,dv_flow_en=1 \
+        -w 0000:05:00.0 \
+        --socket-mem 512,512 \
+        --huge-dir /dev/hugepages \
+        --proc-type primary \
+        --base-virtaddr 0x100000000
+        -- \
+        -p 0x03 \
+        -n 10 \
+        -s 192.168.1.100:5555
+
 - EAL options:
 
   - ``-l``: core list
-- 
2.17.1


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [spp] [PATCH 04/11] docs: add description of REST-APIs for flow rules
  2020-02-26 11:43 [spp] [PATCH 00/11] Add Hardware offload document x-fn-spp-ml
                   ` (2 preceding siblings ...)
  2020-02-26 11:43 ` [spp] [PATCH 03/11] docs: change primary process startup parameter x-fn-spp-ml
@ 2020-02-26 11:43 ` x-fn-spp-ml
  2020-02-26 11:43 ` [spp] [PATCH 05/11] docs: support flow syntax in primary command x-fn-spp-ml
                   ` (7 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: x-fn-spp-ml @ 2020-02-26 11:43 UTC (permalink / raw)
  To: ferruh.yigit, yasufum.o; +Cc: spp

From: Hideyuki Yamashita <yamashita.hideyuki@ntt-tx.co.jp>

This patch adds REST-API description for flow rules.

Signed-off-by: Hideyuki Yamashita <yamashita.hideyuki@ntt-tx.co.jp>
Signed-off-by: Naoki Takada <ntakada14@gmail.com>
---
 docs/guides/api_ref/spp_primary.rst | 208 ++++++++++++++++++++++++++++
 1 file changed, 208 insertions(+)

diff --git a/docs/guides/api_ref/spp_primary.rst b/docs/guides/api_ref/spp_primary.rst
index 382915f..afb37c6 100644
--- a/docs/guides/api_ref/spp_primary.rst
+++ b/docs/guides/api_ref/spp_primary.rst
@@ -438,3 +438,211 @@ Equivalent CLI command
 .. code-block:: none
 
     pri; launch {proc_type} {sec_id} {eal_opts} -- {app_opts}
+
+POST /v1/primary/flow_rules/port_id/{port_id}/validate
+------------------------------------------------------
+
+Validate flow rule for specific port_id.
+
+* Normal response codes: 200
+
+
+Request example
+~~~~~~~~~~~~~~~
+
+.. code-block:: console
+
+    $ curl -X POST \
+           http://127.0.0.1:7777/v1/primary/flow_rules/port_id/0/validate \
+           -H "Content-type: application/json" \
+           -d '{ \
+               "rule": \
+                  { \
+                  "group": 0, \
+                  "priority": 0, \
+                  "direction": "ingress", \
+                  "transfer": true, \
+                  "pattern": \
+                    [ \
+                      "eth dst is 11:22:33:44:55:66 type mask 0xffff", \
+                      "vlan vid is 100" \
+                    ], \
+                  "actions": \
+                    [ \
+                      "queue index 1", \
+                      "of_pop_vlan" \
+                    ] \
+                  } \
+               }'
+
+Response
+~~~~~~~~
+
+.. _table_spp_ctl_primary_flow_validate:
+
+.. table:: Response params of validate.
+
+    +------------+--------+----------------------------------------+
+    | Name       | Type   | Description                            |
+    |            |        |                                        |
+    +============+========+========================================+
+    | result     | string | Validation result.                     |
+    +------------+-------++----------------------------------------+
+    | message    | string | Additional information if any.         |
+    +------------+-------++----------------------------------------+
+
+Response example
+~~~~~~~~~~~~~~~~
+
+.. code-block:: json
+
+        {
+                "result" : "success",
+                "message" : "Flow rule validated"
+        }
+
+POST /v1/primary/flow_rules/port_id/{port_id}
+---------------------------------------------
+
+Create flow rule for specific port_id.
+
+* Normal response codes: 200
+
+
+Request example
+~~~~~~~~~~~~~~~
+
+.. code-block:: console
+
+    $ curl -X POST http://127.0.0.1:7777/v1/primary/flow_rules/port_id/0 \
+           -H "Content-type: application/json" \
+           -d '{ \
+               "rule": \
+                  { \
+                  "group": 0, \
+                  "priority": 0, \
+                  "direction": "ingress", \
+                  "transfer": true, \
+                  "pattern": \
+                    [ \
+                      "eth dst is 11:22:33:44:55:66 type mask 0xffff", \
+                      "vlan vid is 100" \
+                    ], \
+                  "actions": \
+                    [ \
+                      "queue index 1", \
+                      "of_pop_vlan" \
+                    ] \
+                  } \
+               }'
+
+Response
+~~~~~~~~
+
+.. _table_spp_ctl_primary_flow_create:
+
+.. table:: Response params of flow creation.
+
+    +------------+--------+----------------------------------------+
+    | Name       | Type   | Description                            |
+    |            |        |                                        |
+    +============+========+========================================+
+    | result     | string | Creation result.                       |
+    +------------+--------+----------------------------------------+
+    | message    | string | Additional information if any.         |
+    +------------+--------+----------------------------------------+
+    | rule_id    | string | Rule id allocated if successful.       |
+    +------------+--------+----------------------------------------+
+
+Response example
+~~~~~~~~~~~~~~~~
+
+.. code-block:: json
+
+        {
+                "result" : "success",
+                "message" : "Flow rule #0 created",
+                "rule_id" : "0"
+        }
+
+DELETE /v1/primary/flow_rule/port_id/{port_id}
+----------------------------------------------
+
+Delete all flow rule for specific port_id.
+
+* Normal response codes: 200
+
+
+Request example
+~~~~~~~~~~~~~~~
+
+.. code-block:: console
+
+    $ curl -X DELETE http://127.0.0.1:7777/v1/primary/flow_rule/port_id/0
+
+Response
+~~~~~~~~
+
+.. _table_spp_ctl_primary_flow_flush:
+
+.. table:: Response params of flow flush.
+
+    +------------+--------+----------------------------------------+
+    | Name       | Type   | Description                            |
+    |            |        |                                        |
+    +============+========+========================================+
+    | result     | string | Deletion result.                       |
+    +------------+--------+----------------------------------------+
+    | message    | string | Additional information if any.         |
+    +------------+--------+----------------------------------------+
+
+Response example
+~~~~~~~~~~~~~~~~
+
+.. code-block:: json
+
+        {
+                "result" : "success",
+                "message" : "Flow rule all destroyed"
+        }
+
+DELETE /v1/primary/flow_rule/{rule_id}/port_id/{port_id}
+--------------------------------------------------------
+
+Delete specific flow rule for specific port_id.
+
+* Normal response codes: 200
+
+
+Request example
+~~~~~~~~~~~~~~~
+
+.. code-block:: console
+
+    $ curl -X DELETE http://127.0.0.1:7777/v1/primary/flow_rules/0/port_id/0
+
+Response
+~~~~~~~~
+
+.. _table_spp_ctl_primary_flow_delete:
+
+.. table:: Response params of flow deletion.
+
+    +------------+--------+----------------------------------------+
+    | Name       | Type   | Description                            |
+    |            |        |                                        |
+    +============+========+========================================+
+    | result     | string | Deletion result.                       |
+    +------------+--------+----------------------------------------+
+    | message    | string | Additional information if any.         |
+    +------------+--------+----------------------------------------+
+
+Response example
+~~~~~~~~~~~~~~~~
+
+.. code-block:: json
+
+        {
+                "result" : "success",
+                "message" : "Flow rule #0 destroyed"
+        }
-- 
2.17.1


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [spp] [PATCH 05/11] docs: support flow syntax in primary command
  2020-02-26 11:43 [spp] [PATCH 00/11] Add Hardware offload document x-fn-spp-ml
                   ` (3 preceding siblings ...)
  2020-02-26 11:43 ` [spp] [PATCH 04/11] docs: add description of REST-APIs for flow rules x-fn-spp-ml
@ 2020-02-26 11:43 ` x-fn-spp-ml
  2020-02-26 11:43 ` [spp] [PATCH 06/11] docs: support multi-queue in spp_vf command x-fn-spp-ml
                   ` (6 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: x-fn-spp-ml @ 2020-02-26 11:43 UTC (permalink / raw)
  To: ferruh.yigit, yasufum.o; +Cc: spp

From: Hideyuki Yamashita <yamashita.hideyuki@ntt-tx.co.jp>

This patch adds description of flow syntax
in primary command.

Signed-off-by: Hideyuki Yamashita <yamashita.hideyuki@ntt-tx.co.jp>
Signed-off-by: Naoki Takada <ntakada14@gmail.com>
---
 docs/guides/commands/primary.rst | 99 +++++++++++++++++++++++++++++++-
 1 file changed, 96 insertions(+), 3 deletions(-)

diff --git a/docs/guides/commands/primary.rst b/docs/guides/commands/primary.rst
index 54aead4..fd799e3 100644
--- a/docs/guides/commands/primary.rst
+++ b/docs/guides/commands/primary.rst
@@ -53,9 +53,10 @@ Show status fo ``spp_primary`` and forwarding statistics of each of ports.
       - master: 0
     - stats
       - physical ports:
-          ID          rx          tx    tx_drop  mac_addr
-           0           0           0           0  56:48:4f:53:54:00
-           1           0           0           0  56:48:4f:53:54:01
+          ID          rx          tx    tx_drop   rxq  txq mac_addr
+           0           0           0           0   16   16 3c:fd:fe:b6:c4:28
+           1           0           0           0 1024 1024 3c:fd:fe:b6:c4:29
+           2           0           0           0    1    1 3c:fd:fe:b6:c4:30
       - ring ports:
           ID          rx          tx     rx_drop     tx_drop
            0           0           0           0           0
@@ -247,3 +248,95 @@ In terms of log, each of secondary processes are output its log messages to
 files under ``log`` directory of project root. The name of log file is defined
 with type of process and secondary ID. For instance, ``nfv 2``, the path of log
 file is ``log/spp_nfv-2.log``.
+
+.. _commands_primary_flow:
+
+flow
+----
+
+Manipulate flow rules.
+
+You can request ``validate`` before creating flow rule.
+
+.. code-block:: console
+
+   spp > pri; flow validate phy:0 ingress group 1 pattern eth dst is
+         10:22:33:44:55:66 / vlan vid is 100 / end actions queue index 0 /
+         of_pop_vlan / end
+   Flow rule validated
+
+
+You can create rules by using ``create`` request.
+
+.. code-block:: console
+
+   spp > pri; flow create phy:0 ingress group 1 pattern eth dst is
+         10:22:33:44:55:66 / vlan vid is 100 / end actions queue index 0 /
+         of_pop_vlan / end
+   Flow rule #0 created
+
+.. note::
+
+   ``validate`` and/or ``create`` in flow command tends to take long
+   parameters. But you should enter it as one line.
+   CLI assumes that new line means ``commmand is entered``. So command
+   should be entered without using new line.
+
+You can delete specific flow rule.
+
+.. code-block:: console
+
+   spp > pri; flow destroy phy:0 0
+   Flow rule #0 destroyed
+
+Listing flow rules per physical port is supported.
+
+.. code-block:: console
+
+   spp > pri; flow list phy:0
+   ID      Group   Prio    Attr    Rule
+   0       1       0       -e-     ETH => OF_PUSH_VLAN OF_SET_VLAN_VID OF_SET_VLAN_PCP
+   1       1       0       i--     ETH VLAN => QUEUE OF_POP_VLAN
+   2       0       0       i--     ETH => JUMP
+
+The following is the paraemters to be displayed.
+
+* ``ID``: Identifier of the rule which is unique per physical port.
+* ``Group``: Group number the rule belongs.
+* ``Prio``: Priority value of the rule.
+* ``Attr``: Attributes for the rule which is independent each other.
+  The possible values of ``Attr`` are ``i`` or ``e`` or ``t``. ``i`` means
+  ingress. ``e`` means egress and ``t`` means transfer.
+* ``Rule``: Rule notation.
+
+Flow detail can be listed.
+
+.. code-block:: console
+
+   spp > pri; flow status phy:0 0
+   Attribute:
+     Group   Priority Ingress Egress Transfer
+     1       0        true    false  false
+   Patterns:
+     - eth:
+       - spec:
+         - dst: 10:22:33:44:55:66
+         - src: 00:00:00:00:00:00
+         - type: 0xffff
+       - last:
+       - mask:
+         - dst: ff:ff:ff:ff:ff:ff
+         - src: 00:00:00:00:00:00
+         - type: 0xffff
+     - vlan:
+       - spec:
+         - tci: 0x0064
+         - inner_type: 0x0000
+       - last:
+       - mask:
+         - tci: 0xffff
+         - inner_type: 0x0000
+   Actions:
+     - queue:
+       - index: 0
+     - of_pop_vlan:
-- 
2.17.1


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [spp] [PATCH 06/11] docs: support multi-queue in spp_vf command
  2020-02-26 11:43 [spp] [PATCH 00/11] Add Hardware offload document x-fn-spp-ml
                   ` (4 preceding siblings ...)
  2020-02-26 11:43 ` [spp] [PATCH 05/11] docs: support flow syntax in primary command x-fn-spp-ml
@ 2020-02-26 11:43 ` x-fn-spp-ml
  2020-02-26 11:43 ` [spp] [PATCH 07/11] docs: add svg for classify case of hardware offload x-fn-spp-ml
                   ` (5 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: x-fn-spp-ml @ 2020-02-26 11:43 UTC (permalink / raw)
  To: ferruh.yigit, yasufum.o; +Cc: spp

From: Hideyuki Yamashita <yamashita.hideyuki@ntt-tx.co.jp>

This patch adds description of multi-queue
in spp_vf command.

Signed-off-by: Hideyuki Yamashita <yamashita.hideyuki@ntt-tx.co.jp>
Signed-off-by: Naoki Takada <ntakada14@gmail.com>
---
 docs/guides/commands/secondary/spp_vf.rst | 54 ++++++++++++++---------
 1 file changed, 34 insertions(+), 20 deletions(-)

diff --git a/docs/guides/commands/secondary/spp_vf.rst b/docs/guides/commands/secondary/spp_vf.rst
index 1bbd7bf..dff749f 100644
--- a/docs/guides/commands/secondary/spp_vf.rst
+++ b/docs/guides/commands/secondary/spp_vf.rst
@@ -109,24 +109,24 @@ consists of three parts.
 
     spp > vf 1; status
     Basic Information:
-      - client-id: 3
-      - ports: [phy:0, phy:1, ring:0, ring:1, ring:2, ring:3, ring:4]
-      - lcore_ids:
-        - master: 2
-        - slaves: [3, 4, 5, 6]
+     - client-id: 1
+     - ports: [phy:0 nq 0, phy:0 nq 1, ring:0, ring:1, ring:2]
+     - lcore_ids:
+       - master: 1
+       - slaves: [2, 3 ,4, 5]
     Classifier Table:
-      - C0:8E:CD:38:EA:A8, ring:4
-      - C0:8E:CD:38:BC:E6, ring:3
+     - C0:8E:CD:38:EA:A8, ring:1
+     - C0:8E:CD:38:BC:E6, ring:2
     Components:
-      - core:5 'fw1' (type: forward)
-        - rx: ring:0
-        - tx: ring:1
-      - core:6 'mg' (type: merge)
-      - core:7 'cls' (type: classifier)
-        - rx: ring:2
-        - tx: ring:3
-        - tx: ring:4
-      - core:8 '' (type: unuse)
+     - core:2 'fwd1' (type: forward)
+       - rx: phy:0 nq 0
+       - tx: ring:0
+     - core:3 'mg' (type: merge)
+     - core:4 'cls' (type: classifier)
+       - rx: phy:0 nq 1
+       - tx: ring:1
+       - tx: ring:2
+     - core:5 '' (type: unuse)
 
 ``Basic Information`` is for describing attributes of ``spp_vf`` itself.
 ``client-id`` is a secondary ID of the process and ``ports`` is a list of
@@ -214,10 +214,12 @@ Adding port
 
 .. code-block:: console
 
-    spp > vf SEC_ID; port add RES_UID DIR NAME
+    spp > vf SEC_ID; port add RES_UID [nq QUEUE_NUM] DIR NAME
 
 ``RES_UID`` is with replaced with resource UID such as ``ring:0`` or
 ``vhost:1``. ``spp_vf`` supports three types of port.
+``nq QUEUE_NUM`` is the queue number when multi-queue is configured.
+This is optional parameter.
 
   * ``phy`` : Physical NIC
   * ``ring`` : Ring PMD
@@ -237,6 +239,9 @@ by referring the table. How to configure the table is described in
     # recieve from 'phy:0'
     spp > vf 2; port add phy:0 rx cls1
 
+    # receive from queue 1 of 'phy:0'
+    spp > vf 2; port add phy:0 nq 1 rx cls1
+
     # send to 'ring:0' and 'ring:1'
     spp > vf 2; port add ring:0 tx cls1
     spp > vf 2; port add ring:1 tx cls1
@@ -252,14 +257,14 @@ To remove VLAN tag, simply add ``del_vlantag`` sub command without arguments.
 
 .. code-block:: console
 
-    spp > vf SEC_ID; port add RES_UID DIR NAME del_vlantag
+    spp > vf SEC_ID; port add RES_UID [nq QUEUE_NUM] DIR NAME del_vlantag
 
 On the other hand, use ``add_vlantag`` which takes two arguments,
 ``VID`` and ``PCP``, for adding VLAN tag to the packets.
 
 .. code-block:: console
 
-    spp > vf SEC_ID; port add RES_UID DIR NAME add_vlantag VID PCP
+    spp > vf SEC_ID; port add RES_UID [nq QUEUE_NUM] DIR NAME add_vlantag VID PCP
 
 ``VID`` is a VLAN ID and ``PCP`` is a Priority Code Point defined in
 `IEEE 802.1p
@@ -300,7 +305,7 @@ Delete a port which is not used anymore.
 
 .. code-block:: console
 
-    spp > vf SEC_ID; port del RES_UID DIR NAME
+    spp > vf SEC_ID; port del RES_UID [nq QUEUE_NUM] DIR NAME
 
 It is same as the adding port, but no need to add additional sub command
 for VLAN features.
@@ -312,6 +317,9 @@ Here is an example.
     # delete rx port 'ring:0' from 'cls1'
     spp > vf 2; port del ring:0 rx cls1
 
+    # delete rx port queue 1 of 'phy:0' from 'cls1'
+    spp > vf 2; port del phy:0 nq 1 rx cls1
+
     # delete tx port 'vhost:1' from 'mgr1'
     spp > vf 2; port del vhost:1 tx mgr1
 
@@ -336,6 +344,12 @@ a table of classifier.
     # delete entry
     spp > vf SEC_ID; classifier_table del mac MAC_ADDRESS RES_ID
 
+    # add entry with multi-queue support
+    spp > vf SEC_ID; classifier_table add mac MAC_ADDR RES_UID [nq QUEUE_NUM]
+
+    # delete entry with multi-queue support
+    spp > vf SEC_ID; classifier_table del mac MAC_ADDRESS RES_ID [nq QUEUE_NUM]
+
 This is an example to register MAC address ``52:54:00:01:00:01``
 with port ``ring:0``.
 
-- 
2.17.1


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [spp] [PATCH 07/11] docs: add svg for classify case of hardware offload
  2020-02-26 11:43 [spp] [PATCH 00/11] Add Hardware offload document x-fn-spp-ml
                   ` (5 preceding siblings ...)
  2020-02-26 11:43 ` [spp] [PATCH 06/11] docs: support multi-queue in spp_vf command x-fn-spp-ml
@ 2020-02-26 11:43 ` x-fn-spp-ml
  2020-02-26 11:43 ` [spp] [PATCH 08/11] docs: add svg for vlan " x-fn-spp-ml
                   ` (4 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: x-fn-spp-ml @ 2020-02-26 11:43 UTC (permalink / raw)
  To: ferruh.yigit, yasufum.o; +Cc: spp

From: Hideyuki Yamashita <yamashita.hideyuki@ntt-tx.co.jp>

This patch adds svg for classify case of hardware offload.

Signed-off-by: Hideyuki Yamashita <yamashita.hideyuki@ntt-tx.co.jp>
Signed-off-by: Naoki Takada <ntakada14@gmail.com>
---
 .../spp_hardware_offload_classify.svg         | 680 ++++++++++++++++++
 1 file changed, 680 insertions(+)
 create mode 100644 docs/guides/images/setup/use_cases/spp_hardware_offload_classify.svg

diff --git a/docs/guides/images/setup/use_cases/spp_hardware_offload_classify.svg b/docs/guides/images/setup/use_cases/spp_hardware_offload_classify.svg
new file mode 100644
index 0000000..1226353
--- /dev/null
+++ b/docs/guides/images/setup/use_cases/spp_hardware_offload_classify.svg
@@ -0,0 +1,680 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="229.5166mm"
+   height="116.08863mm"
+   viewBox="0 0 813.24765 411.33763"
+   id="svg9270"
+   version="1.1"
+   inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
+   sodipodi:docname="spp_hardware_offload_classify.svg"
+   inkscape:export-filename="/Users/ogawa/Pictures/usecase1_nwconfig.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <defs
+     id="defs9272">
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker1106"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path1104"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker5613"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path5611" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker5479"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:#0000f9;fill-opacity:1;fill-rule:evenodd;stroke:#0000f9;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path5477" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker5246"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:#0000f0;fill-opacity:1;fill-rule:evenodd;stroke:#0000f0;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path5244" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker39317"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path39319"
+         style="fill:#0000c8;fill-opacity:1;fill-rule:evenodd;stroke:#0000c8;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker38983"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path38985"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker34331"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:#0000c8;fill-opacity:1;fill-rule:evenodd;stroke:#0000c8;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path34333"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker24437"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path24439"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker17139"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path17141"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lstart"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Lstart"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path14207"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(1.1,0,0,1.1,1.1,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Lend"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path14210"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow1Lend"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path14192"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker17545-6"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         inkscape:connector-curvature="0"
+         id="path17547-8"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker34331-1"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:#0000c8;fill-opacity:1;fill-rule:evenodd;stroke:#0000c8;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path34333-3" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker38983-4"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path38985-3"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.95"
+     inkscape:cx="508.02756"
+     inkscape:cy="192.96227"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer8"
+     showgrid="false"
+     inkscape:window-width="1120"
+     inkscape:window-height="695"
+     inkscape:window-x="632"
+     inkscape:window-y="63"
+     inkscape:window-maximized="0"
+     inkscape:snap-page="false"
+     fit-margin-bottom="5"
+     fit-margin-right="5"
+     fit-margin-top="5"
+     fit-margin-left="5"
+     inkscape:snap-text-baseline="true"
+     inkscape:snap-grids="false"
+     inkscape:snap-to-guides="false"
+     inkscape:snap-global="false" />
+  <metadata
+     id="metadata9275">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Background"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-45.036557,-532.23799)"
+     style="display:inline"
+     sodipodi:insensitive="true" />
+  <g
+     inkscape:groupmode="layer"
+     id="layer2"
+     inkscape:label="Host"
+     transform="translate(-45.036557,-223.97025)">
+    <rect
+       style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.93749988;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13751"
+       width="540.69476"
+       height="373.85947"
+       x="299.40421"
+       y="242.15553" />
+    <rect
+       style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13753"
+       width="191.17857"
+       height="374.90881"
+       x="63.22184"
+       y="242.21375" />
+    <rect
+       style="opacity:1;fill:#ffff90;fill-opacity:1;stroke:#000000;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13781"
+       width="59.092819"
+       height="79.092819"
+       x="194.45229"
+       y="336.42303" />
+    <path
+       style="opacity:1;fill:#ffff90;fill-opacity:1;stroke:#000000;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 194.98989,528.03453 v -39.53299 h 29.53299 29.53299 v 39.53299 39.53299 h -29.53299 -29.53299 z"
+       id="path13785"
+       inkscape:connector-curvature="0" />
+    <rect
+       style="opacity:1;fill:#ffff90;fill-opacity:1;stroke:#000000;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13849"
+       width="71.017067"
+       height="79.045731"
+       x="300.09851"
+       y="334.80984" />
+    <rect
+       style="opacity:1;fill:#ffff90;fill-opacity:1;stroke:#000000;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13851"
+       width="69.061523"
+       height="79.085403"
+       x="299.91971"
+       y="489.08701" />
+    <ellipse
+       style="opacity:1;fill:#d9ffc4;fill-opacity:1;stroke:#000000;stroke-width:1.24650872;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path13895"
+       cx="504.06354"
+       cy="330.95816"
+       rx="65.988579"
+       ry="19.35972" />
+    <ellipse
+       style="opacity:1;fill:#d9ffc4;fill-opacity:1;stroke:#000000;stroke-width:1.24650872;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path13895-6"
+       cx="503.72073"
+       cy="405.37369"
+       rx="65.988579"
+       ry="19.35972" />
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer3"
+     inkscape:label="VM"
+     transform="translate(-45.036557,-223.97025)" />
+  <g
+     inkscape:groupmode="layer"
+     id="layer6"
+     inkscape:label="Processes"
+     transform="translate(-45.036557,-223.97025)">
+    <rect
+       style="opacity:1;fill:#ffedd1;fill-opacity:1;stroke:#000000;stroke-width:0.93749988;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13981"
+       width="74.062492"
+       height="39.024136"
+       x="647.30579"
+       y="427.00555"
+       ry="16.364935"
+       rx="16.364935" />
+    <rect
+       style="opacity:1;fill:#ffedd1;fill-opacity:1;stroke:#000000;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13983"
+       width="74.062485"
+       height="38.965855"
+       x="739.38965"
+       y="427.06384"
+       ry="18.091263"
+       rx="18.091263" />
+    <rect
+       style="opacity:1;fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect14176"
+       width="79.393723"
+       height="50.181725"
+       x="90.432533"
+       y="421.46158"
+       ry="16.549629"
+       rx="16.549629" />
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer8"
+     inkscape:label="Paths"
+     transform="translate(-45.036557,-223.97025)">
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
+       d="m 129.90666,421.22182 c 0.28408,-41.63565 6.04924,-51.04482 62.57078,-49.79655"
+       id="path14183"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker17139)"
+       d="m 256.11158,373.35529 h 41.02328"
+       id="path17129"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.36499981;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:4.09499943, 4.09499942999999966;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker1106)"
+       d="m 570.55184,326.80611 c 80.75065,11.95333 120.90863,67.68449 114.27912,96.82446"
+       id="path17261"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.93749976;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker24437)"
+       d="M 297.88404,527.21965 H 256.17532"
+       id="path23639"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#0000c8;stroke-width:1.08975601;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3.26926808, 3.26926808;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker34331)"
+       d="m 569.11423,400.88187 c 64.96826,-27.99584 159.63181,-31.72844 205.12744,24.50347"
+       id="path34323"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.11125481;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3.33376423, 3.33376423;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker17545-6)"
+       d="m 685.09074,464.75543 c -15.57531,24.02802 -70.79306,31.2091 -114.62485,28.36881"
+       id="path17261-6"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#0000c8;stroke-width:1.14669836;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3.44009496, 3.44009496;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker34331-1)"
+       d="m 774.34355,467.62577 c -12.98808,50.87644 -80.2096,102.86925 -204.48752,97.35633"
+       id="path34323-8"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <ellipse
+       style="opacity:1;fill:#d9ffc4;fill-opacity:1;stroke:#000000;stroke-width:1.24650872;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path13895-1"
+       cx="505.07632"
+       cy="491.52115"
+       rx="65.988579"
+       ry="19.35972" />
+    <ellipse
+       style="opacity:1;fill:#d9ffc4;fill-opacity:1;stroke:#000000;stroke-width:1.24650872;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path13895-6-3"
+       cx="504.73349"
+       cy="565.93665"
+       rx="65.988579"
+       ry="19.35972" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999619px;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="504.02939"
+       y="498.4447"
+       id="text14060-7-6"><tspan
+         sodipodi:role="line"
+         id="tspan4005-0"
+         x="504.02939"
+         y="498.4447"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999619px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none">phy:1 nq 1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999428px;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="507.785"
+       y="571.12042"
+       id="text14060-7-0-8"><tspan
+         sodipodi:role="line"
+         id="tspan4005-8-4"
+         x="507.785"
+         y="571.12042"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999428px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none">phy:1 nq 2</tspan></text>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.93749988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker38983)"
+       d="m 371.68125,370.83422 64.14473,-39.47369"
+       id="path4014"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker38983-4)"
+       d="M 0.26204876,43.16002 68.683103,1.054745"
+       id="path4014-1"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#0000f0;stroke-width:0.93749988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5246)"
+       d="m 372.66809,372.8079 61.1842,31.57894"
+       id="path5236"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#0000f9;stroke-width:0.93749988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5479)"
+       d="M 436.81282,567.21576 369.70757,527.74209"
+       id="path5469"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.93749988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5613)"
+       d="m 437.79966,492.21578 -67.10525,31.57894"
+       id="path5603"
+       inkscape:connector-curvature="0" />
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer4"
+     inkscape:label="Label-Host"
+     style="display:inline"
+     transform="translate(-45.036557,-223.97025)">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="96.762512"
+       y="272.97668"
+       id="text13862"><tspan
+         sodipodi:role="line"
+         id="tspan13864"
+         x="96.762512"
+         y="272.97668"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none">host1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="333.09454"
+       y="270.48886"
+       id="text13866"><tspan
+         sodipodi:role="line"
+         id="tspan13868"
+         x="333.09454"
+         y="270.48886"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none">host2</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="223.50238"
+       y="372.00732"
+       id="text13870"><tspan
+         sodipodi:role="line"
+         id="tspan13872"
+         x="223.50238"
+         y="372.00732"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none"> NIC2</tspan><tspan
+         sodipodi:role="line"
+         x="223.50238"
+         y="393.88232"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none"
+         id="tspan112">(ens0)</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="222.85818"
+       y="525.47791"
+       id="text13874"><tspan
+         sodipodi:role="line"
+         id="tspan13876"
+         x="222.85818"
+         y="525.47791"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none"> NIC3</tspan><tspan
+         sodipodi:role="line"
+         x="222.85818"
+         y="547.35291"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none"
+         id="tspan114">(ens1)</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="334.33984"
+       y="372.5249"
+       id="text13878"><tspan
+         sodipodi:role="line"
+         id="tspan13880"
+         x="334.33984"
+         y="372.5249"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none"> NIC0</tspan><tspan
+         sodipodi:role="line"
+         x="334.33984"
+         y="394.3999"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none"
+         id="tspan106">(phy:0)</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="333.24936"
+       y="524.89874"
+       id="text13882"><tspan
+         sodipodi:role="line"
+         id="tspan13884"
+         x="333.24936"
+         y="524.89874"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none"> NIC1</tspan><tspan
+         sodipodi:role="line"
+         x="333.24936"
+         y="546.77374"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none"
+         id="tspan110">(phy:1)</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="503.01657"
+       y="337.88171"
+       id="text14060-7"><tspan
+         sodipodi:role="line"
+         id="tspan4005"
+         x="503.01657"
+         y="337.88171"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none">phy:0 nq 1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:37.49999619px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749988"
+       x="190.10233"
+       y="664.91315"
+       id="text3947"><tspan
+         sodipodi:role="line"
+         id="tspan3945"
+         x="190.10233"
+         y="699.12555"
+         style="stroke-width:0.93749988" /></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999619px;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="506.77219"
+       y="410.55743"
+       id="text14060-7-0"><tspan
+         sodipodi:role="line"
+         id="tspan4005-8"
+         x="506.77219"
+         y="410.55743"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999619px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none">phy:0 nq 2</tspan></text>
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer5"
+     inkscape:label="Label-VM"
+     transform="translate(-45.036557,-223.97025)" />
+  <g
+     inkscape:groupmode="layer"
+     id="layer7"
+     inkscape:label="Label-Processes"
+     transform="translate(-45.036557,-223.97025)">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="685.17377"
+       y="452.17105"
+       id="text14014"><tspan
+         sodipodi:role="line"
+         id="tspan3933"
+         x="685.17377"
+         y="452.17105"
+         style="line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none">fwd1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="127.05821"
+       y="451.05566"
+       id="text14034"><tspan
+         sodipodi:role="line"
+         x="127.05821"
+         y="451.05566"
+         id="tspan14038"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none">ping</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="776.16803"
+       y="452.17105"
+       id="text14148"><tspan
+         sodipodi:role="line"
+         id="tspan3939"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none"
+         x="776.16803"
+         y="452.17105">fwd2</tspan></text>
+  </g>
+</svg>
-- 
2.17.1


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [spp] [PATCH 08/11] docs: add svg for vlan case of hardware offload
  2020-02-26 11:43 [spp] [PATCH 00/11] Add Hardware offload document x-fn-spp-ml
                   ` (6 preceding siblings ...)
  2020-02-26 11:43 ` [spp] [PATCH 07/11] docs: add svg for classify case of hardware offload x-fn-spp-ml
@ 2020-02-26 11:43 ` x-fn-spp-ml
  2020-02-26 11:43 ` [spp] [PATCH 09/11] docs: add svg for vm " x-fn-spp-ml
                   ` (3 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: x-fn-spp-ml @ 2020-02-26 11:43 UTC (permalink / raw)
  To: ferruh.yigit, yasufum.o; +Cc: spp

From: Hideyuki Yamashita <yamashita.hideyuki@ntt-tx.co.jp>

This patch adds svg for vlan case of hardware offload.

Signed-off-by: Hideyuki Yamashita <yamashita.hideyuki@ntt-tx.co.jp>
Signed-off-by: Naoki Takada <ntakada14@gmail.com>
---
 .../use_cases/spp_hardware_offload_vlan.svg   | 805 ++++++++++++++++++
 1 file changed, 805 insertions(+)
 create mode 100644 docs/guides/images/setup/use_cases/spp_hardware_offload_vlan.svg

diff --git a/docs/guides/images/setup/use_cases/spp_hardware_offload_vlan.svg b/docs/guides/images/setup/use_cases/spp_hardware_offload_vlan.svg
new file mode 100644
index 0000000..ffbe6ba
--- /dev/null
+++ b/docs/guides/images/setup/use_cases/spp_hardware_offload_vlan.svg
@@ -0,0 +1,805 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="229.5166mm"
+   height="116.08863mm"
+   viewBox="0 0 813.24765 411.33763"
+   id="svg9270"
+   version="1.1"
+   inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
+   sodipodi:docname="spp_hardware_offload_vlan.svg"
+   inkscape:export-filename="/Users/ogawa/Pictures/usecase1_nwconfig.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <defs
+     id="defs9272">
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker5613"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path5611" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker5479"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:#0000f9;fill-opacity:1;fill-rule:evenodd;stroke:#0000f9;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path5477" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker5246"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:#0000f0;fill-opacity:1;fill-rule:evenodd;stroke:#0000f0;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path5244" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker39317"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path39319"
+         style="fill:#0000c8;fill-opacity:1;fill-rule:evenodd;stroke:#0000c8;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker38983"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path38985"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker34331"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:#0000c8;fill-opacity:1;fill-rule:evenodd;stroke:#0000c8;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path34333"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker24437"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path24439"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker17545"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path17547"
+         style="fill:#0000f0;fill-opacity:1;fill-rule:evenodd;stroke:#0000f0;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker17139"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path17141"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lstart"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Lstart"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path14207"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(1.1,0,0,1.1,1.1,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Lend"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path14210"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow1Lend"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path14192"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker17545-6"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         inkscape:connector-curvature="0"
+         id="path17547-8"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker34331-1"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:#0000c8;fill-opacity:1;fill-rule:evenodd;stroke:#0000c8;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path34333-3" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker38983-4"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path38985-3"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.95"
+     inkscape:cx="382.33093"
+     inkscape:cy="78.980133"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer2"
+     showgrid="false"
+     inkscape:window-width="1920"
+     inkscape:window-height="1017"
+     inkscape:window-x="-8"
+     inkscape:window-y="-8"
+     inkscape:window-maximized="1"
+     inkscape:snap-page="false"
+     fit-margin-bottom="5"
+     fit-margin-right="5"
+     fit-margin-top="5"
+     fit-margin-left="5"
+     inkscape:snap-text-baseline="true"
+     inkscape:snap-grids="false"
+     inkscape:snap-to-guides="false"
+     inkscape:snap-global="false" />
+  <metadata
+     id="metadata9275">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Background"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-45.036557,-532.23799)"
+     style="display:inline"
+     sodipodi:insensitive="true" />
+  <g
+     inkscape:groupmode="layer"
+     id="layer2"
+     inkscape:label="Host"
+     transform="translate(-45.036557,-223.97025)">
+    <rect
+       style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.90364093;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13751"
+       width="540.71832"
+       height="347.32721"
+       x="299.39758"
+       y="242.13861" />
+    <rect
+       style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.90364087;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13753"
+       width="191.1869"
+       height="348.30206"
+       x="63.20491"
+       y="242.19269" />
+    <rect
+       style="opacity:1;fill:#ffff90;fill-opacity:1;stroke:#000000;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13781"
+       width="59.092819"
+       height="79.092819"
+       x="194.45229"
+       y="321.42303" />
+    <path
+       style="opacity:1;fill:#ffff90;fill-opacity:1;stroke:#000000;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 194.98989,513.03453 v -39.53299 h 29.53299 29.53299 v 39.53299 39.53299 h -29.53299 -29.53299 z"
+       id="path13785"
+       inkscape:connector-curvature="0" />
+    <rect
+       style="opacity:1;fill:#ffff90;fill-opacity:1;stroke:#000000;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13849"
+       width="71.017067"
+       height="79.045731"
+       x="300.09851"
+       y="319.80984" />
+    <rect
+       style="opacity:1;fill:#ffff90;fill-opacity:1;stroke:#000000;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13851"
+       width="69.061523"
+       height="79.085403"
+       x="299.91971"
+       y="474.08701" />
+    <ellipse
+       style="opacity:1;fill:#d9ffc4;fill-opacity:1;stroke:#000000;stroke-width:1.24650872;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path13895"
+       cx="504.06354"
+       cy="315.95816"
+       rx="65.988579"
+       ry="19.35972" />
+    <ellipse
+       style="opacity:1;fill:#d9ffc4;fill-opacity:1;stroke:#000000;stroke-width:1.24650872;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path13895-6"
+       cx="503.72073"
+       cy="390.37369"
+       rx="65.988579"
+       ry="19.35972" />
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer3"
+     inkscape:label="VM"
+     transform="translate(-45.036557,-223.97025)" />
+  <g
+     inkscape:groupmode="layer"
+     id="layer6"
+     inkscape:label="Processes"
+     transform="translate(-45.036557,-223.97025)">
+    <rect
+       style="opacity:1;fill:#ffedd1;fill-opacity:1;stroke:#000000;stroke-width:0.93749988;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13981"
+       width="74.062492"
+       height="39.024136"
+       x="647.30579"
+       y="412.00555"
+       ry="16.364935"
+       rx="16.364935" />
+    <rect
+       style="opacity:1;fill:#ffedd1;fill-opacity:1;stroke:#000000;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13983"
+       width="74.062485"
+       height="38.965855"
+       x="739.38965"
+       y="412.06384"
+       ry="18.091263"
+       rx="18.091263" />
+    <rect
+       style="opacity:1;fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect14176"
+       width="79.393723"
+       height="50.181725"
+       x="90.432533"
+       y="406.46158"
+       ry="16.549629"
+       rx="16.549629" />
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer8"
+     inkscape:label="Paths"
+     transform="translate(-45.036557,-223.97025)">
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
+       d="m 129.90666,406.22182 c 0.28408,-41.63565 6.04924,-51.04482 62.57078,-49.79655"
+       id="path14183"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker17139)"
+       d="m 256.11158,358.35529 h 41.02328"
+       id="path17129"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.36481559;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:4.09444703, 4.09444703;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker17545)"
+       d="m 570.55184,311.80611 c 80.75065,11.95333 120.90863,67.68449 114.27912,96.82446"
+       id="path17261"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.93749976;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker24437)"
+       d="M 297.88404,512.21965 H 256.17532"
+       id="path23639"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#0000c8;stroke-width:1.08975601;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3.26926808, 3.26926808;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker34331)"
+       d="m 569.11423,385.88187 c 64.96826,-27.99584 159.63181,-31.72844 205.12744,24.50347"
+       id="path34323"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.11125481;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3.33376423, 3.33376423;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker17545-6)"
+       d="m 685.09074,449.75543 c -15.57531,24.02802 -70.79306,31.2091 -114.62485,28.36881"
+       id="path17261-6"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#0000c8;stroke-width:1.14669836;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3.44009496, 3.44009496;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker34331-1)"
+       d="m 774.34355,452.62577 c -12.98808,50.87644 -80.2096,102.86925 -204.48752,97.35633"
+       id="path34323-8"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <ellipse
+       style="opacity:1;fill:#d9ffc4;fill-opacity:1;stroke:#000000;stroke-width:1.24650872;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path13895-1"
+       cx="505.07632"
+       cy="476.52115"
+       rx="65.988579"
+       ry="19.35972" />
+    <ellipse
+       style="opacity:1;fill:#d9ffc4;fill-opacity:1;stroke:#000000;stroke-width:1.24650872;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path13895-6-3"
+       cx="504.73349"
+       cy="550.93665"
+       rx="65.988579"
+       ry="19.35972" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999619px;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="504.02939"
+       y="483.4447"
+       id="text14060-7-6"><tspan
+         sodipodi:role="line"
+         id="tspan4005-0"
+         x="504.02939"
+         y="483.4447"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999619px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none">phy:1 nq 1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999428px;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="507.785"
+       y="556.12042"
+       id="text14060-7-0-8"><tspan
+         sodipodi:role="line"
+         id="tspan4005-8-4"
+         x="507.785"
+         y="556.12042"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999428px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none">phy:1 nq 2</tspan></text>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.93749988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker38983)"
+       d="m 371.68125,355.83422 64.14473,-39.47369"
+       id="path4014"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#0000f0;stroke-width:0.93749988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5246)"
+       d="m 372.66809,357.8079 61.1842,31.57894"
+       id="path5236"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#0000f9;stroke-width:0.93749988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5479)"
+       d="M 436.81282,552.21576 369.70757,512.74209"
+       id="path5469"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.93749988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5613)"
+       d="m 437.79966,477.21578 -67.10525,31.57894"
+       id="path5603"
+       inkscape:connector-curvature="0" />
+    <rect
+       style="fill:#f5b961;fill-opacity:1;stroke:none;stroke-width:0.44723457;stroke-opacity:1"
+       id="rect101"
+       width="33.552628"
+       height="29.605261"
+       x="419.64178"
+       y="280.14343" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.74999809px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749988"
+       x="431.28653"
+       y="299.68286"
+       id="text1104"><tspan
+         sodipodi:role="line"
+         id="tspan1102"
+         x="431.28653"
+         y="299.68286"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.74999809px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.93749988">D</tspan></text>
+    <rect
+       style="fill:#f5b961;fill-opacity:1;stroke:none;stroke-width:0.44723457;stroke-opacity:1"
+       id="rect101-6"
+       width="33.552628"
+       height="29.605261"
+       x="500.85886"
+       y="601.55786" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.74999714px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749988"
+       x="512.5036"
+       y="621.09729"
+       id="text1104-2"><tspan
+         sodipodi:role="line"
+         id="tspan1102-6"
+         x="512.5036"
+         y="621.09729"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.74999714px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.93749988">D</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:14.99999809px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749988"
+       x="542.40485"
+       y="621.98547"
+       id="text1129"><tspan
+         sodipodi:role="line"
+         id="tspan1127"
+         x="542.40485"
+         y="621.98547"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:14.99999809px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.93749988">detagging</tspan></text>
+    <rect
+       style="fill:#f5b961;fill-opacity:1;stroke:none;stroke-width:0.44723457;stroke-opacity:1"
+       id="rect101-6-7"
+       width="33.552628"
+       height="29.605261"
+       x="420.13519"
+       y="354.25519" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.74999619px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749988"
+       x="431.77997"
+       y="373.79462"
+       id="text1104-2-1"><tspan
+         sodipodi:role="line"
+         id="tspan1102-6-6"
+         x="431.77997"
+         y="373.79462"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.74999619px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.93749988">D</tspan></text>
+    <rect
+       style="fill:#f5b961;fill-opacity:1;stroke:none;stroke-width:0.44723457;stroke-opacity:1"
+       id="rect101-0"
+       width="33.552628"
+       height="29.605261"
+       x="418.85229"
+       y="442.87369" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.74999714px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749988"
+       x="430.49704"
+       y="462.41312"
+       id="text1104-3"><tspan
+         sodipodi:role="line"
+         id="tspan1102-3"
+         x="430.49704"
+         y="462.41312"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.74999714px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.93749988">T</tspan></text>
+    <rect
+       style="fill:#f5b961;fill-opacity:1;stroke:none;stroke-width:0.44723457;stroke-opacity:1"
+       id="rect101-0-9"
+       width="33.552628"
+       height="29.605261"
+       x="418.35886"
+       y="516.09735" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.74999619px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749988"
+       x="430.0036"
+       y="535.63678"
+       id="text1104-3-0"><tspan
+         sodipodi:role="line"
+         id="tspan1102-3-4"
+         x="430.0036"
+         y="535.63678"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.74999619px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.93749988">T</tspan></text>
+    <rect
+       style="fill:#f5b961;fill-opacity:1;stroke:none;stroke-width:0.44723457;stroke-opacity:1"
+       id="rect101-0-9-2"
+       width="33.552628"
+       height="29.605261"
+       x="626.87854"
+       y="600.57098" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.74999523px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749988"
+       x="638.52332"
+       y="620.11041"
+       id="text1104-3-0-8"><tspan
+         sodipodi:role="line"
+         id="tspan1102-3-4-2"
+         x="638.52332"
+         y="620.11041"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.74999523px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.93749988">T</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:14.99999809px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749988"
+       x="668.83691"
+       y="621.20044"
+       id="text1129-8"><tspan
+         sodipodi:role="line"
+         id="tspan1127-5"
+         x="668.83691"
+         y="621.20044"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:14.99999809px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.93749988">tagging</tspan></text>
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer4"
+     inkscape:label="Label-Host"
+     style="display:inline"
+     transform="translate(-45.036557,-223.97025)">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="96.762512"
+       y="272.97668"
+       id="text13862"><tspan
+         sodipodi:role="line"
+         id="tspan13864"
+         x="96.762512"
+         y="272.97668"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none">host1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="333.09454"
+       y="270.48886"
+       id="text13866"><tspan
+         sodipodi:role="line"
+         id="tspan13868"
+         x="333.09454"
+         y="270.48886"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none">host2</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="223.50238"
+       y="357.00732"
+       id="text13870"><tspan
+         sodipodi:role="line"
+         id="tspan13872"
+         x="223.50238"
+         y="357.00732"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none"> NIC2</tspan><tspan
+         sodipodi:role="line"
+         x="223.50238"
+         y="378.88232"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none"
+         id="tspan112">(ens0)</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="222.85818"
+       y="510.47791"
+       id="text13874"><tspan
+         sodipodi:role="line"
+         id="tspan13876"
+         x="222.85818"
+         y="510.47791"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none"> NIC3</tspan><tspan
+         sodipodi:role="line"
+         x="222.85818"
+         y="532.35291"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none"
+         id="tspan114">(ens1)</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="334.33984"
+       y="357.5249"
+       id="text13878"><tspan
+         sodipodi:role="line"
+         id="tspan13880"
+         x="334.33984"
+         y="357.5249"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none"> NIC0</tspan><tspan
+         sodipodi:role="line"
+         x="334.33984"
+         y="379.3999"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none"
+         id="tspan106">(phy:0)</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="333.24936"
+       y="509.89874"
+       id="text13882"><tspan
+         sodipodi:role="line"
+         id="tspan13884"
+         x="333.24936"
+         y="509.89874"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none"> NIC1</tspan><tspan
+         sodipodi:role="line"
+         x="333.24936"
+         y="531.77374"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none"
+         id="tspan110">(phy:1)</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="503.01657"
+       y="322.88171"
+       id="text14060-7"><tspan
+         sodipodi:role="line"
+         id="tspan4005"
+         x="503.01657"
+         y="322.88171"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none">phy:0 nq 1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:37.49999619px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749988"
+       x="190.10233"
+       y="664.91315"
+       id="text3947"><tspan
+         sodipodi:role="line"
+         id="tspan3945"
+         x="190.10233"
+         y="699.12555"
+         style="stroke-width:0.93749988" /></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999619px;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="506.77219"
+       y="395.55743"
+       id="text14060-7-0"><tspan
+         sodipodi:role="line"
+         id="tspan4005-8"
+         x="506.77219"
+         y="395.55743"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999619px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none">phy:0 nq 2</tspan></text>
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer5"
+     inkscape:label="Label-VM"
+     transform="translate(-45.036557,-223.97025)" />
+  <g
+     inkscape:groupmode="layer"
+     id="layer7"
+     inkscape:label="Label-Processes"
+     transform="translate(-45.036557,-223.97025)">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="685.17377"
+       y="437.17105"
+       id="text14014"><tspan
+         sodipodi:role="line"
+         id="tspan3933"
+         x="685.17377"
+         y="437.17105"
+         style="line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none">fwd1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="127.05821"
+       y="436.05566"
+       id="text14034"><tspan
+         sodipodi:role="line"
+         x="127.05821"
+         y="436.05566"
+         id="tspan14038"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none">ping</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="776.16803"
+       y="437.17105"
+       id="text14148"><tspan
+         sodipodi:role="line"
+         id="tspan3939"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none"
+         x="776.16803"
+         y="437.17105">fwd2</tspan></text>
+  </g>
+</svg>
-- 
2.17.1


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [spp] [PATCH 09/11] docs: add svg for vm case of hardware offload
  2020-02-26 11:43 [spp] [PATCH 00/11] Add Hardware offload document x-fn-spp-ml
                   ` (7 preceding siblings ...)
  2020-02-26 11:43 ` [spp] [PATCH 08/11] docs: add svg for vlan " x-fn-spp-ml
@ 2020-02-26 11:43 ` x-fn-spp-ml
  2020-02-26 11:43 ` [spp] [PATCH 10/11] docs: add usecase for " x-fn-spp-ml
                   ` (2 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: x-fn-spp-ml @ 2020-02-26 11:43 UTC (permalink / raw)
  To: ferruh.yigit, yasufum.o; +Cc: spp

From: Hideyuki Yamashita<yamashita.hideyuki@ntt-tx.co.jp>

This patch adds svg for vm case of hardware offload.

Signed-off-by: Hideyuki Yamashita <yamashita.hideyuki@ntt-tx.co.jp>
Signed-off-by: Naoki Takada <ntakada14@gmail.com>
---
 .../use_cases/spp_hardware_offload_vm.svg     | 1063 +++++++++++++++++
 1 file changed, 1063 insertions(+)
 create mode 100644 docs/guides/images/setup/use_cases/spp_hardware_offload_vm.svg

diff --git a/docs/guides/images/setup/use_cases/spp_hardware_offload_vm.svg b/docs/guides/images/setup/use_cases/spp_hardware_offload_vm.svg
new file mode 100644
index 0000000..aa15e8c
--- /dev/null
+++ b/docs/guides/images/setup/use_cases/spp_hardware_offload_vm.svg
@@ -0,0 +1,1063 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="229.5166mm"
+   height="116.08863mm"
+   viewBox="0 0 813.24765 411.33763"
+   id="svg9270"
+   version="1.1"
+   inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
+   sodipodi:docname="spp_hardware_offload_vm.svg"
+   inkscape:export-filename="/Users/ogawa/Pictures/usecase1_nwconfig.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <defs
+     id="defs9272">
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker3996"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:#0000fb;fill-opacity:1;fill-rule:evenodd;stroke:#0000fb;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path3994" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker3848"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:#0000fb;fill-opacity:1;fill-rule:evenodd;stroke:#0000fb;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path3846" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker3682"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:#0000f8;fill-opacity:1;fill-rule:evenodd;stroke:#0000f8;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path3680" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker3498"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path3496"
+         style="fill:#0000fb;fill-opacity:1;fill-rule:evenodd;stroke:#0000fb;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker3368"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path3366"
+         style="fill:#0000fb;fill-opacity:1;fill-rule:evenodd;stroke:#0000fb;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker3244"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path3242"
+         style="fill:#0000fb;fill-opacity:1;fill-rule:evenodd;stroke:#0000fb;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker3114"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path3112"
+         style="fill:#0000fb;fill-opacity:1;fill-rule:evenodd;stroke:#0000fb;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker2982"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path2980"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker2864"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path2862" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker2764"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path2762" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker2670"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path2668" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker2554"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path2552"
+         style="fill:#0000f8;fill-opacity:1;fill-rule:evenodd;stroke:#0000f8;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker2472"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path2470"
+         style="fill:#0000f8;fill-opacity:1;fill-rule:evenodd;stroke:#0000f8;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker2372"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path2370"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker2302"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path2300"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker5613"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path5611" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker5479"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:#0000f8;fill-opacity:1;fill-rule:evenodd;stroke:#0000f8;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path5477" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker5246"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:#0000f0;fill-opacity:1;fill-rule:evenodd;stroke:#0000f0;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path5244" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker39317"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path39319"
+         style="fill:#0000c8;fill-opacity:1;fill-rule:evenodd;stroke:#0000c8;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker38983"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path38985"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker17139"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path17141"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lstart"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Lstart"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path14207"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(1.1,0,0,1.1,1.1,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow1Lend"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path14192"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker38983-4"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path38985-3"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.95"
+     inkscape:cx="228.05094"
+     inkscape:cy="158.71344"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer2"
+     showgrid="false"
+     inkscape:window-width="1920"
+     inkscape:window-height="1017"
+     inkscape:window-x="-8"
+     inkscape:window-y="-8"
+     inkscape:window-maximized="1"
+     inkscape:snap-page="false"
+     fit-margin-bottom="5"
+     fit-margin-right="5"
+     fit-margin-top="5"
+     fit-margin-left="5"
+     inkscape:snap-text-baseline="true"
+     inkscape:snap-grids="false"
+     inkscape:snap-to-guides="false"
+     inkscape:snap-global="false" />
+  <metadata
+     id="metadata9275">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Background"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-45.036557,-532.23799)"
+     style="display:inline"
+     sodipodi:insensitive="true" />
+  <g
+     inkscape:groupmode="layer"
+     id="layer2"
+     inkscape:label="Host"
+     transform="translate(-45.036557,-223.97025)">
+    <rect
+       style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.96238345;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13751"
+       width="623.5639"
+       height="341.61224"
+       x="216.53505"
+       y="238.94557"
+       transform="matrix(0.99998333,0.0057743,0,1,0,0)" />
+    <rect
+       style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.66621232;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13753"
+       width="105.56953"
+       height="342.85397"
+       x="66.436333"
+       y="241.9081" />
+    <rect
+       style="opacity:1;fill:#ffff90;fill-opacity:1;stroke:#000000;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13781"
+       width="59.092819"
+       height="79.092819"
+       x="111.95229"
+       y="319.54803" />
+    <rect
+       style="opacity:1;fill:#ffff90;fill-opacity:1;stroke:#000000;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13849"
+       width="71.017067"
+       height="79.045731"
+       x="217.59851"
+       y="317.93484" />
+    <ellipse
+       style="opacity:1;fill:#d9ffc4;fill-opacity:1;stroke:#000000;stroke-width:1.24650872;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path13895"
+       cx="397.18854"
+       cy="314.08316"
+       rx="65.988579"
+       ry="19.35972" />
+    <ellipse
+       style="opacity:1;fill:#d9ffc4;fill-opacity:1;stroke:#000000;stroke-width:1.24650872;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path13895-6"
+       cx="396.84573"
+       cy="388.49869"
+       rx="65.988579"
+       ry="19.35972" />
+    <ellipse
+       style="opacity:1;fill:#d9ffc4;fill-opacity:1;stroke:#000000;stroke-width:1.56351519;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path13895-4"
+       cx="627.76672"
+       cy="348.03818"
+       rx="57.441917"
+       ry="34.990688" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999619px;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="627.70667"
+       y="352.98804"
+       id="text14060-7-5"><tspan
+         sodipodi:role="line"
+         id="tspan4005-9"
+         x="627.70667"
+         y="352.98804"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999619px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none">vhost:0</tspan></text>
+    <ellipse
+       style="opacity:1;fill:#d9ffc4;fill-opacity:1;stroke:#000000;stroke-width:1.55690408;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path13895-4-6"
+       cx="631.22064"
+       cy="503.95917"
+       rx="56.951805"
+       ry="34.993996" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999428px;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="631.65399"
+       y="508.90906"
+       id="text14060-7-5-3"><tspan
+         sodipodi:role="line"
+         id="tspan4005-9-2"
+         x="631.65399"
+         y="508.90906"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999428px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none">vhost:1</tspan></text>
+    <rect
+       style="display:inline;fill:#f8f8f8;fill-opacity:1;stroke:#000000;stroke-width:0.44604599;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect4591"
+       width="104.68553"
+       height="105.86037"
+       x="716.04895"
+       y="289.18692" />
+    <rect
+       style="display:inline;opacity:1;fill:#ffff6e;fill-opacity:1;stroke:#000000;stroke-width:0.51539332;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect4144-3"
+       width="43.741329"
+       height="27.771641"
+       x="715.32678"
+       y="336.82468" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.45930195px;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.53827524px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="700.06342"
+       y="311.76141"
+       id="text4327-5-7"
+       transform="scale(1.0280801,0.97268686)"><tspan
+         sodipodi:role="line"
+         x="700.06342"
+         y="311.76141"
+         id="tspan4995"
+         style="font-size:12.1111908px;line-height:1.25;stroke-width:0.53827524px">guest</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.45930195px;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.53827524px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="716.19434"
+       y="357.46628"
+       id="text4323-6"
+       transform="scale(1.0280801,0.97268686)"><tspan
+         sodipodi:role="line"
+         x="716.19434"
+         y="357.46628"
+         id="tspan4621"
+         style="font-size:12.1111908px;line-height:1.25;stroke-width:0.53827524px">phy:0</tspan><tspan
+         sodipodi:role="line"
+         x="716.19434"
+         y="372.60526"
+         id="tspan3434"
+         style="font-size:12.1111908px;line-height:1.25;stroke-width:0.53827524px">(virtio)</tspan></text>
+    <rect
+       style="display:inline;fill:#f8f8f8;fill-opacity:1;stroke:#000000;stroke-width:0.44604599;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect4591-3"
+       width="104.68553"
+       height="105.86037"
+       x="715.06213"
+       y="443.13428" />
+    <rect
+       style="display:inline;opacity:1;fill:#ffff6e;fill-opacity:1;stroke:#000000;stroke-width:0.51539332;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect4144-3-9"
+       width="43.741329"
+       height="27.771641"
+       x="716.21497"
+       y="494.52203" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.45930195px;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.53827524px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="699.10352"
+       y="470.03165"
+       id="text4327-5-7-2"
+       transform="scale(1.0280801,0.97268686)"><tspan
+         sodipodi:role="line"
+         x="699.10352"
+         y="470.03165"
+         id="tspan4995-1"
+         style="font-size:12.1111908px;line-height:1.25;stroke-width:0.53827524px">guest</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.45930195px;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.53827524px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="717.05823"
+       y="519.59106"
+       id="text4323-6-3"
+       transform="scale(1.0280801,0.97268686)"><tspan
+         sodipodi:role="line"
+         x="717.05823"
+         y="519.59106"
+         id="tspan4621-1"
+         style="font-size:12.1111908px;line-height:1.25;stroke-width:0.53827524px">phy:0</tspan><tspan
+         sodipodi:role="line"
+         x="717.05823"
+         y="534.73004"
+         id="tspan3434-0"
+         style="font-size:12.1111908px;line-height:1.25;stroke-width:0.53827524px">(virtio)</tspan></text>
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer3"
+     inkscape:label="VM"
+     transform="translate(-45.036557,-223.97025)" />
+  <g
+     inkscape:groupmode="layer"
+     id="layer6"
+     inkscape:label="Processes"
+     transform="translate(-45.036557,-223.97025)">
+    <rect
+       style="opacity:1;fill:#ffedd1;fill-opacity:1;stroke:#000000;stroke-width:0.93749988;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13981"
+       width="74.062492"
+       height="39.024136"
+       x="481.22028"
+       y="289.73584"
+       ry="16.364935"
+       rx="16.364935" />
+    <rect
+       style="opacity:1;fill:#ffedd1;fill-opacity:1;stroke:#000000;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13983"
+       width="74.062485"
+       height="38.965855"
+       x="481.52783"
+       y="366.76779"
+       ry="18.091263"
+       rx="18.091263" />
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer8"
+     inkscape:label="Paths"
+     transform="translate(-45.036557,-223.97025)">
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker17139)"
+       d="m 173.61158,356.48029 h 41.02328"
+       id="path17129"
+       inkscape:connector-curvature="0" />
+    <ellipse
+       style="opacity:1;fill:#d9ffc4;fill-opacity:1;stroke:#000000;stroke-width:1.24650872;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path13895-1"
+       cx="398.20132"
+       cy="474.64615"
+       rx="65.988579"
+       ry="19.35972" />
+    <ellipse
+       style="opacity:1;fill:#d9ffc4;fill-opacity:1;stroke:#000000;stroke-width:1.24650872;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path13895-6-3"
+       cx="397.85849"
+       cy="549.06165"
+       rx="65.988579"
+       ry="19.35972" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999619px;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="397.15439"
+       y="481.5697"
+       id="text14060-7-6"><tspan
+         sodipodi:role="line"
+         id="tspan4005-0"
+         x="397.15439"
+         y="481.5697"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999619px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none">phy:0 nq 3</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999428px;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="400.91"
+       y="554.24542"
+       id="text14060-7-0-8"><tspan
+         sodipodi:role="line"
+         id="tspan4005-8-4"
+         x="400.91"
+         y="554.24542"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999428px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none">phy:0 nq 4</tspan></text>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.74595612px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker38983)"
+       d="m 287.30547,354.07997 44.75057,-35.82236"
+       id="path4014"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#0000f0;stroke-width:0.77097607px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5246)"
+       d="m 288.34363,355.79054 39.79941,32.83217"
+       id="path5236"
+       inkscape:connector-curvature="0" />
+    <rect
+       style="fill:#f5b961;fill-opacity:1;stroke:none;stroke-width:0.44723457;stroke-opacity:1"
+       id="rect101"
+       width="33.552628"
+       height="29.605261"
+       x="312.76678"
+       y="278.26843" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.74999809px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749988"
+       x="324.41153"
+       y="297.80786"
+       id="text1104"><tspan
+         sodipodi:role="line"
+         id="tspan1102"
+         x="324.41153"
+         y="297.80786"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.74999809px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.93749988">D</tspan></text>
+    <rect
+       style="fill:#f5b961;fill-opacity:1;stroke:none;stroke-width:0.44723457;stroke-opacity:1"
+       id="rect101-6"
+       width="33.552628"
+       height="29.605261"
+       x="450.52991"
+       y="599.58417" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.74999714px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749988"
+       x="462.17468"
+       y="619.1236"
+       id="text1104-2"><tspan
+         sodipodi:role="line"
+         id="tspan1102-6"
+         x="462.17468"
+         y="619.1236"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.74999714px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.93749988">D</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:14.99999809px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749988"
+       x="492.07593"
+       y="620.01178"
+       id="text1129"><tspan
+         sodipodi:role="line"
+         id="tspan1127"
+         x="492.07593"
+         y="620.01178"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:14.99999809px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.93749988">detagging</tspan></text>
+    <rect
+       style="fill:#f5b961;fill-opacity:1;stroke:none;stroke-width:0.44723457;stroke-opacity:1"
+       id="rect101-6-7"
+       width="33.552628"
+       height="29.605261"
+       x="313.26019"
+       y="352.38019" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.74999619px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749988"
+       x="324.90497"
+       y="371.91962"
+       id="text1104-2-1"><tspan
+         sodipodi:role="line"
+         id="tspan1102-6-6"
+         x="324.90497"
+         y="371.91962"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.74999619px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.93749988">D</tspan></text>
+    <rect
+       style="fill:#f5b961;fill-opacity:1;stroke:none;stroke-width:0.44723457;stroke-opacity:1"
+       id="rect101-0-9-2"
+       width="33.552628"
+       height="29.605261"
+       x="576.54962"
+       y="598.59729" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.74999523px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749988"
+       x="588.1944"
+       y="618.13672"
+       id="text1104-3-0-8"><tspan
+         sodipodi:role="line"
+         id="tspan1102-3-4-2"
+         x="588.1944"
+         y="618.13672"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.74999523px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.93749988">T</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:14.99999809px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749988"
+       x="618.508"
+       y="619.22675"
+       id="text1129-8"><tspan
+         sodipodi:role="line"
+         id="tspan1127-5"
+         x="618.508"
+         y="619.22675"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:14.99999809px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.93749988">tagging</tspan></text>
+    <rect
+       style="opacity:1;fill:#ffedd1;fill-opacity:1;stroke:#000000;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13983-8"
+       width="74.062485"
+       height="38.965855"
+       x="482.38025"
+       y="453.88419"
+       ry="18.091263"
+       rx="18.091263" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999619px;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="519.15863"
+       y="478.99136"
+       id="text14148-7"><tspan
+         sodipodi:role="line"
+         id="tspan3939-1"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999619px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none"
+         x="519.15863"
+         y="478.99136">fwd3</tspan></text>
+    <rect
+       style="opacity:1;fill:#ffedd1;fill-opacity:1;stroke:#000000;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13983-8-8"
+       width="74.062485"
+       height="38.965855"
+       x="482.38025"
+       y="527.89728"
+       ry="18.091263"
+       rx="18.091263" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999428px;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="519.15863"
+       y="553.00446"
+       id="text14148-7-6"><tspan
+         sodipodi:role="line"
+         id="tspan3939-1-3"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999428px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none"
+         x="519.15863"
+         y="553.00446">fwd4</tspan></text>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.93749988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker2302)"
+       d="m 463.45755,313.49869 16.77632,-8.88157"
+       id="path2282"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.93749988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5613)"
+       d="m 554.24701,309.55132 19.73685,22.69737"
+       id="path2284"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.93749988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker2372)"
+       d="m 682.53647,340.14342 33.55262,6.90789"
+       id="path2286"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#0000f8;stroke-width:0.93749988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker3682)"
+       d="m 462.47071,387.51184 19.73684,-5.92105"
+       id="path2452"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#0000f8;stroke-width:0.93749988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5479)"
+       d="m 557.20754,389.48552 32.56578,85.85526"
+       id="path2454"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#0000f8;stroke-width:0.93749988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker2554)"
+       d="m 687.47068,503.9592 h 25.65789"
+       id="path2456"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.93749988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker2764)"
+       d="M 711.15489,356.91974 683.52331,355.9329"
+       id="path2652"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.93749988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker2670)"
+       d="M 578.91806,370.73552 554.24701,466.4592"
+       id="path2654"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.93749988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker2982)"
+       d="m 479.24702,475.34078 -15.78947,-0.98685"
+       id="path2656"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.93749988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker2864)"
+       d="m 326.28652,475.34078 -37.5,-110.52631"
+       id="path2658"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#0000fb;stroke-width:0.93749988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker3498)"
+       d="m 710.16804,514.81445 h -23.6842"
+       id="path3098"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#0000fb;stroke-width:0.93749988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker3848)"
+       d="m 578.91806,523.69603 -20.72368,22.69736"
+       id="path3100"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#0000fb;stroke-width:0.93749988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker3996)"
+       d="M 483.19439,546.39339 H 461.48387"
+       id="path3102"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#0000fb;stroke-width:0.93749988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker3114)"
+       d="M 330.23389,546.39339 287.79968,383.56447"
+       id="path3104"
+       inkscape:connector-curvature="0" />
+    <rect
+       style="fill:#f5b961;fill-opacity:1;stroke:none;stroke-width:0.44723457;stroke-opacity:1"
+       id="rect101-1"
+       width="33.552628"
+       height="29.605261"
+       x="314.4444"
+       y="446.72235" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.74999714px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749988"
+       x="326.08914"
+       y="466.26178"
+       id="text1104-8"><tspan
+         sodipodi:role="line"
+         id="tspan1102-3"
+         x="326.08914"
+         y="466.26178"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.74999714px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.93749988">T</tspan></text>
+    <rect
+       style="fill:#f5b961;fill-opacity:1;stroke:none;stroke-width:0.44723457;stroke-opacity:1"
+       id="rect101-1-7"
+       width="33.552628"
+       height="29.605261"
+       x="317.40494"
+       y="525.66974" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.74999619px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749988"
+       x="329.04968"
+       y="545.20917"
+       id="text1104-8-2"><tspan
+         sodipodi:role="line"
+         id="tspan1102-3-5"
+         x="329.04968"
+         y="545.20917"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.74999619px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.93749988">T</tspan></text>
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer5"
+     inkscape:label="Label-VM"
+     transform="translate(-45.036557,-223.97025)" />
+  <g
+     inkscape:groupmode="layer"
+     id="layer7"
+     inkscape:label="Label-Processes"
+     transform="translate(-45.036557,-223.97025)">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="519.08826"
+       y="314.90134"
+       id="text14014"><tspan
+         sodipodi:role="line"
+         id="tspan3933"
+         x="519.08826"
+         y="314.90134"
+         style="line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none">fwd1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="518.30621"
+       y="391.875"
+       id="text14148"><tspan
+         sodipodi:role="line"
+         id="tspan3939"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none"
+         x="518.30621"
+         y="391.875">fwd2</tspan></text>
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer4"
+     inkscape:label="Label-Host"
+     style="display:inline"
+     transform="translate(-45.036557,-223.97025)">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="96.762512"
+       y="263.60168"
+       id="text13862"><tspan
+         sodipodi:role="line"
+         id="tspan13864"
+         x="96.762512"
+         y="263.60168"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none">host1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="250.59454"
+       y="262.98886"
+       id="text13866"><tspan
+         sodipodi:role="line"
+         id="tspan13868"
+         x="250.59454"
+         y="262.98886"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none">host2</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="141.00238"
+       y="355.13232"
+       id="text13870"><tspan
+         sodipodi:role="line"
+         id="tspan13872"
+         x="141.00238"
+         y="355.13232"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none"> NIC2</tspan><tspan
+         sodipodi:role="line"
+         x="141.00238"
+         y="377.00732"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none"
+         id="tspan112">(ens0)</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="251.83984"
+       y="355.6499"
+       id="text13878"><tspan
+         sodipodi:role="line"
+         id="tspan13880"
+         x="251.83984"
+         y="355.6499"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none"> NIC0</tspan><tspan
+         sodipodi:role="line"
+         x="251.83984"
+         y="377.5249"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none"
+         id="tspan106">(phy:0)</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="396.14157"
+       y="321.00671"
+       id="text14060-7"><tspan
+         sodipodi:role="line"
+         id="tspan4005"
+         x="396.14157"
+         y="321.00671"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999809px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none">phy:0 nq 1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:37.49999619px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749988"
+       x="190.10233"
+       y="664.91315"
+       id="text3947"><tspan
+         sodipodi:role="line"
+         id="tspan3945"
+         x="190.10233"
+         y="699.12555"
+         style="stroke-width:0.93749988" /></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999619px;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93749982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="399.89719"
+       y="393.68243"
+       id="text14060-7-0"><tspan
+         sodipodi:role="line"
+         id="tspan4005-8"
+         x="399.89719"
+         y="393.68243"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.49999619px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.93749982;stroke-miterlimit:4;stroke-dasharray:none">phy:0 nq 2</tspan></text>
+  </g>
+</svg>
-- 
2.17.1


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [spp] [PATCH 10/11] docs: add usecase for hardware offload
  2020-02-26 11:43 [spp] [PATCH 00/11] Add Hardware offload document x-fn-spp-ml
                   ` (8 preceding siblings ...)
  2020-02-26 11:43 ` [spp] [PATCH 09/11] docs: add svg for vm " x-fn-spp-ml
@ 2020-02-26 11:43 ` x-fn-spp-ml
  2020-02-26 11:43 ` [spp] [PATCH 11/11] docs: add install drivers for Mellanox NIC x-fn-spp-ml
  2020-03-05  6:04 ` [spp] [PATCH 00/11] Add Hardware offload document Yasufumi Ogawa
  11 siblings, 0 replies; 15+ messages in thread
From: x-fn-spp-ml @ 2020-02-26 11:43 UTC (permalink / raw)
  To: ferruh.yigit, yasufum.o; +Cc: spp

From: Hideyuki Yamashita <yamashita.hideyuki@ntt-tx.co.jp>

This patch adds usecase description for hardware offload.

Signed-off-by: Hideyuki Yamashita <yamashita.hideyuki@ntt-tx.co.jp>
Signed-off-by: Naoki Takada <ntakada14@gmail.com>
---
 docs/guides/usecases/hardware-offload.rst | 327 ++++++++++++++++++++++
 docs/guides/usecases/index.rst            |   1 +
 2 files changed, 328 insertions(+)
 create mode 100644 docs/guides/usecases/hardware-offload.rst

diff --git a/docs/guides/usecases/hardware-offload.rst b/docs/guides/usecases/hardware-offload.rst
new file mode 100644
index 0000000..252316b
--- /dev/null
+++ b/docs/guides/usecases/hardware-offload.rst
@@ -0,0 +1,327 @@
+..  SPDX-License-Identifier: BSD-3-Clause
+    Copyright(c) 2019 Nippon Telegraph and Telephone Corporation
+
+
+.. _usecase_hardware_offload:
+
+Hardware Offload
+================
+
+SPP provides hardware offload functions.
+
+.. note::
+
+    We tested following use cases at Connect-X 5 by Mellanox only.
+    Even if you cannot use these use cases on different NIC, we don't support.
+
+Hardware Classification
+-----------------------
+
+Some hardware provides packet classification function based on
+L2 mac address. This use case shows you how to use L2 classification.
+
+.. _figure_spp_hardware_offload_classify:
+
+.. figure:: ../images/setup/use_cases/spp_hardware_offload_classify.*
+   :width: 100%
+
+Setup
+~~~~~
+
+Before using hardware packet classification, you must setup number of queues
+in hardware.
+
+In ``bin/config.sh``.
+
+.. code-block:: sh
+
+    PRI_PORT_QUEUE=(
+     "0 rxq 10 txq 10"
+     "1 rxq 16 txq 16"
+    )
+
+Above example includes the line ``0 rxq 10 txq 10``. ``0``
+of this line specifies physical port number, ``rxq 10`` is for 10 rx-queues,
+``txq 10`` is for 10 tx-queues.
+
+You should uncomment the following block in ``bin/config.sh``
+to indicate hardware white list. The option ``dv_flow_en=1``
+is for MLX5 poll mode driver.
+
+.. code-block:: sh
+
+    PRI_WHITE_LIST=(
+     "0000:04:00.0,dv_flow_en=1"
+     "0000:05:00.0"
+    )
+
+After editing ``bin/config.sh``, you can launch SPP as following.
+
+.. code-block:: console
+
+    $ bin/start.sh
+    Start spp-ctl
+    Start spp_primary
+    Waiting for spp_primary is ready .................... OK! (8.5[sec])
+    Welcome to the SPP CLI. Type `help` or `?` to list commands.
+    spp >
+
+Then, you can launch ``spp_vf`` like this.
+
+.. code-block:: none
+
+    spp > pri; launch vf 1 -l 2,3,4,5 -m 512 --file-prefix spp \
+    -- --client-id 1 -s 127.0.0.1:6666
+    ...
+
+Configuration
+~~~~~~~~~~~~~
+
+Before configure the flow of classifying packets, you
+can validate such rules by using ``flow validate`` command.
+
+.. code-block:: none
+
+    spp > pri; flow validate phy:0 ingress pattern eth dst is \
+    10:22:33:44:55:66 / end actions queue index 1 / end
+    spp > pri; flow validate phy:0 ingress pattern eth dst is \
+    10:22:33:44:55:67 / end actions queue index 2 / end
+
+Then, you can configure flow using ``flow create`` command like this.
+
+.. code-block:: none
+
+    spp > pri; flow create phy:0 ingress pattern eth dst is \
+    10:22:33:44:55:66 / end actions queue index 1 / end
+    spp > pri; flow create phy:0 ingress pattern eth dst is \
+    10:22:33:44:55:67 / end actions queue index 2 / end
+
+You can confirm created flows by using ``flow list`` or ``flow status``
+commands. ``flow list`` command provides the flow information of specified
+physical port.
+
+.. code-block:: none
+
+    spp > pri; flow list phy:0
+    ID      Group   Prio    Attr    Rule
+    0       0       0       i--     ETH => QUEUE
+    1       0       0       i--     ETH => QUEUE
+
+To get detailed information for specific rule. The following example shows
+the case where showing detailed information for rule ID ``0`` of ``phy:0``.
+
+.. code-block:: none
+
+    spp > pri; flow status phy:0 0
+    Attribute:
+      Group   Priority Ingress Egress Transfer
+      0       0        true    false  false
+    Patterns:
+      - eth:
+        - spec:
+          - dst: 10:22:33:44:55:66
+          - src: 00:00:00:00:00:00
+          - type: 0x0000
+        - last:
+        - mask:
+          - dst: FF:FF:FF:FF:FF:FF
+          - src: 00:00:00:00:00:00
+          - type: 0x0000
+    Actions:
+        - queue:
+          - index: 1
+    spp >
+
+In this use case, two components ``fwd1`` and ``fwd2`` simply forward
+the packet to multi-tx queues. You can start these components like this.
+
+.. code-block:: none
+
+    spp > vf 1; component start fwd1 2 forward
+    spp > vf 1; component start fwd2 3 forward
+
+For each ``fwd1`` and ``fwd2``, configure the rx port like this.
+
+.. code-block:: none
+
+    spp > vf 1; port add phy:0 nq 1 rx fwd1
+    spp > vf 1; port add phy:0 nq 2 rx fwd2
+
+Then, you can configure tx ports like this.
+
+.. code-block:: none
+
+    spp > vf 1; port add phy:1 nq 1 tx fwd1
+    spp > vf 1; port add phy:1 nq 2 tx fwd2
+
+For confirming above configuration, you can use ping and tcpdump as described
+in :ref:`spp_usecases_vf_cls_icmp`.
+
+Also, when you destroy the flow created above, commands will be like the
+following.
+
+.. code-block:: none
+
+    spp > pri; flow destroy phy:0 0
+    spp > pri; flow destroy phy:0 1
+
+Or you can destroy all rules on specific hardware
+by using ``flow destroy`` command with ``ALL`` parameter.
+
+.. code-block:: none
+
+    spp > pri; flow destroy phy:0 ALL
+
+Manipulate VLAN tag
+-------------------
+
+Some hardware provides VLAN tag manipulation function.
+This use case shows you the case where incoming VLAN tagged packet detagged
+and non-tagged packet tagged when outgoing using hardware offload function.
+
+.. _figure_spp_hardware_offload_vlan:
+
+.. figure:: ../images/setup/use_cases/spp_hardware_offload_vlan.*
+   :width: 100%
+
+After having done above use case, you can continue to following.
+In this use case, we are assuming incoming packets which includes
+``vid=100`` to ``phy:0``, these vid will be removed(detagged) and
+transferred to ``fwd1``. Tx packets from ``fwd1`` are sent to
+queue#0 on phy:1 with tagged by ``vid=100``. Packets which includes
+``vid=200`` to ``phy:0`` are to be sent to ``fwd2`` with removing
+the vid,
+Tx packets from ``fwd2`` are sent to ``queue#1`` on ``phy:1`` with tagged
+by ``vid=200``.
+
+For detagging flow creation.
+
+.. code-block:: none
+
+    spp > pri; flow create phy:0 ingress group 1 pattern eth dst is \
+    10:22:33:44:55:66 / vlan vid is 100 / end actions queue index 1 \
+    / of_pop_vlan / end
+    spp > pri; flow create phy:0 ingress group 1 pattern eth dst is \
+    10:22:33:44:55:67 / vlan vid is 200 / end actions queue index 2 \
+    / of_pop_vlan / end
+    spp > pri; flow create phy:0 ingress group 0 pattern eth / end \
+    actions jump group 1 / end
+
+For tagging flow creation.
+
+.. code-block:: none
+
+    spp > pri; flow create phy:1 egress group 1 pattern eth dst is \
+    10:22:33:44:55:66 / end actions of_push_vlan ethertype 0x8100 \
+    / of_set_vlan_vid vlan_vid 100 / of_set_vlan_pcp vlan_pcp 3 / end
+    spp > pri; flow create phy:1 egress group 1 pattern eth dst is \
+    10:22:33:44:55:67 / end actions of_push_vlan ethertype 0x8100 \
+    / of_set_vlan_vid vlan_vid 200 / of_set_vlan_pcp vlan_pcp 3 / end
+    spp > pri; flow create phy:1 egress group 0 pattern eth / end \
+    actions jump group 1 / end
+
+If you want to send vlan-tagged packets, the NIC connected to ``phy:0``
+will be configured by following.
+
+.. code-block:: sh
+
+    $ sudo ip l add link ens0 name ens0.100 type vlan id 100
+    $ sudo ip l add link ens0 name ens0.200 type vlan id 200
+    $ sudo ip a add 192.168.140.1/24 dev ens0.100
+    $ sudo ip a add 192.168.150.1/24 dev ens0.100
+    $ sudo ip l set ens0.100 up
+    $ sudo ip l set ens0.200 up
+
+
+Connecting with VMs
+-------------------
+
+This use case shows you how to configure hardware offload and VMs.
+
+.. _figure_spp_hardware_offload_vm:
+
+.. figure:: ../images/setup/use_cases/spp_hardware_offload_vm.*
+   :width: 100%
+
+First, we should clean up flows and delete ports.
+
+.. code-block:: none
+
+    spp > vf 1; port del phy:0 nq 0 rx fwd1
+    spp > vf 1; port del phy:0 nq 1 rx fwd2
+    spp > vf 1; port del phy:1 nq 0 tx fwd1
+    spp > vf 1; port del phy:1 nq 1 tx fwd2
+    spp > pri; flow destroy phy:0 ALL
+    spp > pri; flow destroy phy:1 ALL
+
+Configure flows.
+
+.. code-block:: none
+    spp > pri; flow create phy:0 ingress group 1 pattern eth dst is \
+    10:22:33:44:55:66 / vlan vid is 100 / end actions queue index 1 \
+    / of_pop_vlan / end
+    spp > pri; flow create phy:0 ingress group 1 pattern eth dst is \
+    10:22:33:44:55:67 / vlan vid is 200 / end actions queue index 2 \
+    / of_pop_vlan / end
+    spp > pri; flow create phy:0 ingress group 0 pattern eth / end \
+    actions jump group 1 / end
+    spp > pri; flow create phy:0 egress group 1 pattern eth src is \
+    10:22:33:44:55:66 / end actions of_push_vlan ethertype 0x8100 \
+    / of_set_vlan_vid vlan_vid 100 / of_set_vlan_pcp vlan_pcp 3 / end
+    spp > pri; flow create phy:0 egress group 1 pattern eth src is \
+    10:22:33:44:55:67 / end actions of_push_vlan ethertype 0x8100 \
+    / of_set_vlan_vid vlan_vid 200 / of_set_vlan_pcp vlan_pcp 3 / end
+    spp > pri; flow create phy:0 egress group 0 pattern eth / end \
+    actions jump group 1 / end
+
+Start components.
+
+.. code-block:: none
+
+    spp > vf 1; component start fwd3 4 forward
+    spp > vf 1; component start fwd4 5 forward
+
+Start and setup two VMs as described in :ref:`spp_usecases_vf_ssh`.
+Add ports to forwarders.
+
+.. code-block:: none
+
+    spp > vf 1; port add phy:0 nq 1 rx fwd1
+    spp > vf 1; port add vhost:0 tx fwd1
+    spp > vf 1; port add phy:0 nq 2 rx fwd2
+    spp > vf 1; port add vhost:1 tx fwd2
+    spp > vf 1; port add vhost:0 rx fwd3
+    spp > vf 1; port add phy:0 nq 3 tx fwd3
+    spp > vf 1; port add vhost:1 rx fwd4
+    spp > vf 1; port add phy:0 nq 4 tx fwd4
+
+Then you can login to each VMs.
+
+Note that you must add arp entries of MAC addresses statically to be resolved.
+
+.. code-block:: none
+
+   # terminal 1 on remote host
+   # set MAC address
+   $ sudo arp -i ens0 -s 192.168.140.31 10:22:33:44:55:66
+   $ sudo arp -i ens0 -s 192.168.150.32 10:22:33:44:55:67
+
+
+Reference
+---------
+
+The following features are tested.
+
+MT27710 Family [ConnectX-4 Lx] 1015
+- dstMAC
+- dstMAC(range)
+
+MT27800 Family [ConnectX-5] 1017
+- dstMAC
+- dstMAC(range)
+- vlan vid
+- vlan vid+dstMAC
+- tagging+detagging
+
+Ethernet Controller XXV710 for 25GbE SFP28 158b
+- dstMAC
\ No newline at end of file
diff --git a/docs/guides/usecases/index.rst b/docs/guides/usecases/index.rst
index 538db87..6508610 100644
--- a/docs/guides/usecases/index.rst
+++ b/docs/guides/usecases/index.rst
@@ -31,3 +31,4 @@ or via REST API from :ref:`API Reference<spp_api_ref_index>`.
    spp_mirror
    spp_pcap
    multi_nodes
+   hardware-offload
-- 
2.17.1


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [spp] [PATCH 11/11] docs: add install drivers for Mellanox NIC
  2020-02-26 11:43 [spp] [PATCH 00/11] Add Hardware offload document x-fn-spp-ml
                   ` (9 preceding siblings ...)
  2020-02-26 11:43 ` [spp] [PATCH 10/11] docs: add usecase for " x-fn-spp-ml
@ 2020-02-26 11:43 ` x-fn-spp-ml
  2020-03-05  6:04 ` [spp] [PATCH 00/11] Add Hardware offload document Yasufumi Ogawa
  11 siblings, 0 replies; 15+ messages in thread
From: x-fn-spp-ml @ 2020-02-26 11:43 UTC (permalink / raw)
  To: ferruh.yigit, yasufum.o; +Cc: spp

From: Hideyuki Yamashita <yamashita.hideyuki@ntt-tx.co.jp>

This patch is to add description of installing drivers of Mellanox NIC.

Signed-off-by: Hideyuki Yamashita <yamashita.hideyuki@ntt-tx.co.jp>
Signed-off-by: Naoki Takada <ntakada14@gmail.com>
---
 docs/guides/gsg/setup.rst | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/docs/guides/gsg/setup.rst b/docs/guides/gsg/setup.rst
index 9bd30ef..4769e13 100644
--- a/docs/guides/gsg/setup.rst
+++ b/docs/guides/gsg/setup.rst
@@ -285,6 +285,18 @@ Python 2 or 3 ?
 Without SPP container tools, Python2 is not supported anymore.
 SPP container will also be updated to Python3.
 
+Drivers for Mellanox NIC
+------------------------
+
+In case of using MLX5 NIC, you have to install Driver.
+You can download driver from Mellanox's `SW/Drivers
+<https://www.mellanox.com/page/mlnx_ofed_matrix?mtag=linux_sw_drivers>`.
+The following example assumes that MLNX_OFED_LINUX-4.7-1.0.0.1-ubuntu18.04-x86_64.tgz is downloaded.
+
+.. code-block:: console
+
+   $cd MLNX_OFED_LINUX-4.7-1.0.0.1-ubuntu18.04-x86_64/
+   $sudo ./mlnxofedinstall --upstream-libs --dpdk --force
 
 Reference
 ---------
-- 
2.17.1


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [spp] [PATCH 00/11] Add Hardware offload document
  2020-02-26 11:43 [spp] [PATCH 00/11] Add Hardware offload document x-fn-spp-ml
                   ` (10 preceding siblings ...)
  2020-02-26 11:43 ` [spp] [PATCH 11/11] docs: add install drivers for Mellanox NIC x-fn-spp-ml
@ 2020-03-05  6:04 ` Yasufumi Ogawa
  2020-03-05  9:04   ` Yasufumi Ogawa
  11 siblings, 1 reply; 15+ messages in thread
From: Yasufumi Ogawa @ 2020-03-05  6:04 UTC (permalink / raw)
  To: x-fn-spp-ml; +Cc: ferruh.yigit, spp

> From: Hideyuki Yamashita <yamashita.hideyuki@ntt-tx.co.jp>
> 
> This patch set provides doccuments of hardware offload
> capability for spp.
Applied, thanks.

> 
> tx-spp (11):
>    docs: add support for rte_flow
>    docs: add support of MLX5 PMD support in DPDK
>    docs: change primary process startup parameter
>    docs: add description of REST-APIs for flow rules
>    docs: support flow syntax in primary command
>    docs: support multi-queue in spp_vf command
>    docs: add svg for classify case of hardware offload
>    docs: add svg for vlan case of hardware offload
>    docs: add svg for vm case of hardware offload
>    docs: add usecase for hardware offload
>    docs: add install drivers for Mellanox NIC
> 
>   docs/guides/api_ref/spp_primary.rst           |  208 ++++
>   docs/guides/commands/primary.rst              |   99 +-
>   docs/guides/commands/secondary/spp_vf.rst     |   54 +-
>   docs/guides/design/spp_primary.rst            |    3 +
>   docs/guides/gsg/howto_use.rst                 |   20 +
>   docs/guides/gsg/install.rst                   |   25 +-
>   docs/guides/gsg/setup.rst                     |   12 +
>   .../spp_hardware_offload_classify.svg         |  680 +++++++++++
>   .../use_cases/spp_hardware_offload_vlan.svg   |  805 +++++++++++++
>   .../use_cases/spp_hardware_offload_vm.svg     | 1063 +++++++++++++++++
>   docs/guides/usecases/hardware-offload.rst     |  327 +++++
>   docs/guides/usecases/index.rst                |    1 +
>   12 files changed, 3254 insertions(+), 43 deletions(-)
>   create mode 100644 docs/guides/images/setup/use_cases/spp_hardware_offload_classify.svg
>   create mode 100644 docs/guides/images/setup/use_cases/spp_hardware_offload_vlan.svg
>   create mode 100644 docs/guides/images/setup/use_cases/spp_hardware_offload_vm.svg
>   create mode 100644 docs/guides/usecases/hardware-offload.rst
> 

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [spp] [PATCH 00/11] Add Hardware offload document
  2020-03-05  6:04 ` [spp] [PATCH 00/11] Add Hardware offload document Yasufumi Ogawa
@ 2020-03-05  9:04   ` Yasufumi Ogawa
  2020-03-13  0:46     ` Yasufumi Ogawa
  0 siblings, 1 reply; 15+ messages in thread
From: Yasufumi Ogawa @ 2020-03-05  9:04 UTC (permalink / raw)
  To: x-fn-spp-ml; +Cc: ferruh.yigit, spp

Hi Hideyuki,

Although I replied to this patch set with applied, but found an warning 
in docs compilation. It might be happened in some environment.

The reason is because you do not separate code block after ".. 
code-block:: none" instruction. You should follow the coding convention 
even though docs.

Could you add a blank line to avoid the warning in "docs: add usecase 
for hardware offload"?

Here is a result of docs compilation.

Thanks

$ make doc-html
make -C docs/guides html
Running Sphinx v1.8.4
making output directory...
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 52 source files that are out of date
updating environment: 52 added, 0 changed, 0 removed
reading sources... [100%] usecases/spp_vf 

/home/ogawa/spp-patches/mailed/spp/docs/guides/usecases/hardware-offload.rst:259: 
WARNING: Error in "code-block" directive:
maximum 1 argument(s) allowed, 167 supplied.

.. code-block:: none
     spp > pri; flow create phy:0 ingress group 1 pattern eth dst is \
     10:22:33:44:55:66 / vlan vid is 100 / end actions queue index 1 \
     / of_pop_vlan / end
     spp > pri; flow create phy:0 ingress group 1 pattern eth dst is \
     10:22:33:44:55:67 / vlan vid is 200 / end actions queue index 2 \
     / of_pop_vlan / end
     spp > pri; flow create phy:0 ingress group 0 pattern eth / end \
     actions jump group 1 / end
     spp > pri; flow create phy:0 egress group 1 pattern eth src is \
     10:22:33:44:55:66 / end actions of_push_vlan ethertype 0x8100 \
     / of_set_vlan_vid vlan_vid 100 / of_set_vlan_pcp vlan_pcp 3 / end
     spp > pri; flow create phy:0 egress group 1 pattern eth src is \
     10:22:33:44:55:67 / end actions of_push_vlan ethertype 0x8100 \
     / of_set_vlan_vid vlan_vid 200 / of_set_vlan_pcp vlan_pcp 3 / end
     spp > pri; flow create phy:0 egress group 0 pattern eth / end \
     actions jump group 1 / end
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
writing output... [100%] usecases/spp_vf 

generating indices... genindex
writing additional pages... search
copying images... [100%] images/usecases/vf_ssh_nwconfig.svg 

copying static files... done
copying extra files... done
dumping search index in English (code: en) ... done
dumping object inventory... done
build succeeded, 1 warning.


On 2020/03/05 15:04, Yasufumi Ogawa wrote:
>> From: Hideyuki Yamashita <yamashita.hideyuki@ntt-tx.co.jp>
>>
>> This patch set provides doccuments of hardware offload
>> capability for spp.
> Applied, thanks.
> 
>>
>> tx-spp (11):
>>    docs: add support for rte_flow
>>    docs: add support of MLX5 PMD support in DPDK
>>    docs: change primary process startup parameter
>>    docs: add description of REST-APIs for flow rules
>>    docs: support flow syntax in primary command
>>    docs: support multi-queue in spp_vf command
>>    docs: add svg for classify case of hardware offload
>>    docs: add svg for vlan case of hardware offload
>>    docs: add svg for vm case of hardware offload
>>    docs: add usecase for hardware offload
>>    docs: add install drivers for Mellanox NIC
>>
>>   docs/guides/api_ref/spp_primary.rst           |  208 ++++
>>   docs/guides/commands/primary.rst              |   99 +-
>>   docs/guides/commands/secondary/spp_vf.rst     |   54 +-
>>   docs/guides/design/spp_primary.rst            |    3 +
>>   docs/guides/gsg/howto_use.rst                 |   20 +
>>   docs/guides/gsg/install.rst                   |   25 +-
>>   docs/guides/gsg/setup.rst                     |   12 +
>>   .../spp_hardware_offload_classify.svg         |  680 +++++++++++
>>   .../use_cases/spp_hardware_offload_vlan.svg   |  805 +++++++++++++
>>   .../use_cases/spp_hardware_offload_vm.svg     | 1063 +++++++++++++++++
>>   docs/guides/usecases/hardware-offload.rst     |  327 +++++
>>   docs/guides/usecases/index.rst                |    1 +
>>   12 files changed, 3254 insertions(+), 43 deletions(-)
>>   create mode 100644 
>> docs/guides/images/setup/use_cases/spp_hardware_offload_classify.svg
>>   create mode 100644 
>> docs/guides/images/setup/use_cases/spp_hardware_offload_vlan.svg
>>   create mode 100644 
>> docs/guides/images/setup/use_cases/spp_hardware_offload_vm.svg
>>   create mode 100644 docs/guides/usecases/hardware-offload.rst
>>

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [spp] [PATCH 00/11] Add Hardware offload document
  2020-03-05  9:04   ` Yasufumi Ogawa
@ 2020-03-13  0:46     ` Yasufumi Ogawa
  0 siblings, 0 replies; 15+ messages in thread
From: Yasufumi Ogawa @ 2020-03-13  0:46 UTC (permalink / raw)
  To: x-fn-spp-ml; +Cc: ferruh.yigit, spp

On 2020/03/05 18:04, Yasufumi Ogawa wrote:
> Hi Hideyuki,
> 
> Although I replied to this patch set with applied, but found an warning 
> in docs compilation. It might be happened in some environment.
> 
> The reason is because you do not separate code block after ".. 
> code-block:: none" instruction. You should follow the coding convention 
> even though docs.
> 
> Could you add a blank line to avoid the warning in "docs: add usecase 
> for hardware offload"?
> 
> Here is a result of docs compilation.
Hi,

Could you make update?
> 
> Thanks
> 
> $ make doc-html
> make -C docs/guides html
> Running Sphinx v1.8.4
> making output directory...
> building [mo]: targets for 0 po files that are out of date
> building [html]: targets for 52 source files that are out of date
> updating environment: 52 added, 0 changed, 0 removed
> reading sources... [100%] usecases/spp_vf
> /home/ogawa/spp-patches/mailed/spp/docs/guides/usecases/hardware-offload.rst:259: 
> WARNING: Error in "code-block" directive:
> maximum 1 argument(s) allowed, 167 supplied.
> 
> .. code-block:: none
>      spp > pri; flow create phy:0 ingress group 1 pattern eth dst is \
>      10:22:33:44:55:66 / vlan vid is 100 / end actions queue index 1 \
>      / of_pop_vlan / end
>      spp > pri; flow create phy:0 ingress group 1 pattern eth dst is \
>      10:22:33:44:55:67 / vlan vid is 200 / end actions queue index 2 \
>      / of_pop_vlan / end
>      spp > pri; flow create phy:0 ingress group 0 pattern eth / end \
>      actions jump group 1 / end
>      spp > pri; flow create phy:0 egress group 1 pattern eth src is \
>      10:22:33:44:55:66 / end actions of_push_vlan ethertype 0x8100 \
>      / of_set_vlan_vid vlan_vid 100 / of_set_vlan_pcp vlan_pcp 3 / end
>      spp > pri; flow create phy:0 egress group 1 pattern eth src is \
>      10:22:33:44:55:67 / end actions of_push_vlan ethertype 0x8100 \
>      / of_set_vlan_vid vlan_vid 200 / of_set_vlan_pcp vlan_pcp 3 / end
>      spp > pri; flow create phy:0 egress group 0 pattern eth / end \
>      actions jump group 1 / end
> looking for now-outdated files... none found
> pickling environment... done
> checking consistency... done
> preparing documents... done
> writing output... [100%] usecases/spp_vf
> generating indices... genindex
> writing additional pages... search
> copying images... [100%] images/usecases/vf_ssh_nwconfig.svg
> copying static files... done
> copying extra files... done
> dumping search index in English (code: en) ... done
> dumping object inventory... done
> build succeeded, 1 warning.
> 
> 
> On 2020/03/05 15:04, Yasufumi Ogawa wrote:
>>> From: Hideyuki Yamashita <yamashita.hideyuki@ntt-tx.co.jp>
>>>
>>> This patch set provides doccuments of hardware offload
>>> capability for spp.
>> Applied, thanks.
>>
>>>
>>> tx-spp (11):
>>>    docs: add support for rte_flow
>>>    docs: add support of MLX5 PMD support in DPDK
>>>    docs: change primary process startup parameter
>>>    docs: add description of REST-APIs for flow rules
>>>    docs: support flow syntax in primary command
>>>    docs: support multi-queue in spp_vf command
>>>    docs: add svg for classify case of hardware offload
>>>    docs: add svg for vlan case of hardware offload
>>>    docs: add svg for vm case of hardware offload
>>>    docs: add usecase for hardware offload
>>>    docs: add install drivers for Mellanox NIC
>>>
>>>   docs/guides/api_ref/spp_primary.rst           |  208 ++++
>>>   docs/guides/commands/primary.rst              |   99 +-
>>>   docs/guides/commands/secondary/spp_vf.rst     |   54 +-
>>>   docs/guides/design/spp_primary.rst            |    3 +
>>>   docs/guides/gsg/howto_use.rst                 |   20 +
>>>   docs/guides/gsg/install.rst                   |   25 +-
>>>   docs/guides/gsg/setup.rst                     |   12 +
>>>   .../spp_hardware_offload_classify.svg         |  680 +++++++++++
>>>   .../use_cases/spp_hardware_offload_vlan.svg   |  805 +++++++++++++
>>>   .../use_cases/spp_hardware_offload_vm.svg     | 1063 +++++++++++++++++
>>>   docs/guides/usecases/hardware-offload.rst     |  327 +++++
>>>   docs/guides/usecases/index.rst                |    1 +
>>>   12 files changed, 3254 insertions(+), 43 deletions(-)
>>>   create mode 100644 
>>> docs/guides/images/setup/use_cases/spp_hardware_offload_classify.svg
>>>   create mode 100644 
>>> docs/guides/images/setup/use_cases/spp_hardware_offload_vlan.svg
>>>   create mode 100644 
>>> docs/guides/images/setup/use_cases/spp_hardware_offload_vm.svg
>>>   create mode 100644 docs/guides/usecases/hardware-offload.rst
>>>

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2020-03-13  0:46 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-26 11:43 [spp] [PATCH 00/11] Add Hardware offload document x-fn-spp-ml
2020-02-26 11:43 ` [spp] [PATCH 01/11] docs: add support for rte_flow x-fn-spp-ml
2020-02-26 11:43 ` [spp] [PATCH 02/11] docs: add support of MLX5 PMD support in DPDK x-fn-spp-ml
2020-02-26 11:43 ` [spp] [PATCH 03/11] docs: change primary process startup parameter x-fn-spp-ml
2020-02-26 11:43 ` [spp] [PATCH 04/11] docs: add description of REST-APIs for flow rules x-fn-spp-ml
2020-02-26 11:43 ` [spp] [PATCH 05/11] docs: support flow syntax in primary command x-fn-spp-ml
2020-02-26 11:43 ` [spp] [PATCH 06/11] docs: support multi-queue in spp_vf command x-fn-spp-ml
2020-02-26 11:43 ` [spp] [PATCH 07/11] docs: add svg for classify case of hardware offload x-fn-spp-ml
2020-02-26 11:43 ` [spp] [PATCH 08/11] docs: add svg for vlan " x-fn-spp-ml
2020-02-26 11:43 ` [spp] [PATCH 09/11] docs: add svg for vm " x-fn-spp-ml
2020-02-26 11:43 ` [spp] [PATCH 10/11] docs: add usecase for " x-fn-spp-ml
2020-02-26 11:43 ` [spp] [PATCH 11/11] docs: add install drivers for Mellanox NIC x-fn-spp-ml
2020-03-05  6:04 ` [spp] [PATCH 00/11] Add Hardware offload document Yasufumi Ogawa
2020-03-05  9:04   ` Yasufumi Ogawa
2020-03-13  0:46     ` Yasufumi Ogawa

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).