From: Hideyuki Yamashita <yamashita.hideyuki@ntt-tx.co.jp> This patch set provides documents of hardware offload capability for spp. --- v2: * resolve warning on both setup.rst and hardware-offload.rst. Hideyuki Yamashita (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 | 13 + .../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 | 328 +++++ docs/guides/usecases/index.rst | 1 + 12 files changed, 3256 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
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
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
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 f4f1f08..41527ce 100644 --- a/docs/guides/gsg/howto_use.rst +++ b/docs/guides/gsg/howto_use.rst @@ -464,6 +464,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
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..fbf8874 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
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..bc89c65 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 ``command 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 parameters 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
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
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
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
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
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 | 328 ++++++++++++++++++++++ docs/guides/usecases/index.rst | 1 + 2 files changed, 329 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..28ee6b1 --- /dev/null +++ b/docs/guides/usecases/hardware-offload.rst @@ -0,0 +1,328 @@ +.. 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 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
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 | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/docs/guides/gsg/setup.rst b/docs/guides/gsg/setup.rst index 9bd30ef..6c962c3 100644 --- a/docs/guides/gsg/setup.rst +++ b/docs/guides/gsg/setup.rst @@ -285,6 +285,19 @@ Python 2 or 3 ? Without SPP container tools, Python2 is not supported anymore. SPP container will also be updated to Python3. +Driver 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