Hi, > -----Original Message----- > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Jijiang Liu > Sent: Friday, July 03, 2015 2:58 PM > To: dev at dpdk.org > Subject: [dpdk-dev] [PATCH v2] doc/sample_app_ug:add a VXLAN sample guide > > Add a VXLAN sample guide in the sample_app_ug directory. > > It includes: > > - Add the overlay networking picture with svg format. > > - Add the TEP termination framework picture with svg format. > > - Add the tep_termination.rst file > > - Change the index.rst file for the above pictures index. > > Signed-off-by: Jijiang Liu <jijiang.liu at intel.com> > Signed-off-by: Thomas Long <thomas.long at intel.com> > > v2 changes: > optimize the two pictures > add tep_termination index in index.rst file > fix a typo and a command line > > --- > .../sample_app_ug/img/overlay_networking.svg | 786 > ++++++++++++++++++++ > .../sample_app_ug/img/tep_termination_arch.svg | 548 ++++++++++++++ > doc/guides/sample_app_ug/index.rst | 3 + > doc/guides/sample_app_ug/tep_termination.rst | 321 ++++++++ > 4 files changed, 1658 insertions(+), 0 deletions(-) > create mode 100644 doc/guides/sample_app_ug/img/overlay_networking.svg > create mode 100644 doc/guides/sample_app_ug/img/tep_termination_arch.svg > create mode 100644 doc/guides/sample_app_ug/tep_termination.rst > > diff --git a/doc/guides/sample_app_ug/img/overlay_networking.svg > b/doc/guides/sample_app_ug/img/overlay_networking.svg > new file mode 100644 > index 0000000..2ce440d > --- /dev/null > +++ b/doc/guides/sample_app_ug/img/overlay_networking.svg > @@ -0,0 +1,786 @@ > +<?xml version="1.0" encoding="UTF-8" standalone="no"?> > +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" > "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> > +<!-- Generated by Microsoft Visio, SVG Export overlay_networking.svg > Page-1 --> > +<svg xmlns="http://www.w3.org/2000/svg" > xmlns:xlink="http://www.w3.org/1999/xlink" > xmlns:ev="http://www.w3.org/2001/xml-events" > + > xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" > width="8.5in" height="11in" viewBox="0 0 612 792" > + xml:space="preserve" color-interpolation-filters="sRGB" > class="st29"> > + <v:documentProperties v:langID="1033" v:viewMarkup="false"> > + <v:userDefs> > + <v:ud v:nameU="msvSubprocessMaster" v:prompt="" > v:val="VT4(Rectangle)"/> > + <v:ud v:nameU="msvNoAutoConnect" v:val="VT0(1):26"/> > + <v:ud v:nameU="msvConvertTheme"/> > + </v:userDefs> > + </v:documentProperties> > + > + <style type="text/css"> > + <![CDATA[ > + .st1 {visibility:visible} > + .st2 {fill:#b2b2b2;fill-opacity:0.5;stroke:#b2b2b2;stroke- > linecap:round;stroke-linejoin:round;stroke-opacity:0.5} > + .st3 {fill:#d8d8d8;fill-opacity:0.7;stroke:#404040;stroke- > linecap:round;stroke-linejoin:round;stroke-width:0.25} > + .st4 {fill:#000000;font-family:Calibri;font-size:1.16666em} > + .st5 {fill:#cdcdcd;fill-opacity:0.5;stroke:#cdcdcd;stroke- > linecap:round;stroke-linejoin:round;stroke-opacity:0.5} > + .st6 {fill:#6b9bc7;stroke:#404040;stroke-linecap:round;stroke- > linejoin:round;stroke-width:0.25} > + .st7 {fill:#000000;font-family:Calibri;font-size:0.833336em} > + .st8 {fill:#f6d5b9;stroke:#404040;stroke-linecap:round;stroke- > linejoin:round;stroke-width:0.25} > + .st9 {fill:#000000;font-family:Calibri;font-size:0.75em} > + .st10 {fill:url(#grad0-21);stroke:#404040;stroke- > linecap:round;stroke-linejoin:round;stroke-width:0.25} > + .st11 {fill:#000000;font-family:Calibri;font-size:1.00001em} > + .st12 {fill:#00b0f0;fill-opacity:0.8;stroke:#404040;stroke- > linecap:round;stroke-linejoin:round;stroke-width:0.25} > + .st13 {fill:#00b0f0;stroke:#404040;stroke- > linecap:round;stroke-linejoin:round;stroke-width:0.25} > + .st14 {fill:#7030a0;fill-opacity:0.6;stroke:#404040;stroke- > linecap:round;stroke-linejoin:round;stroke-width:0.25} > + .st15 {fill:url(#grad0-121)} > + .st16 {stroke:#0070c0;stroke-linecap:round;stroke- > linejoin:round;stroke-width:1} > + .st17 {fill:url(#grad0-128)} > + .st18 {stroke:#d26d19;stroke-linecap:round;stroke- > linejoin:round;stroke-width:1} > + .st19 {stroke:#cdcdcd;stroke-linecap:round;stroke- > linejoin:round;stroke-opacity:0.5;stroke-width:1.5} > + .st20 {stroke:#d26d19;stroke-linecap:round;stroke- > linejoin:round;stroke-width:1.5} > + .st21 {stroke:#0070c0;stroke-linecap:round;stroke- > linejoin:round;stroke-width:1.5} > + .st22 {stroke:#7030a0;stroke-linecap:round;stroke- > linejoin:round;stroke-width:1.5} > + .st23 {stroke:#43365a;stroke-linecap:round;stroke- > linejoin:round;stroke-width:1.5} > + .st24 {stroke:#404040;stroke-linecap:round;stroke- > linejoin:round;stroke-width:1.5} > + .st25 {stroke:#000000;stroke-linecap:round;stroke- > linejoin:round;stroke-width:1.5} > + .st26 {fill:url(#grad0-236)} > + .st27 {stroke:#7030a0;stroke-linecap:round;stroke- > linejoin:round;stroke-width:1} > + .st28 {fill:#8fa350;stroke:#404040;stroke- > linecap:round;stroke-linejoin:round;stroke-width:0.5} > + .st29 {fill:none;fill-rule:evenodd;font- > size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3} > + ]]> > + </style> > + > + <defs id="Patterns_And_Gradients"> > + <linearGradient id="grad0-21" x1="0" y1="0" x2="1" y2="0" > gradientTransform="rotate(270 0.5 0.5)"> > + <stop offset="0" stop-color="#f0f0f0" stop-opacity="1"/> > + <stop offset="1" stop-color="#ffffff" stop-opacity="1"/> > + </linearGradient> > + <linearGradient id="grad0-121" x1="0" y1="0" x2="1" y2="0" > gradientTransform="rotate(270 0.5 0.5)"> > + <stop offset="0" stop-color="#f0f0f0" stop-opacity="1"/> > + <stop offset="1" stop-color="#0070c0" stop-opacity="1"/> > + </linearGradient> > + <linearGradient id="grad0-128" x1="0" y1="0" x2="1" y2="0" > gradientTransform="rotate(270 0.5 0.5)"> > + <stop offset="0" stop-color="#f0f0f0" stop-opacity="1"/> > + <stop offset="1" stop-color="#d26d19" stop-opacity="1"/> > + </linearGradient> > + <linearGradient id="grad0-236" x1="0" y1="0" x2="1" y2="0" > gradientTransform="rotate(270 0.5 0.5)"> > + <stop offset="0" stop-color="#f0f0f0" stop-opacity="1"/> > + <stop offset="1" stop-color="#7030a0" stop-opacity="1"/> > + </linearGradient> > + </defs> > + <g v:mID="0" v:index="1" v:groupContext="foregroundPage"> > + <v:userDefs> > + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/> > + <v:ud v:nameU="msvThemeOrder" v:val="VT0(0):26"/> > + </v:userDefs> > + <title>Page-1</title> > + <v:pageProperties v:drawingScale="1" v:pageScale="1" > v:drawingUnits="0" v:shadowOffsetX="9" v:shadowOffsetY="-9"/> > + <v:layer v:name="Flowchart" v:index="0"/> > + <v:layer v:name="Connector" v:index="1"/> > + <g id="shape3-1" v:mID="3" v:groupContext="shape" > transform="translate(85.5,-493.875)"> > + <title>Rounded rectangle</title> > + <desc>Host</desc> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="50.5382" cy="730.125" width="101.08" > height="123.75"/> > + <g id="shadow3-2" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.44,1.44)" > class="st1"> > + <path d="M92.08 792 A9.00007 9.00007 -180 0 0 > 101.08 783 L101.08 677.25 A9.00007 9.00007 -180 0 0 92.08 668.25 L9 > + 668.25 A9.00007 > 9.00007 -180 0 > 0 0 677.25 L0 783 A9.00007 9.00007 -180 0 0 9 792 L92.08 792 Z" > + class="st2"/> > + </g> > + <path d="M92.08 792 A9.00007 9.00007 -180 0 0 101.08 783 > L101.08 677.25 A9.00007 9.00007 -180 0 0 92.08 668.25 L9 668.25 > + A9.00007 9.00007 -180 0 0 0 > 677.25 L0 > 783 A9.00007 9.00007 -180 0 0 9 792 L92.08 792 Z" class="st3"/> > + <text x="37.4" y="784.72" class="st4" > v:langID="2052"><v:paragraph > v:horizAlign="1"/><v:tabList/><v:newlineChar/><v:newlineChar/><v:newlineCh > ar/><v:newlineChar/><v:newlineChar/><v:newlineChar/>Host</text> > </g> > + <g id="shape10-6" v:mID="10" v:groupContext="shape" > transform="translate(33.75,-569.7)"> > + <title>Rounded rectangle.10</title> > + <desc>VM</desc> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="19.4595" cy="779.85" width="38.92" > height="24.3"/> > + <g id="shadow10-7" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.44,1.44)" > class="st1"> > + <path d="M29.92 792 A9.00007 9.00007 -180 0 0 > 38.92 783 L38.92 776.7 A9.00007 9.00007 -180 0 0 29.92 767.7 L9 767.7 > + A9.00007 9.00007 -180 > 0 0 0 > 776.7 L0 783 A9.00007 9.00007 -180 0 0 9 792 L29.92 792 Z" class="st5"/> > + </g> > + <path d="M29.92 792 A9.00007 9.00007 -180 0 0 38.92 783 > L38.92 776.7 A9.00007 9.00007 -180 0 0 29.92 767.7 L9 767.7 A9.00007 > + 9.00007 -180 0 0 0 776.7 L0 783 > A9.00007 9.00007 -180 0 0 9 792 L29.92 792 Z" class="st6"/> > + <text x="12.35" y="782.85" class="st7" > v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VM</text> > </g> > + <g id="shape11-11" v:mID="11" v:groupContext="shape" > transform="translate(93.171,-566.775)"> > + <title>Rounded rectangle.11</title> > + <desc>VNID 100</desc> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="27.6645" cy="783.9" width="55.33" > height="16.2"/> > + <g id="shadow11-12" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.44,1.44)" > class="st1"> > + <path d="M47.23 792 A8.10006 8.10006 -180 0 0 > 55.33 783.9 A8.10006 8.10006 -180 0 0 47.23 775.8 L8.1 775.8 A8.10006 > + 8.10006 -180 0 0 -0 > 783.9 > A8.10006 8.10006 -180 0 0 8.1 792 L47.23 792 Z" class="st5"/> > + </g> > + <path d="M47.23 792 A8.10006 8.10006 -180 0 0 55.33 > 783.9 A8.10006 8.10006 -180 0 0 47.23 775.8 L8.1 775.8 A8.10006 8.10006 > + -180 0 0 -0 783.9 A8.10006 > 8.10006 - > 180 0 0 8.1 792 L47.23 792 Z" class="st8"/> > + <text x="10.44" y="786.6" class="st9" > v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VNID 100</text> > </g> > + <g id="shape14-16" v:mID="14" v:groupContext="shape" > v:layerMember="0" transform="translate(204.576,-381.375)"> > + <title>Object</title> > + <desc>IP Network</desc> > + <v:custProps> > + <v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" > v:format="@" v:langID="1033"/> > + <v:cp v:nameU="Duration" v:lbl="Duration" > v:type="2" v:langID="1033"/> > + <v:cp v:nameU="Resources" v:lbl="Resources" > v:langID="1033"/> > + </v:custProps> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(1,1,1,1)" > v:tabSpace="42.5197"/> > + <v:textRect cx="92.25" cy="708.331" width="184.5" > height="167.337"/> > + <g id="shadow14-17" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.44,1.44)" > class="st1"> > + <path d="M26.52 755.72 A21.2239 24.0427 -180 0 0 > 57.09 776.07 A29.3964 33.3006 -180 0 0 110.26 768.54 A8.89171 10.0726 > + -180 0 0 119.85 779.41 > A33.8326 > 38.3261 -180 0 0 152.34 763.52 A21.0233 23.8155 -180 0 0 175.24 748.46 > + A36.2371 30.7434 > -123.25 0 0 > 161.38 716.14 A124.285 106.223 -59.84 0 0 184.46 684.3 A46.9314 46.8568 > + -180 0 0 160.15 641.4 > A28.0325 > 27.988 -180 0 0 106.53 654.79 A24.2803 21.6216 -26.25 0 0 66.28 656.03 > + A34.8986 32.2655 > -147.51 0 0 > 22.74 701.63 A27.2819 27.2385 -180 0 0 26.52 755.72 Z" class="st5"/> > + </g> > + <path d="M26.52 755.72 A21.2239 24.0427 -180 0 0 57.09 > 776.07 A29.3964 33.3006 -180 0 0 110.26 768.54 A8.89171 10.0726 > + -180 0 0 119.85 779.41 A33.8326 > 38.3261 -180 0 0 152.34 763.52 A21.0233 23.8155 -180 0 0 175.24 748.46 > A36.2371 > + 30.7434 -123.25 0 0 161.38 > 716.14 > A124.285 106.223 -59.84 0 0 184.46 684.3 A46.9314 46.8568 -180 0 0 160.15 > + 641.4 A28.0325 27.988 -180 0 0 > 106.53 > 654.79 A24.2803 21.6216 -26.25 0 0 66.28 656.03 A34.8986 32.2655 -147.51 > + 0 0 22.74 701.63 A27.2819 > 27.2385 - > 180 0 0 26.52 755.72 Z" class="st10"/> > + <text x="65.14" y="711.93" class="st11" > v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>IP > Network</text> </g> > + <g id="shape1-23" v:mID="1" v:groupContext="shape" > transform="translate(33.75,-521.1)"> > + <title>Rounded rectangle.1</title> > + <desc>VM</desc> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="19.4595" cy="779.85" width="38.92" > height="24.3"/> > + <g id="shadow1-24" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.44,1.44)" > class="st1"> > + <path d="M29.92 792 A9.00007 9.00007 -180 0 0 > 38.92 783 L38.92 776.7 A9.00007 9.00007 -180 0 0 29.92 767.7 L9 767.7 > + A9.00007 9.00007 -180 > 0 0 0 > 776.7 L0 783 A9.00007 9.00007 -180 0 0 9 792 L29.92 792 Z" class="st5"/> > + </g> > + <path d="M29.92 792 A9.00007 9.00007 -180 0 0 38.92 783 > L38.92 776.7 A9.00007 9.00007 -180 0 0 29.92 767.7 L9 767.7 A9.00007 > + 9.00007 -180 0 0 0 776.7 L0 783 > A9.00007 9.00007 -180 0 0 9 792 L29.92 792 Z" class="st6"/> > + <text x="12.35" y="782.85" class="st7" > v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VM</text> > </g> > + <g id="shape22-28" v:mID="22" v:groupContext="shape" > transform="translate(93.171,-530.325)"> > + <title>Rounded rectangle.22</title> > + <desc>VNID 101</desc> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="27.6645" cy="783.9" width="55.33" > height="16.2"/> > + <g id="shadow22-29" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.44,1.44)" > class="st1"> > + <path d="M47.23 792 A8.10006 8.10006 -180 0 0 > 55.33 783.9 A8.10006 8.10006 -180 0 0 47.23 775.8 L8.1 775.8 A8.10006 > + 8.10006 -180 0 0 -0 > 783.9 > A8.10006 8.10006 -180 0 0 8.1 792 L47.23 792 Z" class="st5"/> > + </g> > + <path d="M47.23 792 A8.10006 8.10006 -180 0 0 55.33 > 783.9 A8.10006 8.10006 -180 0 0 47.23 775.8 L8.1 775.8 A8.10006 8.10006 > + -180 0 0 -0 783.9 A8.10006 > 8.10006 - > 180 0 0 8.1 792 L47.23 792 Z" class="st12"/> > + <text x="10.44" y="786.6" class="st9" > v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VNID 101</text> > </g> > + <g id="shape23-33" v:mID="23" v:groupContext="shape" > transform="translate(85.5,-288)"> > + <title>Rounded rectangle.23</title> > + <desc>Host</desc> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="51.75" cy="733.5" width="103.5" > height="117"/> > + <g id="shadow23-34" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.44,1.44)" > class="st1"> > + <path d="M94.5 792 A9.00007 9.00007 -180 0 0 > 103.5 > 783 L103.5 684 A9.00007 9.00007 -180 0 0 94.5 675 L9 675 A9.00007 > + 9.00007 -180 0 0 0 684 > L0 783 > A9.00007 9.00007 -180 0 0 9 792 L94.5 792 Z" class="st2"/> > + </g> > + <path d="M94.5 792 A9.00007 9.00007 -180 0 0 103.5 783 > L103.5 684 A9.00007 9.00007 -180 0 0 94.5 675 L9 675 A9.00007 > + 9.00007 -180 0 0 0 684 L0 783 > A9.00007 9.00007 -180 0 0 9 792 L94.5 792 Z" class="st3"/> > + <text x="38.61" y="788.1" class="st4" > v:langID="2052"><v:paragraph > v:horizAlign="1"/><v:tabList/><v:newlineChar/><v:newlineChar/><v:newlineCh > ar/><v:newlineChar/><v:newlineChar/><v:newlineChar/>Host</text> > </g> > + <g id="shape24-38" v:mID="24" v:groupContext="shape" > transform="translate(33.75,-362.1)"> > + <title>Rounded rectangle.24</title> > + <desc>VM</desc> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="20.25" cy="780.3" width="40.51" > height="23.4"/> > + <g id="shadow24-39" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.44,1.44)" > class="st1"> > + <path d="M31.5 792 A9.00007 9.00007 -180 0 0 > 40.5 > 783 L40.5 777.6 A9.00007 9.00007 -180 0 0 31.5 768.6 L9 768.6 A9.00007 > + 9.00007 -180 0 0 0 > 777.6 L0 783 > A9.00007 9.00007 -180 0 0 9 792 L31.5 792 Z" class="st5"/> > + </g> > + <path d="M31.5 792 A9.00007 9.00007 -180 0 0 40.5 783 > L40.5 777.6 A9.00007 9.00007 -180 0 0 31.5 768.6 L9 768.6 A9.00007 > + 9.00007 -180 0 0 0 777.6 L0 783 > A9.00007 9.00007 -180 0 0 9 792 L31.5 792 Z" class="st6"/> > + <text x="13.14" y="783.3" class="st7" > v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VM</text> > </g> > + <g id="shape25-43" v:mID="25" v:groupContext="shape" > transform="translate(95.4166,-358.2)"> > + <title>Rounded rectangle.25</title> > + <desc>VNID 100</desc> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="28.7917" cy="784.2" width="57.59" > height="15.6"/> > + <g id="shadow25-44" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.44,1.44)" > class="st1"> > + <path d="M49.78 792 A7.80006 7.80006 -180 0 0 > 57.58 784.2 A7.80006 7.80006 -180 0 0 49.78 776.4 L7.8 776.4 A7.80006 > + 7.80006 -180 0 0 -0 > 784.2 > A7.80006 7.80006 -180 0 0 7.8 792 L49.78 792 Z" class="st5"/> > + </g> > + <path d="M49.78 792 A7.80006 7.80006 -180 0 0 57.58 > 784.2 A7.80006 7.80006 -180 0 0 49.78 776.4 L7.8 776.4 A7.80006 7.80006 > + -180 0 0 -0 784.2 A7.80006 > 7.80006 - > 180 0 0 7.8 792 L49.78 792 Z" class="st8"/> > + <text x="11.57" y="786.9" class="st9" > v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VNID 100</text> > </g> > + <g id="shape31-48" v:mID="31" v:groupContext="shape" > transform="translate(33.75,-315.3)"> > + <title>Rounded rectangle.31</title> > + <desc>VM</desc> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="20.6757" cy="780.3" width="41.36" > height="23.4"/> > + <g id="shadow31-49" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.44,1.44)" > class="st1"> > + <path d="M32.35 792 A9.00007 9.00007 -180 0 0 > 41.35 783 L41.35 777.6 A9.00007 9.00007 -180 0 0 32.35 768.6 L9 768.6 > + A9.00007 9.00007 -180 > 0 0 0 > 777.6 L0 783 A9.00007 9.00007 -180 0 0 9 792 L32.35 792 Z" class="st5"/> > + </g> > + <path d="M32.35 792 A9.00007 9.00007 -180 0 0 41.35 783 > L41.35 777.6 A9.00007 9.00007 -180 0 0 32.35 768.6 L9 768.6 A9.00007 > + 9.00007 -180 0 0 0 777.6 L0 783 > A9.00007 9.00007 -180 0 0 9 792 L32.35 792 Z" class="st6"/> > + <text x="13.56" y="783.3" class="st7" > v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VM</text> > </g> > + <g id="shape32-53" v:mID="32" v:groupContext="shape" > transform="translate(95.4166,-323.1)"> > + <title>Rounded rectangle.32</title> > + <desc>VNID 101</desc> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="28.7917" cy="784.2" width="57.59" > height="15.6"/> > + <g id="shadow32-54" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.44,1.44)" > class="st1"> > + <path d="M49.78 792 A7.80006 7.80006 -180 0 0 > 57.58 784.2 A7.80006 7.80006 -180 0 0 49.78 776.4 L7.8 776.4 A7.80006 > + 7.80006 -180 0 0 -0 > 784.2 > A7.80006 7.80006 -180 0 0 7.8 792 L49.78 792 Z" class="st5"/> > + </g> > + <path d="M49.78 792 A7.80006 7.80006 -180 0 0 57.58 > 784.2 A7.80006 7.80006 -180 0 0 49.78 776.4 L7.8 776.4 A7.80006 7.80006 > + -180 0 0 -0 784.2 A7.80006 > 7.80006 - > 180 0 0 7.8 792 L49.78 792 Z" class="st13"/> > + <text x="11.57" y="786.9" class="st9" > v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VNID 101</text> > </g> > + <g id="shape34-58" v:mID="34" v:groupContext="shape" > transform="translate(407.076,-491.625)"> > + <title>Rounded rectangle.34</title> > + <desc>Host</desc> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="48.4618" cy="730.125" width="96.93" > height="123.75"/> > + <g id="shadow34-59" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.44,1.44)" > class="st1"> > + <path d="M87.92 792 A9.00007 9.00007 -180 0 0 > 96.92 783 L96.92 677.25 A9.00007 9.00007 -180 0 0 87.92 668.25 L9 668.25 > + A9.00007 9.00007 -180 > 0 0 0 > 677.25 L0 783 A9.00007 9.00007 -180 0 0 9 792 L87.92 792 Z" class="st2"/> > + </g> > + <path d="M87.92 792 A9.00007 9.00007 -180 0 0 96.92 783 > L96.92 677.25 A9.00007 9.00007 -180 0 0 87.92 668.25 L9 668.25 > + A9.00007 9.00007 -180 0 0 0 > 677.25 L0 > 783 A9.00007 9.00007 -180 0 0 9 792 L87.92 792 Z" class="st3"/> > + <text x="35.33" y="784.72" class="st4" > v:langID="2052"><v:paragraph > v:horizAlign="1"/><v:tabList/><v:newlineChar/><v:newlineChar/><v:newlineCh > ar/><v:newlineChar/><v:newlineChar/><v:newlineChar/>Host</text> > </g> > + <g id="shape35-63" v:mID="35" v:groupContext="shape" > transform="translate(520.049,-580.313)"> > + <title>Rounded rectangle.35</title> > + <desc>VM</desc> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="18.8889" cy="779.625" width="37.78" > height="24.75"/> > + <g id="shadow35-64" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.44,1.44)" > class="st1"> > + <path d="M28.78 792 A9.00007 9.00007 -180 0 0 > 37.78 783 L37.78 776.25 A9.00007 9.00007 -180 0 0 28.78 767.25 L9 767.25 > + A9.00007 9.00007 -180 > 0 0 0 > 776.25 L0 783 A9.00007 9.00007 -180 0 0 9 792 L28.78 792 Z" class="st5"/> > + </g> > + <path d="M28.78 792 A9.00007 9.00007 -180 0 0 37.78 783 > L37.78 776.25 A9.00007 9.00007 -180 0 0 28.78 767.25 L9 767.25 > + A9.00007 9.00007 -180 0 0 0 > 776.25 L0 > 783 A9.00007 9.00007 -180 0 0 9 792 L28.78 792 Z" class="st6"/> > + <text x="11.78" y="782.63" class="st7" > v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VM</text> > </g> > + <g id="shape36-68" v:mID="36" v:groupContext="shape" > transform="translate(441.076,-582.375)"> > + <title>Rounded rectangle.36</title> > + <desc>VNID 100</desc> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="26.4444" cy="783.75" width="52.89" > height="16.5"/> > + <g id="shadow36-69" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.44,1.44)" > class="st1"> > + <path d="M44.64 792 A8.25006 8.25006 -180 0 0 > 52.89 783.75 A8.25006 8.25006 -180 0 0 44.64 775.5 L8.25 775.5 A8.25006 > + 8.25006 -180 0 0 0 > 783.75 > A8.25006 8.25006 -180 0 0 8.25 792 L44.64 792 Z" class="st5"/> > + </g> > + <path d="M44.64 792 A8.25006 8.25006 -180 0 0 52.89 > 783.75 A8.25006 8.25006 -180 0 0 44.64 775.5 L8.25 775.5 A8.25006 > + 8.25006 -180 0 0 0 783.75 > A8.25006 > 8.25006 -180 0 0 8.25 792 L44.64 792 Z" class="st8"/> > + <text x="9.22" y="786.45" class="st9" > v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VNID 100</text> > </g> > + <g id="shape37-73" v:mID="37" v:groupContext="shape" > transform="translate(520.049,-541.125)"> > + <title>Rounded rectangle.37</title> > + <desc>VM</desc> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="18.8889" cy="779.625" width="37.78" > height="24.75"/> > + <g id="shadow37-74" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.44,1.44)" > class="st1"> > + <path d="M28.78 792 A9.00007 9.00007 -180 0 0 > 37.78 783 L37.78 776.25 A9.00007 9.00007 -180 0 0 28.78 767.25 L9 767.25 > + A9.00007 9.00007 -180 > 0 0 0 > 776.25 L0 783 A9.00007 9.00007 -180 0 0 9 792 L28.78 792 Z" class="st5"/> > + </g> > + <path d="M28.78 792 A9.00007 9.00007 -180 0 0 37.78 783 > L37.78 776.25 A9.00007 9.00007 -180 0 0 28.78 767.25 L9 767.25 > + A9.00007 9.00007 -180 0 0 0 > 776.25 L0 > 783 A9.00007 9.00007 -180 0 0 9 792 L28.78 792 Z" class="st6"/> > + <text x="11.78" y="782.63" class="st7" > v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VM</text> > </g> > + <g id="shape38-78" v:mID="38" v:groupContext="shape" > transform="translate(441.076,-551.438)"> > + <title>Rounded rectangle.38</title> > + <desc>VNID 101</desc> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="26.4444" cy="783.75" width="52.89" > height="16.5"/> > + <g id="shadow38-79" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.44,1.44)" > class="st1"> > + <path d="M44.64 792 A8.25006 8.25006 -180 0 0 > 52.89 783.75 A8.25006 8.25006 -180 0 0 44.64 775.5 L8.25 775.5 A8.25006 > + 8.25006 -180 0 0 0 > 783.75 > A8.25006 8.25006 -180 0 0 8.25 792 L44.64 792 Z" class="st5"/> > + </g> > + <path d="M44.64 792 A8.25006 8.25006 -180 0 0 52.89 > 783.75 A8.25006 8.25006 -180 0 0 44.64 775.5 L8.25 775.5 A8.25006 > + 8.25006 -180 0 0 0 783.75 > A8.25006 > 8.25006 -180 0 0 8.25 792 L44.64 792 Z" class="st12"/> > + <text x="9.22" y="786.45" class="st9" > v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VNID 101</text> > </g> > + <g id="shape40-83" v:mID="40" v:groupContext="shape" > transform="translate(398.076,-288)"> > + <title>Rounded rectangle.40</title> > + <desc>Host</desc> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="52.9618" cy="727.875" width="105.93" > height="128.25"/> > + <g id="shadow40-84" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.44,1.44)" > class="st1"> > + <path d="M96.92 792 A9.00007 9.00007 -180 0 0 > 105.92 783 L105.92 672.75 A9.00007 9.00007 -180 0 0 96.92 663.75 L9 > + 663.75 A9.00007 > 9.00007 -180 0 > 0 0 672.75 L0 783 A9.00007 9.00007 -180 0 0 9 792 L96.92 792 Z" > + class="st2"/> > + </g> > + <path d="M96.92 792 A9.00007 9.00007 -180 0 0 105.92 783 > L105.92 672.75 A9.00007 9.00007 -180 0 0 96.92 663.75 L9 663.75 > + A9.00007 9.00007 -180 0 0 0 > 672.75 L0 > 783 A9.00007 9.00007 -180 0 0 9 792 L96.92 792 Z" class="st3"/> > + <text x="39.83" y="782.47" class="st4" > v:langID="2052"><v:paragraph > v:horizAlign="1"/><v:tabList/><v:newlineChar/><v:newlineChar/><v:newlineCh > ar/><v:newlineChar/><v:newlineChar/><v:newlineChar/>Host</text> > </g> > + <g id="shape41-88" v:mID="41" v:groupContext="shape" > transform="translate(522,-369.225)"> > + <title>Rounded rectangle.41</title> > + <desc>VM</desc> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="21.1806" cy="779.175" width="42.37" > height="25.65"/> > + <g id="shadow41-89" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.44,1.44)" > class="st1"> > + <path d="M33.36 792 A9.00007 9.00007 -180 0 0 > 42.36 783 L42.36 775.35 A9.00007 9.00007 -180 0 0 33.36 766.35 L9 766.35 > + A9.00007 9.00007 -180 > 0 0 0 > 775.35 L0 783 A9.00007 9.00007 -180 0 0 9 792 L33.36 792 Z" class="st5"/> > + </g> > + <path d="M33.36 792 A9.00007 9.00007 -180 0 0 42.36 783 > L42.36 775.35 A9.00007 9.00007 -180 0 0 33.36 766.35 L9 766.35 > + A9.00007 9.00007 -180 0 0 0 > 775.35 L0 > 783 A9.00007 9.00007 -180 0 0 9 792 L33.36 792 Z" class="st6"/> > + <text x="14.07" y="782.17" class="st7" > v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VM</text> > </g> > + <g id="shape42-93" v:mID="42" v:groupContext="shape" > transform="translate(436.201,-369)"> > + <title>Rounded rectangle.42</title> > + <desc>VNID 100</desc> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="29.6528" cy="783.45" width="59.31" > height="17.1"/> > + <g id="shadow42-94" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.44,1.44)" > class="st1"> > + <path d="M50.76 792 A8.55007 8.55007 -180 0 0 > 59.31 783.45 A8.55007 8.55007 -180 0 0 50.76 774.9 L8.55 774.9 A8.55007 > + 8.55007 -180 0 0 0 > 783.45 > A8.55007 8.55007 -180 0 0 8.55 792 L50.76 792 Z" class="st5"/> > + </g> > + <path d="M50.76 792 A8.55007 8.55007 -180 0 0 59.31 > 783.45 A8.55007 8.55007 -180 0 0 50.76 774.9 L8.55 774.9 A8.55007 > + 8.55007 -180 0 0 0 783.45 > A8.55007 > 8.55007 -180 0 0 8.55 792 L50.76 792 Z" class="st8"/> > + <text x="12.43" y="786.15" class="st9" > v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VNID 100</text> > </g> > + <g id="shape43-98" v:mID="43" v:groupContext="shape" > transform="translate(523.319,-317.925)"> > + <title>Rounded rectangle.43</title> > + <desc>VM</desc> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="21.1806" cy="779.175" width="42.37" > height="25.65"/> > + <g id="shadow43-99" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.44,1.44)" > class="st1"> > + <path d="M33.36 792 A9.00007 9.00007 -180 0 0 > 42.36 783 L42.36 775.35 A9.00007 9.00007 -180 0 0 33.36 766.35 L9 766.35 > + A9.00007 9.00007 -180 > 0 0 0 > 775.35 L0 783 A9.00007 9.00007 -180 0 0 9 792 L33.36 792 Z" class="st5"/> > + </g> > + <path d="M33.36 792 A9.00007 9.00007 -180 0 0 42.36 783 > L42.36 775.35 A9.00007 9.00007 -180 0 0 33.36 766.35 L9 766.35 > + A9.00007 9.00007 -180 0 0 0 > 775.35 L0 > 783 A9.00007 9.00007 -180 0 0 9 792 L33.36 792 Z" class="st6"/> > + <text x="14.07" y="782.17" class="st7" > v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VM</text> > </g> > + <g id="shape44-103" v:mID="44" v:groupContext="shape" > transform="translate(436.201,-324.9)"> > + <title>Rounded rectangle.44</title> > + <desc>VNID 102</desc> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="29.6528" cy="783.45" width="59.31" > height="17.1"/> > + <g id="shadow44-104" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.44,1.44)" > class="st1"> > + <path d="M50.76 792 A8.55007 8.55007 -180 0 0 > 59.31 783.45 A8.55007 8.55007 -180 0 0 50.76 774.9 L8.55 774.9 A8.55007 > + 8.55007 -180 0 0 0 > 783.45 > A8.55007 8.55007 -180 0 0 8.55 792 L50.76 792 Z" class="st5"/> > + </g> > + <path d="M50.76 792 A8.55007 8.55007 -180 0 0 59.31 > 783.45 A8.55007 8.55007 -180 0 0 50.76 774.9 L8.55 774.9 A8.55007 > + 8.55007 -180 0 0 0 783.45 > A8.55007 > 8.55007 -180 0 0 8.55 792 L50.76 792 Z" class="st14"/> > + <text x="12.43" y="786.15" class="st9" > v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VNID 102</text> > </g> > + <g id="shape46-108" v:mID="46" v:groupContext="shape" > transform="translate(441.076,-518.438)"> > + <title>Rounded rectangle.46</title> > + <desc>VNID 102</desc> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="26.4444" cy="783.75" width="52.89" > height="16.5"/> > + <g id="shadow46-109" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.44,1.44)" > class="st1"> > + <path d="M44.64 792 A8.25006 8.25006 -180 0 0 > 52.89 783.75 A8.25006 8.25006 -180 0 0 44.64 775.5 L8.25 775.5 A8.25006 > + 8.25006 -180 0 0 0 > 783.75 > A8.25006 8.25006 -180 0 0 8.25 792 L44.64 792 Z" class="st5"/> > + </g> > + <path d="M44.64 792 A8.25006 8.25006 -180 0 0 52.89 > 783.75 A8.25006 8.25006 -180 0 0 44.64 775.5 L8.25 775.5 A8.25006 > + 8.25006 -180 0 0 0 783.75 > A8.25006 > 8.25006 -180 0 0 8.25 792 L44.64 792 Z" class="st14"/> > + <text x="9.22" y="786.45" class="st9" > v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VNID 102</text> > </g> > + <g id="shape47-113" v:mID="47" v:groupContext="shape" > transform="translate(520.049,-501.937)"> > + <title>Rounded rectangle.47</title> > + <desc>VM</desc> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="18.8889" cy="779.625" width="37.78" > height="24.75"/> > + <g id="shadow47-114" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.44,1.44)" > class="st1"> > + <path d="M28.78 792 A9.00007 9.00007 -180 0 0 > 37.78 783 L37.78 776.25 A9.00007 9.00007 -180 0 0 28.78 767.25 L9 767.25 > + A9.00007 9.00007 -180 > 0 0 0 > 776.25 L0 783 A9.00007 9.00007 -180 0 0 9 792 L28.78 792 Z" class="st5"/> > + </g> > + <path d="M28.78 792 A9.00007 9.00007 -180 0 0 37.78 783 > L37.78 776.25 A9.00007 9.00007 -180 0 0 28.78 767.25 L9 767.25 > + A9.00007 9.00007 -180 0 0 0 > 776.25 L0 > 783 A9.00007 9.00007 -180 0 0 9 792 L28.78 792 Z" class="st6"/> > + <text x="11.78" y="782.63" class="st7" > v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VM</text> > </g> > + <g id="shape48-118" v:mID="48" v:groupContext="shape" > transform="translate(940.314,236.405) rotate(88.7578)"> > + <title>Arced arrow</title> > + <v:userDefs> > + <v:ud v:nameU="ControlX" v:val="VT0(0.125):0"/> > + <v:ud v:nameU="Scale" v:val="VT0(1):26"/> > + <v:ud v:nameU="AntiScale" v:val="VT0(1):26"/> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="ControlX" v:prompt="" > v:val="VT0(0.0625):1"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <path d="M1.13 787.65 L3.31 788.21 L0 792 L-1.04 787.08 > L1.13 787.65 ZM206.44 787.65 L204.26 788.21 L207.57 792 L208.62 > + 787.08 L206.44 787.65 Z" > class="st15"/> > + <path d="M1.13 787.65 A106.681 106.681 0 0 1 206.44 > 787.65" class="st16"/> > + <path d="M1.13 787.65 L3.31 788.21 L0 792 L-1.04 787.08 > L1.13 787.65" class="st16"/> > + <path d="M206.44 787.65 L204.26 788.21 L207.57 792 > L208.62 787.08 L206.44 787.65" class="st16"/> > + </g> > + <g id="shape49-125" v:mID="49" v:groupContext="shape" > transform="translate(489.312,991.905) rotate(176.508)"> > + <title>Arced arrow.49</title> > + <v:userDefs> > + <v:ud v:nameU="ControlX" v:val="VT0(0.125):0"/> > + <v:ud v:nameU="Scale" v:val="VT0(1):26"/> > + <v:ud v:nameU="AntiScale" v:val="VT0(1):26"/> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="ControlX" v:prompt="" > v:val="VT0(0.0625):1"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <path d="M2.72 788.42 L4.51 789.78 L0 792 L0.93 787.06 > L2.72 788.42 ZM292.83 788.42 L291.03 789.78 L295.55 792 L294.62 > + 787.06 L292.83 788.42 Z" > class="st17"/> > + <path d="M2.72 788.42 A183.886 183.886 0 0 1 292.83 > 788.42" class="st18"/> > + <path d="M2.72 788.42 L4.51 789.78 L0 792 L0.93 787.06 > L2.72 788.42" class="st18"/> > + <path d="M292.83 788.42 L291.03 789.78 L295.55 792 > L294.62 787.06 L292.83 788.42" class="st18"/> > + </g> > + <g id="shape50-132" v:mID="50" v:groupContext="shape" > transform="translate(120.726,-365.342) rotate(-2.33544)"> > + <title>Arced arrow.50</title> > + <v:userDefs> > + <v:ud v:nameU="ControlX" v:val="VT0(0.125):0"/> > + <v:ud v:nameU="Scale" v:val="VT0(1):26"/> > + <v:ud v:nameU="AntiScale" v:val="VT0(1):26"/> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="ControlX" v:prompt="" > v:val="VT0(0.0625):1"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <path d="M3.79 789.57 L5 791.47 L0 792 L2.58 787.68 > L3.79 789.57 ZM279.65 789.57 L278.43 791.47 L283.44 792 L280.86 787.68 > + L279.65 789.57 Z" > class="st17"/> > + <path d="M3.79 789.57 A259.249 259.249 0 0 1 279.65 > 789.57" class="st18"/> > + <path d="M3.79 789.57 L5 791.47 L0 792 L2.58 787.68 > L3.79 789.57" class="st18"/> > + <path d="M279.65 789.57 L278.43 791.47 L283.44 792 > L280.86 787.68 L279.65 789.57" class="st18"/> > + </g> > + <g id="shape4-138" v:mID="4" v:groupContext="shape" > transform="translate(348.104,-324.947) rotate(20.2291)"> > + <title>Sheet.4</title> > + <v:userDefs> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <g id="shadow4-139" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + > transform="matrix(1,0,0,1,1.84909,0.853261)" > class="st1"> > + <path d="M0 792 L22.56 792" class="st19"/> > + </g> > + <path d="M0 792 L22.56 792" class="st20"/> > + </g> > + <g id="shape5-145" v:mID="5" v:groupContext="shape" > transform="translate(-74.2157,-312.797) rotate(-10.8671)"> > + <title>Sheet.5</title> > + <v:userDefs> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <g id="shadow5-146" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + > transform="matrix(1,2.77556E-017,-2.77556E- > 017,1,1.14269,1.68566)" class="st1"> > + <path d="M0 792 L20.69 792" class="st19"/> > + </g> > + <path d="M0 792 L20.69 792" class="st21"/> > + </g> > + <g id="shape6-152" v:mID="6" v:groupContext="shape" > transform="translate(327.757,-539.646) rotate(18.7888)"> > + <title>Sheet.6</title> > + <v:userDefs> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <g id="shadow6-153" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + > transform="matrix(1,0,0,1,1.82706,0.89947)" > class="st1"> > + <path d="M0 792 L21.66 792" class="st19"/> > + </g> > + <path d="M0 792 L21.66 792" class="st20"/> > + </g> > + <g id="shape7-159" v:mID="7" v:groupContext="shape" > transform="translate(-121.163,-509.165) rotate(-14.1663)"> > + <title>Sheet.7</title> > + <v:userDefs> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <g id="shadow7-160" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + > transform="matrix(1,0,0,1,1.04379,1.74863)" > class="st1"> > + <path d="M0 792 L21.15 792" class="st19"/> > + </g> > + <path d="M0 792 L21.15 792" class="st21"/> > + </g> > + <g id="shape8-166" v:mID="8" v:groupContext="shape" > transform="translate(431.534,-588.161) rotate(-4.52117)"> > + <title>Sheet.8</title> > + <v:userDefs> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <g id="shadow8-167" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + > transform="matrix(1,0,0,1,1.32201,1.54903)" > class="st1"> > + <path d="M0 792 L26.16 792" class="st19"/> > + </g> > + <path d="M0 792 L26.16 792" class="st20"/> > + </g> > + <g id="shape13-173" v:mID="13" v:groupContext="shape" > transform="translate(676.771,-538.302) rotate(13.3451)"> > + <title>Sheet.13</title> > + <v:userDefs> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <g id="shadow13-174" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + > transform="matrix(1,0,0,1,1.73349,1.06874)" > class="st1"> > + <path d="M0 792 L26.81 792" class="st19"/> > + </g> > + <path d="M0 792 L26.81 792" class="st21"/> > + </g> > + <g id="shape15-180" v:mID="15" v:groupContext="shape" > transform="translate(833.452,-450.238) rotate(25.3816)"> > + <title>Sheet.15</title> > + <v:userDefs> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <g id="shadow15-181" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + > transform="matrix(1,0,0,1,1.91825,0.683753)" > class="st1"> > + <path d="M0 792 L28.87 792" class="st19"/> > + </g> > + <path d="M0 792 L28.87 792" class="st22"/> > + </g> > + <g id="shape16-187" v:mID="16" v:groupContext="shape" > transform="translate(362.881,-366.366) rotate(-9.64002)"> > + <title>Sheet.16</title> > + <v:userDefs> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <g id="shadow16-188" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + > transform="matrix(1,0,0,1,1.17853,1.6608)" > class="st1"> > + <path d="M0 792 L26.87 792" class="st19"/> > + </g> > + <path d="M0 792 L26.87 792" class="st20"/> > + </g> > + <g id="shape17-194" v:mID="17" v:groupContext="shape" > transform="translate(572.033,-329.744) rotate(5.54482)"> > + <title>Sheet.17</title> > + <v:userDefs> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <g id="shadow17-195" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + > transform="matrix(1,0,0,1,1.5724,1.29412)" > class="st1"> > + <path d="M0 792 L27.94 792" class="st19"/> > + </g> > + <path d="M0 792 L27.94 792" class="st23"/> > + </g> > + <g id="shape18-201" v:mID="18" v:groupContext="shape" > transform="translate(-464.654,-1.71391) rotate(-55.621)"> > + <title>Sheet.18</title> > + <v:userDefs> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <g id="shadow18-202" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,- > 0.375346,2.00158)" class="st1"> > + <path d="M0 792 L71.36 792" class="st19"/> > + </g> > + <path d="M0 792 L71.36 792" class="st24"/> > + </g> > + <g id="shape19-208" v:mID="19" v:groupContext="shape" > transform="translate(1074.07,13.0882) rotate(62.5098)"> > + <title>Sheet.19</title> > + <v:userDefs> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <g id="shadow19-209" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.94211,- > 0.612711)" class="st1"> > + <path d="M0 792 L57.58 792" class="st19"/> > + </g> > + <path d="M0 792 L57.58 792" class="st24"/> > + </g> > + <g id="shape20-215" v:mID="20" v:groupContext="shape" > transform="translate(835.264,-218.138) rotate(54.9898)"> > + <title>Sheet.20</title> > + <v:userDefs> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <g id="shadow20-216" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,2.00559,- > 0.353273)" class="st1"> > + <path d="M0 792 L62.72 792" class="st19"/> > + </g> > + <path d="M0 792 L62.72 792" class="st25"/> > + </g> > + <g id="shape21-222" v:mID="21" v:groupContext="shape" > transform="translate(985.087,779.949) rotate(133.129)"> > + <title>Sheet.21</title> > + <v:userDefs> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <g id="shadow21-223" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,0.0664758,- > 2.03538)" class="st1"> > + <path d="M0 792 L43.41 792" class="st19"/> > + </g> > + <path d="M0 792 L43.41 792" class="st24"/> > + </g> > + <g id="shape68-229" v:mID="68" v:groupContext="shape" > transform="translate(933.635,852.514) rotate(141.544)"> > + <title>Arced arrow.68</title> > + <v:userDefs> > + <v:ud v:nameU="ControlX" v:val="VT0(0.125):0"/> > + <v:ud v:nameU="Scale" v:val="VT0(1):26"/> > + <v:ud v:nameU="AntiScale" v:val="VT0(1):26"/> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="ControlX" v:prompt="" > v:val="VT0(0):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <path d="M0 792 A329.322 329.322 0 0 1 367.87 792" > class="st16"/> > + </g> > + <g id="shape70-233" v:mID="70" v:groupContext="shape" > transform="translate(-355.547,438.576) rotate(-88.5548)"> > + <title>Arced arrow.70</title> > + <v:userDefs> > + <v:ud v:nameU="ControlX" v:val="VT0(0.125):0"/> > + <v:ud v:nameU="Scale" v:val="VT0(1):26"/> > + <v:ud v:nameU="AntiScale" v:val="VT0(1):26"/> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="ControlX" v:prompt="" > v:val="VT0(0.06400492):1"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <path d="M1.04 787.51 L3.29 788.03 L0 792 L-1.2 786.99 > L1.04 787.51 ZM192.26 787.51 L190.01 788.03 L193.3 792 L194.5 > + 786.99 L192.26 787.51 Z" > class="st26"/> > + <path d="M1.04 787.51 A98.7059 98.7059 0 0 1 192.26 > 787.51" class="st27"/> > + <path d="M1.04 787.51 L3.29 788.03 L0 792 L-1.2 786.99 > L1.04 787.51" class="st27"/> > + <path d="M192.26 787.51 L190.01 788.03 L193.3 792 L194.5 > 786.99 L192.26 787.51" class="st27"/> > + </g> > + <g id="shape84-240" v:mID="84" v:groupContext="shape" > transform="translate(157.5,-510.75)"> > + <title>Sheet.84</title> > + <desc>TEP</desc> > + <v:userDefs> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="11.25" cy="753.75" width="22.5" > height="76.5"/> > + <rect x="0" y="715.5" width="22.5" height="76.5" > class="st28"/> > + <text x="4.54" y="756.45" class="st9" > v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>TEP</text> > </g> > + <g id="shape86-243" v:mID="86" v:groupContext="shape" > transform="translate(162,-315)"> > + <title>Sheet.86</title> > + <desc>TEP</desc> > + <v:userDefs> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="11.8125" cy="753.75" width="23.63" > height="76.5"/> > + <rect x="0" y="715.5" width="23.625" height="76.5" > class="st28"/> > + <text x="5.1" y="756.45" class="st9" > v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>TEP</text> > </g> > + <g id="shape87-246" v:mID="87" v:groupContext="shape" > transform="translate(405,-324)"> > + <title>Sheet.87</title> > + <desc>TEP</desc> > + <v:userDefs> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="11.8125" cy="753.75" width="23.63" > height="76.5"/> > + <rect x="0" y="715.5" width="23.625" height="76.5" > class="st28"/> > + <text x="5.1" y="756.45" class="st9" > v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>TEP</text> > </g> > + <g id="shape88-249" v:mID="88" v:groupContext="shape" > transform="translate(411.75,-513)"> > + <title>Sheet.88</title> > + <desc>TEP</desc> > + <v:userDefs> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="11.25" cy="754.875" width="22.5" > height="74.25"/> > + <rect x="0" y="717.75" width="22.5" height="74.25" > class="st28"/> > + <text x="4.54" y="757.58" class="st9" > v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>TEP</text> > </g> > + </g> > +</svg> > diff --git a/doc/guides/sample_app_ug/img/tep_termination_arch.svg > b/doc/guides/sample_app_ug/img/tep_termination_arch.svg > new file mode 100644 > index 0000000..6f4754d > --- /dev/null > +++ b/doc/guides/sample_app_ug/img/tep_termination_arch.svg > @@ -0,0 +1,548 @@ > +<?xml version="1.0" encoding="UTF-8" standalone="no"?> > +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" > "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> > +<!-- Generated by Microsoft Visio, SVG Export VXLAN.svg Page-1 --> > +<svg xmlns="http://www.w3.org/2000/svg" > xmlns:xlink="http://www.w3.org/1999/xlink" > xmlns:ev="http://www.w3.org/2001/xml-events" > + > xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" > width="8.5in" height="11in" viewBox="0 0 612 792" > + xml:space="preserve" color-interpolation-filters="sRGB" > class="st24"> > + <v:documentProperties v:langID="1033" v:viewMarkup="false"> > + <v:userDefs> > + <v:ud v:nameU="msvSubprocessMaster" v:prompt="" > v:val="VT4(Rectangle)"/> > + <v:ud v:nameU="msvNoAutoConnect" v:val="VT0(1):26"/> > + <v:ud v:nameU="msvConvertTheme"/> > + </v:userDefs> > + </v:documentProperties> > + > + <style type="text/css"> > + <![CDATA[ > + .st1 {visibility:visible} > + .st2 {fill:#cdcdcd;fill-opacity:0.5;stroke:#cdcdcd;stroke- > linecap:round;stroke-linejoin:round;stroke-opacity:0.5} > + .st3 {fill:#d1dab4;stroke:#404040;stroke-linecap:round;stroke- > linejoin:round;stroke-width:0.25} > + .st4 {fill:#6b9bc7;stroke:#404040;stroke-linecap:round;stroke- > linejoin:round;stroke-width:0.25} > + .st5 {fill:#000000;font-family:Calibri;font- > size:0.916672em;font-weight:bold} > + .st6 {fill:#92d050;stroke:#404040;stroke-linecap:round;stroke- > linejoin:round;stroke-width:0.25} > + .st7 {fill:#000000;font-family:Calibri;font-size:0.833336em} > + .st8 {font-size:1em} > + .st9 {fill:#3e75a6;stroke:#404040;stroke-linecap:round;stroke- > linejoin:round;stroke-width:0.25} > + .st10 {fill:#d8d8d8;stroke:#404040;stroke- > linecap:round;stroke-linejoin:round;stroke-width:0.24} > + .st11 {fill:#404040;fill-opacity:1;stroke:#404040;stroke- > opacity:1;stroke-width:0.08695652173913} > + .st12 {fill:none;stroke:none;stroke-linecap:round;stroke- > linejoin:round;stroke-width:0.25} > + .st13 {fill:#000000;font-family:Calibri;font- > size:1.00001em;font-weight:bold} > + .st14 {fill:#000000;font-family:Calibri;font-size:1.00001em} > + .st15 {fill:#000000;font-family:Calibri;font- > size:1.16666em;font-weight:bold} > + .st16 {fill:url(#grad0-72);stroke:#404040;stroke- > linecap:round;stroke-linejoin:round;stroke-width:0.25} > + .st17 {fill:url(#grad0-83);stroke:#404040;stroke- > linecap:round;stroke-linejoin:round;stroke-width:0.25} > + .st18 {fill:#f2c096;stroke:#404040;stroke- > linecap:round;stroke-linejoin:round;stroke-width:0.25} > + .st19 {fill:#e1ebf3;stroke:#404040;stroke- > linecap:round;stroke-linejoin:round;stroke-width:0.25} > + .st20 {fill:#000000;font-family:Calibri;font-size:1.16666em} > + .st21 {font-size:0.857157em} > + .st22 {fill:#d26d19;stroke:none;stroke-linecap:round;stroke- > linejoin:round;stroke-width:0.75} > + .st23 {fill:#a6c3dd;stroke:#404040;stroke- > linecap:round;stroke-linejoin:round;stroke-width:0.25} > + .st24 {fill:none;fill-rule:evenodd;font- > size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3} > + ]]> > + </style> > + > + <defs id="Patterns_And_Gradients"> > + <linearGradient id="grad0-72" x1="0" y1="0" x2="1" y2="0" > gradientTransform="rotate(270 0.5 0.5)"> > + <stop offset="0" stop-color="#efaf7a" stop-opacity="1"/> > + <stop offset="1" stop-color="#f2bf96" stop-opacity="1"/> > + </linearGradient> > + <linearGradient id="grad0-83" x1="0" y1="0" x2="1" y2="0" > gradientTransform="rotate(270 0.5 0.5)"> > + <stop offset="0" stop-color="#f0f0f0" stop-opacity="1"/> > + <stop offset="1" stop-color="#ffffff" stop-opacity="1"/> > + </linearGradient> > + </defs> > + <defs id="Markers"> > + <g id="lend13"> > + <path d="M 3 1 L 0 0 L 3 -1 L 3 1 " > style="stroke:none"/> > + </g> > + <marker id="mrkr13-28" class="st11" v:arrowType="13" > v:arrowSize="2" v:setback="34.5" refX="-34.5" orient="auto" > + markerUnits="strokeWidth" overflow="visible"> > + <use xlink:href="#lend13" transform="scale(-11.5,-11.5) > "/> > + </marker> > + </defs> > + <g v:mID="0" v:index="1" v:groupContext="foregroundPage"> > + <v:userDefs> > + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/> > + <v:ud v:nameU="msvThemeOrder" v:val="VT0(0):26"/> > + </v:userDefs> > + <title>Page-1</title> > + <v:pageProperties v:drawingScale="1" v:pageScale="1" > v:drawingUnits="0" v:shadowOffsetX="9" v:shadowOffsetY="-9"/> > + <v:layer v:name="Flowchart" v:index="0"/> > + <g id="shape33-1" v:mID="33" v:groupContext="shape" > transform="translate(117,-432)"> > + <title>Rectangle.18</title> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <g id="shadow33-2" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.44,1.44)" > class="st1"> > + <rect x="0" y="666" width="342" height="126" > class="st2"/> > + </g> > + <rect x="0" y="666" width="342" height="126" > class="st3"/> > + </g> > + <g id="shape10-5" v:mID="10" v:groupContext="shape" > transform="translate(216,-522)"> > + <title>Rounded rectangle.10</title> > + <desc>Userspace vhost Interface</desc> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="74.25" cy="778.5" width="148.5" > height="27"/> > + <g id="shadow10-6" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.44,1.44)" > class="st1"> > + <path d="M139.5 792 A9.00007 9.00007 -180 0 0 > 148.5 783 L148.5 774 A9.00007 9.00007 -180 0 0 139.5 765 L9 765 A9.00007 > + 9.00007 -180 0 0 0 774 > L0 783 > A9.00007 9.00007 -180 0 0 9 792 L139.5 792 Z" class="st2"/> > + </g> > + <path d="M139.5 792 A9.00007 9.00007 -180 0 0 148.5 783 > L148.5 774 A9.00007 9.00007 -180 0 0 139.5 765 L9 765 A9.00007 > + 9.00007 -180 0 0 0 774 L0 783 > A9.00007 9.00007 -180 0 0 9 792 L139.5 792 Z" class="st4"/> > + <text x="15.14" y="781.8" class="st5" > v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>Userspace vhost > Interface </text> </g> > + <g id="shape12-10" v:mID="12" v:groupContext="shape" > transform="translate(355.5,-481.5)"> > + <title>Rounded rectangle.12</title> > + <desc>Encapsulation</desc> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="45" cy="785.25" width="90" > height="13.5"/> > + <g id="shadow12-11" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.44,1.44)" > class="st1"> > + <path d="M83.25 792 A6.75005 6.75005 -180 0 0 90 > 785.25 A6.75005 6.75005 -180 0 0 83.25 778.5 L6.75 778.5 A6.75005 > + 6.75005 -180 0 0 0 > 785.25 > A6.75005 6.75005 -180 0 0 6.75 792 L83.25 792 Z" class="st2"/> > + </g> > + <path d="M83.25 792 A6.75005 6.75005 -180 0 0 90 785.25 > A6.75005 6.75005 -180 0 0 83.25 778.5 L6.75 778.5 A6.75005 6.75005 > + -180 0 0 0 785.25 A6.75005 > 6.75005 - > 180 0 0 6.75 792 L83.25 792 Z" class="st6"/> > + <text x="16.58" y="788.25" class="st7" > v:langID="1033"><v:paragraph > v:horizAlign="1"/><v:tabList/>Encapsulation</text> </g> > + <g id="shape13-15" v:mID="13" v:groupContext="shape" > transform="translate(153,-483.75)"> > + <title>Rounded rectangle.13</title> > + <desc>Decapsulation</desc> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="36" cy="785.25" width="72" > height="13.5"/> > + <g id="shadow13-16" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.44,1.44)" > class="st1"> > + <path d="M65.25 792 A6.75005 6.75005 -180 0 0 72 > 785.25 A6.75005 6.75005 -180 0 0 65.25 778.5 L6.75 778.5 A6.75005 > + 6.75005 -180 0 0 0 > 785.25 > A6.75005 6.75005 -180 0 0 6.75 792 L65.25 792 Z" class="st2"/> > + </g> > + <path d="M65.25 792 A6.75005 6.75005 -180 0 0 72 785.25 > A6.75005 6.75005 -180 0 0 65.25 778.5 L6.75 778.5 A6.75005 6.75005 > + -180 0 0 0 785.25 A6.75005 > 6.75005 - > 180 0 0 6.75 792 L65.25 792 Z" class="st6"/> > + <text x="8.22" y="788.25" class="st7" > v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>D<tspan > class="st8" > + > v:langID="2052">ecap</tspan>sulation</text> </g> > + <g id="shape35-21" v:mID="35" v:groupContext="shape" > transform="translate(117,-324)"> > + <title>Rectangle.18.35</title> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <g id="shadow35-22" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.44,1.44)" > class="st1"> > + <rect x="0" y="697.5" width="342" height="94.5" > class="st2"/> > + </g> > + <rect x="0" y="697.5" width="342" height="94.5" > class="st9"/> > + </g> > + <g id="shape15-25" v:mID="15" v:groupContext="shape" > transform="translate(259.654,-263.25)"> > + <title>Data store</title> > + <v:userDefs> > + <v:ud v:nameU="CH" v:val="VT0(5):26"/> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + </v:userDefs> > + <path d="M0 600.13 A28.3465 10.6299 0 0 1 56.69 600.13 > A28.3465 10.6299 0 0 1 -0 600.13 ZM0 600.13 L0 781.37 A28.3465 > + 10.6299 -180 1 0 56.69 781.37 > L56.69 > 600.13 A28.3465 10.6299 0 0 1 0 600.13 Z" class="st10"/> > + </g> > + <g id="shape16-29" v:mID="16" v:groupContext="shape" > transform="translate(324,-391.5)"> > + <title>Rounded rectangle.16</title> > + <desc>Inner IP/L4 checksum offload</desc> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="67.5" cy="785.25" width="135" > height="13.5"/> > + <g id="shadow16-30" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.44,1.44)" > class="st1"> > + <path d="M128.25 792 A6.75005 6.75005 -180 0 0 > 135 > 785.25 A6.75005 6.75005 -180 0 0 128.25 778.5 L6.75 778.5 A6.75005 > + 6.75005 -180 0 0 0 > 785.25 > A6.75005 6.75005 -180 0 0 6.75 792 L128.25 792 Z" class="st2"/> > + </g> > + <path d="M128.25 792 A6.75005 6.75005 -180 0 0 135 > 785.25 A6.75005 6.75005 -180 0 0 128.25 778.5 L6.75 778.5 A6.75005 > + 6.75005 -180 0 0 0 785.25 > A6.75005 > 6.75005 -180 0 0 6.75 792 L128.25 792 Z" class="st6"/> > + <text x="8.27" y="788.25" class="st7" > v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>Inner IP/L4 > checksum offload</text> </g> > + <g id="shape17-34" v:mID="17" v:groupContext="shape" > transform="translate(144,-337.5)"> > + <title>Rounded rectangle.17</title> > + <desc>UDP port configuration</desc> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="54" cy="785.25" width="108" > height="13.5"/> > + <g id="shadow17-35" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.44,1.44)" > class="st1"> > + <path d="M101.25 792 A6.75005 6.75005 -180 0 0 > 108 > 785.25 A6.75005 6.75005 -180 0 0 101.25 778.5 L6.75 778.5 A6.75005 > + 6.75005 -180 0 0 0 > 785.25 > A6.75005 6.75005 -180 0 0 6.75 792 L101.25 792 Z" class="st2"/> > + </g> > + <path d="M101.25 792 A6.75005 6.75005 -180 0 0 108 > 785.25 A6.75005 6.75005 -180 0 0 101.25 778.5 L6.75 778.5 A6.75005 > + 6.75005 -180 0 0 0 785.25 > A6.75005 > 6.75005 -180 0 0 6.75 792 L101.25 792 Z" class="st6"/> > + <text x="6.93" y="788.25" class="st7" > v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>UDP port > configuration</text> </g> > + <g id="shape18-39" v:mID="18" v:groupContext="shape" > transform="translate(145.346,-357.75)"> > + <title>Rounded rectangle.18</title> > + <desc>Inner IP/L4 csum verify</desc> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="53.3268" cy="785.25" width="106.66" > height="13.5"/> > + <g id="shadow18-40" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.44,1.44)" > class="st1"> > + <path d="M99.9 792 A6.75005 6.75005 -180 0 0 > 106.65 785.25 A6.75005 6.75005 -180 0 0 99.9 778.5 L6.75 778.5 A6.75005 > + 6.75005 -180 0 0 0 > 785.25 > A6.75005 6.75005 -180 0 0 6.75 792 L99.9 792 Z" class="st2"/> > + </g> > + <path d="M99.9 792 A6.75005 6.75005 -180 0 0 106.65 > 785.25 A6.75005 6.75005 -180 0 0 99.9 778.5 L6.75 778.5 A6.75005 > + 6.75005 -180 0 0 0 785.25 > A6.75005 > 6.75005 -180 0 0 6.75 792 L99.9 792 Z" class="st6"/> > + <text x="6.66" y="788.25" class="st7" > v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>Inner > IP/L4<tspan > + class="st8" v:langID="1033"> > </tspan><tspan class="st8" v:langID="1033">csum</tspan> verify</text> > </g> > + <g id="shape19-46" v:mID="19" v:groupContext="shape" > transform="translate(162,-378)"> > + <title>Rounded rectangle.19</title> > + <desc>Tunnel Filter</desc> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="45" cy="785.25" width="90" > height="13.5"/> > + <g id="shadow19-47" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.44,1.44)" > class="st1"> > + <path d="M83.25 792 A6.75005 6.75005 -180 0 0 90 > 785.25 A6.75005 6.75005 -180 0 0 83.25 778.5 L6.75 778.5 A6.75005 > + 6.75005 -180 0 0 0 > 785.25 > A6.75005 6.75005 -180 0 0 6.75 792 L83.25 792 Z" class="st2"/> > + </g> > + <path d="M83.25 792 A6.75005 6.75005 -180 0 0 90 785.25 > A6.75005 6.75005 -180 0 0 83.25 778.5 L6.75 778.5 A6.75005 6.75005 > + -180 0 0 0 785.25 A6.75005 > 6.75005 - > 180 0 0 6.75 792 L83.25 792 Z" class="st6"/> > + <text x="18.29" y="788.25" class="st7" > v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Tunnel <tspan > + class="st8" v:langID="2052"> > </tspan>F<tspan class="st8" v:langID="2052">ilter</tspan></text> > </g> > + <g id="shape20-53" v:mID="20" v:groupContext="shape" > transform="translate(162,-398.25)"> > + <title>Rounded rectangle.20</title> > + <desc>Packet Type</desc> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="45" cy="785.25" width="90" > height="13.5"/> > + <g id="shadow20-54" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.44,1.44)" > class="st1"> > + <path d="M83.25 792 A6.75005 6.75005 -180 0 0 90 > 785.25 A6.75005 6.75005 -180 0 0 83.25 778.5 L6.75 778.5 A6.75005 > + 6.75005 -180 0 0 0 > 785.25 > A6.75005 6.75005 -180 0 0 6.75 792 L83.25 792 Z" class="st2"/> > + </g> > + <path d="M83.25 792 A6.75005 6.75005 -180 0 0 90 785.25 > A6.75005 6.75005 -180 0 0 83.25 778.5 L6.75 778.5 A6.75005 6.75005 > + -180 0 0 0 785.25 A6.75005 > 6.75005 - > 180 0 0 6.75 792 L83.25 792 Z" class="st6"/> > + <text x="20.53" y="788.25" class="st7" > v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Packet > Type</text> </g> > + <g id="shape27-58" v:mID="27" v:groupContext="shape" > transform="translate(326.25,-441)"> > + <title>Sheet.27</title> > + <desc>DPDK Application</desc> > + <v:userDefs> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="54" cy="783" width="108" height="18"/> > + <rect x="0" y="774" width="108" height="18" > class="st12"/> > + <text x="10.11" y="786.6" class="st13" > v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>DPDK > Application</text> </g> > + <g id="shape26-61" v:mID="26" v:groupContext="shape" > transform="translate(324,-279)"> > + <title>Sheet.26</title> > + <desc>VXLAN Tunnel</desc> > + <v:userDefs> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="45" cy="778.5" width="90" height="27"/> > + <rect x="0" y="765" width="90" height="27" > class="st12"/> > + <text x="10.51" y="782.1" class="st14" > v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VXLAN > Tunnel</text> </g> > + <g id="shape28-64" v:mID="28" v:groupContext="shape" > transform="translate(342,-333)"> > + <title>Sheet.28</title> > + <desc>NIC</desc> > + <v:userDefs> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="45" cy="783" width="90" height="18"/> > + <rect x="0" y="774" width="90" height="18" > class="st12"/> > + <text x="36.4" y="787.2" class="st15" > v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>NIC</text> > </g> > + <g id="shape29-67" v:mID="29" v:groupContext="shape" > transform="translate(-517.5,270) rotate(-90) scale(-1,1)"> > + <title>45 degree single</title> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <g id="shadow29-68" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.44,1.44)" > class="st1"> > + <path d="M0 787.5 L4.5 783 L4.5 785.97 L252 > 785.97 > L252 789.03 L4.5 789.03 L4.5 792 L0 787.5 Z" class="st2"/> > + </g> > + <path d="M0 787.5 L4.5 783 L4.5 785.97 L252 785.97 L252 > 789.03 L4.5 789.03 L4.5 792 L0 787.5 Z" class="st16"/> > + </g> > + <g id="shape30-73" v:mID="30" v:groupContext="shape" > transform="translate(1093.5,522) rotate(90) scale(-1,1)"> > + <title>45 degree single.30</title> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <g id="shadow30-74" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,-1.44,-1.44)" > class="st1"> > + <path d="M0 787.5 L4.5 783 L4.5 785.97 L252 > 785.97 > L252 789.03 L4.5 789.03 L4.5 792 L0 787.5 Z" class="st2"/> > + </g> > + <path d="M0 787.5 L4.5 783 L4.5 785.97 L252 785.97 L252 > 789.03 L4.5 789.03 L4.5 792 L0 787.5 Z" class="st16"/> > + </g> > + <g id="shape14-78" v:mID="14" v:groupContext="shape" > v:layerMember="0" transform="translate(207,-234)"> > + <title>Object</title> > + <desc>WAN/LAN</desc> > + <v:custProps> > + <v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" > v:format="@" v:langID="1033"/> > + <v:cp v:nameU="Duration" v:lbl="Duration" > v:type="2" v:langID="1033"/> > + <v:cp v:nameU="Resources" v:lbl="Resources" > v:langID="1033"/> > + </v:custProps> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(1,1,1,1)" > v:tabSpace="42.5197"/> > + <v:textRect cx="83.25" cy="769.5" width="166.5" > height="45"/> > + <g id="shadow14-79" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.44,1.44)" > class="st1"> > + <path d="M23.93 782.24 A19.1532 6.46551 -180 0 0 > 51.52 787.72 A26.5285 8.95514 -180 0 0 99.5 785.69 A8.02422 2.70871 > + -180 0 0 108.16 788.62 > A30.5319 > 10.3066 -180 0 0 137.48 784.34 A18.9723 6.40442 -180 0 0 158.14 780.29 > + A29.3596 9.20857 > -176.98 0 0 > 145.63 771.6 A100.331 31.9328 -2.78 0 0 166.47 763.04 A42.3527 12.6007 > + -180 0 0 144.52 751.5 > A25.2977 > 7.52648 -180 0 0 96.13 755.1 A21.4707 5.9338 -1.58 0 0 59.81 755.43 > A30.834 > + 8.86245 -178.72 0 0 > 20.52 767.7 > A24.6202 7.32494 -180 0 0 23.93 782.24 Z" class="st2"/> > + </g> > + <path d="M23.93 782.24 A19.1532 6.46551 -180 0 0 51.52 > 787.72 A26.5285 8.95514 -180 0 0 99.5 785.69 A8.02422 2.70871 > + -180 0 0 108.16 788.62 A30.5319 > 10.3066 -180 0 0 137.48 784.34 A18.9723 6.40442 -180 0 0 158.14 780.29 > A29.3596 > + 9.20857 -176.98 0 0 145.63 > 771.6 > A100.331 31.9328 -2.78 0 0 166.47 763.04 A42.3527 12.6007 -180 0 0 144.52 > + 751.5 A25.2977 7.52648 -180 0 > 0 96.13 > 755.1 A21.4707 5.9338 -1.58 0 0 59.81 755.43 A30.834 8.86245 -178.72 > + 0 0 20.52 767.7 A24.6202 > 7.32494 -180 > 0 0 23.93 782.24 Z" class="st17"/> > + <text x="53.23" y="773.7" class="st15" > v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>WAN/LAN</text> > </g> > + <g id="shape11-85" v:mID="11" v:groupContext="shape" > transform="translate(236.25,-472.5)"> > + <title>Rounded rectangle.11</title> > + <desc>TEP</desc> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="54" cy="774" width="108" height="36"/> > + <g id="shadow11-86" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.44,1.44)" > class="st1"> > + <path d="M99 792 A9.00007 9.00007 -180 0 0 108 > 783 > L108 765 A9.00007 9.00007 -180 0 0 99 756 L9 756 A9.00007 9.00007 > + -180 0 0 0 765 L0 783 > A9.00007 > 9.00007 -180 0 0 9 792 L99 792 Z" class="st2"/> > + </g> > + <path d="M99 792 A9.00007 9.00007 -180 0 0 108 783 L108 > 765 A9.00007 9.00007 -180 0 0 99 756 L9 756 A9.00007 9.00007 > + -180 0 0 0 765 L0 783 A9.00007 > 9.00007 -180 0 0 9 792 L99 792 Z" class="st18"/> > + <text x="44.91" y="777.6" class="st13" > v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>TEP</text> > </g> > + <g id="shape36-90" v:mID="36" v:groupContext="shape" > transform="translate(117,-571.5)"> > + <title>Rectangle.18.36</title> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <g id="shadow36-91" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.44,1.44)" > class="st1"> > + <rect x="0" y="688.5" width="342" height="103.5" > class="st2"/> > + </g> > + <rect x="0" y="688.5" width="342" height="103.5" > class="st19"/> > + </g> > + <g id="shape5-94" v:mID="5" v:groupContext="shape" > transform="translate(306,-594)"> > + <title>Rounded rectangle.5</title> > + <desc>VM-2 (VNID:200)</desc> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="61.3125" cy="765" width="122.63" > height="54"/> > + <g id="shadow5-95" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.44,1.44)" > class="st1"> > + <path d="M113.62 792 A9.00007 9.00007 -180 0 0 > 122.63 783 L122.62 747 A9.00007 9.00007 -180 0 0 113.62 738 L9 738 > + A9.00007 9.00007 -180 > 0 0 0 747 > L0 783 A9.00007 9.00007 -180 0 0 9 792 L113.62 792 Z" class="st2"/> > + </g> > + <path d="M113.62 792 A9.00007 9.00007 -180 0 0 122.63 > 783 L122.62 747 A9.00007 9.00007 -180 0 0 113.62 738 L9 738 A9.00007 > + 9.00007 -180 0 0 0 747 L0 783 > A9.00007 9.00007 -180 0 0 9 792 L113.62 792 Z" class="st9"/> > + <text x="16.93" y="769.2" class="st20" > v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VM<tspan > class="st8" > + v:langID="1033">-</tspan>2 > (<tspan > class="st21">VNID</tspan><tspan class="st21">:</tspan><tspan > + class="st21">200</tspan><tspan > class="st21">)</tspan></text> </g> > + <g id="shape3-104" v:mID="3" v:groupContext="shape" > transform="translate(135,-594)"> > + <title>Rounded rectangle</title> > + <desc>VM-1 (VNID: 100)</desc> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="61.3125" cy="765" width="122.63" > height="54"/> > + <g id="shadow3-105" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.44,1.44)" > class="st1"> > + <path d="M113.62 792 A9.00007 9.00007 -180 0 0 > 122.63 783 L122.62 747 A9.00007 9.00007 -180 0 0 113.62 738 L9 738 > + A9.00007 9.00007 -180 > 0 0 0 747 > L0 783 A9.00007 9.00007 -180 0 0 9 792 L113.62 792 Z" class="st2"/> > + </g> > + <path d="M113.62 792 A9.00007 9.00007 -180 0 0 122.63 > 783 L122.62 747 A9.00007 9.00007 -180 0 0 113.62 738 L9 738 A9.00007 > + 9.00007 -180 0 0 0 747 L0 783 > A9.00007 9.00007 -180 0 0 9 792 L113.62 792 Z" class="st9"/> > + <text x="15.58" y="769.2" class="st20" > v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VM<tspan > class="st8" > + v:langID="1033">-</tspan>1 > (<tspan > class="st21">VNID</tspan><tspan class="st21">: </tspan><tspan > + class="st21">100</tspan><tspan > class="st21">)</tspan></text> </g> > + <g id="shape23-114" v:mID="23" v:groupContext="shape" > transform="translate(624.813,-477.284) rotate(30.3791)"> > + <title>Process boundary.23</title> > + <v:userDefs> > + <v:ud v:nameU="CH" v:val="VT0(5):26"/> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + </v:userDefs> > + <rect x="0" y="789.165" width="75.6348" height="2.83465" > class="st22"/> > + </g> > + <g id="shape22-116" v:mID="22" v:groupContext="shape" > transform="translate(412.466,-548.055) rotate(17.7839)"> > + <title>Process boundary</title> > + <v:userDefs> > + <v:ud v:nameU="CH" v:val="VT0(5):26"/> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + </v:userDefs> > + <rect x="0" y="789.165" width="125.234" height="2.83465" > class="st22"/> > + </g> > + <g id="shape24-118" v:mID="24" v:groupContext="shape" > transform="translate(670.892,944.318) rotate(159.305)"> > + <title>Process boundary.24</title> > + <v:userDefs> > + <v:ud v:nameU="CH" v:val="VT0(5):26"/> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + </v:userDefs> > + <rect x="0" y="789.165" width="108.234" height="2.83465" > class="st22"/> > + </g> > + <g id="shape25-120" v:mID="25" v:groupContext="shape" > transform="translate(828.973,824.895) rotate(141.667)"> > + <title>Process boundary.25</title> > + <v:userDefs> > + <v:ud v:nameU="CH" v:val="VT0(5):26"/> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + </v:userDefs> > + <rect x="0" y="789.165" width="61.6701" height="2.83465" > class="st22"/> > + </g> > + <g id="shape4-122" v:mID="4" v:groupContext="shape" > transform="translate(148.5,-587.25)"> > + <title>Rectangle</title> > + <desc>vport-0</desc> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="22.5" cy="784.125" width="45" > height="15.75"/> > + <g id="shadow4-123" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.44,1.44)" > class="st1"> > + <rect x="0" y="776.25" width="45" height="15.75" > class="st2"/> > + </g> > + <rect x="0" y="776.25" width="45" height="15.75" > class="st23"/> > + <text x="7.5" y="787.13" class="st7" > v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>v<tspan > class="st8" > + > v:langID="2052">port</tspan><tspan > class="st8" v:langID="2052">-</tspan><tspan class="st8" > v:langID="2052">0</tspan></text> </g> > + <g id="shape2-130" v:mID="2" v:groupContext="shape" > transform="translate(202.5,-587.25)"> > + <title>Rectangle.2</title> > + <desc>vport-1</desc> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="22.5" cy="784.125" width="45" > height="15.75"/> > + <g id="shadow2-131" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.44,1.44)" > class="st1"> > + <rect x="0" y="776.25" width="45" height="15.75" > class="st2"/> > + </g> > + <rect x="0" y="776.25" width="45" height="15.75" > class="st23"/> > + <text x="7.5" y="787.13" class="st7" > v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>v<tspan > class="st8" > + > v:langID="2052">port</tspan><tspan > class="st8" v:langID="2052">-</tspan><tspan class="st8" > v:langID="2052">1</tspan></text> </g> > + <g id="shape6-138" v:mID="6" v:groupContext="shape" > transform="translate(317.25,-587.25)"> > + <title>Rectangle.6</title> > + <desc>vport-0</desc> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="21.375" cy="784.125" width="42.75" > height="15.75"/> > + <g id="shadow6-139" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.44,1.44)" > class="st1"> > + <rect x="0" y="776.25" width="42.75" > height="15.75" class="st2"/> > + </g> > + <rect x="0" y="776.25" width="42.75" height="15.75" > class="st23"/> > + <text x="6.37" y="787.13" class="st7" > v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>v<tspan > class="st8" > + > v:langID="2052">port</tspan><tspan > class="st8" v:langID="2052">-</tspan><tspan class="st8" > v:langID="2052">0</tspan></text> </g> > + <g id="shape7-146" v:mID="7" v:groupContext="shape" > transform="translate(369,-587.25)"> > + <title>Rectangle.7</title> > + <desc>vport-1</desc> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="22.5" cy="784.125" width="45" > height="15.75"/> > + <g id="shadow7-147" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.44,1.44)" > class="st1"> > + <rect x="0" y="776.25" width="45" height="15.75" > class="st2"/> > + </g> > + <rect x="0" y="776.25" width="45" height="15.75" > class="st23"/> > + <text x="7.5" y="787.13" class="st7" > v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>v<tspan > class="st8" > + > v:langID="2052">port</tspan><tspan > class="st8" v:langID="2052">-</tspan><tspan class="st8" > v:langID="2052">1</tspan></text> </g> > + <g id="shape37-154" v:mID="37" v:groupContext="shape" > transform="translate(234,-648)"> > + <title>Sheet.37</title> > + <desc>Guest</desc> > + <v:userDefs> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="54" cy="783" width="108" height="18"/> > + <rect x="0" y="774" width="108" height="18" > class="st12"/> > + <text x="39.46" y="786.6" class="st13" > v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Guest</text> > </g> > + <g id="shape38-157" v:mID="38" v:groupContext="shape" > transform="translate(324,-357.75)"> > + <title>Rounded rectangle.38</title> > + <desc>TSO offload</desc> > + <v:userDefs> > + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/> > + <v:ud v:nameU="msvThemeColors" > v:val="VT0(36):26"/> > + <v:ud v:nameU="msvThemeEffects" > v:val="VT0(16):26"/> > + </v:userDefs> > + <v:textBlock v:margins="rect(4,4,4,4)"/> > + <v:textRect cx="36" cy="785.25" width="72" > height="13.5"/> > + <g id="shadow38-158" v:groupContext="shadow" > v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1" > + transform="matrix(1,0,0,1,1.44,1.44)" > class="st1"> > + <path d="M65.25 792 A6.75005 6.75005 -180 0 0 72 > 785.25 A6.75005 6.75005 -180 0 0 65.25 778.5 L6.75 778.5 A6.75005 > + 6.75005 -180 0 0 0 > 785.25 > A6.75005 6.75005 -180 0 0 6.75 792 L65.25 792 Z" class="st2"/> > + </g> > + <path d="M65.25 792 A6.75005 6.75005 -180 0 0 72 785.25 > A6.75005 6.75005 -180 0 0 65.25 778.5 L6.75 778.5 A6.75005 6.75005 > + -180 0 0 0 785.25 A6.75005 > 6.75005 - > 180 0 0 6.75 792 L65.25 792 Z" class="st6"/> > + <text x="12.33" y="788.25" class="st7" > v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>TSO > offload</text> </g> > + </g> > +</svg> > diff --git a/doc/guides/sample_app_ug/index.rst > b/doc/guides/sample_app_ug/index.rst > index e1a0c56..63434ed 100644 > --- a/doc/guides/sample_app_ug/index.rst > +++ b/doc/guides/sample_app_ug/index.rst > @@ -71,6 +71,7 @@ Sample Applications User Guide > test_pipeline > dist_app > vm_power_management > + tep_termination > > **Figures** > > @@ -131,6 +132,8 @@ Sample Applications User Guide > :numref:`figure_vm_power_mgr_highlevel` :ref:`figure_vm_power_mgr_highlev > el` > > :numref:`figure_vm_power_mgr_vm_request_seq` :ref:`figure_vm_power_mgr_vm > _request_seq` > +:numref:`figure_overlay_networking` :ref:`figure_overlay_networking` > +:numref:`figure_tep_termination_arch` :ref:`figure_tep_termination_arch` > > **Tables** > > diff --git a/doc/guides/sample_app_ug/tep_termination.rst > b/doc/guides/sample_app_ug/tep_termination.rst > new file mode 100644 > index 0000000..86df8f8 > --- /dev/null > +++ b/doc/guides/sample_app_ug/tep_termination.rst > @@ -0,0 +1,321 @@ > + > +.. BSD LICENSE > + Copyright(c) 2010-2015 Intel Corporation. All rights reserved. > + All rights reserved. > + > + Redistribution and use in source and binary forms, with or without > + modification, are permitted provided that the following conditions > + are met: > + > + * Redistributions of source code must retain the above copyright > + notice, this list of conditions and the following disclaimer. > + * Redistributions in binary form must reproduce the above copyright > + notice, this list of conditions and the following disclaimer in > + the documentation and/or other materials provided with the > + distribution. > + * Neither the name of Intel Corporation nor the names of its > + contributors may be used to endorse or promote products derived > + from this software without specific prior written permission. > + > + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS > + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT > + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR > + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT > + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, > + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT > + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, > + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY > + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT > + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE > + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. > + > + > +TEP termination Sample Application > +======================== > + > +The TEP (Tunnel End point) termination sample application simulates a > VXLAN Tunnel Endpoint (VTEP) termination in DPDK, which is used to > +demonstrate the offload and filtering capabilities of Intel? XL710 10/40 > Gigabit Ethernet Controller for VXLAN packet. > +This sample uses the basic virtio devices management mechanism from vhost > example, and also uses the us-vHost interface and > +tunnel filtering mechanism to direct a specified traffic to a specific VM. > +In addition, this sample is also designed to show how tunneling protocols > can be handled. > + > +Background > +---------- > +With virtualization, overlay networks allow a network structure to be > built or imposed across physical nodes which > +is abstracted away from the actual underlining physical network > connections. This allows network isolation, QOS, etc > +to be provided on a per client basis. > + > +.. _figure_overlay_networking: > + > +.. figure:: img/overlay_networking.* > + > + Overlay Networking. > + > +In a typical setup, the network overlay tunnel is terminated at the > Virtual/Tunnel End Point (VEP/TEP). > +The TEP is normally located at the physical host level ideally in the > software switch. Due to processing constraints and > +the inevitable bottleneck that the switch becomes the ability to offload > overlay support features becomes an important requirement. > +Intel? XL710 10/40 G Ethernet network card provides hardware filtering > and offload capabilities to support overlay networks > +implementations such as MAC in UDP and MAC in GRE. > + > +Sample Code Overview > +-------------------- > + > +The DPDK TEP termination sample code demonstrates the offload and > filtering capabilities of Intel? XL710 10/40 Gigabit Ethernet > +Controller for VXLAN packet. > + > +The sample code is based on vhost library. The vhost library is developed > for user space Ethernet switch to > +easily integrate with vhost functionality. > + > +The sample will support the followings: > + > +* Tunneling packet recognition. > + > +* The port of UDP tunneling is configurable > + > +* Directing incoming traffic to the correct queue based on the tunnel > filter type. > + The supported filter type are listed below. > + > + * Inner MAC and VLAN and tenant ID > + > + * Inner MAC and tenant ID, and Outer MAC > + > + * Inner MAC and tenant ID > + > + The tenant ID will be assigned from a static internal table based on > the us-vhost device ID. > + Each device will receive a unique device ID. The inner MAC will be > learned by the first packet transmitted from a device. > + > +* Decapsulation of RX VXLAN traffic. This is a software only operation. > + > +* Encapsulation of TX VXLAN traffic. This is a software only operation. > + > +* Inner IP and inner L4 checksum offload. > + > +* TSO offload support for tunneling packet. > + > +The following figure shows the framework of the TEP termination sample > application based on vhost-cuse. > + > +.. _figure_tep_termination_arch: > + > +.. figure:: img/tep_termination_arch.* > + > + TEP termination Framework Overview > + > +Supported Distributions > +----------------------- > + > +The example in this section have been validated with the following > distributions: > + > +* Fedora* 18 > + > +* Fedora* 19 > + > +* Fedora* 20 > + > +Prerequisites > +------------- > + > +Refer to the guide in section 27.4 in the vhost sample. > + > +Compiling the Sample Code > +------------------------- > +#. Compile vhost lib: > + > + To enable vhost, turn on vhost library in the configure file > config/common_linuxapp. > + > + .. code-block:: console > + > + CONFIG_RTE_LIBRTE_VHOST=n > + > + vhost user is turned on by default in the configure file > config/common_linuxapp. > + To enable vhost cuse, disable vhost user. > + > + .. code-block:: console > + > + CONFIG_RTE_LIBRTE_VHOST_USER=y > + > + After vhost is enabled and the implementation is selected, build the > vhost library. > + > +#. Go to the examples directory: > + > + .. code-block:: console > + > + export RTE_SDK=/path/to/rte_sdk > + cd ${RTE_SDK}/examples/tep_termination > + > +#. Set the target (a default target is used if not specified). For > example: > + > + .. code-block:: console > + > + export RTE_TARGET=x86_64-native-linuxapp-gcc > + > + See the DPDK Getting Started Guide for possible RTE_TARGET values. > + > +#. Build the application: > + > + .. code-block:: console > + > + cd ${RTE_SDK} > + make config ${RTE_TARGET} > + make install ${RTE_TARGET} > + cd ${RTE_SDK}/examples/tep_termination > + make > + > +#. Go to the eventfd_link directory(vhost cuse required): > + > + .. code-block:: console > + > + cd ${RTE_SDK}/lib/librte_vhost/eventfd_link > + > +#. Build the eventfd_link kernel module(vhost cuse required): > + > + .. code-block:: console > + > + make > + > +Running the Sample Code > +----------------------- > + > +#. Install the cuse kernel module(vhost cuse required): > + > + .. code-block:: console > + > + modprobe cuse > + > +#. Go to the eventfd_link directory(vhost cuse required): > + > + .. code-block:: console > + > + export RTE_SDK=/path/to/rte_sdk > + cd ${RTE_SDK}/lib/librte_vhost/eventfd_link > + > +#. Install the eventfd_link module(vhost cuse required): > + > + .. code-block:: console > + > + insmod ./eventfd_link.ko > + > +#. Go to the examples directory: > + > + .. code-block:: console > + > + export RTE_SDK=/path/to/rte_sdk > + cd ${RTE_SDK}/examples/tep_termination > + > +#. Run the tep_termination sample code: > + > + .. code-block:: console > + > + user at target:~$ ./build/app/tep_termination -c f -n 4 --huge-dir > /mnt/huge -- > + -p 0x1 --dev-basename tep-termination --nb- > devices 4 > + --udp-port 4789 --filter-type 1 > + > +.. note:: > + > + Please note the huge-dir parameter instructs the DPDK to allocate its > memory from the 2 MB page hugetlbfs. > + > +Parameters > +~~~~~~~~~~ > + > +**The same parameters with the vhost sample.** > + > +Refer to the guide in section 27.6.1 in the vhost sample for the meanings > of 'Basename', > +'Stats', 'RX Retry', 'RX Retry Number' and 'RX Retry Delay Time'. > + > +**Number of Devices.** > + > +The nb-devices option specifies the number of virtIO device. > +The default value is 2. > + > +.. code-block:: console > + > + user at target:~$ ./build/app/tep_termination -c f -n 4 --huge-dir > /mnt/huge -- > + --nb-devices 2 > + > +**Tunneling UDP port.** > + > +The udp-port option is used to specify the destination UDP number for UDP > tunneling packet. > +The default value is 4789. > + > +.. code-block:: console > + > + user at target:~$ ./build/app/tep_termination -c f -n 4 --huge-dir > /mnt/huge -- > + --nb-devices 2 --udp-port 4789 > + > +**Filter Type.** > + > +The filter-type option is used to specify which filter type is used to > filter UDP tunneling packet to a specified queue. > +The default value is 1, which means the filter type of inner MAC and > tenant ID is used. > + > +.. code-block:: console > + > + user at target:~$ ./build/app/tep_termination -c f -n 4 --huge-dir > /mnt/huge -- > + --nb-devices 2 --udp-port 4789 --filter-type 1 > + > +**TX Checksum.** > + > +The tx-checksum option is used to enable or disable the inner header > checksum offload. > +The default value is 0, which means the checksum offload is disabled. > + > +.. code-block:: console > + > + user at target:~$ ./build/app/tep_termination -c f -n 4 --huge-dir > /mnt/huge -- > + --nb-devices 2 --tx-checksum > + > +**TCP segment sise.** > + > +The tso-segsz option specifies the TCP segment size for TSO offload for > tunneling packet. > +The default value is 0, which means TSO offload is disabled. > + > +.. code-block:: console > + > + user at target:~$ ./build/app/tep_termination -c f -n 4 --huge-dir > /mnt/huge -- > + --tx-checksum --tso-segsz 800 > + > +**Decapsulation option.** > + > +The decap option is used to enable or disable decapsulation operation for > received VXLAN packet. > +The default value is 1. > + > +.. code-block:: console > + > + user at target:~$ ./build/app/tep_termination -c f -n 4 --huge-dir > /mnt/huge -- > + --nb-devices 4 --udp-port 4789 --decap 1 > + > +**Encapsulation option.** > + > +The encap option is used to enable or disable encapsulation operation for > transmitted packet. > +The default value is 1. > + > +.. code-block:: console > + > + user at target:~$ ./build/app/tep_termination -c f -n 4 --huge-dir > /mnt/huge -- > + --nb-devices 4 --udp-port 4789 --encap 1 > + > + > +Running the Virtual Machine (QEMU) > +---------------------------------- > + > +Refer to the guide in section 27.7 in the vhost sample. > + > +Running DPDK in the Virtual Machine > +----------------------------------- > + > +Refer to the guide in section 27.8 in the vHost sample. > + > +Passing Traffic to the Virtual Machine Device > +--------------------------------------------- > + > +For a virtio-net device to receive traffic, the traffic's Layer 2 header > must include > +both the virtio-net device's MAC address. > +The DPDK sample code behaves in a similar manner to a learning switch in > that > +it learns the MAC address of the virtio-net devices from the first > transmitted packet. > +On learning the MAC address, > +the DPDK vhost sample code prints a message with the MAC address and > tenant ID virtio-net device. > +For example: > + > +.. code-block:: console > + > + DATA: (0) MAC_ADDRESS cc:bb:bb:bb:bb:bb and VNI 1000 registered > + > +The above message indicates that device 0 has been registered with MAC > address cc:bb:bb:bb:bb:bb and VNI 1000. > +Any packets received on the NIC with these values are placed on the > devices receive queue. > --
Acked-by: Marvin Liu <yong.liu at intel.com> > 1.7.7.6