doc: internal document on openstack cooperation
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
@ -1,66 +0,0 @@
|
||||
.. _how_it_works:
|
||||
|
||||
****************************
|
||||
How Ryu L2 segregation works
|
||||
****************************
|
||||
This section describes how Ryu L2 segregation works.
|
||||
|
||||
tenant/network id creation
|
||||
==========================
|
||||
When tenant(= network id) is created, Quantum server tells it to Ryu.
|
||||
Ryu remembers the network id.
|
||||
|
||||
.. image:: /images/network-creation.png
|
||||
|
||||
|
||||
association OVS port to network id
|
||||
==================================
|
||||
#. When VM instance is created, the network port is created in OVS and
|
||||
it is associated to network id that VM belongs to.
|
||||
|
||||
#. quantum OVS agent tells the associated (network id, ovs port) to Ryu.
|
||||
Ryu remembers (network id, ovs port) relationship.
|
||||
|
||||
#. quantum OVS agent also tells to Ryu which OVS port is not managed by
|
||||
nova/quantum, but is connected to external ether cable.
|
||||
We call it external OVS port or that the port is external.
|
||||
|
||||
|
||||
.. image:: /images/assoc-ovs-port.png
|
||||
|
||||
|
||||
mac learing
|
||||
===========
|
||||
When VM sends packets, Ryu determins network id from OVS port and then
|
||||
associates src mac address to network id.
|
||||
|
||||
.. image:: /images/mac-learning.png
|
||||
|
||||
|
||||
packet filtering(L2 unicast case)
|
||||
=================================
|
||||
* When VM sending L2-unicast packet, Ryu checks if the destination mac
|
||||
address belongs to the same netowrk id of the source mac address which
|
||||
is same to the network id that the OVS port is associated to.
|
||||
* If no, the packet is dropped.
|
||||
* If yes, send the packet is sent to ports which belongs to the same
|
||||
network id and external port.
|
||||
|
||||
.. image:: /images/filtering-outgoing.png
|
||||
.. image:: /images/filtering-incoming.png
|
||||
|
||||
|
||||
packet filtering(L2 broadcast case)
|
||||
===================================
|
||||
* When VM sending L2-broadcast/multicaset packet, Ryu checks if the source
|
||||
mac address.
|
||||
* send the packet to all external ports and all OVS ports that belongs
|
||||
to the same network id of the source mac address.
|
||||
* When receiving broacast/multicast packet from the external ports,
|
||||
Ryu checks if the source mac address belongs to known network id.
|
||||
|
||||
* If yes, send the packet to the external ports except incoming one
|
||||
and the all OVS ports that belongs to the network id
|
||||
* if no, drop the packet.
|
||||
|
||||
.. image:: /images/filtering-broadcast.png
|
Before Width: | Height: | Size: 73 KiB |
@ -1,572 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="1052.3622"
|
||||
height="744.09448"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.1 r9760"
|
||||
sodipodi:docname="assoc-ovs-port.svg"
|
||||
inkscape:export-filename="/home/yamahata/openvswitch/sp-lab/scarab/scarab-2/doc/source/images/assoc-ovs-port.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90">
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.8162589"
|
||||
inkscape:cx="526.18109"
|
||||
inkscape:cy="372.04724"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1345"
|
||||
inkscape:window-height="1004"
|
||||
inkscape:window-x="50"
|
||||
inkscape:window-y="3"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:snap-grids="true"
|
||||
inkscape:snap-to-guides="false"
|
||||
inkscape:snap-bbox="false"
|
||||
inkscape:snap-page="false"
|
||||
showguides="true"
|
||||
inkscape:guide-bbox="true" />
|
||||
<defs
|
||||
id="defs4">
|
||||
<marker
|
||||
inkscape:stockid="Arrow2Lstart"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow2Lstart"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
id="path5113"
|
||||
style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
|
||||
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
|
||||
transform="scale(1.1) translate(1,0)" />
|
||||
</marker>
|
||||
<linearGradient
|
||||
id="linearGradient6493"
|
||||
osb:paint="solid">
|
||||
<stop
|
||||
style="stop-color:#000000;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop6495" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient5313"
|
||||
osb:paint="solid">
|
||||
<stop
|
||||
style="stop-color:#5555ff;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop5315" />
|
||||
</linearGradient>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow1Mend"
|
||||
style="overflow:visible;">
|
||||
<path
|
||||
id="path5567"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
|
||||
transform="scale(0.4) rotate(180) translate(10,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mstart"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow1Mstart"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
id="path5564"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
|
||||
transform="scale(0.4) translate(10,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow2Lend"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow2Lend"
|
||||
style="overflow:visible;">
|
||||
<path
|
||||
id="path5579"
|
||||
style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
|
||||
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
|
||||
transform="scale(1.1) rotate(180) translate(1,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Lend"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow1Lend"
|
||||
style="overflow:visible;">
|
||||
<path
|
||||
id="path5561"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
|
||||
transform="scale(0.8) rotate(180) translate(12.5,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Lstart"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow1Lstart"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
id="path5558"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
|
||||
transform="scale(0.8) translate(12.5,0)" />
|
||||
</marker>
|
||||
<inkscape:path-effect
|
||||
effect="skeletal"
|
||||
id="path-effect5339"
|
||||
is_visible="true"
|
||||
pattern="M 0,0 0,10 10,5 z"
|
||||
copytype="single_stretched"
|
||||
prop_scale="1"
|
||||
scale_y_rel="false"
|
||||
spacing="0"
|
||||
normal_offset="0"
|
||||
tang_offset="0"
|
||||
prop_units="false"
|
||||
vertical_pattern="false"
|
||||
fuse_tolerance="0" />
|
||||
<linearGradient
|
||||
id="linearGradient5242"
|
||||
osb:paint="solid">
|
||||
<stop
|
||||
style="stop-color:#7fff2a;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop5244" />
|
||||
</linearGradient>
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 372.04724 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="1052.3622 : 372.04724 : 1"
|
||||
inkscape:persp3d-origin="526.18109 : 248.03149 : 1"
|
||||
id="perspective3009" />
|
||||
<marker
|
||||
inkscape:stockid="Arrow1LendM"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow1LendM"
|
||||
style="overflow:visible;">
|
||||
<path
|
||||
id="path4159"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
style="marker-start:none;stroke:#ff0000;stroke-width:1.0pt;fill:#ff0000;fill-rule:evenodd"
|
||||
transform="scale(0.8) rotate(180) translate(12.5,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1LendF"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow1LendF"
|
||||
style="overflow:visible;">
|
||||
<path
|
||||
id="path4585"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
style="marker-start:none;stroke:#ff0000;stroke-width:1.0pt;fill:#ff0000;fill-rule:evenodd"
|
||||
transform="scale(0.8) rotate(180) translate(12.5,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend6"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow1Mend6"
|
||||
style="overflow:visible;">
|
||||
<path
|
||||
id="path5404"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
style="marker-start:none;stroke:#ff0000;stroke-width:1.0pt;fill:#ff0000;fill-rule:evenodd"
|
||||
transform="scale(0.4) rotate(180) translate(10,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1MendN"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow1MendN"
|
||||
style="overflow:visible;">
|
||||
<path
|
||||
id="path5645"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
style="marker-start:none;stroke:#ff0000;stroke-width:1.0pt;fill:#ff0000;fill-rule:evenodd"
|
||||
transform="scale(0.4) rotate(180) translate(10,0)" />
|
||||
</marker>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5343-7"
|
||||
id="linearGradient5349-6"
|
||||
x1="-532.43896"
|
||||
y1="622.73621"
|
||||
x2="-318.84055"
|
||||
y2="622.73621"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.83990127,0,0,1.846462,-201.58875,-629.6685)" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient5343-7">
|
||||
<stop
|
||||
style="stop-color:#aaccff;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop5345-4" />
|
||||
<stop
|
||||
style="stop-color:#aaccff;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop5347-4" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
y2="622.73621"
|
||||
x2="-318.84055"
|
||||
y1="622.73621"
|
||||
x1="-532.43896"
|
||||
gradientTransform="matrix(1.2042654,0,0,2.6602952,-344.10309,-1384.9447)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient6079-9"
|
||||
xlink:href="#linearGradient5343-7-4"
|
||||
inkscape:collect="always" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient5343-7-4">
|
||||
<stop
|
||||
style="stop-color:#aaccff;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop5345-4-1" />
|
||||
<stop
|
||||
style="stop-color:#aaccff;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop5347-4-6" />
|
||||
</linearGradient>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Lenda"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow1Lenda"
|
||||
style="overflow:visible;">
|
||||
<path
|
||||
id="path5800"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
style="marker-start:none;stroke:#05ff00;stroke-width:1.0pt;fill:#05ff00;fill-rule:evenodd"
|
||||
transform="scale(0.8) rotate(180) translate(12.5,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Lendan"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow1Lendan"
|
||||
style="overflow:visible;">
|
||||
<path
|
||||
id="path5943"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
style="fill-rule:evenodd;marker-start:none;stroke:#059500;stroke-width:1.0pt;fill:#059500"
|
||||
transform="scale(0.8) rotate(180) translate(12.5,0)" />
|
||||
</marker>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5343-7"
|
||||
id="linearGradient6508"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.3132307,0,0,2.7180446,-75.36157,-1462.7849)"
|
||||
x1="-532.43896"
|
||||
y1="622.73621"
|
||||
x2="-318.84055"
|
||||
y2="622.73621" />
|
||||
</defs>
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-308.2677)">
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 123.73525,580.64067 0,-137.21137"
|
||||
id="path6078"
|
||||
inkscape:connector-curvature="0" />
|
||||
<rect
|
||||
style="opacity:0.5;fill:url(#linearGradient6508);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2.11107063;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="rect3065-4"
|
||||
width="279.1908"
|
||||
height="382.82706"
|
||||
x="-773.92023"
|
||||
y="38.426575"
|
||||
transform="matrix(0,-1,1,0,0,0)" />
|
||||
<a
|
||||
id="a4003"
|
||||
transform="matrix(1,0,0,0.81896683,-0.728701,296.31497)"
|
||||
style="fill:#ff2ad4;fill-opacity:1" />
|
||||
<path
|
||||
style="opacity:0.275;fill:#dd6de5;fill-opacity:0.46666667;fill-rule:nonzero;stroke:#ff0000;stroke-width:4.27355194;stroke-linecap:butt;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.13677602, 2.13677602;stroke-dashoffset:0"
|
||||
d=""
|
||||
id="path4088"
|
||||
inkscape:connector-curvature="0"
|
||||
transform="translate(0,308.2677)" />
|
||||
<g
|
||||
id="g6423"
|
||||
transform="translate(447.14019,-66.6113)"
|
||||
style="opacity:0.6125;fill:#3866a9;fill-opacity:0.46666667">
|
||||
<rect
|
||||
style="fill:#b1c76d;fill-opacity:0.46666667;fill-rule:evenodd;stroke:#ff1300;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="rect6358-7"
|
||||
width="267.63913"
|
||||
height="28.903856"
|
||||
x="80.828072"
|
||||
y="594.69769" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
id="text6360-0"
|
||||
y="615.96716"
|
||||
x="86.097534"
|
||||
style="font-size:22px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#3866a9;fill-opacity:0.46666667;stroke:none;font-family:Bitstream Vera Sans"
|
||||
xml:space="preserve"><tspan
|
||||
y="615.96716"
|
||||
x="86.097534"
|
||||
id="tspan6362-5"
|
||||
sodipodi:role="line"
|
||||
style="fill:#ff0000;fill-opacity:1;stroke:#000000;stroke-opacity:1">ryu-openflow-controller</tspan></text>
|
||||
</g>
|
||||
<rect
|
||||
y="573.76764"
|
||||
x="74.293457"
|
||||
height="168.16565"
|
||||
width="337.21384"
|
||||
id="rect5351-5"
|
||||
style="opacity:0.275;fill:#ff2ad4;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:3.17921257px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
id="text5353-2"
|
||||
y="732.48846"
|
||||
x="126.48773"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
xml:space="preserve"><tspan
|
||||
y="732.48846"
|
||||
x="126.48773"
|
||||
id="tspan5355-6"
|
||||
sodipodi:role="line">nova-compute</tspan></text>
|
||||
<path
|
||||
transform="matrix(0.69506452,0,0,0.47991755,33.246065,405.64778)"
|
||||
d="m 171.85039,632.4803 -69.88264,0.56783 -35.433072,-60.23622 34.449562,-60.80405 69.88263,-0.56783 35.43308,60.23622 z"
|
||||
inkscape:randomized="0"
|
||||
inkscape:rounded="0"
|
||||
inkscape:flatsided="true"
|
||||
sodipodi:arg2="1.5626709"
|
||||
sodipodi:arg1="1.0390722"
|
||||
sodipodi:r2="23.694832"
|
||||
sodipodi:r1="69.884941"
|
||||
sodipodi:cy="572.24408"
|
||||
sodipodi:cx="136.41731"
|
||||
sodipodi:sides="6"
|
||||
id="path5250"
|
||||
style="fill:#05ff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
sodipodi:type="star" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
id="text5274"
|
||||
y="671.74854"
|
||||
x="129.07115"
|
||||
style="font-size:18px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
xml:space="preserve"><tspan
|
||||
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
|
||||
y="671.74854"
|
||||
x="129.07115"
|
||||
id="tspan5276"
|
||||
sodipodi:role="line">VM</tspan><tspan
|
||||
id="tspan3167"
|
||||
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
|
||||
y="694.24854"
|
||||
x="129.07115"
|
||||
sodipodi:role="line">tenant-X</tspan></text>
|
||||
<path
|
||||
transform="matrix(1.0086434,0,0,0.68923037,-136.00519,426.12072)"
|
||||
d="m 289.53315,248.36246 -14.42324,24.98178 -28.84647,0 -14.42324,-24.98178 14.42324,-24.98178 28.84647,0 z"
|
||||
inkscape:randomized="0"
|
||||
inkscape:rounded="0"
|
||||
inkscape:flatsided="true"
|
||||
sodipodi:arg2="0.52359878"
|
||||
sodipodi:arg1="0"
|
||||
sodipodi:r2="24.981781"
|
||||
sodipodi:r1="28.846476"
|
||||
sodipodi:cy="248.36246"
|
||||
sodipodi:cx="260.68668"
|
||||
sodipodi:sides="6"
|
||||
id="path5523-9"
|
||||
style="opacity:0.5;fill:#2ad4ff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
sodipodi:type="star" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
id="text5525-6"
|
||||
y="604.38098"
|
||||
x="106.25084"
|
||||
style="font-size:20px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
xml:space="preserve"><tspan
|
||||
y="604.38098"
|
||||
x="106.25084"
|
||||
id="tspan5527-5"
|
||||
sodipodi:role="line">OVS</tspan></text>
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path6228"
|
||||
d="m 125.69215,649.44811 0.20564,-35.3061"
|
||||
style="fill:none;stroke:#05ff00;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:22px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="272.5264"
|
||||
y="768.13312"
|
||||
id="text3193"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3195"
|
||||
x="272.5264"
|
||||
y="768.13312">physical host</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#059500;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:10, 5;stroke-dashoffset:0;marker-end:url(#Arrow1Lendan)"
|
||||
d="m 133.53606,634.54513 c 324.65191,31.85264 390.25092,-12.63222 485.1402,-57.57977"
|
||||
id="path4298"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<g
|
||||
id="g5754"
|
||||
transform="translate(67.380584,-198.52388)">
|
||||
<path
|
||||
transform="matrix(1.1689088,0,0,0.56811324,22.97702,634.03964)"
|
||||
d="m 269.78156,191.14935 c 0,17.44202 -37.62559,31.58157 -84.0391,31.58157 -46.41351,0 -84.03909,-14.13955 -84.03909,-31.58157 0,-17.44202 37.62558,-31.58157 84.03909,-31.58157 46.41351,0 84.0391,14.13955 84.0391,31.58157 z"
|
||||
sodipodi:ry="31.581572"
|
||||
sodipodi:rx="84.039093"
|
||||
sodipodi:cy="191.14935"
|
||||
sodipodi:cx="185.74246"
|
||||
id="path6269"
|
||||
style="opacity:0.4125;fill:#3866a9;fill-opacity:0.46666667;fill-rule:nonzero;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
sodipodi:type="arc" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
id="text6271"
|
||||
y="746.23999"
|
||||
x="149.63055"
|
||||
style="font-size:18px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1;font-family:Bitstream Vera Sans"
|
||||
xml:space="preserve"><tspan
|
||||
y="746.23999"
|
||||
x="149.63055"
|
||||
id="tspan6273"
|
||||
sodipodi:role="line">quantum_ovs_agent</tspan></text>
|
||||
</g>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="49.00404"
|
||||
y="820.76062"
|
||||
id="text6045"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
x="49.00404"
|
||||
y="820.76062"
|
||||
id="tspan6049">associates OVS port to network id</tspan></text>
|
||||
<g
|
||||
id="g6280"
|
||||
transform="translate(-137.65551,-234.28264)">
|
||||
<g
|
||||
transform="matrix(1,0,0,0.71409652,-474.38063,289.09459)"
|
||||
id="g5864-4">
|
||||
<rect
|
||||
style="fill:#00ffff;fill-rule:evenodd;stroke:#000000;stroke-width:0.79479539px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
id="rect5858-6"
|
||||
width="26.969246"
|
||||
height="59.086094"
|
||||
x="722.52655"
|
||||
y="601.5531" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="611.76575"
|
||||
y="-729.16479"
|
||||
id="text5860-69"
|
||||
sodipodi:linespacing="125%"
|
||||
transform="matrix(0,1,-1,0,0,0)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5862-8"
|
||||
x="611.76575"
|
||||
y="-729.16479">eth</tspan></text>
|
||||
</g>
|
||||
</g>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#05ff00;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="459.41306"
|
||||
y="697.02533"
|
||||
id="text6080"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan6082"
|
||||
x="459.41306"
|
||||
y="697.02533">network_id</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:10, 5;stroke-dashoffset:0;marker-end:url(#Arrow1Lend)"
|
||||
d="M 128.63566,546.33782 C 275.64784,379.72402 611.32565,513.26008 611.32565,513.26008"
|
||||
id="path6084"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="286.67377"
|
||||
y="374.82364"
|
||||
id="text6494"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan6496"
|
||||
x="286.67377"
|
||||
y="374.82364">external port</tspan></text>
|
||||
<flowRoot
|
||||
xml:space="preserve"
|
||||
id="flowRoot6500"
|
||||
style="fill:black;stroke:none;stroke-opacity:1;stroke-width:1px;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;font-family:Bitstream Vera Sans;font-style:normal;font-weight:normal;font-size:40px;line-height:125%;letter-spacing:0px;word-spacing:0px"><flowRegion
|
||||
id="flowRegion6502"><rect
|
||||
id="rect6504"
|
||||
width="978.85608"
|
||||
height="519.44305"
|
||||
x="-91.882614"
|
||||
y="261.40448" /></flowRegion><flowPara
|
||||
id="flowPara6506"></flowPara></flowRoot> </g>
|
||||
</svg>
|
Before Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 79 KiB After Width: | Height: | Size: 73 KiB |
@ -15,7 +15,7 @@
|
||||
height="744.09448"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.1 r9760"
|
||||
inkscape:version="0.48.3.1 r9886"
|
||||
sodipodi:docname="filtering-broadcast.svg"
|
||||
inkscape:export-filename="/home/yamahata/openvswitch/sp-lab/scarab/ryu/ryu-1/doc/source/images/filtering-broadcast.png"
|
||||
inkscape:export-xdpi="90"
|
||||
@ -28,15 +28,15 @@
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.8162589"
|
||||
inkscape:cx="385.43528"
|
||||
inkscape:cx="387.88548"
|
||||
inkscape:cy="372.04724"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1345"
|
||||
inkscape:window-height="1004"
|
||||
inkscape:window-x="153"
|
||||
inkscape:window-y="155"
|
||||
inkscape:window-x="88"
|
||||
inkscape:window-y="112"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:snap-grids="true"
|
||||
inkscape:snap-to-guides="false"
|
||||
@ -404,7 +404,7 @@
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
@ -627,30 +627,25 @@
|
||||
x="517.40717"
|
||||
id="tspan5238-6-0-7-5"
|
||||
sodipodi:role="line">mac addr</tspan></text>
|
||||
<g
|
||||
id="g6423"
|
||||
transform="translate(252.26686,-220.61948)"
|
||||
style="opacity:0.6125;fill:#3866a9;fill-opacity:0.46666667">
|
||||
<rect
|
||||
style="fill:#b1c76d;fill-opacity:0.46666667;fill-rule:evenodd;stroke:#ff1300;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="rect6358-7"
|
||||
width="267.63913"
|
||||
height="28.903856"
|
||||
x="80.828072"
|
||||
y="594.69769" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
id="text6360-0"
|
||||
y="615.96716"
|
||||
x="86.097534"
|
||||
style="font-size:22px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#3866a9;fill-opacity:0.46666667;stroke:none;font-family:Bitstream Vera Sans"
|
||||
xml:space="preserve"><tspan
|
||||
y="615.96716"
|
||||
x="86.097534"
|
||||
id="tspan6362-5"
|
||||
sodipodi:role="line"
|
||||
style="fill:#ff0000;fill-opacity:1;stroke:#000000;stroke-opacity:1">ryu-openflow-controller</tspan></text>
|
||||
</g>
|
||||
<rect
|
||||
y="372.95862"
|
||||
x="331.97534"
|
||||
height="31.143024"
|
||||
width="48.134926"
|
||||
id="rect6358-7"
|
||||
style="opacity:0.6125;fill:#b1c76d;fill-opacity:0.46666667;fill-rule:evenodd;stroke:#ff1300;stroke-width:1.76083171;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:22px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;opacity:0.6125;fill:#3866a9;fill-opacity:0.46666667;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="338.36438"
|
||||
y="395.34769"
|
||||
id="text6360-0"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
style="fill:#ff0000;fill-opacity:1;stroke:#000000;stroke-opacity:1"
|
||||
sodipodi:role="line"
|
||||
id="tspan6362-5"
|
||||
x="338.36438"
|
||||
y="395.34769">ryu</tspan></text>
|
||||
<rect
|
||||
y="430.70511"
|
||||
x="336.8739"
|
||||
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 82 KiB After Width: | Height: | Size: 75 KiB |
@ -15,7 +15,7 @@
|
||||
height="744.09448"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.1 r9760"
|
||||
inkscape:version="0.48.3.1 r9886"
|
||||
sodipodi:docname="filtering-incoming.svg"
|
||||
inkscape:export-filename="/home/yamahata/openvswitch/sp-lab/scarab/ryu/ryu-1/doc/source/images/filtering-incoming.png"
|
||||
inkscape:export-xdpi="90"
|
||||
@ -28,7 +28,7 @@
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.86228854"
|
||||
inkscape:cx="460.06235"
|
||||
inkscape:cx="462.38176"
|
||||
inkscape:cy="372.04724"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
@ -680,30 +680,25 @@
|
||||
x="628.24133"
|
||||
id="tspan5238-6-0-7-5"
|
||||
sodipodi:role="line">mac addr</tspan></text>
|
||||
<g
|
||||
id="g6423"
|
||||
transform="translate(369.87661,-185.71907)"
|
||||
style="opacity:0.6125;fill:#3866a9;fill-opacity:0.46666667">
|
||||
<rect
|
||||
style="fill:#b1c76d;fill-opacity:0.46666667;fill-rule:evenodd;stroke:#ff1300;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="rect6358-7"
|
||||
width="267.63913"
|
||||
height="28.903856"
|
||||
x="80.828072"
|
||||
y="594.69769" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
id="text6360-0"
|
||||
y="615.96716"
|
||||
x="86.097534"
|
||||
style="font-size:22px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#3866a9;fill-opacity:0.46666667;stroke:none;font-family:Bitstream Vera Sans"
|
||||
xml:space="preserve"><tspan
|
||||
y="615.96716"
|
||||
x="86.097534"
|
||||
id="tspan6362-5"
|
||||
sodipodi:role="line"
|
||||
style="fill:#ff0000;fill-opacity:1;stroke:#000000;stroke-opacity:1">ryu-openflow-controller</tspan></text>
|
||||
</g>
|
||||
<rect
|
||||
y="407.85098"
|
||||
x="449.57703"
|
||||
height="31.159182"
|
||||
width="47.231167"
|
||||
id="rect6358-7"
|
||||
style="opacity:0.6125;fill:#b1c76d;fill-opacity:0.46666667;fill-rule:evenodd;stroke:#ff1300;stroke-width:1.7446754;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:22px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;opacity:0.6125;fill:#3866a9;fill-opacity:0.46666667;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="455.97415"
|
||||
y="430.24811"
|
||||
id="text6360-0"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
style="fill:#ff0000;fill-opacity:1;stroke:#000000;stroke-opacity:1"
|
||||
sodipodi:role="line"
|
||||
id="tspan6362-5"
|
||||
x="455.97415"
|
||||
y="430.24811">ryu</tspan></text>
|
||||
<rect
|
||||
y="465.60553"
|
||||
x="454.48364"
|
||||
|
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 39 KiB |
Before Width: | Height: | Size: 81 KiB After Width: | Height: | Size: 74 KiB |
@ -15,7 +15,7 @@
|
||||
height="744.09448"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.1 r9760"
|
||||
inkscape:version="0.48.3.1 r9886"
|
||||
sodipodi:docname="filtering-outgoing.svg"
|
||||
inkscape:export-filename="/home/yamahata/openvswitch/sp-lab/scarab/scarab-2/doc/source/images/filtering-outgoing.png"
|
||||
inkscape:export-xdpi="90"
|
||||
@ -28,15 +28,15 @@
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.8162589"
|
||||
inkscape:cx="440.44106"
|
||||
inkscape:cx="442.89126"
|
||||
inkscape:cy="372.04724"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1345"
|
||||
inkscape:window-height="1004"
|
||||
inkscape:window-x="94"
|
||||
inkscape:window-y="41"
|
||||
inkscape:window-x="89"
|
||||
inkscape:window-y="51"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:snap-grids="true"
|
||||
inkscape:snap-to-guides="false"
|
||||
@ -404,7 +404,7 @@
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
@ -685,30 +685,25 @@
|
||||
x="515.09814"
|
||||
id="tspan5238-6-0-7-5"
|
||||
sodipodi:role="line">mac addr</tspan></text>
|
||||
<g
|
||||
id="g6423"
|
||||
transform="translate(249.81666,-272.0956)"
|
||||
style="opacity:0.6125;fill:#3866a9;fill-opacity:0.46666667">
|
||||
<rect
|
||||
style="fill:#b1c76d;fill-opacity:0.46666667;fill-rule:evenodd;stroke:#ff1300;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="rect6358-7"
|
||||
width="267.63913"
|
||||
height="28.903856"
|
||||
x="80.828072"
|
||||
y="594.69769" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
id="text6360-0"
|
||||
y="615.96716"
|
||||
x="86.097534"
|
||||
style="font-size:22px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#3866a9;fill-opacity:0.46666667;stroke:none;font-family:Bitstream Vera Sans"
|
||||
xml:space="preserve"><tspan
|
||||
y="615.96716"
|
||||
x="86.097534"
|
||||
id="tspan6362-5"
|
||||
sodipodi:role="line"
|
||||
style="fill:#ff0000;fill-opacity:1;stroke:#000000;stroke-opacity:1">ryu-openflow-controller</tspan></text>
|
||||
</g>
|
||||
<rect
|
||||
y="321.49313"
|
||||
x="329.5358"
|
||||
height="31.121752"
|
||||
width="49.338757"
|
||||
id="rect6358-7"
|
||||
style="opacity:0.6125;fill:#b1c76d;fill-opacity:0.46666667;fill-rule:evenodd;stroke:#ff1300;stroke-width:1.78210545;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:22px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;opacity:0.6125;fill:#3866a9;fill-opacity:0.46666667;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="335.91418"
|
||||
y="343.87155"
|
||||
id="text6360-0"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
style="fill:#ff0000;fill-opacity:1;stroke:#000000;stroke-opacity:1"
|
||||
sodipodi:role="line"
|
||||
id="tspan6362-5"
|
||||
x="335.91418"
|
||||
y="343.87155">ryu</tspan></text>
|
||||
<rect
|
||||
y="379.229"
|
||||
x="334.42374"
|
||||
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 38 KiB |
BIN
doc/source/images/internal-gre-tunnel.png
Normal file
After Width: | Height: | Size: 155 KiB |
1941
doc/source/images/internal-gre-tunnel.svg
Normal file
After Width: | Height: | Size: 66 KiB |
BIN
doc/source/images/internal-live-migration.png
Normal file
After Width: | Height: | Size: 92 KiB |
382
doc/source/images/internal-live-migration.svg
Normal file
@ -0,0 +1,382 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="297mm"
|
||||
height="210mm"
|
||||
id="svg2993"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.3.1 r9886"
|
||||
sodipodi:docname="internal-live-migration.svg"
|
||||
inkscape:export-filename="/home/yamahata/openvswitch/sp-lab/scarab/gre-tunnel/ryu-2/doc/source/images/internal-live-migration.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90">
|
||||
<defs
|
||||
id="defs2995">
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Send"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow1Send"
|
||||
style="overflow:visible;">
|
||||
<path
|
||||
id="path4099"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;"
|
||||
transform="scale(0.2) rotate(180) translate(6,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow1Mend"
|
||||
style="overflow:visible;">
|
||||
<path
|
||||
id="path4093"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;"
|
||||
transform="scale(0.4) rotate(180) translate(10,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Lend"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow1Lend"
|
||||
style="overflow:visible;">
|
||||
<path
|
||||
id="path4087"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;"
|
||||
transform="scale(0.8) rotate(180) translate(12.5,0)" />
|
||||
</marker>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
inkscape:document-units="mm"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.62145905"
|
||||
inkscape:cx="501.23978"
|
||||
inkscape:cy="368.82901"
|
||||
inkscape:current-layer="layer1"
|
||||
id="namedview2997"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1398"
|
||||
inkscape:window-height="951"
|
||||
inkscape:window-x="29"
|
||||
inkscape:window-y="9"
|
||||
inkscape:window-maximized="0" />
|
||||
<metadata
|
||||
id="metadata2999">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<rect
|
||||
style="fill:#cccccc;fill-rule:evenodd;stroke:#000000;stroke-width:0.87761605px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
id="rect3002"
|
||||
width="286.55447"
|
||||
height="168.97145"
|
||||
x="44.489792"
|
||||
y="199.9754" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="147.26869"
|
||||
y="220.12793"
|
||||
id="text3004"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3006"
|
||||
x="147.26869"
|
||||
y="220.12793">compute-node</tspan></text>
|
||||
<path
|
||||
sodipodi:type="star"
|
||||
style="fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
id="path3008"
|
||||
sodipodi:sides="6"
|
||||
sodipodi:cx="153.46948"
|
||||
sodipodi:cy="266.63385"
|
||||
sodipodi:r1="54.234737"
|
||||
sodipodi:r2="46.968662"
|
||||
sodipodi:arg1="2.1112158"
|
||||
sodipodi:arg2="2.6348146"
|
||||
inkscape:flatsided="true"
|
||||
inkscape:rounded="0"
|
||||
inkscape:randomized="0"
|
||||
d="m 125.56594,313.13975 -26.323523,-47.41812 27.903543,-46.50591 54.22706,0.91223 26.32353,47.41812 -27.90354,46.50591 z"
|
||||
transform="matrix(1.3064901,0,0,1.125237,-69.171744,-16.602549)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="79.060043"
|
||||
y="274.3848"
|
||||
id="text3778"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3780"
|
||||
x="79.060043"
|
||||
y="274.3848">software</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="79.060043"
|
||||
y="304.3848"
|
||||
id="tspan3782">bridge</tspan></text>
|
||||
<rect
|
||||
style="fill:#ffff00;fill-rule:evenodd;stroke:#000000;stroke-width:0.48876548px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
id="rect3784"
|
||||
width="67.248123"
|
||||
height="51.989056"
|
||||
x="97.399261"
|
||||
y="75.517654" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="111.61417"
|
||||
y="110.06398"
|
||||
id="text3786"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3788"
|
||||
x="111.61417"
|
||||
y="110.06398">VM</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#800080;stroke-width:3.54330707;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 134.86712,124.01574 1.5502,108.51378"
|
||||
id="path3790"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
id="path3792"
|
||||
sodipodi:cx="496.83807"
|
||||
sodipodi:cy="479.78592"
|
||||
sodipodi:rx="59.682579"
|
||||
sodipodi:ry="53.481792"
|
||||
d="m 556.52065,479.78592 a 59.682579,53.481792 0 1 1 -119.36516,0 59.682579,53.481792 0 1 1 119.36516,0 z" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 452.65748,441.8061 88.36122,79.06004"
|
||||
id="path3802"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 457.30807,520.86614 534.81791,440.2559"
|
||||
id="path3804"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:3.54330707;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="M 161.22047,330.19192 441.8061,472.81004"
|
||||
id="path3806"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<rect
|
||||
style="fill:#cccccc;fill-rule:evenodd;stroke:#000000;stroke-width:0.87941957px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
id="rect3002-0"
|
||||
width="287.73346"
|
||||
height="168.97145"
|
||||
x="726.01721"
|
||||
y="193.08995" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="732.21796"
|
||||
y="214.79266"
|
||||
id="text3004-7"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3006-1"
|
||||
x="732.21796"
|
||||
y="214.79266">compute-node</tspan></text>
|
||||
<path
|
||||
sodipodi:type="star"
|
||||
style="fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
id="path3008-3"
|
||||
sodipodi:sides="6"
|
||||
sodipodi:cx="153.46948"
|
||||
sodipodi:cy="266.63385"
|
||||
sodipodi:r1="54.234737"
|
||||
sodipodi:r2="46.968662"
|
||||
sodipodi:arg1="2.1112158"
|
||||
sodipodi:arg2="2.6348146"
|
||||
inkscape:flatsided="true"
|
||||
inkscape:rounded="0"
|
||||
inkscape:randomized="0"
|
||||
d="m 125.56594,313.13975 -26.323523,-47.41812 27.903543,-46.50591 54.22706,0.91223 26.32353,47.41812 -27.90354,46.50591 z"
|
||||
transform="matrix(1.3064901,0,0,1.125237,725.05414,-23.488005)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="873.28589"
|
||||
y="267.49936"
|
||||
id="text3778-1"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3780-7"
|
||||
x="873.28589"
|
||||
y="267.49936">software</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="873.28589"
|
||||
y="297.49936"
|
||||
id="tspan3782-6">bridge</tspan></text>
|
||||
<rect
|
||||
style="fill:#ffff00;fill-rule:evenodd;stroke:#000000;stroke-width:0.48876548px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
id="rect3784-6"
|
||||
width="67.248123"
|
||||
height="51.989056"
|
||||
x="897.82593"
|
||||
y="77.933372" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="912.04083"
|
||||
y="112.47969"
|
||||
id="text3786-9"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3788-1"
|
||||
x="912.04083"
|
||||
y="112.47969">VM</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#800080;stroke-width:3.54330707;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 930.64321,127.98166 1.5502,94.56201"
|
||||
id="path3790-3"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:3.54330707;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="M 889.81298,320.89075 553.42027,474.36023"
|
||||
id="path3856"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="702.23914"
|
||||
y="27.903547"
|
||||
id="text3858"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3860"
|
||||
x="702.23914"
|
||||
y="27.903547">1. prepare destination VM </tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="702.23914"
|
||||
y="57.903549"
|
||||
id="tspan3862">ports are created</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="364.29623"
|
||||
y="48.056103"
|
||||
id="text3864"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3866"
|
||||
x="364.29623"
|
||||
y="48.056103">2. VM state are sent</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="364.29623"
|
||||
y="78.056099"
|
||||
id="tspan3868" /></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="179.82283"
|
||||
y="144.1683"
|
||||
id="text3870"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3872"
|
||||
x="179.82283"
|
||||
y="144.1683">3. stop VM</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="179.82283"
|
||||
y="174.1683"
|
||||
id="tspan3896">on the source</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="668.13483"
|
||||
y="133.31693"
|
||||
id="text3874"
|
||||
sodipodi:linespacing="125%"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3876"
|
||||
x="668.13483"
|
||||
y="133.31693">6. resume VM</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="668.13483"
|
||||
y="163.31693"
|
||||
id="tspan3894">on the desitnation</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="710.59766"
|
||||
y="476.47729"
|
||||
id="text3878"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
x="710.59766"
|
||||
y="476.47729"
|
||||
id="tspan3882">4. hypervisor sends</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="710.59766"
|
||||
y="506.47729"
|
||||
id="tspan4008">GARP pakcet to notify that</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="710.59766"
|
||||
y="536.47729"
|
||||
id="tspan3886">the mac address is moved</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="84.450134"
|
||||
y="556.10828"
|
||||
id="text3888"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3890"
|
||||
x="84.450134"
|
||||
y="556.10828">5. switches re-learn mac-address and</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="84.450134"
|
||||
y="586.10828"
|
||||
id="tspan3892">update mac-learing table</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#00ff00;stroke-width:10.62992126;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:5.31496063,5.31496063;marker-start:none;marker-end:url(#Arrow1Send);stroke-dashoffset:0"
|
||||
d="m 175.17224,97.662401 713.09055,0"
|
||||
id="path3898"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:7.08661413;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:21.25984252, 7.08661417;stroke-dashoffset:0;marker-end:url(#Arrow1Send)"
|
||||
d="m 963.86077,185.73107 45.05523,72.41024 -25.74583,85.28317 -408.71559,148.03871"
|
||||
id="path3034"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cccc" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 15 KiB |
BIN
doc/source/images/internal-quantum-bootup.png
Normal file
After Width: | Height: | Size: 100 KiB |
411
doc/source/images/internal-quantum-bootup.svg
Normal file
@ -0,0 +1,411 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="297mm"
|
||||
height="210mm"
|
||||
id="svg2994"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.3.1 r9886"
|
||||
sodipodi:docname="internal-quantum-bootup.svg">
|
||||
<defs
|
||||
id="defs2996">
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow1Mend"
|
||||
style="overflow:visible;">
|
||||
<path
|
||||
id="path3845"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;"
|
||||
transform="scale(0.4) rotate(180) translate(10,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Lend"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow1Lend"
|
||||
style="overflow:visible;">
|
||||
<path
|
||||
id="path3839"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;"
|
||||
transform="scale(0.8) rotate(180) translate(12.5,0)" />
|
||||
</marker>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
inkscape:document-units="mm"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.94549198"
|
||||
inkscape:cx="528.29639"
|
||||
inkscape:cy="372.04724"
|
||||
inkscape:current-layer="layer1"
|
||||
id="namedview2998"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1523"
|
||||
inkscape:window-height="1072"
|
||||
inkscape:window-x="39"
|
||||
inkscape:window-y="75"
|
||||
inkscape:window-maximized="0" />
|
||||
<metadata
|
||||
id="metadata3000">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<rect
|
||||
style="fill:#00ffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.59297168;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="rect3003"
|
||||
width="131.57176"
|
||||
height="70.721771"
|
||||
x="188.27751"
|
||||
y="176.18547" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="110.88218"
|
||||
y="154.5258"
|
||||
id="text3773"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3775"
|
||||
x="110.88218"
|
||||
y="154.5258" /></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="200.65062"
|
||||
y="206.13747"
|
||||
id="text3777"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3779"
|
||||
x="200.65062"
|
||||
y="206.13747">Quantum</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="200.65062"
|
||||
y="236.13747"
|
||||
id="tspan3781">Server</tspan></text>
|
||||
<rect
|
||||
style="fill:#00ffff;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
id="rect3783"
|
||||
width="112.23441"
|
||||
height="70.315529"
|
||||
x="717.44904"
|
||||
y="145.77005" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="730.97125"
|
||||
y="176.87114"
|
||||
id="text3785"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3787"
|
||||
x="730.97125"
|
||||
y="176.87114">Ryu</tspan></text>
|
||||
<rect
|
||||
style="fill:#00ffff;fill-rule:evenodd;stroke:#000000;stroke-width:1.10748124px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
id="rect3789"
|
||||
width="769.55322"
|
||||
height="270.44434"
|
||||
x="43.437778"
|
||||
y="393.86905" />
|
||||
<rect
|
||||
style="fill:#00ffff;fill-rule:evenodd;stroke:#000000;stroke-width:0.9129163px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
id="rect3791"
|
||||
width="136.5744"
|
||||
height="51.840321"
|
||||
x="66.870529"
|
||||
y="437.97333" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="95.267166"
|
||||
y="471.77887"
|
||||
id="text3793"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3795"
|
||||
x="95.267166"
|
||||
y="471.77887">ryu.ini</tspan></text>
|
||||
<g
|
||||
id="g3825"
|
||||
transform="translate(416.71427,-6.3459026)">
|
||||
<path
|
||||
transform="matrix(1.042316,0,0,1.0647383,35.099087,16.081462)"
|
||||
d="m 201.48104,585.88452 -47.30174,0.79573 -24.33999,-40.56665 22.96175,-41.36238 47.30175,-0.79572 24.33999,40.56665 z"
|
||||
inkscape:randomized="0"
|
||||
inkscape:rounded="0"
|
||||
inkscape:flatsided="true"
|
||||
sodipodi:arg2="1.5539756"
|
||||
sodipodi:arg1="1.0303768"
|
||||
sodipodi:r2="40.97031"
|
||||
sodipodi:r1="47.308437"
|
||||
sodipodi:cy="545.31787"
|
||||
sodipodi:cx="177.14105"
|
||||
sodipodi:sides="6"
|
||||
id="path3797"
|
||||
style="fill:#00ff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.99921262;stroke-linecap:butt;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
sodipodi:type="star" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
id="text3801"
|
||||
y="603.46344"
|
||||
x="192.01549"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
xml:space="preserve"><tspan
|
||||
y="603.46344"
|
||||
x="192.01549"
|
||||
id="tspan3803"
|
||||
sodipodi:role="line">OVS</tspan></text>
|
||||
</g>
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#00ffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.77165353;stroke-linecap:butt;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
id="path3805"
|
||||
sodipodi:cx="384.03098"
|
||||
sodipodi:cy="482.43958"
|
||||
sodipodi:rx="125.75662"
|
||||
sodipodi:ry="35.833878"
|
||||
d="m 509.7876,482.43958 a 125.75662,35.833878 0 1 1 -251.51325,0 125.75662,35.833878 0 1 1 251.51325,0 z"
|
||||
transform="matrix(0.7468437,0,0,0.70094681,178.67835,126.04697)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="399.21118"
|
||||
y="468.24127"
|
||||
id="text3807"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3809"
|
||||
x="399.21118"
|
||||
y="468.24127">Ryu agent</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:3.54330707;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Mend)"
|
||||
d="m 204.25845,465.47229 163.93582,0.72099"
|
||||
id="path3830"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:3.54330707;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Mend)"
|
||||
d="M 518.2067,442.54904 728.86992,219.25852"
|
||||
id="path4462"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:3.54330707;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Mend)"
|
||||
d="m 521.02895,482.64718 78.74585,82.48553"
|
||||
id="path4648"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="81.932907"
|
||||
y="517.38977"
|
||||
id="text4834"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4836"
|
||||
x="81.932907"
|
||||
y="517.38977">1.get IP address</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="81.932907"
|
||||
y="547.38977"
|
||||
id="tspan4404">for ryu to access</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="81.932907"
|
||||
y="577.38977"
|
||||
id="tspan4406">ovsdb</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="352.14709"
|
||||
y="540.65802"
|
||||
id="text4838"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
x="352.14709"
|
||||
y="540.65802"
|
||||
id="tspan4842">3. setup OVS</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="352.14709"
|
||||
y="570.65802"
|
||||
id="tspan4200">to accept changes</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="352.14709"
|
||||
y="600.65802"
|
||||
id="tspan4202">from Ryu.</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="352.14709"
|
||||
y="622.68402"
|
||||
id="tspan4606"
|
||||
style="font-size:16px">set-manager ptcp:<port></tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="387.24884"
|
||||
y="216.63544"
|
||||
id="text4846"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
x="387.24884"
|
||||
y="216.63544"
|
||||
id="tspan4850">4. register necesary infos</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="387.24884"
|
||||
y="246.63544"
|
||||
id="tspan4854">dpid, ovsdb ip address</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="387.24884"
|
||||
y="276.63544"
|
||||
id="tspan4177">(+ ip adress for tunnel</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="387.24884"
|
||||
y="306.63544"
|
||||
id="tspan4616">if GRE is enabled)</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="387.24884"
|
||||
y="336.63544"
|
||||
id="tspan4860" /></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="22.987768"
|
||||
y="50.404736"
|
||||
id="text4862"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4864"
|
||||
x="22.987768"
|
||||
y="50.404736"
|
||||
style="font-size:48px">Node boot up</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:3.29350114;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Mend)"
|
||||
d="M 403.26785,443.90126 252.79812,248.84757"
|
||||
id="path3027"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="51.824883"
|
||||
y="268.15176"
|
||||
id="text4192"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4194"
|
||||
x="51.824883"
|
||||
y="268.15176">2. Get address</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="51.824883"
|
||||
y="298.15176"
|
||||
id="tspan4198">for Ryu REST</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="51.824883"
|
||||
y="328.15176"
|
||||
id="tspan4196">via openstack RPC</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="51.824883"
|
||||
y="358.15176"
|
||||
id="tspan4618">which is used for</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="51.824883"
|
||||
y="388.15176"
|
||||
id="tspan4620">internal communication</tspan></text>
|
||||
<rect
|
||||
style="fill:none;stroke:#000000;stroke-width:0.78022003px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
id="rect4204"
|
||||
width="125.13995"
|
||||
height="47.363235"
|
||||
x="192.15517"
|
||||
y="72.159836" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="213.64537"
|
||||
y="101.04301"
|
||||
id="text4206"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4208"
|
||||
x="213.64537"
|
||||
y="101.04301">ryu.ini</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:3.54330707;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Mend)"
|
||||
d="m 250.66315,119.02308 0,58.17077"
|
||||
id="path4210"
|
||||
inkscape:connector-curvature="0" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="11.634151"
|
||||
y="124.31133"
|
||||
id="text4396"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4398"
|
||||
x="11.634151"
|
||||
y="124.31133">get IP address </tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="11.634151"
|
||||
y="154.31133"
|
||||
id="tspan4400">for Ryu REST API</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="11.634151"
|
||||
y="184.31133"
|
||||
id="tspan4402">on startup</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:3.54330707;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Mend)"
|
||||
d="M 779.48837,217.38456 672.66568,570.63981"
|
||||
id="path4408"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="767.85419"
|
||||
y="286.13184"
|
||||
id="text4594"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
x="767.85419"
|
||||
y="286.13184"
|
||||
id="tspan4598">5. setup ovs</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="767.85419"
|
||||
y="316.13184"
|
||||
id="tspan4602">to connect Ryu</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="767.85419"
|
||||
y="346.13184"
|
||||
id="tspan3045"
|
||||
style="font-size:16px">set-controller tcp:<ip>:<port></tspan></text>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 16 KiB |
BIN
doc/source/images/internal-quantum-gre-flow-table.png
Normal file
After Width: | Height: | Size: 60 KiB |
589
doc/source/images/internal-quantum-gre-flow-table.svg
Normal file
@ -0,0 +1,589 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="297mm"
|
||||
height="210mm"
|
||||
id="svg2985"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.3.1 r9886"
|
||||
sodipodi:docname="internal-quantum-gre-flow-table.svg">
|
||||
<defs
|
||||
id="defs2987" />
|
||||
<sodipodi:namedview
|
||||
inkscape:document-units="mm"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.79307804"
|
||||
inkscape:cx="527.69924"
|
||||
inkscape:cy="380"
|
||||
inkscape:current-layer="layer1"
|
||||
id="namedview2989"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1123"
|
||||
inkscape:window-height="981"
|
||||
inkscape:window-x="412"
|
||||
inkscape:window-y="92"
|
||||
inkscape:window-maximized="0" />
|
||||
<metadata
|
||||
id="metadata2991">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<rect
|
||||
style="fill:#00ff00;fill-rule:evenodd;stroke:#000000;stroke-width:0.83911663px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
id="rect2994"
|
||||
width="100.26987"
|
||||
height="45.822945"
|
||||
x="200.97739"
|
||||
y="68.814583" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="209.40253"
|
||||
y="98.370522"
|
||||
id="text3015"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3017"
|
||||
x="209.40253"
|
||||
y="98.370522">table 0</tspan></text>
|
||||
<rect
|
||||
style="fill:#00ffff;fill-rule:evenodd;stroke:#000000;stroke-width:0.87275267px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
id="rect3815"
|
||||
width="282.60529"
|
||||
height="70.102013"
|
||||
x="106.53268"
|
||||
y="201.69412" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="120.8026"
|
||||
y="226.28462"
|
||||
id="text3817"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3819"
|
||||
x="120.8026"
|
||||
y="226.28462">in_port</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="120.8026"
|
||||
y="256.28461"
|
||||
id="tspan3821">src mac</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="236.0596"
|
||||
y="228.48"
|
||||
id="text3823"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3825"
|
||||
x="236.0596"
|
||||
y="228.48">set_tunnel</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="236.0596"
|
||||
y="258.47998"
|
||||
id="tspan3827">goto table 1</tspan></text>
|
||||
<rect
|
||||
style="fill:#00ffff;fill-rule:evenodd;stroke:#000000;stroke-width:0.89289355px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
id="rect3829"
|
||||
width="279.90991"
|
||||
height="35.005596"
|
||||
x="106.53268"
|
||||
y="299.23138" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="128.48639"
|
||||
y="321.66245"
|
||||
id="text3831"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3833"
|
||||
x="128.48639"
|
||||
y="321.66245">in_port</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="244.84109"
|
||||
y="322.76013"
|
||||
id="text3835"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3837"
|
||||
x="244.84109"
|
||||
y="322.76013">drop</tspan></text>
|
||||
<rect
|
||||
style="fill:#00ffff;fill-rule:evenodd;stroke:#000000;stroke-width:1.01448965px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
id="rect3839"
|
||||
width="283.56137"
|
||||
height="72.447266"
|
||||
x="107.63037"
|
||||
y="394.23053" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="115.31416"
|
||||
y="421.67267"
|
||||
id="text3841"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3843"
|
||||
x="115.31416"
|
||||
y="421.67267">in_port</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="115.31416"
|
||||
y="451.67267"
|
||||
id="tspan3845">tunnel_id</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="235.36183"
|
||||
y="431.71509"
|
||||
id="text3847"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3849"
|
||||
x="235.36183"
|
||||
y="431.71509">goto table 2</tspan></text>
|
||||
<rect
|
||||
style="fill:#00ffff;fill-rule:evenodd;stroke:#000000;stroke-width:1.08350325px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
id="rect3851"
|
||||
width="314.95236"
|
||||
height="72.363762"
|
||||
x="427.73532"
|
||||
y="201.40605" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="430.98666"
|
||||
y="226.61108"
|
||||
id="text3853"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3855"
|
||||
x="430.98666"
|
||||
y="226.61108">tunnel_id</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="430.98666"
|
||||
y="256.61108"
|
||||
id="tspan3857">dst mac</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="566.00195"
|
||||
y="226.61107"
|
||||
id="text3859"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3861"
|
||||
x="566.00195"
|
||||
y="226.61107">output(tunnel)</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="566.00195"
|
||||
y="256.61105"
|
||||
id="tspan3863">goto table 2</tspan></text>
|
||||
<rect
|
||||
style="fill:#00ffff;fill-rule:evenodd;stroke:#000000;stroke-width:0.74088061px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
id="rect3865"
|
||||
width="313.09958"
|
||||
height="36.482754"
|
||||
x="429.7594"
|
||||
y="304.41724" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="435.37741"
|
||||
y="326.50049"
|
||||
id="text3867"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3869"
|
||||
x="435.37741"
|
||||
y="326.50049">tunnel_id</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="573.68579"
|
||||
y="326.50049"
|
||||
id="text3871"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3873"
|
||||
x="573.68579"
|
||||
y="326.50049">goto table 2</tspan></text>
|
||||
<rect
|
||||
style="fill:#00ffff;fill-rule:evenodd;stroke:#000000;stroke-width:1.04436409px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
id="rect3875"
|
||||
width="268.13486"
|
||||
height="66.304108"
|
||||
x="771.08972"
|
||||
y="260.98209" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="777.67578"
|
||||
y="282.93579"
|
||||
id="text3877"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3879"
|
||||
x="777.67578"
|
||||
y="282.93579">tunnel_id</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="777.67578"
|
||||
y="312.93579"
|
||||
id="tspan3881">dst mac</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="902.81189"
|
||||
y="284.03348"
|
||||
id="text3883"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3885"
|
||||
x="902.81189"
|
||||
y="284.03348">output(vm)</tspan></text>
|
||||
<rect
|
||||
style="fill:#00ffff;fill-rule:evenodd;stroke:#000000;stroke-width:0.85090744px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
id="rect3887"
|
||||
width="193.53958"
|
||||
height="34.483585"
|
||||
x="773.2851"
|
||||
y="370.75067" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="780.96887"
|
||||
y="394.89975"
|
||||
id="text3889"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3891"
|
||||
x="780.96887"
|
||||
y="394.89975">tunnel_id</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="903.90961"
|
||||
y="393.80206"
|
||||
id="text3893"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3895"
|
||||
x="903.90961"
|
||||
y="393.80206">drop</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 226.96379,200.64229 0,70.61096"
|
||||
id="path3897"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 228.2247,298.99327 0,34.04457"
|
||||
id="path3899"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 229.57289,392.30061 0,75.65459"
|
||||
id="path3914"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 556.06129,201.9032 0,71.87187"
|
||||
id="path3916"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 556.06129,302.776 0,40.34912"
|
||||
id="path3918"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 895.24607,263.68779 0,65.56732"
|
||||
id="path3920"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 897.76789,372.12605 0,32.78365"
|
||||
id="path3922"
|
||||
inkscape:connector-curvature="0" />
|
||||
<rect
|
||||
style="fill:#00ff00;fill-rule:evenodd;stroke:#000000;stroke-width:0.83911663px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
id="rect2994-6"
|
||||
width="100.26987"
|
||||
height="45.822945"
|
||||
x="513.47406"
|
||||
y="69.514412" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="521.89917"
|
||||
y="99.070351"
|
||||
id="text3015-4"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3017-9"
|
||||
x="521.89917"
|
||||
y="99.070351">table 1</tspan></text>
|
||||
<rect
|
||||
style="fill:#00ff00;fill-rule:evenodd;stroke:#000000;stroke-width:0.83911663px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
id="rect2994-4"
|
||||
width="100.26987"
|
||||
height="45.822945"
|
||||
x="840.04974"
|
||||
y="70.775322" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="848.47491"
|
||||
y="100.33126"
|
||||
id="text3015-9"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3017-3"
|
||||
x="848.47491"
|
||||
y="100.33126">table 2</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="834.72241"
|
||||
y="27.897627"
|
||||
id="text3989"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3991"
|
||||
x="834.72241"
|
||||
y="27.897627">Local out</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="504.36398"
|
||||
y="32.941265"
|
||||
id="text3993"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3995"
|
||||
x="504.36398"
|
||||
y="32.941265">tunnel out</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="204.26741"
|
||||
y="30.419449"
|
||||
id="text3997"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3999"
|
||||
x="204.26741"
|
||||
y="30.419449">src table</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 6.3045498,176.685 1036.4679502,0"
|
||||
id="path4001"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 97.132777,11.505798 0,520.755812"
|
||||
id="path4003"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 10.08728,374.64787 750.24142,0"
|
||||
id="path4005"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="6.521821"
|
||||
y="97.464943"
|
||||
id="text4007"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4009"
|
||||
x="6.521821"
|
||||
y="97.464943">in port</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="15.13092"
|
||||
y="269.99234"
|
||||
id="text4011"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4013"
|
||||
x="15.13092"
|
||||
y="269.99234">vm</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="15.13092"
|
||||
y="299.99234"
|
||||
id="tspan4021">port</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="6.3045492"
|
||||
y="442.737"
|
||||
id="text4015"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4017"
|
||||
x="6.3045492"
|
||||
y="442.737">tunnel</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="6.3045492"
|
||||
y="472.737"
|
||||
id="tspan4019">port</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 407.27392,12.766708 0,511.929442"
|
||||
id="path4023"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 762.85052,11.505798 0,520.755812"
|
||||
id="path4025"
|
||||
inkscape:connector-curvature="0" />
|
||||
<g
|
||||
id="g3102"
|
||||
transform="translate(-107.17735,-524.53854)">
|
||||
<rect
|
||||
y="637.55701"
|
||||
x="244.02382"
|
||||
height="36.223633"
|
||||
width="175.15869"
|
||||
id="rect3027"
|
||||
style="fill:#00ffff;stroke:#000000;stroke-width:1.35430717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
id="text3019"
|
||||
y="661.76013"
|
||||
x="252.12903"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
xml:space="preserve"><tspan
|
||||
y="661.76013"
|
||||
x="252.12903"
|
||||
id="tspan3021"
|
||||
sodipodi:role="line">match</tspan></text>
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
id="text3023"
|
||||
y="661.95551"
|
||||
x="339.7807"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
xml:space="preserve"><tspan
|
||||
y="661.95551"
|
||||
x="339.7807"
|
||||
id="tspan3025"
|
||||
sodipodi:role="line">action</tspan></text>
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3089"
|
||||
d="m 334.14114,636.91714 0,37.82729"
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||
</g>
|
||||
<g
|
||||
id="g3102-3"
|
||||
transform="translate(219.41449,-525.79946)">
|
||||
<rect
|
||||
y="641.33972"
|
||||
x="244.02382"
|
||||
height="36.223633"
|
||||
width="175.15869"
|
||||
id="rect3027-5"
|
||||
style="fill:#00ffff;stroke:#000000;stroke-width:1.35430717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
id="text3019-1"
|
||||
y="666.58649"
|
||||
x="252.12903"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
xml:space="preserve"><tspan
|
||||
y="666.58649"
|
||||
x="252.12903"
|
||||
id="tspan3021-2"
|
||||
sodipodi:role="line">match</tspan></text>
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
id="text3023-3"
|
||||
y="665.73822"
|
||||
x="339.7807"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
xml:space="preserve"><tspan
|
||||
y="665.73822"
|
||||
x="339.7807"
|
||||
id="tspan3025-4"
|
||||
sodipodi:role="line">action</tspan></text>
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3089-8"
|
||||
d="m 334.14114,640.69987 0,37.82729"
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||
</g>
|
||||
<g
|
||||
id="g3102-3-5"
|
||||
transform="translate(552.29471,-524.53854)">
|
||||
<rect
|
||||
y="641.33972"
|
||||
x="244.02382"
|
||||
height="36.223633"
|
||||
width="175.15869"
|
||||
id="rect3027-5-6"
|
||||
style="fill:#00ffff;stroke:#000000;stroke-width:1.35430717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
id="text3019-1-1"
|
||||
y="666.58649"
|
||||
x="252.12903"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
xml:space="preserve"><tspan
|
||||
y="666.58649"
|
||||
x="252.12903"
|
||||
id="tspan3021-2-7"
|
||||
sodipodi:role="line">match</tspan></text>
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
id="text3023-3-5"
|
||||
y="665.73822"
|
||||
x="339.7807"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
xml:space="preserve"><tspan
|
||||
y="665.73822"
|
||||
x="339.7807"
|
||||
id="tspan3025-4-1"
|
||||
sodipodi:role="line">action</tspan></text>
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3089-8-8"
|
||||
d="m 334.14114,640.69987 0,37.82729"
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 23 KiB |
BIN
doc/source/images/internal-quantum-instance-create.png
Normal file
After Width: | Height: | Size: 92 KiB |
481
doc/source/images/internal-quantum-instance-create.svg
Normal file
@ -0,0 +1,481 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="297mm"
|
||||
height="210mm"
|
||||
id="svg2985"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.3.1 r9886"
|
||||
sodipodi:docname="internal-quantum-instance-create.svg">
|
||||
<sodipodi:namedview
|
||||
inkscape:document-units="mm"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.87"
|
||||
inkscape:cx="495.53846"
|
||||
inkscape:cy="380"
|
||||
inkscape:current-layer="layer1"
|
||||
id="namedview2989"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1544"
|
||||
inkscape:window-height="1073"
|
||||
inkscape:window-x="35"
|
||||
inkscape:window-y="32"
|
||||
inkscape:window-maximized="0" />
|
||||
<defs
|
||||
id="defs2987">
|
||||
<linearGradient
|
||||
id="linearGradient5384"
|
||||
osb:paint="solid">
|
||||
<stop
|
||||
style="stop-color:#000000;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop5386" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient5358"
|
||||
osb:paint="solid">
|
||||
<stop
|
||||
style="stop-color:#000000;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop5360" />
|
||||
</linearGradient>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow1Mend"
|
||||
style="overflow:visible;">
|
||||
<path
|
||||
id="path4800"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;"
|
||||
transform="scale(0.4) rotate(180) translate(10,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mend-0"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4800-2"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend-03"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mend-03"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5472"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="stroke:#00ff00;stroke-width:1pt;fill:#00ff00;fill-rule:evenodd"
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend-0L"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mend-0L"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3835"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="stroke:#999999;stroke-width:1pt;fill:#999999;fill-rule:evenodd"
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend-0L"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mend-0L-5"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3835-3"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill:#999999;fill-rule:evenodd;stroke:#999999;stroke-width:1pt"
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend-03"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mend-03-7"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5472-9"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill:#00ff00;fill-rule:evenodd;stroke:#00ff00;stroke-width:1pt"
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
|
||||
</marker>
|
||||
</defs>
|
||||
<metadata
|
||||
id="metadata2991">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<rect
|
||||
style="fill:#00ffff;fill-rule:evenodd;stroke:#000000;stroke-width:0.96969086px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
id="rect2994"
|
||||
width="674.27905"
|
||||
height="257.23532"
|
||||
x="172.72917"
|
||||
y="353.05884" />
|
||||
<rect
|
||||
style="fill:#00ffff;fill-rule:evenodd;stroke:#000000;stroke-width:0.60284865px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
id="rect2996"
|
||||
width="123.39545"
|
||||
height="72.787445"
|
||||
x="265.09756"
|
||||
y="61.223278" />
|
||||
<rect
|
||||
style="fill:#00ffff;fill-rule:evenodd;stroke:#000000;stroke-width:0.44750994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
id="rect2998"
|
||||
width="64.270126"
|
||||
height="55.630074"
|
||||
x="723.80182"
|
||||
y="72.612694" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#00ffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2.45036435;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
id="path3000"
|
||||
sodipodi:cx="348.4295"
|
||||
sodipodi:cy="527.60168"
|
||||
sodipodi:rx="96.219025"
|
||||
sodipodi:ry="43.006989"
|
||||
d="m 444.64853,527.60168 a 96.219025,43.006989 0 1 1 -192.43805,0 96.219025,43.006989 0 1 1 192.43805,0 z"
|
||||
transform="matrix(1.1341678,0,0,0.61951977,-41.122543,79.338007)" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#00ffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2.95329165;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
id="path3002"
|
||||
sodipodi:cx="368.8396"
|
||||
sodipodi:cy="658.80945"
|
||||
sodipodi:rx="107.88194"
|
||||
sodipodi:ry="34.259804"
|
||||
d="m 476.72154,658.80945 a 107.88194,34.259804 0 1 1 -215.76388,0 107.88194,34.259804 0 1 1 215.76388,0 z"
|
||||
transform="matrix(0.75548852,0,0,0.5533406,63.453465,144.36077)" />
|
||||
<g
|
||||
style="fill-rule:evenodd;stroke-width:28.22200012;stroke-linejoin:round;visibility:visible"
|
||||
transform="matrix(1.0633793,0,0,1.0513456,522.96619,-119.46046)"
|
||||
id="g3825">
|
||||
<path
|
||||
transform="matrix(1.042316,0,0,1.0647383,35.099087,16.081462)"
|
||||
d="m 201.48104,585.88452 -47.30174,0.79573 -24.33999,-40.56665 22.96175,-41.36238 47.30175,-0.79572 24.33999,40.56665 z"
|
||||
inkscape:randomized="0"
|
||||
inkscape:rounded="0"
|
||||
inkscape:flatsided="true"
|
||||
sodipodi:arg2="1.5539756"
|
||||
sodipodi:arg1="1.0303768"
|
||||
sodipodi:r2="40.97031"
|
||||
sodipodi:r1="47.308437"
|
||||
sodipodi:cy="545.31787"
|
||||
sodipodi:cx="177.14105"
|
||||
sodipodi:sides="6"
|
||||
id="path3797"
|
||||
style="fill:#00ff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.99921262;stroke-linecap:butt;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
sodipodi:type="star" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
id="text3801"
|
||||
y="603.46344"
|
||||
x="192.01549"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
xml:space="preserve"><tspan
|
||||
y="603.46344"
|
||||
x="192.01549"
|
||||
id="tspan3803"
|
||||
sodipodi:role="line">OVS</tspan></text>
|
||||
</g>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="15.952232"
|
||||
y="33.356243"
|
||||
id="text3987"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3989"
|
||||
x="15.952232"
|
||||
y="33.356243">Instance Creation</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="267.49033"
|
||||
y="412.46277"
|
||||
id="text3991"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3993"
|
||||
x="267.49033"
|
||||
y="412.46277">nova-compute</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="285.68054"
|
||||
y="516.57892"
|
||||
id="text4763"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4765"
|
||||
x="285.68054"
|
||||
y="516.57892">vid driver</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:3.54330707;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Mend)"
|
||||
d="m 21.624353,404.0288 223.076917,0"
|
||||
id="path4767"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:3.54330707;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Mend)"
|
||||
d="m 308.24681,380.35633 0,-243.95605"
|
||||
id="path4769"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:3.54330707;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Mend)"
|
||||
d="m 338.92674,133.6486 0,249.45055"
|
||||
id="path4771"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:3.54330707;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Mend)"
|
||||
d="m 424.92105,510.62221 278.06594,-1"
|
||||
id="path4773"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:3.54330707;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Mend)"
|
||||
d="m 388.65732,105.1277 329.67033,0"
|
||||
id="path4775"
|
||||
inkscape:connector-curvature="0" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="269.97598"
|
||||
y="90.841988"
|
||||
id="text4777"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4779"
|
||||
x="269.97598"
|
||||
y="90.841988">quantum</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="269.97598"
|
||||
y="120.84199"
|
||||
id="tspan4781">server</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="737.00897"
|
||||
y="110.64419"
|
||||
id="text4783"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4785"
|
||||
x="737.00897"
|
||||
y="110.64419">ryu</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:3.54330707;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Mend)"
|
||||
d="m 337.00896,434.01874 -1.0989,56.04396"
|
||||
id="path4771-2"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="18.954023"
|
||||
y="384.60022"
|
||||
id="text5255"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5257"
|
||||
x="18.954023"
|
||||
y="384.60022">1.create instance</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="130.60919"
|
||||
y="270.91058"
|
||||
id="text5259"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5261"
|
||||
x="130.60919"
|
||||
y="270.91058">2.create port</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="130.60919"
|
||||
y="300.91058"
|
||||
id="tspan3068">on network</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="346.48276"
|
||||
y="172.48529"
|
||||
id="text5263"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5265"
|
||||
x="346.48276"
|
||||
y="172.48529">5. uuid for the created port</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="364.95401"
|
||||
y="465.60022"
|
||||
id="text5267"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5269"
|
||||
x="364.95401"
|
||||
y="465.60022">6.plug</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="425.22986"
|
||||
y="536.60022"
|
||||
id="text5271"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5273"
|
||||
x="425.22986"
|
||||
y="536.60022">7. create port</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="425.22986"
|
||||
y="566.60022"
|
||||
id="tspan3050">store port uuid and</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="425.22986"
|
||||
y="596.60022"
|
||||
id="tspan3052">mac address to ovsdb</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="398.90805"
|
||||
y="83.600227"
|
||||
id="text5275"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5277"
|
||||
x="398.90805"
|
||||
y="83.600227">4. (netork uuid, port uuid)</tspan></text>
|
||||
<path
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#00ff00;stroke-width:3.54330707;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Mend-03)"
|
||||
d="m 728.95402,461.60023 0,-334"
|
||||
id="path5279"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3027"
|
||||
d="m 753.95402,125.60023 0,337"
|
||||
style="fill:none;stroke:#999999;stroke-width:3.54330707;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Mend-0L)" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
id="text4001"
|
||||
y="258.30136"
|
||||
x="415.05746"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#00ff00;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
xml:space="preserve"><tspan
|
||||
id="tspan4009"
|
||||
y="258.30136"
|
||||
x="415.05746"
|
||||
sodipodi:role="line">8. OFPPortStatus</tspan><tspan
|
||||
id="tspan4013"
|
||||
y="288.30136"
|
||||
x="415.05746"
|
||||
sodipodi:role="line">OVS notifies port creation</tspan><tspan
|
||||
id="tspan4015"
|
||||
y="318.30136"
|
||||
x="415.05746"
|
||||
sodipodi:role="line">via OpenFlow protocol</tspan></text>
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
id="text4027"
|
||||
y="320.60022"
|
||||
x="784.95404"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#00ff00;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
xml:space="preserve"><tspan
|
||||
y="320.60022"
|
||||
x="784.95404"
|
||||
id="tspan4029"
|
||||
sodipodi:role="line">10. setup flow entries</tspan></text>
|
||||
<path
|
||||
style="fill:#00ff00;fill-opacity:1;stroke:#00ff00;stroke-width:3.54330707;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Mend-03)"
|
||||
d="m 778.95402,127.27149 0,334"
|
||||
id="path5279-1"
|
||||
inkscape:connector-curvature="0" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
id="text4017"
|
||||
y="164.49678"
|
||||
x="759.51727"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#999999;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
xml:space="preserve"><tspan
|
||||
y="164.49678"
|
||||
x="759.51727"
|
||||
id="tspan4019"
|
||||
sodipodi:role="line">9. query ovsdb</tspan><tspan
|
||||
id="tspan4021"
|
||||
y="194.49678"
|
||||
x="759.51727"
|
||||
sodipodi:role="line">get infos, port uuid</tspan><tspan
|
||||
id="tspan4025"
|
||||
y="224.49678"
|
||||
x="759.51727"
|
||||
sodipodi:role="line">and mac address</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="32.183903"
|
||||
y="75.128967"
|
||||
id="text3060"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3062"
|
||||
x="32.183903"
|
||||
y="75.128967">3. quantum server</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="32.183903"
|
||||
y="105.12897"
|
||||
id="tspan3064">allocates uuid to</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="32.183903"
|
||||
y="135.12897"
|
||||
id="tspan3066">the created port</tspan></text>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 19 KiB |
BIN
doc/source/images/internal-quantum-network-creation.png
Normal file
After Width: | Height: | Size: 29 KiB |
236
doc/source/images/internal-quantum-network-creation.svg
Normal file
@ -0,0 +1,236 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="297mm"
|
||||
height="210mm"
|
||||
id="svg4866"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.3.1 r9886"
|
||||
sodipodi:docname="internal-quantum-network-creation.svg">
|
||||
<defs
|
||||
id="defs4868">
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mend"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3845"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="marker4887"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4889"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="marker4891"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4893"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="marker4891-6"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4893-4"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
|
||||
</marker>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
inkscape:document-units="mm"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.91"
|
||||
inkscape:cx="428.97898"
|
||||
inkscape:cy="306.18903"
|
||||
inkscape:current-layer="layer1"
|
||||
id="namedview4870"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1367"
|
||||
inkscape:window-height="1036"
|
||||
inkscape:window-x="188"
|
||||
inkscape:window-y="77"
|
||||
inkscape:window-maximized="0" />
|
||||
<metadata
|
||||
id="metadata4872">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<rect
|
||||
style="fill:#00ffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.59297168;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="rect3003"
|
||||
width="131.57176"
|
||||
height="70.721771"
|
||||
x="245.45879"
|
||||
y="226.30139" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="257.83188"
|
||||
y="256.25342"
|
||||
id="text3777"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3779"
|
||||
x="257.83188"
|
||||
y="256.25342">Quantum</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="257.83188"
|
||||
y="286.25342"
|
||||
id="tspan3781">Server</tspan></text>
|
||||
<rect
|
||||
style="fill:#00ffff;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
id="rect3783"
|
||||
width="112.23441"
|
||||
height="70.315529"
|
||||
x="595.88733"
|
||||
y="223.039" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="609.40955"
|
||||
y="254.14008"
|
||||
id="text3785"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3787"
|
||||
x="609.40955"
|
||||
y="254.14008">Ryu</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="21.212479"
|
||||
y="59.017372"
|
||||
id="text4862"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4864"
|
||||
x="21.212479"
|
||||
y="59.017372"
|
||||
style="font-size:48px">Network creation</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:3.54330707;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#marker4891)"
|
||||
d="m 60.659341,263.08349 181.318679,0"
|
||||
id="path5040"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:3.54330707;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#marker4891)"
|
||||
d="m 377.46247,266.3802 217.58242,1.0989"
|
||||
id="path5040-3"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="22.197802"
|
||||
y="329.01755"
|
||||
id="text5778"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5780"
|
||||
x="22.197802"
|
||||
y="329.01755">1. create network</tspan></text>
|
||||
<rect
|
||||
style="fill:#00ffff;fill-rule:evenodd;stroke:#000000;stroke-width:0.99661446;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="rect5861"
|
||||
width="246.50816"
|
||||
height="81.791458"
|
||||
x="208.7912"
|
||||
y="83.182137" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="218.68132"
|
||||
y="108.92966"
|
||||
id="text5863"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5865"
|
||||
x="218.68132"
|
||||
y="108.92966">quantum db</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="218.68132"
|
||||
y="138.92966"
|
||||
id="tspan5867">(network uuid, key)</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:3.54330707;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#marker4891-6)"
|
||||
d="m 296.7033,224.31426 -1.0989,-57.14285"
|
||||
id="path5869"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="315.38461"
|
||||
y="204.53406"
|
||||
id="text6059"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan6061"
|
||||
x="315.38461"
|
||||
y="204.53406">2. allocate key</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="381.31866"
|
||||
y="330.90768"
|
||||
id="text6083"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan6085"
|
||||
x="381.31866"
|
||||
y="330.90768">3. tell (network uuid, key)</tspan></text>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 8.5 KiB |
BIN
doc/source/images/internal-quantum-overview.png
Normal file
After Width: | Height: | Size: 166 KiB |
1813
doc/source/images/internal-quantum-overview.svg
Normal file
After Width: | Height: | Size: 60 KiB |
BIN
doc/source/images/internal-tunnel-live-migration-after.png
Normal file
After Width: | Height: | Size: 79 KiB |
1497
doc/source/images/internal-tunnel-live-migration-after.svg
Normal file
After Width: | Height: | Size: 54 KiB |
BIN
doc/source/images/internal-tunnel-live-migration-before.png
Normal file
After Width: | Height: | Size: 82 KiB |
1445
doc/source/images/internal-tunnel-live-migration-before.svg
Normal file
After Width: | Height: | Size: 53 KiB |
BIN
doc/source/images/internal-tunnel-live-migration-during.png
Normal file
After Width: | Height: | Size: 96 KiB |
1578
doc/source/images/internal-tunnel-live-migration-during.svg
Normal file
After Width: | Height: | Size: 56 KiB |
Before Width: | Height: | Size: 94 KiB After Width: | Height: | Size: 87 KiB |
@ -15,7 +15,7 @@
|
||||
height="744.09448"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.1 r9760"
|
||||
inkscape:version="0.48.3.1 r9886"
|
||||
sodipodi:docname="mac-learning.svg"
|
||||
inkscape:export-filename="/home/yamahata/openvswitch/sp-lab/scarab/scarab-2/doc/source/images/mac-learning.png"
|
||||
inkscape:export-xdpi="90"
|
||||
@ -28,7 +28,7 @@
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.8162589"
|
||||
inkscape:cx="374.1874"
|
||||
inkscape:cx="376.6376"
|
||||
inkscape:cy="324.99839"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
@ -394,30 +394,25 @@
|
||||
id="path4088"
|
||||
inkscape:connector-curvature="0"
|
||||
transform="translate(0,308.2677)" />
|
||||
<g
|
||||
id="g6423"
|
||||
transform="translate(423.13207,13.647835)"
|
||||
style="opacity:0.6125;fill:#3866a9;fill-opacity:0.46666667">
|
||||
<rect
|
||||
style="fill:#b1c76d;fill-opacity:0.46666667;fill-rule:evenodd;stroke:#ff1300;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="rect6358-7"
|
||||
width="267.63913"
|
||||
height="28.903856"
|
||||
x="80.828072"
|
||||
y="594.69769" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
id="text6360-0"
|
||||
y="615.96716"
|
||||
x="86.097534"
|
||||
style="font-size:22px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#3866a9;fill-opacity:0.46666667;stroke:none;font-family:Bitstream Vera Sans"
|
||||
xml:space="preserve"><tspan
|
||||
y="615.96716"
|
||||
x="86.097534"
|
||||
id="tspan6362-5"
|
||||
sodipodi:role="line"
|
||||
style="fill:#ff0000;fill-opacity:1;stroke:#000000;stroke-opacity:1">ryu-openflow-controller</tspan></text>
|
||||
</g>
|
||||
<rect
|
||||
y="607.22595"
|
||||
x="502.84055"
|
||||
height="31.143024"
|
||||
width="48.134926"
|
||||
id="rect6358-7"
|
||||
style="opacity:0.6125;fill:#b1c76d;fill-opacity:0.46666667;fill-rule:evenodd;stroke:#ff1300;stroke-width:1.76083171;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:22px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;opacity:0.6125;fill:#3866a9;fill-opacity:0.46666667;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="509.22961"
|
||||
y="629.61499"
|
||||
id="text6360-0"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
style="fill:#ff0000;fill-opacity:1;stroke:#000000;stroke-opacity:1"
|
||||
sodipodi:role="line"
|
||||
id="tspan6362-5"
|
||||
x="509.22961"
|
||||
y="629.61499">ryu</tspan></text>
|
||||
<rect
|
||||
y="573.9325"
|
||||
x="74.458321"
|
||||
@ -527,7 +522,7 @@
|
||||
sodipodi:role="line"
|
||||
x="33.077721"
|
||||
y="1027.5736"
|
||||
id="tspan3090">to network id of OVS port</tspan></text>
|
||||
id="tspan3090">to network uuid of OVS port</tspan></text>
|
||||
<g
|
||||
id="g6280"
|
||||
transform="translate(-137.65551,-208.28264)">
|
||||
@ -759,6 +754,6 @@
|
||||
id="tspan6176"
|
||||
y="891.41553"
|
||||
x="344.25351"
|
||||
sodipodi:role="line">network id</tspan></text>
|
||||
sodipodi:role="line">network uuid</tspan></text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 29 KiB |
Before Width: | Height: | Size: 43 KiB |
@ -1,484 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="1052.3622"
|
||||
height="744.09448"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.1 r9760"
|
||||
sodipodi:docname="network-creation.svg"
|
||||
inkscape:export-filename="/home/yamahata/openvswitch/sp-lab/scarab/scarab-2/doc/source/images/network-creation.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90">
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.8162589"
|
||||
inkscape:cx="319.62556"
|
||||
inkscape:cy="372.04724"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1345"
|
||||
inkscape:window-height="1004"
|
||||
inkscape:window-x="52"
|
||||
inkscape:window-y="100"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:snap-grids="true"
|
||||
inkscape:snap-to-guides="false"
|
||||
inkscape:snap-bbox="false"
|
||||
inkscape:snap-page="false"
|
||||
showguides="true"
|
||||
inkscape:guide-bbox="true" />
|
||||
<defs
|
||||
id="defs4">
|
||||
<linearGradient
|
||||
id="linearGradient6493"
|
||||
osb:paint="solid">
|
||||
<stop
|
||||
style="stop-color:#000000;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop6495" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient5313"
|
||||
osb:paint="solid">
|
||||
<stop
|
||||
style="stop-color:#5555ff;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop5315" />
|
||||
</linearGradient>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow1Mend"
|
||||
style="overflow:visible;">
|
||||
<path
|
||||
id="path5567"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
|
||||
transform="scale(0.4) rotate(180) translate(10,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mstart"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow1Mstart"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
id="path5564"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
|
||||
transform="scale(0.4) translate(10,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow2Lend"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow2Lend"
|
||||
style="overflow:visible;">
|
||||
<path
|
||||
id="path5579"
|
||||
style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
|
||||
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
|
||||
transform="scale(1.1) rotate(180) translate(1,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Lend"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow1Lend"
|
||||
style="overflow:visible;">
|
||||
<path
|
||||
id="path5561"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
|
||||
transform="scale(0.8) rotate(180) translate(12.5,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Lstart"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow1Lstart"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
id="path5558"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
|
||||
transform="scale(0.8) translate(12.5,0)" />
|
||||
</marker>
|
||||
<inkscape:path-effect
|
||||
effect="skeletal"
|
||||
id="path-effect5339"
|
||||
is_visible="true"
|
||||
pattern="M 0,0 0,10 10,5 z"
|
||||
copytype="single_stretched"
|
||||
prop_scale="1"
|
||||
scale_y_rel="false"
|
||||
spacing="0"
|
||||
normal_offset="0"
|
||||
tang_offset="0"
|
||||
prop_units="false"
|
||||
vertical_pattern="false"
|
||||
fuse_tolerance="0" />
|
||||
<linearGradient
|
||||
id="linearGradient5242"
|
||||
osb:paint="solid">
|
||||
<stop
|
||||
style="stop-color:#7fff2a;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop5244" />
|
||||
</linearGradient>
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 372.04724 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="1052.3622 : 372.04724 : 1"
|
||||
inkscape:persp3d-origin="526.18109 : 248.03149 : 1"
|
||||
id="perspective3009" />
|
||||
<marker
|
||||
inkscape:stockid="Arrow1LendM"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow1LendM"
|
||||
style="overflow:visible;">
|
||||
<path
|
||||
id="path4159"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
style="marker-start:none;stroke:#ff0000;stroke-width:1.0pt;fill:#ff0000;fill-rule:evenodd"
|
||||
transform="scale(0.8) rotate(180) translate(12.5,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1LendF"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow1LendF"
|
||||
style="overflow:visible;">
|
||||
<path
|
||||
id="path4585"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
style="marker-start:none;stroke:#ff0000;stroke-width:1.0pt;fill:#ff0000;fill-rule:evenodd"
|
||||
transform="scale(0.8) rotate(180) translate(12.5,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend6"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow1Mend6"
|
||||
style="overflow:visible;">
|
||||
<path
|
||||
id="path5404"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
style="marker-start:none;stroke:#ff0000;stroke-width:1.0pt;fill:#ff0000;fill-rule:evenodd"
|
||||
transform="scale(0.4) rotate(180) translate(10,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1MendN"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow1MendN"
|
||||
style="overflow:visible;">
|
||||
<path
|
||||
id="path5645"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
style="marker-start:none;stroke:#ff0000;stroke-width:1.0pt;fill:#ff0000;fill-rule:evenodd"
|
||||
transform="scale(0.4) rotate(180) translate(10,0)" />
|
||||
</marker>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5343-7"
|
||||
id="linearGradient5349-6"
|
||||
x1="-532.43896"
|
||||
y1="622.73621"
|
||||
x2="-318.84055"
|
||||
y2="622.73621"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.83990127,0,0,1.846462,-201.58875,-629.6685)" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient5343-7">
|
||||
<stop
|
||||
style="stop-color:#aaccff;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop5345-4" />
|
||||
<stop
|
||||
style="stop-color:#aaccff;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop5347-4" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
y2="622.73621"
|
||||
x2="-318.84055"
|
||||
y1="622.73621"
|
||||
x1="-532.43896"
|
||||
gradientTransform="matrix(1.2042654,0,0,2.6602952,-344.10309,-1384.9447)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient6079-9"
|
||||
xlink:href="#linearGradient5343-7-4"
|
||||
inkscape:collect="always" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient5343-7-4">
|
||||
<stop
|
||||
style="stop-color:#aaccff;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop5345-4-1" />
|
||||
<stop
|
||||
style="stop-color:#aaccff;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop5347-4-6" />
|
||||
</linearGradient>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mend-0"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5567-3"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mend-3"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5567-6"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
|
||||
</marker>
|
||||
</defs>
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-308.2677)">
|
||||
<a
|
||||
id="a4003"
|
||||
transform="matrix(1,0,0,0.81896683,-0.728701,296.31497)"
|
||||
style="fill:#ff2ad4;fill-opacity:1" />
|
||||
<path
|
||||
style="opacity:0.275;fill:#dd6de5;fill-opacity:0.46666667;fill-rule:nonzero;stroke:#ff0000;stroke-width:4.27355194;stroke-linecap:butt;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.13677602, 2.13677602;stroke-dashoffset:0"
|
||||
d=""
|
||||
id="path4088"
|
||||
inkscape:connector-curvature="0"
|
||||
transform="translate(0,308.2677)" />
|
||||
<g
|
||||
id="g6388"
|
||||
transform="translate(6.78831,-4)">
|
||||
<rect
|
||||
style="fill:#4975b6;fill-opacity:0.23137255;fill-rule:evenodd;stroke:#000000;stroke-width:0.84044451px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
id="rect6358"
|
||||
width="187.50786"
|
||||
height="29.064722"
|
||||
x="85.200211"
|
||||
y="530.91882" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
id="text6360"
|
||||
y="552.26874"
|
||||
x="90.55011"
|
||||
style="font-size:22px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
xml:space="preserve"><tspan
|
||||
y="552.26874"
|
||||
x="90.55011"
|
||||
id="tspan6362"
|
||||
sodipodi:role="line">quantum-server</tspan></text>
|
||||
</g>
|
||||
<g
|
||||
id="g6423"
|
||||
transform="translate(-54,-12)"
|
||||
style="opacity:0.6125;fill:#3866a9;fill-opacity:0.46666667">
|
||||
<rect
|
||||
style="fill:#b1c76d;fill-opacity:0.46666667;fill-rule:evenodd;stroke:#ff1300;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="rect6358-7"
|
||||
width="267.63913"
|
||||
height="28.903856"
|
||||
x="104.82807"
|
||||
y="644.69769" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
id="text6360-0"
|
||||
y="664.05432"
|
||||
x="110.9668"
|
||||
style="font-size:22px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#3866a9;fill-opacity:0.46666667;stroke:none;font-family:Bitstream Vera Sans"
|
||||
xml:space="preserve"><tspan
|
||||
y="664.05432"
|
||||
x="110.9668"
|
||||
id="tspan6362-5"
|
||||
sodipodi:role="line"
|
||||
style="fill:#ff0000;fill-opacity:1;stroke:#000000;stroke-opacity:1">ryu-openflow-controller</tspan></text>
|
||||
</g>
|
||||
<g
|
||||
id="g5185"
|
||||
transform="translate(433.62298,-530.03116)">
|
||||
<path
|
||||
sodipodi:type="star"
|
||||
style="fill:#05ff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
id="path5250"
|
||||
sodipodi:sides="4"
|
||||
sodipodi:cx="136.41731"
|
||||
sodipodi:cy="572.24408"
|
||||
sodipodi:r1="71.642792"
|
||||
sodipodi:r2="23.694832"
|
||||
sodipodi:arg1="0.77972212"
|
||||
sodipodi:arg2="1.5651204"
|
||||
inkscape:flatsided="true"
|
||||
inkscape:rounded="0"
|
||||
inkscape:randomized="0"
|
||||
d="M 187.36314,622.61483 86.046567,623.18991 85.471483,521.87333 186.78806,521.29825 z"
|
||||
transform="matrix(1.1467071,0,0,0.47597907,23.850931,641.90155)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:18px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="178.89684"
|
||||
y="899.05359"
|
||||
id="text5274"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5276"
|
||||
x="178.89684"
|
||||
y="899.05359"
|
||||
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans" /><tspan
|
||||
sodipodi:role="line"
|
||||
x="178.89684"
|
||||
y="921.55359"
|
||||
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
|
||||
id="tspan3167">tenant-X</tspan></text>
|
||||
</g>
|
||||
<rect
|
||||
style="opacity:0.275;fill:#ff2ad4;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.93824238px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
id="rect5351-8-5"
|
||||
width="170.15692"
|
||||
height="29.025789"
|
||||
x="98.554108"
|
||||
y="427.91269" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="100.07444"
|
||||
y="449.19312"
|
||||
id="text5353-29-7"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5355-2-4"
|
||||
x="100.07444"
|
||||
y="449.19312">nova-network</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="129.29095"
|
||||
y="352.08868"
|
||||
id="text3547"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3549"
|
||||
x="129.29095"
|
||||
y="352.08868">User</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-start:none;marker-end:url(#Arrow1Mend)"
|
||||
d="m 175.98121,52.60308 0,62.16728"
|
||||
id="path3551"
|
||||
inkscape:connector-curvature="0"
|
||||
transform="translate(0,308.2677)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="190.32751"
|
||||
y="397.21472"
|
||||
id="text5167"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5169"
|
||||
x="190.32751"
|
||||
y="397.21472">tenant creation</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-end:url(#Arrow1Mend)"
|
||||
d="m 172.75392,457.01705 0,62.16728"
|
||||
id="path3551-0"
|
||||
inkscape:connector-curvature="0" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="184.589"
|
||||
y="501.46448"
|
||||
id="text5215"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5217"
|
||||
x="184.589"
|
||||
y="501.46448">network creation</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="285.96948"
|
||||
y="556.84967"
|
||||
id="text5219"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5221"
|
||||
x="285.96948"
|
||||
y="556.84967">allocate network id</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-end:url(#Arrow1Mend)"
|
||||
d="m 173.06401,556.31518 0,62.16728"
|
||||
id="path3551-0-2"
|
||||
inkscape:connector-curvature="0" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="196.01624"
|
||||
y="612.55072"
|
||||
id="text5247"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5249"
|
||||
x="196.01624"
|
||||
y="612.55072">tell network id</tspan></text>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 18 KiB |
193
doc/source/internals_l2_isolation.rst
Normal file
@ -0,0 +1,193 @@
|
||||
.. _internals_l2_isolation:
|
||||
|
||||
****************
|
||||
Ryu L2 isolation
|
||||
****************
|
||||
This section describes how Ryu cooperates with Openstack Quantum and
|
||||
how its L2 isolation works.
|
||||
|
||||
Overview
|
||||
========
|
||||
Ryu provides REST API by which Quantum server tells necessary informations.
|
||||
Quantum Server manages the association networks(uuid) to actual key value in
|
||||
addition to normal Quantum management informations.
|
||||
(Here key value is an integer for VLAN ID, GRE key and so on.
|
||||
The quantum only have to know the range of key which depends on the isolation
|
||||
technology. For example, 12 bit in VLAN case, 24 bit in GRE case.)
|
||||
Quantum Ryu plugin doesn't know about what technology Ryu uses for L2
|
||||
isolation.
|
||||
|
||||
.. image:: /images/internal-quantum-overview.png
|
||||
|
||||
Quantum doesn't necessarily knows all the informations Ryu needs like
|
||||
mac address attached to the interface. Ryu can gather those informations
|
||||
by accessing directly to OVSDB. When tunnel ports on OVS needs to be created
|
||||
on compute-node, Ryu will directly accesses to OVSDB and creates/deletes
|
||||
ports.
|
||||
|
||||
|
||||
Cooperate with Openstack Quantum
|
||||
================================
|
||||
Ryu reacts to Qauntnum events, compute-node boots up, network
|
||||
creation/deletion, and VM instance creation/deletion.
|
||||
When VM instance is created, corresponding quantum port is created.
|
||||
|
||||
compute-node boot up
|
||||
--------------------
|
||||
When a compute note boots up, minimal initalization work is done by
|
||||
Ryu-quantum-agent which tell necessary informations to Ryu.
|
||||
Then Ryu set up OVS such that OVS connects to Ryu via OpenFlow.
|
||||
There are 2 steps of OVS initialization. By agent and by Ryu.
|
||||
This is to keep Ryu agent logic minimal and independent from what actual Ryu
|
||||
needs to set. Even if Ryu is enhanced for new feature and some additional
|
||||
configuration to OVS is needed (for example multi-controller for HA),
|
||||
ryu agent doesn't need to be modified due to 2 step initialization.
|
||||
|
||||
.. image:: /images/internal-quantum-bootup.png
|
||||
|
||||
network creation
|
||||
----------------
|
||||
When network is created, quantum Ryu plugin assigns Key value to
|
||||
a created network, and tell the association to Ryu
|
||||
|
||||
.. image:: /images/internal-quantum-network-creation.png
|
||||
|
||||
VM instance creation
|
||||
--------------------
|
||||
When VM instance is created, quantum port is created. Quantum Ryu
|
||||
plugin tells the association of (network uuid, port uuid) to Ryu, and
|
||||
then OVS port is created. Ryu finds the port creation via OpenFlow
|
||||
and get the information of the created port for (port uuid, attached
|
||||
mac address) via OVSDB protocoal, and then sets up network
|
||||
configuration to OVS.
|
||||
|
||||
.. image:: /images/internal-quantum-instance-create.png
|
||||
|
||||
quantum_adapater RyuApp
|
||||
-----------------------
|
||||
This application watches port creation/deletion by OF protocol.
|
||||
When it detects the creation of ports, it tries to retrieve related
|
||||
informations(port uuid, mac address) by OVSDB protocol,
|
||||
tries to determine if the port corresponds to Qauntnum VM port, and then
|
||||
stores those informations into the in-memory, which generates the event of
|
||||
VMPort creation. Then Ryu app of isolation (simple_vlan or gre_tunnel)
|
||||
will be notified.
|
||||
|
||||
live-migration
|
||||
--------------
|
||||
live-migration is popular feature with virtualization, so as OpenStack.
|
||||
As of this writing, there is no hooks in quantum. So no notification/callback
|
||||
are triggered when live-migration starts/on-going/ends/error-abort.
|
||||
Traditional live-migration uses GARP to tell switches the used mac address
|
||||
is moved.
|
||||
|
||||
.. image:: /images/internal-live-migration.png
|
||||
|
||||
VLAN
|
||||
====
|
||||
OVS supports port vlan with setting tag value in OVSDB.
|
||||
Ryu utilizes it for L2 isolation.
|
||||
|
||||
simple_vlan RyuApp
|
||||
------------------
|
||||
When port is created, it sets tag value to key assigned to a given network uuid.
|
||||
And sets flow entry to output:normal.
|
||||
|
||||
live-migration
|
||||
--------------
|
||||
As flows includes output:normal action, packets are processed by
|
||||
OVS builtin mac-learning.
|
||||
|
||||
#. When destination VM port is created, same rule is inserted on OVS
|
||||
on the destination.
|
||||
But the port on the destination is not used until the first GARP packet
|
||||
is sent
|
||||
#. When VM is resumed on the destination, a GARP packet is sent.
|
||||
Then, mac learning tables on each switch are updated.
|
||||
So the port on the source will be unused.
|
||||
#. When the VM on the source is destroyed, the port on the source is also
|
||||
destroyed.
|
||||
|
||||
|
||||
GRE tunneling
|
||||
=============
|
||||
OVS supports tunneling and Ryu utilizes it for L2 isolation as follows.
|
||||
|
||||
.. image:: /images/internal-gre-tunnel.png
|
||||
|
||||
tunnel_port_updator RyuApp
|
||||
--------------------------
|
||||
This application watches the VM port creation/deletion, and creates/deletes
|
||||
tunnel port on OVS when necessary.
|
||||
That is, it creates tunnel port between compute-nodes which have VMs of same
|
||||
tenant. it deletes tunnel ports when compute-nodes have no VMs of same
|
||||
tenant.
|
||||
|
||||
gre_tunnel RyuApp
|
||||
-----------------
|
||||
This application watches VM/tunnel port creation/deletion, and
|
||||
installs/removes flow entries based on port creation/deletion.
|
||||
|
||||
Flow Entries
|
||||
------------
|
||||
Ryu installs following flow entries.
|
||||
|
||||
.. image:: /images/internal-quantum-gre-flow-table.png
|
||||
|
||||
live-migration
|
||||
--------------
|
||||
As flows are aware of mac address of each ports, Ryu updates flow table
|
||||
for live-migration on each compute-nodes.
|
||||
When the port of same mac address is added on another compute-node,
|
||||
Ryu installs flows that duplicates packet so that packets destined to
|
||||
the mac address will be duplicated and sent to both ports.
|
||||
GARP from hypervisor isn't used.
|
||||
|
||||
.. image:: /images/internal-tunnel-live-migration-before.png
|
||||
.. image:: /images/internal-tunnel-live-migration-during.png
|
||||
.. image:: /images/internal-tunnel-live-migration-after.png
|
||||
|
||||
Mac address based L2 isolation
|
||||
==============================
|
||||
Ryu also supports mac address based L2 isolation.
|
||||
In this case key isn't used.
|
||||
|
||||
mac learing
|
||||
-----------
|
||||
When VM sends packets, Ryu determins network uuid from OVS port and then
|
||||
associates src mac address to network uuid.
|
||||
|
||||
.. image:: /images/mac-learning.png
|
||||
|
||||
|
||||
packet filtering(L2 unicast case)
|
||||
---------------------------------
|
||||
* When VM sending L2-unicast packet, Ryu checks if the destination mac
|
||||
address belongs to the same netowrk id of the source mac address which
|
||||
is same to the network uuid that the OVS port is associated to.
|
||||
* If no, the packet is dropped.
|
||||
* If yes, send the packet is sent to ports which belongs to the same
|
||||
network uuid and external port.
|
||||
|
||||
.. image:: /images/filtering-outgoing.png
|
||||
.. image:: /images/filtering-incoming.png
|
||||
|
||||
|
||||
packet filtering(L2 broadcast case)
|
||||
-----------------------------------
|
||||
* When VM sending L2-broadcast/multicaset packet, Ryu checks if the source
|
||||
mac address.
|
||||
* send the packet to all external ports and all OVS ports that belongs
|
||||
to the same network uuid of the source mac address.
|
||||
* When receiving broacast/multicast packet from the external ports,
|
||||
Ryu checks if the source mac address belongs to known network uuid.
|
||||
|
||||
* If yes, send the packet to the external ports except incoming one
|
||||
and the all OVS ports that belongs to the network uuid
|
||||
* if no, drop the packet.
|
||||
|
||||
.. image:: /images/filtering-broadcast.png
|
||||
|
||||
live-migration
|
||||
--------------
|
||||
As of this writing, simple isolation doesn't support live-migration.
|
@ -9,4 +9,4 @@ Ryu provides tenant isolation feature in OpenStack.
|
||||
|
||||
using_with_openstack.rst
|
||||
step_by_step.rst
|
||||
how_l2_segregation_works.rst
|
||||
internals_l2_isolation.rst
|
||||
|