From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 6FDB6A00C5 for ; Thu, 30 Apr 2020 04:36:59 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 67EDD1D8D0; Thu, 30 Apr 2020 04:36:59 +0200 (CEST) Received: from dish-sg.nttdocomo.co.jp (dish-sg.nttdocomo.co.jp [202.19.227.74]) by dpdk.org (Postfix) with ESMTP id 7A6F91D8D0 for ; Thu, 30 Apr 2020 04:36:56 +0200 (CEST) X-dD-Source: Outbound Received: from zssg-mailmd102.ddreams.local (zssg-mailmd900.ddreams.local [10.160.172.63]) by zssg-mailou104.ddreams.local (Postfix) with ESMTP id 7E3DE1200EC; Thu, 30 Apr 2020 11:36:53 +0900 (JST) Received: from t131sg-mailcc12.ddreams.local (t131sg-mailcc12.ddreams.local [100.66.31.87]) by zssg-mailmd102.ddreams.local (dDREAMS) with ESMTP id <0Q9K0041NXXHY4D0@dDREAMS>; Thu, 30 Apr 2020 11:36:53 +0900 (JST) Received: from t131sg-mailcc12 (localhost [127.0.0.1]) by t131sg-mailcc12.ddreams.local (unknown) with SMTP id 03U2arHj001303; Thu, 30 Apr 2020 11:36:53 +0900 Received: from zssg-mailmf105.ddreams.local (unknown [127.0.0.1]) by zssg-mailmf105.ddreams.local (Postfix) with ESMTP id 1ED587E6034; Thu, 30 Apr 2020 11:36:41 +0900 (JST) Received: from zssg-mailmf105.ddreams.local (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 1CFC28E605D; Thu, 30 Apr 2020 11:36:41 +0900 (JST) Received: from localhost (unknown [127.0.0.1]) by IMSVA (Postfix) with SMTP id 11EFC8E6060; Thu, 30 Apr 2020 11:36:41 +0900 (JST) X-IMSS-HAND-OFF-DIRECTIVE: localhost:10026 Received: from zssg-mailmf105.ddreams.local (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id A8CBA8E605D; Thu, 30 Apr 2020 11:36:39 +0900 (JST) Received: from zssg-mailua101.ddreams.local (unknown [10.160.172.62]) by zssg-mailmf105.ddreams.local (Postfix) with ESMTP; Thu, 30 Apr 2020 11:36:39 +0900 (JST) Received: from [10.87.198.18] (unknown [10.160.183.129]) by zssg-mailua101.ddreams.local (dDREAMS) with ESMTPA id <0Q9K015TCXWTB1D0@dDREAMS>; Thu, 30 Apr 2020 11:36:29 +0900 (JST) Date: Thu, 30 Apr 2020 11:36:28 +0900 From: Hideyuki Yamashita In-reply-to: <20200412230210.28685-1-oda@valinux.co.jp> References: <20200412230210.28685-1-oda@valinux.co.jp> Message-id: <20200430113628.37EC.17218CA3@ntt-tx.co.jp_1> MIME-version: 1.0 Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: quoted-printable X-Mailer: Becky! ver. 2.74.02 [ja] X-TM-AS-GCONF: 00 To: Itsuro Oda Cc: spp@dpdk.org, ferruh.yigit@intel.com, yasufum.o@gmail.com Subject: Re: [spp] (x-fn-spp-ml 675) [PATCH] docs: add document of vdev_test tool X-BeenThere: spp@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Soft Patch Panel List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: spp-bounces@dpdk.org Sender: "spp" Hello Itsuro, Thanks for your input. However, when I try to patch with git am, the follwoing error pops up. 1 warning. So I can build the document. But I need your confirmation Applying: (x-fn-spp-ml 675) [spp] [PATCH] docs: add document of vdev_test t= ool =2Egit/rebase-apply/patch:1298: new blank line at EOF. + warning: 1 line adds whitespace errors. BR, Hideyuki Yamashita NTT TechnoCross > This patch adds a document of vdev_test tool. >=20 > Signed-off-by: Itsuro Oda > --- > .../vdev_test/vdev_test_example_pipe.svg | 611 ++++++++++++++++++ > .../vdev_test/vdev_test_example_vhost.svg | 564 ++++++++++++++++ > docs/guides/tools/index.rst | 1 + > docs/guides/tools/vdev_test.rst | 86 +++ > 4 files changed, 1262 insertions(+) > create mode 100644 docs/guides/images/tools/vdev_test/vdev_test_example_= pipe.svg > create mode 100644 docs/guides/images/tools/vdev_test/vdev_test_example_= vhost.svg > create mode 100644 docs/guides/tools/vdev_test.rst >=20 > diff --git a/docs/guides/images/tools/vdev_test/vdev_test_example_pipe.sv= g b/docs/guides/images/tools/vdev_test/vdev_test_example_pipe.svg > new file mode 100644 > index 0000000..72f5919 > --- /dev/null > +++ b/docs/guides/images/tools/vdev_test/vdev_test_example_pipe.svg > @@ -0,0 +1,611 @@ > + > + > + > + + xmlns:dc=3D"http://purl.org/dc/elements/1.1/" > + xmlns:cc=3D"http://creativecommons.org/ns#" > + xmlns:rdf=3D"http://www.w3.org/1999/02/22-rdf-syntax-ns#" > + xmlns:svg=3D"http://www.w3.org/2000/svg" > + xmlns=3D"http://www.w3.org/2000/svg" > + xmlns:sodipodi=3D"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" > + xmlns:inkscape=3D"http://www.inkscape.org/namespaces/inkscape" > + width=3D"152.58044mm" > + height=3D"117.89329mm" > + viewBox=3D"0 0 540.63939 417.73222" > + id=3D"svg2" > + version=3D"1.1" > + inkscape:version=3D"0.92.4 (5da689c313, 2019-01-14)" > + sodipodi:docname=3D"vdev_test_example_pipe.svg"> > + + id=3D"defs4"> > + + inkscape:stockid=3D"Arrow1Lstart" > + orient=3D"auto" > + refY=3D"0" > + refX=3D"0" > + id=3D"Arrow1Lstart" > + style=3D"overflow:visible" > + inkscape:isstock=3D"true"> > + + id=3D"path6666" > + d=3D"M 0,0 5,-5 -12.5,0 5,5 Z" > + style=3D"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#= 000000;stroke-width:1.00000003pt;stroke-opacity:1" > + transform=3D"matrix(0.8,0,0,0.8,10,0)" > + inkscape:connector-curvature=3D"0" /> > + > + + inkscape:stockid=3D"Arrow2Lend" > + orient=3D"auto" > + refY=3D"0" > + refX=3D"0" > + id=3D"marker6505" > + style=3D"overflow:visible" > + inkscape:isstock=3D"true"> > + + id=3D"path6503" > + style=3D"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#= 000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" > + d=3D"M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0= 017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" > + transform=3D"matrix(-1.1,0,0,-1.1,-1.1,0)" > + inkscape:connector-curvature=3D"0" /> > + > + + inkscape:isstock=3D"true" > + style=3D"overflow:visible" > + id=3D"marker4627" > + refX=3D"0" > + refY=3D"0" > + orient=3D"auto" > + inkscape:stockid=3D"Arrow2Lend" > + inkscape:collect=3D"always"> > + + inkscape:connector-curvature=3D"0" > + transform=3D"matrix(-1.1,0,0,-1.1,-1.1,0)" > + d=3D"M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0= 017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" > + style=3D"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#= 000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" > + id=3D"path4629" /> > + > + + inkscape:stockid=3D"Arrow2Lend" > + orient=3D"auto" > + refY=3D"0" > + refX=3D"0" > + id=3D"marker4479" > + style=3D"overflow:visible" > + inkscape:isstock=3D"true"> > + + id=3D"path4481" > + style=3D"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#= 000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" > + d=3D"M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0= 017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" > + transform=3D"matrix(-1.1,0,0,-1.1,-1.1,0)" > + inkscape:connector-curvature=3D"0" /> > + > + + inkscape:stockid=3D"Arrow2Lend" > + orient=3D"auto" > + refY=3D"0" > + refX=3D"0" > + id=3D"marker1450" > + style=3D"overflow:visible" > + inkscape:isstock=3D"true"> > + + id=3D"path1448" > + style=3D"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#= 000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" > + d=3D"M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0= 017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" > + transform=3D"matrix(-1.1,0,0,-1.1,-1.1,0)" > + inkscape:connector-curvature=3D"0" /> > + > + + inkscape:stockid=3D"Arrow2Lend" > + orient=3D"auto" > + refY=3D"0" > + refX=3D"0" > + id=3D"Arrow2Lend" > + style=3D"overflow:visible" > + inkscape:isstock=3D"true"> > + + id=3D"path4411" > + style=3D"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#= 000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" > + d=3D"M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0= 017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" > + transform=3D"matrix(-1.1,0,0,-1.1,-1.1,0)" > + inkscape:connector-curvature=3D"0" /> > + > + + inkscape:isstock=3D"true" > + style=3D"overflow:visible" > + id=3D"marker5907" > + refX=3D"0" > + refY=3D"0" > + orient=3D"auto" > + inkscape:stockid=3D"Arrow2Lend"> > + + transform=3D"matrix(-1.1,0,0,-1.1,-1.1,0)" > + d=3D"M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0= 017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" > + style=3D"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#= 000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" > + id=3D"path5909" > + inkscape:connector-curvature=3D"0" /> > + > + + inkscape:isstock=3D"true" > + style=3D"overflow:visible" > + id=3D"marker5813" > + refX=3D"0" > + refY=3D"0" > + orient=3D"auto" > + inkscape:stockid=3D"Arrow2Lend"> > + + transform=3D"matrix(-1.1,0,0,-1.1,-1.1,0)" > + d=3D"M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0= 017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" > + style=3D"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#= 000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" > + id=3D"path5815" > + inkscape:connector-curvature=3D"0" /> > + > + + inkscape:isstock=3D"true" > + style=3D"overflow:visible" > + id=3D"marker5725" > + refX=3D"0" > + refY=3D"0" > + orient=3D"auto" > + inkscape:stockid=3D"Arrow2Lend"> > + + transform=3D"matrix(-1.1,0,0,-1.1,-1.1,0)" > + d=3D"M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0= 017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" > + style=3D"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#= 000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" > + id=3D"path5727" > + inkscape:connector-curvature=3D"0" /> > + > + + inkscape:isstock=3D"true" > + style=3D"overflow:visible" > + id=3D"marker5643" > + refX=3D"0" > + refY=3D"0" > + orient=3D"auto" > + inkscape:stockid=3D"Arrow2Lend"> > + + transform=3D"matrix(-1.1,0,0,-1.1,-1.1,0)" > + d=3D"M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0= 017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" > + style=3D"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#= 000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" > + id=3D"path5645" > + inkscape:connector-curvature=3D"0" /> > + > + + inkscape:isstock=3D"true" > + style=3D"overflow:visible" > + id=3D"marker5567" > + refX=3D"0" > + refY=3D"0" > + orient=3D"auto" > + inkscape:stockid=3D"Arrow2Lend"> > + + transform=3D"matrix(-1.1,0,0,-1.1,-1.1,0)" > + d=3D"M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0= 017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" > + style=3D"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#= 000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" > + id=3D"path5569" > + inkscape:connector-curvature=3D"0" /> > + > + + inkscape:isstock=3D"true" > + style=3D"overflow:visible" > + id=3D"marker5421" > + refX=3D"0" > + refY=3D"0" > + orient=3D"auto" > + inkscape:stockid=3D"Arrow2Lend"> > + + transform=3D"matrix(-1.1,0,0,-1.1,-1.1,0)" > + d=3D"M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0= 017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" > + style=3D"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#= 000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" > + id=3D"path5423" > + inkscape:connector-curvature=3D"0" /> > + > + + inkscape:isstock=3D"true" > + style=3D"overflow:visible" > + id=3D"marker5137" > + refX=3D"0" > + refY=3D"0" > + orient=3D"auto" > + inkscape:stockid=3D"Arrow2Lend"> > + + transform=3D"matrix(-1.1,0,0,-1.1,-1.1,0)" > + d=3D"M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0= 017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" > + style=3D"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#= 000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" > + id=3D"path5139" > + inkscape:connector-curvature=3D"0" /> > + > + + inkscape:isstock=3D"true" > + style=3D"overflow:visible" > + id=3D"marker5091" > + refX=3D"0" > + refY=3D"0" > + orient=3D"auto" > + inkscape:stockid=3D"Arrow2Lend"> > + + transform=3D"matrix(-1.1,0,0,-1.1,-1.1,0)" > + d=3D"M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0= 017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" > + style=3D"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#= 000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" > + id=3D"path5093" > + inkscape:connector-curvature=3D"0" /> > + > + + inkscape:isstock=3D"true" > + style=3D"overflow:visible" > + id=3D"marker5051" > + refX=3D"0" > + refY=3D"0" > + orient=3D"auto" > + inkscape:stockid=3D"Arrow2Lend"> > + + transform=3D"matrix(-1.1,0,0,-1.1,-1.1,0)" > + d=3D"M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0= 017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" > + style=3D"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#= 000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" > + id=3D"path5053" > + inkscape:connector-curvature=3D"0" /> > + > + + inkscape:isstock=3D"true" > + style=3D"overflow:visible" > + id=3D"marker5017" > + refX=3D"0" > + refY=3D"0" > + orient=3D"auto" > + inkscape:stockid=3D"Arrow2Lend"> > + + transform=3D"matrix(-1.1,0,0,-1.1,-1.1,0)" > + d=3D"M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0= 017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" > + style=3D"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#= 000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" > + id=3D"path5019" > + inkscape:connector-curvature=3D"0" /> > + > + + inkscape:isstock=3D"true" > + style=3D"overflow:visible" > + id=3D"marker4989" > + refX=3D"0" > + refY=3D"0" > + orient=3D"auto" > + inkscape:stockid=3D"Arrow2Lend"> > + + transform=3D"matrix(-1.1,0,0,-1.1,-1.1,0)" > + d=3D"M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0= 017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" > + style=3D"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#= 000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" > + id=3D"path4991" > + inkscape:connector-curvature=3D"0" /> > + > + + inkscape:stockid=3D"Arrow1Lend" > + orient=3D"auto" > + refY=3D"0" > + refX=3D"0" > + id=3D"Arrow1Lend" > + style=3D"overflow:visible" > + inkscape:isstock=3D"true"> > + + id=3D"path4462" > + d=3D"M 0,0 5,-5 -12.5,0 5,5 Z" > + style=3D"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#= 000000;stroke-width:1.00000003pt;stroke-opacity:1" > + transform=3D"matrix(-0.8,0,0,-0.8,-10,0)" > + inkscape:connector-curvature=3D"0" /> > + > + + inkscape:isstock=3D"true" > + style=3D"overflow:visible" > + id=3D"marker5567-3" > + refX=3D"0" > + refY=3D"0" > + orient=3D"auto" > + inkscape:stockid=3D"Arrow2Lend"> > + + transform=3D"matrix(-1.1,0,0,-1.1,-1.1,0)" > + d=3D"M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0= 017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" > + style=3D"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#= 000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" > + id=3D"path5569-6" > + inkscape:connector-curvature=3D"0" /> > + > + + inkscape:stockid=3D"Arrow2Lend" > + orient=3D"auto" > + refY=3D"0" > + refX=3D"0" > + id=3D"Arrow2Lend-7" > + style=3D"overflow:visible" > + inkscape:isstock=3D"true"> > + + id=3D"path4411-5" > + style=3D"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#= 000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" > + d=3D"M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0= 017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" > + transform=3D"matrix(-1.1,0,0,-1.1,-1.1,0)" > + inkscape:connector-curvature=3D"0" /> > + > + + inkscape:isstock=3D"true" > + style=3D"overflow:visible" > + id=3D"marker4627-1" > + refX=3D"0" > + refY=3D"0" > + orient=3D"auto" > + inkscape:stockid=3D"Arrow2Lend"> > + + inkscape:connector-curvature=3D"0" > + transform=3D"matrix(-1.1,0,0,-1.1,-1.1,0)" > + d=3D"M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0= 017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" > + style=3D"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#= 000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" > + id=3D"path4629-2" /> > + > + + inkscape:isstock=3D"true" > + style=3D"overflow:visible" > + id=3D"marker5091-0" > + refX=3D"0" > + refY=3D"0" > + orient=3D"auto" > + inkscape:stockid=3D"Arrow2Lend"> > + + transform=3D"matrix(-1.1,0,0,-1.1,-1.1,0)" > + d=3D"M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0= 017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" > + style=3D"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#= 000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" > + id=3D"path5093-6" > + inkscape:connector-curvature=3D"0" /> > + > + > + + id=3D"base" > + pagecolor=3D"#ffffff" > + bordercolor=3D"#666666" > + borderopacity=3D"1.0" > + inkscape:pageopacity=3D"0.0" > + inkscape:pageshadow=3D"2" > + inkscape:zoom=3D"0.7" > + inkscape:cx=3D"421.5718" > + inkscape:cy=3D"86.005928" > + inkscape:document-units=3D"px" > + inkscape:current-layer=3D"layer5" > + showgrid=3D"false" > + inkscape:window-width=3D"1643" > + inkscape:window-height=3D"854" > + inkscape:window-x=3D"167" > + inkscape:window-y=3D"74" > + inkscape:window-maximized=3D"0" > + units=3D"mm" > + width=3D"230mm" > + fit-margin-top=3D"0" > + fit-margin-left=3D"0" > + fit-margin-right=3D"0" > + fit-margin-bottom=3D"0" > + inkscape:snap-global=3D"true" > + inkscape:snap-bbox=3D"true" > + inkscape:snap-nodes=3D"true" > + inkscape:snap-others=3D"false" > + inkscape:bbox-paths=3D"true" > + inkscape:snap-intersection-paths=3D"false" > + inkscape:object-nodes=3D"false" > + inkscape:object-paths=3D"true" > + inkscape:lockguides=3D"true" /> > + + id=3D"metadata7"> > + > + + rdf:about=3D""> > + image/svg+xml > + + rdf:resource=3D"http://purl.org/dc/dcmitype/StillImage" /> > + > + > + > + > + + inkscape:label=3D"Host" > + inkscape:groupmode=3D"layer" > + id=3D"layer1" > + transform=3D"translate(-10.358874,-474.54075)" > + style=3D"display:inline"> > + + style=3D"opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke= -width:1.48551643;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffs= et:0;stroke-opacity:1" > + id=3D"rect4136" > + width=3D"539.15393" > + height=3D"380.94302" > + x=3D"11.101632" > + y=3D"475.28351" /> > + > + + inkscape:groupmode=3D"layer" > + id=3D"layer7" > + inkscape:label=3D"Host-Resource" > + style=3D"display:inline" > + transform=3D"translate(-10.358874,-474.54075)"> > + + style=3D"opacity:1;fill:#cbffce;fill-opacity:1;stroke:#000000;str= oke-width:0.78720933;stroke-miterlimit:4;stroke-dasharray:none;stroke-dasho= ffset:0;stroke-opacity:1" > + id=3D"path4297" > + cx=3D"273.89044" > + cy=3D"724.98724" > + rx=3D"39.606403" > + ry=3D"19.606396" /> > + + style=3D"opacity:1;fill:#cbffce;fill-opacity:1;stroke:#000000;str= oke-width:0.74310595;stroke-miterlimit:4;stroke-dasharray:none;stroke-dasho= ffset:0;stroke-opacity:1" > + id=3D"path4301" > + cx=3D"273.89044" > + cy=3D"666.16315" > + rx=3D"39.628456" > + ry=3D"18.699877" /> > + > + + inkscape:groupmode=3D"layer" > + id=3D"layer3" > + inkscape:label=3D"Container" > + style=3D"display:inline" > + transform=3D"translate(-10.358874,-474.54075)"> > + + style=3D"opacity:1;fill:#ffff6e;fill-opacity:1;stroke:#000000;str= oke-width:0.88022333;stroke-miterlimit:4;stroke-dasharray:none;stroke-dasho= ffset:0;stroke-opacity:1" > + id=3D"rect4391" > + width=3D"89.119804" > + height=3D"29.11978" > + x=3D"119.70796" > + y=3D"599.95844" /> > + + style=3D"fill:none;stroke:#000000;stroke-width:1.03222072px;strok= e-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" > + d=3D"m 311.77952,662.6264 44.12544,-0.80843" > + id=3D"path7074" > + inkscape:connector-curvature=3D"0" /> > + > + + inkscape:groupmode=3D"layer" > + id=3D"layer5" > + inkscape:label=3D"App" > + transform=3D"translate(-10.358874,-474.54075)" > + style=3D"display:inline"> > + + style=3D"opacity:1;fill:#ffffd3;fill-opacity:1;stroke:#000000;str= oke-width:0.9541887;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashof= fset:0;stroke-opacity:1" > + id=3D"rect4223" > + width=3D"163.33151" > + height=3D"39.045811" > + x=3D"87.209244" > + y=3D"562.58478" > + ry=3D"19.522905" /> > + + style=3D"fill:none;stroke:#000000;stroke-width:1.10747123px;strok= e-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marke= r4627)" > + d=3D"M 140.0893,722.99672 V 633.28751" > + id=3D"path162" > + inkscape:connector-curvature=3D"0" /> > + + style=3D"display:inline;opacity:1;fill:#ffff6e;fill-opacity:1;str= oke:#000000;stroke-width:0.88022333;stroke-miterlimit:4;stroke-dasharray:no= ne;stroke-dashoffset:0;stroke-opacity:1" > + id=3D"rect4391-6" > + width=3D"89.119804" > + height=3D"29.11978" > + x=3D"337.61874" > + y=3D"599.95844" /> > + + style=3D"display:inline;opacity:1;fill:#ffffd3;fill-opacity:1;str= oke:#000000;stroke-width:0.9541887;stroke-miterlimit:4;stroke-dasharray:non= e;stroke-dashoffset:0;stroke-opacity:1" > + id=3D"rect4223-6" > + width=3D"163.3315" > + height=3D"39.045807" > + x=3D"301.37003" > + y=3D"562.58484" > + ry=3D"19.522903" /> > + + xml:space=3D"preserve" > + style=3D"font-style:normal;font-variant:normal;font-weight:normal= ;font-stretch:normal;font-size:12px;line-height:0%;font-family:sans-serif;-= inkscape-font-specification:'sans-serif, Normal';text-align:center;letter-s= pacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;display:i= nline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.99999994px;str= oke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" > + x=3D"384.5358" > + y=3D"588.19415" > + id=3D"text4225-6"> + sodipodi:role=3D"line" > + id=3D"tspan4227-0" > + x=3D"384.5358" > + y=3D"588.19415" > + style=3D"font-size:22.50000381px;line-height:1.25;stroke-width:= 0.99999994px">vdev_test > + + xml:space=3D"preserve" > + style=3D"font-style:normal;font-variant:normal;font-weight:normal= ;font-stretch:normal;font-size:12px;line-height:0%;font-family:sans-serif;-= inkscape-font-specification:'sans-serif, Normal';text-align:center;letter-s= pacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;display:i= nline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.99999994px;str= oke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" > + x=3D"381.96436" > + y=3D"620.48944" > + id=3D"text4407-8"> + sodipodi:role=3D"line" > + x=3D"381.96436" > + y=3D"620.48944" > + id=3D"tspan4411-7" > + style=3D"font-size:22.50000381px;line-height:1.25;stroke-width:= 0.99999994px">pipe:1 > + + xml:space=3D"preserve" > + id=3D"flowRoot6464" > + style=3D"font-style:normal;font-weight:normal;font-size:40px;line= -height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fil= l:#000000;fill-opacity:1;stroke:none"> + id=3D"flowRegion6466"> + id=3D"rect6468" > + width=3D"187.14285" > + height=3D"97.14286" > + x=3D"722.85712" > + y=3D"131.09111" /> + id=3D"flowPara6470" /> + style=3D"fill:none;stroke:#000000;stroke-width:0.93750012px;strok= e-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" > + d=3D"m 193.82777,631.047 0.36869,31.583" > + id=3D"path6472" > + inkscape:connector-curvature=3D"0" /> > + + style=3D"display:inline;fill:none;stroke:#000000;stroke-width:0.9= 3750012px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker= -start:url(#Arrow1Lstart)" > + d=3D"m 355.53003,630.23137 0.36869,31.583" > + id=3D"path6472-0" > + inkscape:connector-curvature=3D"0" /> > + + style=3D"fill:none;stroke:#000000;stroke-width:0.93750012px;strok= e-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" > + d=3D"m 194.19646,662.63 41.20492,0.09" > + id=3D"path1432" > + inkscape:connector-curvature=3D"0" /> > + + style=3D"fill:none;stroke:#000000;stroke-width:0.80901474px;strok= e-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" > + d=3D"m 140.2696,723.5229 c 93.75001,0 93.75001,0 93.75001,0" > + id=3D"path8467" > + inkscape:connector-curvature=3D"0" /> > + + style=3D"display:inline;fill:none;stroke:#000000;stroke-width:0.8= 0901468px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" > + d=3D"m 313.03748,722.98723 c 93.75001,0 93.75001,0 93.75001,0" > + id=3D"path8467-2" > + inkscape:connector-curvature=3D"0" /> > + + style=3D"fill:none;stroke:#000000;stroke-width:0.93750012px;strok= e-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" > + d=3D"M 406.78749,722.98723 V 629.07821" > + id=3D"path8486" > + inkscape:connector-curvature=3D"0" /> > + > + + inkscape:groupmode=3D"layer" > + id=3D"layer4" > + inkscape:label=3D"Label" > + style=3D"display:inline" > + transform=3D"translate(-10.358874,-474.54075)"> > + + xml:space=3D"preserve" > + style=3D"font-style:normal;font-variant:normal;font-weight:normal= ;font-stretch:normal;line-height:0%;font-family:sans-serif;-inkscape-font-s= pecification:'sans-serif, Normal';text-align:center;letter-spacing:0px;word= -spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacit= y:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;= stroke-opacity:1" > + x=3D"170.37502" > + y=3D"588.05133" > + id=3D"text4225"> + sodipodi:role=3D"line" > + id=3D"tspan4227" > + x=3D"170.37502" > + y=3D"588.05133" > + style=3D"font-size:22.50000572px;line-height:1.25">vdev_test > + + xml:space=3D"preserve" > + style=3D"font-style:normal;font-variant:normal;font-weight:normal= ;font-stretch:normal;line-height:0%;font-family:sans-serif;-inkscape-font-s= pecification:'sans-serif, Normal';text-align:center;letter-spacing:0px;word= -spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacit= y:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;= stroke-opacity:1" > + x=3D"45.571438" > + y=3D"506.36221" > + id=3D"text4327"> + sodipodi:role=3D"line" > + id=3D"tspan4329" > + x=3D"45.571438" > + y=3D"506.36221" > + style=3D"font-size:22.50000572px;line-height:1.25">host= > + + xml:space=3D"preserve" > + style=3D"font-style:normal;font-variant:normal;font-weight:normal= ;font-stretch:normal;line-height:0%;font-family:sans-serif;-inkscape-font-s= pecification:'sans-serif, Normal';text-align:center;letter-spacing:0px;word= -spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacit= y:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;= stroke-opacity:1" > + x=3D"273.62674" > + y=3D"730.41583" > + id=3D"text4351"> + sodipodi:role=3D"line" > + id=3D"tspan4353" > + x=3D"273.62674" > + y=3D"730.41583" > + style=3D"font-size:22.50000572px;line-height:1.25">ring:0 > + + xml:space=3D"preserve" > + style=3D"font-style:normal;font-variant:normal;font-weight:normal= ;font-stretch:normal;line-height:0%;font-family:sans-serif;-inkscape-font-s= pecification:'sans-serif, Normal';text-align:center;letter-spacing:0px;word= -spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacit= y:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;= stroke-opacity:1" > + x=3D"274.08267" > + y=3D"671.30603" > + id=3D"text4359"> + sodipodi:role=3D"line" > + id=3D"tspan4361" > + x=3D"274.08267" > + y=3D"671.30603" > + style=3D"font-size:22.50000572px;line-height:1.25">ring:1 > + + xml:space=3D"preserve" > + style=3D"font-style:normal;font-variant:normal;font-weight:normal= ;font-stretch:normal;line-height:0%;font-family:sans-serif;-inkscape-font-s= pecification:'sans-serif, Normal';text-align:center;letter-spacing:0px;word= -spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacit= y:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;= stroke-opacity:1" > + x=3D"167.80359" > + y=3D"620.5993" > + id=3D"text4407"> + sodipodi:role=3D"line" > + x=3D"167.80359" > + y=3D"620.5993" > + id=3D"tspan4411" > + style=3D"font-size:22.50000572px;line-height:1.25">pipe:0 > + > + > diff --git a/docs/guides/images/tools/vdev_test/vdev_test_example_vhost.s= vg b/docs/guides/images/tools/vdev_test/vdev_test_example_vhost.svg > new file mode 100644 > index 0000000..924e7bf > --- /dev/null > +++ b/docs/guides/images/tools/vdev_test/vdev_test_example_vhost.svg > @@ -0,0 +1,564 @@ > + > + > + > + + xmlns:dc=3D"http://purl.org/dc/elements/1.1/" > + xmlns:cc=3D"http://creativecommons.org/ns#" > + xmlns:rdf=3D"http://www.w3.org/1999/02/22-rdf-syntax-ns#" > + xmlns:svg=3D"http://www.w3.org/2000/svg" > + xmlns=3D"http://www.w3.org/2000/svg" > + xmlns:sodipodi=3D"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" > + xmlns:inkscape=3D"http://www.inkscape.org/namespaces/inkscape" > + width=3D"152.58044mm" > + height=3D"117.89329mm" > + viewBox=3D"0 0 540.63939 417.73222" > + id=3D"svg2" > + version=3D"1.1" > + inkscape:version=3D"0.92.4 (5da689c313, 2019-01-14)" > + sodipodi:docname=3D"vdev_test_example_vhost.svg"> > + + id=3D"defs4"> > + + inkscape:stockid=3D"Arrow1Lstart" > + orient=3D"auto" > + refY=3D"0" > + refX=3D"0" > + id=3D"Arrow1Lstart" > + style=3D"overflow:visible" > + inkscape:isstock=3D"true"> > + + id=3D"path6666" > + d=3D"M 0,0 5,-5 -12.5,0 5,5 Z" > + style=3D"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#= 000000;stroke-width:1.00000003pt;stroke-opacity:1" > + transform=3D"matrix(0.8,0,0,0.8,10,0)" > + inkscape:connector-curvature=3D"0" /> > + > + + inkscape:stockid=3D"Arrow2Lend" > + orient=3D"auto" > + refY=3D"0" > + refX=3D"0" > + id=3D"marker6505" > + style=3D"overflow:visible" > + inkscape:isstock=3D"true"> > + + id=3D"path6503" > + style=3D"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#= 000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" > + d=3D"M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0= 017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" > + transform=3D"matrix(-1.1,0,0,-1.1,-1.1,0)" > + inkscape:connector-curvature=3D"0" /> > + > + + inkscape:isstock=3D"true" > + style=3D"overflow:visible" > + id=3D"marker4627" > + refX=3D"0" > + refY=3D"0" > + orient=3D"auto" > + inkscape:stockid=3D"Arrow2Lend" > + inkscape:collect=3D"always"> > + + inkscape:connector-curvature=3D"0" > + transform=3D"matrix(-1.1,0,0,-1.1,-1.1,0)" > + d=3D"M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0= 017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" > + style=3D"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#= 000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" > + id=3D"path4629" /> > + > + + inkscape:stockid=3D"Arrow2Lend" > + orient=3D"auto" > + refY=3D"0" > + refX=3D"0" > + id=3D"marker4479" > + style=3D"overflow:visible" > + inkscape:isstock=3D"true"> > + + id=3D"path4481" > + style=3D"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#= 000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" > + d=3D"M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0= 017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" > + transform=3D"matrix(-1.1,0,0,-1.1,-1.1,0)" > + inkscape:connector-curvature=3D"0" /> > + > + + inkscape:stockid=3D"Arrow2Lend" > + orient=3D"auto" > + refY=3D"0" > + refX=3D"0" > + id=3D"marker1450" > + style=3D"overflow:visible" > + inkscape:isstock=3D"true"> > + + id=3D"path1448" > + style=3D"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#= 000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" > + d=3D"M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0= 017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" > + transform=3D"matrix(-1.1,0,0,-1.1,-1.1,0)" > + inkscape:connector-curvature=3D"0" /> > + > + + inkscape:stockid=3D"Arrow2Lend" > + orient=3D"auto" > + refY=3D"0" > + refX=3D"0" > + id=3D"Arrow2Lend" > + style=3D"overflow:visible" > + inkscape:isstock=3D"true"> > + + id=3D"path4411" > + style=3D"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#= 000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" > + d=3D"M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0= 017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" > + transform=3D"matrix(-1.1,0,0,-1.1,-1.1,0)" > + inkscape:connector-curvature=3D"0" /> > + > + + inkscape:isstock=3D"true" > + style=3D"overflow:visible" > + id=3D"marker5907" > + refX=3D"0" > + refY=3D"0" > + orient=3D"auto" > + inkscape:stockid=3D"Arrow2Lend"> > + + transform=3D"matrix(-1.1,0,0,-1.1,-1.1,0)" > + d=3D"M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0= 017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" > + style=3D"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#= 000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" > + id=3D"path5909" > + inkscape:connector-curvature=3D"0" /> > + > + + inkscape:isstock=3D"true" > + style=3D"overflow:visible" > + id=3D"marker5813" > + refX=3D"0" > + refY=3D"0" > + orient=3D"auto" > + inkscape:stockid=3D"Arrow2Lend"> > + + transform=3D"matrix(-1.1,0,0,-1.1,-1.1,0)" > + d=3D"M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0= 017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" > + style=3D"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#= 000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" > + id=3D"path5815" > + inkscape:connector-curvature=3D"0" /> > + > + + inkscape:isstock=3D"true" > + style=3D"overflow:visible" > + id=3D"marker5725" > + refX=3D"0" > + refY=3D"0" > + orient=3D"auto" > + inkscape:stockid=3D"Arrow2Lend"> > + + transform=3D"matrix(-1.1,0,0,-1.1,-1.1,0)" > + d=3D"M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0= 017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" > + style=3D"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#= 000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" > + id=3D"path5727" > + inkscape:connector-curvature=3D"0" /> > + > + + inkscape:isstock=3D"true" > + style=3D"overflow:visible" > + id=3D"marker5643" > + refX=3D"0" > + refY=3D"0" > + orient=3D"auto" > + inkscape:stockid=3D"Arrow2Lend"> > + + transform=3D"matrix(-1.1,0,0,-1.1,-1.1,0)" > + d=3D"M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0= 017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" > + style=3D"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#= 000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" > + id=3D"path5645" > + inkscape:connector-curvature=3D"0" /> > + > + + inkscape:isstock=3D"true" > + style=3D"overflow:visible" > + id=3D"marker5567" > + refX=3D"0" > + refY=3D"0" > + orient=3D"auto" > + inkscape:stockid=3D"Arrow2Lend"> > + + transform=3D"matrix(-1.1,0,0,-1.1,-1.1,0)" > + d=3D"M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0= 017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" > + style=3D"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#= 000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" > + id=3D"path5569" > + inkscape:connector-curvature=3D"0" /> > + > + + inkscape:isstock=3D"true" > + style=3D"overflow:visible" > + id=3D"marker5421" > + refX=3D"0" > + refY=3D"0" > + orient=3D"auto" > + inkscape:stockid=3D"Arrow2Lend"> > + + transform=3D"matrix(-1.1,0,0,-1.1,-1.1,0)" > + d=3D"M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0= 017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" > + style=3D"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#= 000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" > + id=3D"path5423" > + inkscape:connector-curvature=3D"0" /> > + > + + inkscape:isstock=3D"true" > + style=3D"overflow:visible" > + id=3D"marker5137" > + refX=3D"0" > + refY=3D"0" > + orient=3D"auto" > + inkscape:stockid=3D"Arrow2Lend"> > + + transform=3D"matrix(-1.1,0,0,-1.1,-1.1,0)" > + d=3D"M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0= 017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" > + style=3D"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#= 000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" > + id=3D"path5139" > + inkscape:connector-curvature=3D"0" /> > + > + + inkscape:isstock=3D"true" > + style=3D"overflow:visible" > + id=3D"marker5091" > + refX=3D"0" > + refY=3D"0" > + orient=3D"auto" > + inkscape:stockid=3D"Arrow2Lend"> > + + transform=3D"matrix(-1.1,0,0,-1.1,-1.1,0)" > + d=3D"M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0= 017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" > + style=3D"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#= 000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" > + id=3D"path5093" > + inkscape:connector-curvature=3D"0" /> > + > + + inkscape:isstock=3D"true" > + style=3D"overflow:visible" > + id=3D"marker5051" > + refX=3D"0" > + refY=3D"0" > + orient=3D"auto" > + inkscape:stockid=3D"Arrow2Lend"> > + + transform=3D"matrix(-1.1,0,0,-1.1,-1.1,0)" > + d=3D"M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0= 017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" > + style=3D"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#= 000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" > + id=3D"path5053" > + inkscape:connector-curvature=3D"0" /> > + > + + inkscape:isstock=3D"true" > + style=3D"overflow:visible" > + id=3D"marker5017" > + refX=3D"0" > + refY=3D"0" > + orient=3D"auto" > + inkscape:stockid=3D"Arrow2Lend"> > + + transform=3D"matrix(-1.1,0,0,-1.1,-1.1,0)" > + d=3D"M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0= 017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" > + style=3D"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#= 000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" > + id=3D"path5019" > + inkscape:connector-curvature=3D"0" /> > + > + + inkscape:isstock=3D"true" > + style=3D"overflow:visible" > + id=3D"marker4989" > + refX=3D"0" > + refY=3D"0" > + orient=3D"auto" > + inkscape:stockid=3D"Arrow2Lend"> > + + transform=3D"matrix(-1.1,0,0,-1.1,-1.1,0)" > + d=3D"M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0= 017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" > + style=3D"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#= 000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" > + id=3D"path4991" > + inkscape:connector-curvature=3D"0" /> > + > + + inkscape:stockid=3D"Arrow1Lend" > + orient=3D"auto" > + refY=3D"0" > + refX=3D"0" > + id=3D"Arrow1Lend" > + style=3D"overflow:visible" > + inkscape:isstock=3D"true"> > + + id=3D"path4462" > + d=3D"M 0,0 5,-5 -12.5,0 5,5 Z" > + style=3D"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#= 000000;stroke-width:1.00000003pt;stroke-opacity:1" > + transform=3D"matrix(-0.8,0,0,-0.8,-10,0)" > + inkscape:connector-curvature=3D"0" /> > + > + + inkscape:isstock=3D"true" > + style=3D"overflow:visible" > + id=3D"marker5567-3" > + refX=3D"0" > + refY=3D"0" > + orient=3D"auto" > + inkscape:stockid=3D"Arrow2Lend"> > + + transform=3D"matrix(-1.1,0,0,-1.1,-1.1,0)" > + d=3D"M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0= 017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" > + style=3D"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#= 000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" > + id=3D"path5569-6" > + inkscape:connector-curvature=3D"0" /> > + > + + inkscape:stockid=3D"Arrow2Lend" > + orient=3D"auto" > + refY=3D"0" > + refX=3D"0" > + id=3D"Arrow2Lend-7" > + style=3D"overflow:visible" > + inkscape:isstock=3D"true"> > + + id=3D"path4411-5" > + style=3D"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#= 000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" > + d=3D"M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0= 017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" > + transform=3D"matrix(-1.1,0,0,-1.1,-1.1,0)" > + inkscape:connector-curvature=3D"0" /> > + > + + inkscape:isstock=3D"true" > + style=3D"overflow:visible" > + id=3D"marker4627-1" > + refX=3D"0" > + refY=3D"0" > + orient=3D"auto" > + inkscape:stockid=3D"Arrow2Lend"> > + + inkscape:connector-curvature=3D"0" > + transform=3D"matrix(-1.1,0,0,-1.1,-1.1,0)" > + d=3D"M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0= 017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" > + style=3D"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#= 000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" > + id=3D"path4629-2" /> > + > + + inkscape:isstock=3D"true" > + style=3D"overflow:visible" > + id=3D"marker5091-0" > + refX=3D"0" > + refY=3D"0" > + orient=3D"auto" > + inkscape:stockid=3D"Arrow2Lend"> > + + transform=3D"matrix(-1.1,0,0,-1.1,-1.1,0)" > + d=3D"M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0= 017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" > + style=3D"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#= 000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" > + id=3D"path5093-6" > + inkscape:connector-curvature=3D"0" /> > + > + > + + id=3D"base" > + pagecolor=3D"#ffffff" > + bordercolor=3D"#666666" > + borderopacity=3D"1.0" > + inkscape:pageopacity=3D"0.0" > + inkscape:pageshadow=3D"2" > + inkscape:zoom=3D"0.7" > + inkscape:cx=3D"183.00037" > + inkscape:cy=3D"86.005928" > + inkscape:document-units=3D"px" > + inkscape:current-layer=3D"layer5" > + showgrid=3D"false" > + inkscape:window-width=3D"1643" > + inkscape:window-height=3D"854" > + inkscape:window-x=3D"167" > + inkscape:window-y=3D"74" > + inkscape:window-maximized=3D"0" > + units=3D"mm" > + width=3D"230mm" > + fit-margin-top=3D"0" > + fit-margin-left=3D"0" > + fit-margin-right=3D"0" > + fit-margin-bottom=3D"0" > + inkscape:snap-global=3D"true" > + inkscape:snap-bbox=3D"true" > + inkscape:snap-nodes=3D"true" > + inkscape:snap-others=3D"false" > + inkscape:bbox-paths=3D"true" > + inkscape:snap-intersection-paths=3D"false" > + inkscape:object-nodes=3D"false" > + inkscape:object-paths=3D"true" > + inkscape:lockguides=3D"true" /> > + + id=3D"metadata7"> > + > + + rdf:about=3D""> > + image/svg+xml > + + rdf:resource=3D"http://purl.org/dc/dcmitype/StillImage" /> > + > + > + > + > + + inkscape:label=3D"Host" > + inkscape:groupmode=3D"layer" > + id=3D"layer1" > + transform=3D"translate(-10.358874,-474.54075)" > + style=3D"display:inline"> > + + style=3D"opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke= -width:1.48551643;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffs= et:0;stroke-opacity:1" > + id=3D"rect4136" > + width=3D"539.15393" > + height=3D"380.94302" > + x=3D"11.101632" > + y=3D"475.28351" /> > + > + + inkscape:groupmode=3D"layer" > + id=3D"layer7" > + inkscape:label=3D"Host-Resource" > + style=3D"display:inline" > + transform=3D"translate(-10.358874,-474.54075)" /> > + + inkscape:groupmode=3D"layer" > + id=3D"layer3" > + inkscape:label=3D"Container" > + style=3D"display:inline" > + transform=3D"translate(-10.358874,-474.54075)"> > + + style=3D"opacity:1;fill:#ffff6e;fill-opacity:1;stroke:#000000;str= oke-width:1.05093229;stroke-miterlimit:4;stroke-dasharray:none;stroke-dasho= ffset:0;stroke-opacity:1" > + id=3D"rect4391" > + width=3D"127.7884" > + height=3D"28.949072" > + x=3D"105.06117" > + y=3D"600.04376" /> > + > + + inkscape:groupmode=3D"layer" > + id=3D"layer5" > + inkscape:label=3D"App" > + transform=3D"translate(-10.358874,-474.54075)" > + style=3D"display:inline"> > + + style=3D"opacity:1;fill:#ffffd3;fill-opacity:1;stroke:#000000;str= oke-width:0.9541887;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashof= fset:0;stroke-opacity:1" > + id=3D"rect4223" > + width=3D"163.33151" > + height=3D"39.045811" > + x=3D"87.209244" > + y=3D"562.58478" > + ry=3D"19.522905" /> > + + style=3D"fill:none;stroke:#000000;stroke-width:1.10747123px;strok= e-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marke= r4627)" > + d=3D"M 140.0893,722.99672 V 633.28751" > + id=3D"path162" > + inkscape:connector-curvature=3D"0" /> > + + style=3D"display:inline;opacity:1;fill:#ffff6e;fill-opacity:1;str= oke:#000000;stroke-width:1.09829414;stroke-miterlimit:4;stroke-dasharray:no= ne;stroke-dashoffset:0;stroke-opacity:1" > + id=3D"rect4391-6" > + width=3D"139.79459" > + height=3D"28.901709" > + x=3D"314.95993" > + y=3D"600.0675" /> > + + style=3D"display:inline;opacity:1;fill:#ffffd3;fill-opacity:1;str= oke:#000000;stroke-width:0.9541887;stroke-miterlimit:4;stroke-dasharray:non= e;stroke-dashoffset:0;stroke-opacity:1" > + id=3D"rect4223-6" > + width=3D"163.3315" > + height=3D"39.045807" > + x=3D"301.37003" > + y=3D"562.58484" > + ry=3D"19.522903" /> > + + xml:space=3D"preserve" > + style=3D"font-style:normal;font-variant:normal;font-weight:normal= ;font-stretch:normal;font-size:12px;line-height:0%;font-family:sans-serif;-= inkscape-font-specification:'sans-serif, Normal';text-align:center;letter-s= pacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;display:i= nline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.99999994px;str= oke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" > + x=3D"384.5358" > + y=3D"588.19415" > + id=3D"text4225-6"> + sodipodi:role=3D"line" > + id=3D"tspan4227-0" > + x=3D"384.5358" > + y=3D"588.19415" > + style=3D"font-size:22.50000381px;line-height:1.25;stroke-width:= 0.99999994px">vdev_test > + + xml:space=3D"preserve" > + style=3D"font-style:normal;font-variant:normal;font-weight:normal= ;font-stretch:normal;font-size:12px;line-height:0%;font-family:sans-serif;-= inkscape-font-specification:'sans-serif, Normal';text-align:center;letter-s= pacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;display:i= nline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.99999994px;str= oke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" > + x=3D"383.83936" > + y=3D"620.48944" > + id=3D"text4407-8"> + sodipodi:role=3D"line" > + x=3D"383.83936" > + y=3D"620.48944" > + id=3D"tspan4411-7" > + style=3D"font-size:22.50000381px;line-height:1.25;stroke-width:= 0.99999994px">virtio_user0 > + + xml:space=3D"preserve" > + id=3D"flowRoot6464" > + style=3D"font-style:normal;font-weight:normal;font-size:40px;line= -height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fil= l:#000000;fill-opacity:1;stroke:none"> + id=3D"flowRegion6466"> + id=3D"rect6468" > + width=3D"187.14285" > + height=3D"97.14286" > + x=3D"722.85712" > + y=3D"131.09111" /> + id=3D"flowPara6470" /> + style=3D"fill:none;stroke:#000000;stroke-width:0.93750012px;strok= e-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" > + d=3D"m 193.82777,631.047 0.36869,31.583" > + id=3D"path6472" > + inkscape:connector-curvature=3D"0" /> > + + style=3D"display:inline;fill:none;stroke:#000000;stroke-width:0.9= 3750012px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker= -start:url(#Arrow1Lstart)" > + d=3D"m 353.65503,630.23137 0.36869,31.583" > + id=3D"path6472-0" > + inkscape:connector-curvature=3D"0" /> > + + style=3D"fill:none;stroke:#000000;stroke-width:1.81228518px;strok= e-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" > + d=3D"m 194.15811,662.63183 160.47807,0.0864" > + id=3D"path1432" > + inkscape:connector-curvature=3D"0" /> > + + style=3D"fill:none;stroke:#000000;stroke-width:1.36748445px;strok= e-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" > + d=3D"m 140.2696,723.5229 c 267.85717,0 267.85717,0 267.85717,0" > + id=3D"path8467" > + inkscape:connector-curvature=3D"0" /> > + + style=3D"fill:none;stroke:#000000;stroke-width:0.93750012px;strok= e-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" > + d=3D"M 406.78749,722.98723 V 629.07821" > + id=3D"path8486" > + inkscape:connector-curvature=3D"0" /> > + + xml:space=3D"preserve" > + style=3D"font-style:normal;font-variant:normal;font-weight:normal= ;font-stretch:normal;font-size:12px;line-height:0%;font-family:sans-serif;-= inkscape-font-specification:'sans-serif, Normal';text-align:center;letter-s= pacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;display:i= nline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.99999994px;str= oke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" > + x=3D"167.47279" > + y=3D"621.73688" > + id=3D"text4407-8-2"> + sodipodi:role=3D"line" > + x=3D"167.47279" > + y=3D"621.73688" > + id=3D"tspan4411-7-7" > + style=3D"font-size:22.50000191px;line-height:1.25;stroke-width:= 0.99999994px">eth_vhost0 > + > + + inkscape:groupmode=3D"layer" > + id=3D"layer4" > + inkscape:label=3D"Label" > + style=3D"display:inline" > + transform=3D"translate(-10.358874,-474.54075)"> > + + xml:space=3D"preserve" > + style=3D"font-style:normal;font-variant:normal;font-weight:normal= ;font-stretch:normal;line-height:0%;font-family:sans-serif;-inkscape-font-s= pecification:'sans-serif, Normal';text-align:center;letter-spacing:0px;word= -spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacit= y:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;= stroke-opacity:1" > + x=3D"170.37502" > + y=3D"588.05133" > + id=3D"text4225"> + sodipodi:role=3D"line" > + id=3D"tspan4227" > + x=3D"170.37502" > + y=3D"588.05133" > + style=3D"font-size:22.50000572px;line-height:1.25">vdev_test > + + xml:space=3D"preserve" > + style=3D"font-style:normal;font-variant:normal;font-weight:normal= ;font-stretch:normal;line-height:0%;font-family:sans-serif;-inkscape-font-s= pecification:'sans-serif, Normal';text-align:center;letter-spacing:0px;word= -spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacit= y:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;= stroke-opacity:1" > + x=3D"45.571438" > + y=3D"506.36221" > + id=3D"text4327"> + sodipodi:role=3D"line" > + id=3D"tspan4329" > + x=3D"45.571438" > + y=3D"506.36221" > + style=3D"font-size:22.50000572px;line-height:1.25">host= > + > + > diff --git a/docs/guides/tools/index.rst b/docs/guides/tools/index.rst > index c739d79..495b9a8 100644 > --- a/docs/guides/tools/index.rst > +++ b/docs/guides/tools/index.rst > @@ -12,3 +12,4 @@ Tools > =20 > sppc/index > helpers/index > + vdev_test.rst > diff --git a/docs/guides/tools/vdev_test.rst b/docs/guides/tools/vdev_tes= t.rst > new file mode 100644 > index 0000000..10d6924 > --- /dev/null > +++ b/docs/guides/tools/vdev_test.rst > @@ -0,0 +1,86 @@ > +.. SPDX-License-Identifier: BSD-3-Clause > + Copyright(c) 2020 Nippon Telegraph and Telephone Corporation > + > +.. _spp_tools_vdev_test: > + > +Vdev_test > +=3D=3D=3D=3D=3D=3D=3D=3D=3D > + > +Vdev_test is a simple application that it forwards packets received > +from rx queue to tx queue on the main core. It can become a secondary > +process of the spp_primary. It is mainly used for testing spp_pipe > +but it can be used to test any virtual Ethernet devices as well. > + > +Usage > +----- > + > +.. code-block:: none > + > + vdev_test [EAL options] -- [--send] [--create devargs] device-name > + > +Vdev_test runs foreground and stops when Ctrl-C is pressed. If ``--send`= ` > +option specified a packet is sent first. The virtual Ethernet device can > +be created to specify ``--create`` option. > + > +.. note:: > + > + Since the device can be created by EAL ``--vdev`` option for a > + primary process, ``--create`` option mainly used by a secondary > + process. > + > +Examples > +-------- > + > +Examining spp_pipe > +~~~~~~~~~~~~~~~~~~ > + > +.. _figure_vdev_test_example_pipe: > + > +.. figure:: ../images/tools/vdev_test/vdev_test_example_pipe.* > + :width: 50% > + > +It is assumed that pipe ports were created beforehand. First run vdev_te= st > +without ``--send`` option. > + > +.. code-block:: console > + > + # terminal 1 > + $ sudo vdev_test -l 8 -n 4 --proc-type secondary -- spp_pipe0 > + > +Then run vdev_test with ``--send`` option on another terminal. > + > +.. code-block:: console > + > + # terminal 2 > + $ sudo vdev_test -l 9 -n 4 --proc-type secondary -- --send spp_pipe1 > + > +Press Ctrl-C to stop processes on both terminals after for a while. > + > +Examining vhost > +~~~~~~~~~~~~~~~ > + > +.. _figure_vdev_test_example_vhost: > + > +.. figure:: ../images/tools/vdev_test/vdev_test_example_vhost.* > + :width: 50% > + > +This example is independent of SPP. First run vdev_test using eth_vhost0 > +without ``--send`` option. > + > +.. code-block:: console > + > + # terminal 1 > + $ sudo vdev_test -l 8 -n 4 --vdev eht_vhost0,iface=3D/tmp/sock0,clie= nt=3D1 \ > + --file-prefix=3Dapp1 -- eth_vhost0 > + > +Then run vdev_test using virtio_user0 with ``--send`` option on another > +terminal. > + > +.. code-block:: console > + > + # terminal 1 > + $ sudo vdev_test -l 9 -n 4 --vdev virtio_user0,path=3D/tmp/sock0,ser= ver=3D1 \ > + --file-prefix=3Dapp2 --single-file-segments -- --send virtio_user0 > + > +Press Ctrl-C to stop processes on both terminals after for a while. > + > --=20 > 2.17.0