<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
span.EmailStyle18
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.EmailStyle19
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.hpBodyChar
        {mso-style-name:"_hp_Body Char";
        mso-style-link:_hp_Body;
        color:black;}
p.hpBody, li.hpBody, div.hpBody
        {mso-style-name:_hp_Body;
        mso-style-link:"_hp_Body Char";
        margin-top:0in;
        margin-right:0in;
        margin-bottom:6.0pt;
        margin-left:0in;
        text-align:justify;
        text-autospace:none;
        font-size:11.0pt;
        font-family:"Times New Roman","serif";
        color:black;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:481581640;
        mso-list-type:hybrid;
        mso-list-template-ids:-40577662 546966142 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:20.25pt;
        text-indent:-.25in;}
@list l0:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:56.25pt;
        text-indent:-.25in;}
@list l0:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:92.25pt;
        text-indent:-9.0pt;}
@list l0:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:128.25pt;
        text-indent:-.25in;}
@list l0:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:164.25pt;
        text-indent:-.25in;}
@list l0:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:200.25pt;
        text-indent:-9.0pt;}
@list l0:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:236.25pt;
        text-indent:-.25in;}
@list l0:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:272.25pt;
        text-indent:-.25in;}
@list l0:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:308.25pt;
        text-indent:-9.0pt;}
@list l1
        {mso-list-id:1474713343;
        mso-list-type:hybrid;
        mso-list-template-ids:1342840210 -795592928 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l1:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:.75in;
        text-indent:-.25in;}
@list l1:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:1.25in;
        text-indent:-.25in;}
@list l1:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:1.75in;
        text-indent:-9.0pt;}
@list l1:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:2.25in;
        text-indent:-.25in;}
@list l1:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:2.75in;
        text-indent:-.25in;}
@list l1:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:3.25in;
        text-indent:-9.0pt;}
@list l1:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:3.75in;
        text-indent:-.25in;}
@list l1:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:4.25in;
        text-indent:-.25in;}
@list l1:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:4.75in;
        text-indent:-9.0pt;}
@list l2
        {mso-list-id:2060666933;
        mso-list-type:hybrid;
        mso-list-template-ids:-624672172 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l2:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:.75in;
        text-indent:-.25in;
        font-family:Symbol;}
@list l2:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:1.25in;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l2:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:1.75in;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l2:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:2.25in;
        text-indent:-.25in;
        font-family:Symbol;}
@list l2:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:2.75in;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l2:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:3.25in;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l2:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:3.75in;
        text-indent:-.25in;
        font-family:Symbol;}
@list l2:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:4.25in;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l2:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:4.75in;
        text-indent:-.25in;
        font-family:Wingdings;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1027" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal"><span style="color:#1F497D">Hi,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Yes , I am thinking of Service VM chaining by Neutron.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="hpBody"><span style="font-family:"Calibri","sans-serif";color:#1F497D">The below  figure explains  the service-VMs hosted in the OpenStack cloud. Service Layer can be part of OpenStack controller or NFV Director Service Layer.<o:p></o:p></span></p>
<p class="hpBody"><span style="font-family:"Calibri","sans-serif";color:#1F497D">This Service Layer  will maintain the list of service to be chained for the traffic in the data path. Service Layer will populate Tenant and Service information to both the Openstack
 Controller and Service-VMs. Based on this information Service VMs will create the Logical Information and corresponding Service Instances.<o:p></o:p></span></p>
<p class="hpBody"><span style="font-family:"Calibri","sans-serif";color:#1F497D">Service Layer will provide following information for every service to OpenStack-controller and Service-VMs.<o:p></o:p></span></p>
<p class="hpBody" style="margin-left:.75in;text-indent:-.25in;mso-list:l1 level1 lfo2">
<![if !supportLists]><span style="font-family:"Calibri","sans-serif";color:#1F497D"><span style="mso-list:Ignore">1.<span style="font:7.0pt "Times New Roman"">      
</span></span></span><![endif]><span style="font-family:"Calibri","sans-serif";color:#1F497D">What was the Previous Service (which the tenant Traffic get passed through) .  What will be Next Service (which the tenant Traffic will get forwarded).<o:p></o:p></span></p>
<p class="hpBody" style="margin-left:.75in;text-indent:-.25in;mso-list:l1 level1 lfo2">
<![if !supportLists]><span style="font-family:"Calibri","sans-serif";color:#1F497D"><span style="mso-list:Ignore">2.<span style="font:7.0pt "Times New Roman"">      
</span></span></span><![endif]><span style="font-family:"Calibri","sans-serif";color:#1F497D">Tag value (Q) that needs to be attached for the tenant traffic after current Service is processed for the packet. (This tag will added by the service-VM for every
 tenant  packet.)<o:p></o:p></span></p>
<p class="hpBody" style="margin-left:.75in;text-indent:-.25in;mso-list:l1 level1 lfo2">
<![if !supportLists]><span style="font-family:"Calibri","sans-serif";color:#1F497D"><span style="mso-list:Ignore">3.<span style="font:7.0pt "Times New Roman"">      
</span></span></span><![endif]><span style="font-family:"Calibri","sans-serif";color:#1F497D">Next Service to be invoked for each Q value. This information will be provided to OpenStack controller, which intern provisions the Open Virtual Switch (OVS) residing
 on the compute node. (Tenant packet will processed in the OVS and packet will forwarded to next Service accordingly).<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><img width="603" height="403" id="Picture_x0020_7" src="cid:image004.png@01CFF9DD.3BDF91F0"><span style="font-size:10.0pt;font-family:"Times New Roman","serif"">
</span><span style="color:#1F497D"><!--[if gte vml 1]><v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">
<v:stroke joinstyle="miter" />
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0" />
<v:f eqn="sum @0 1 0" />
<v:f eqn="sum 0 0 @1" />
<v:f eqn="prod @2 1 2" />
<v:f eqn="prod @3 21600 pixelWidth" />
<v:f eqn="prod @3 21600 pixelHeight" />
<v:f eqn="sum @0 0 1" />
<v:f eqn="prod @6 1 2" />
<v:f eqn="prod @7 21600 pixelWidth" />
<v:f eqn="sum @8 21600 0" />
<v:f eqn="prod @7 21600 pixelHeight" />
<v:f eqn="sum @10 21600 0" />
</v:formulas>
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect" />
<o:lock v:ext="edit" aspectratio="t" />
</v:shapetype><v:shape id="_x0000_i1026" type="#_x0000_t75" style='width:477.75pt;height:300pt' o:ole="" o:bordertopcolor="this" o:borderleftcolor="this" o:borderbottomcolor="this" o:borderrightcolor="this">
<v:imagedata src="cid:image006.emz@01CFF9DA.BE096FF0" o:title="" />
<w:bordertop type="single" width="12"/>
<w:borderleft type="single" width="12"/>
<w:borderbottom type="single" width="12"/>
<w:borderright type="single" width="12"/>
</v:shape><![endif]--><![if !vml]><img width="641" height="404" src="cid:image007.png@01CFF9DD.3BDF91F0" v:shapes="_x0000_i1026"><![endif]><!--[if gte mso 9]><xml>
<o:OLEObject Type="Embed" ProgID="Visio.Drawing.15" ShapeID="_x0000_i1026" DrawAspect="Content" ObjectID="_1476795843">
</o:OLEObject>
</xml><![endif]--><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="hpBody"><span style="font-family:"Calibri","sans-serif";color:#1F497D">In the above figure  Service-VM1 and Service-VM2 hosts multiple Logical Instances. Service-VM1 hosts both vNAT and vDPI service within the same service-VM whereas Service-VM2 hosts
 only vIPSEC.<o:p></o:p></span></p>
<p class="hpBody"><span style="font-family:"Calibri","sans-serif";color:#1F497D">When the packet with destination marked as prefix-P1 comes from external world,
<o:p></o:p></span></p>
<p class="hpBody" style="margin-left:.75in;text-indent:-.25in;mso-list:l2 level1 lfo3">
<![if !supportLists]><span style="font-family:Symbol;color:#1F497D"><span style="mso-list:Ignore">·<span style="font:7.0pt "Times New Roman"">        
</span></span></span><![endif]><span style="font-family:"Calibri","sans-serif";color:#1F497D">Will be looked into OVS. Then it will be forwarded to Service-VM1 by tagging  P1Q1 (packet + vlan tag)
<o:p></o:p></span></p>
<p class="hpBody" style="margin-left:.75in;text-indent:-.25in;mso-list:l2 level1 lfo3">
<![if !supportLists]><span style="font-family:Symbol;color:#1F497D"><span style="mso-list:Ignore">·<span style="font:7.0pt "Times New Roman"">        
</span></span></span><![endif]><span style="font-family:"Calibri","sans-serif";color:#1F497D">Service-VM1 knows to handle tag Q1 and it will forward to vNAT functionality. Once the vNAT functionality is finished based the Service-Layer information , packet
 P1 will be tagged with P1Q2  so that it will get forwarded to vDPI with in that service-VM.<o:p></o:p></span></p>
<p class="hpBody" style="margin-left:.75in;text-indent:-.25in;mso-list:l2 level1 lfo3">
<![if !supportLists]><span style="font-family:Symbol;color:#1F497D"><span style="mso-list:Ignore">·<span style="font:7.0pt "Times New Roman"">        
</span></span></span><![endif]><span style="font-family:"Calibri","sans-serif";color:#1F497D">Once vDPI functionality is done, Service-VM1  will add the tag Q3, to generate packet P1Q3 and place it back to compute node.<o:p></o:p></span></p>
<p class="hpBody" style="margin-left:.75in;text-indent:-.25in;mso-list:l2 level1 lfo3">
<![if !supportLists]><span style="font-family:Symbol;color:#1F497D"><span style="mso-list:Ignore">·<span style="font:7.0pt "Times New Roman"">        
</span></span></span><![endif]><span style="font-family:"Calibri","sans-serif";color:#1F497D">Compute Node will look into OVS accordingly it will modify the tag so that P1Q3 will modified to P1Q4. P1Q4 packet will be forwarded to Service-VM2 for processing
 vIPSEC functionality.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">This is my idea on chaining the Services using neutron.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Please let us know others opinion on this.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Thanks & regards,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Keshava<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> Tidwell, Ryan <br>
<b>Sent:</b> Thursday, November 06, 2014 1:15 AM<br>
<b>To:</b> OpenStack Development Mailing List (not for usage questions); Singh, Gangadhar S<br>
<b>Subject:</b> Re: [openstack-dev] openstack-dev] [neutron] [nfv]<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">Keshava,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">This sounds like you’re asking how you might do service function chaining with Neutron.  Is that a fair way to characterize your thoughts? I think the concept of service chain provisioning in Neutron is worth
 some discussion, keeping in mind Neutron is not a fabric controller.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">-Ryan<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> A, Keshava
<br>
<b>Sent:</b> Tuesday, November 04, 2014 11:28 PM<br>
<b>To:</b> OpenStack Development Mailing List (not for usage questions); Singh, Gangadhar S<br>
<b>Subject:</b> [openstack-dev] openstack-dev] [neutron] [nfv]<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Hi,<o:p></o:p></p>
<p class="MsoNormal">I am thinking loud here, about NFV Service VM and OpenStack infrastructure.<o:p></o:p></p>
<p class="MsoNormal">Please let me know does the below scenario analysis make sense.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">NFV Service VM’s are hosted on cloud (OpenStack)  where in there are  2 Tenants with different Service order of execution.<o:p></o:p></p>
<p class="MsoNormal">(Service order what I have mentioned here is  just an example ..)<o:p></o:p></p>
<p class="MsoListParagraph" style="text-indent:-.25in"><span style="font-family:Symbol">·</span><span style="font-size:7.0pt;font-family:"Times New Roman","serif"">        
</span>Does OpenStack controls the order of Service execution for every packet ?  <o:p></o:p></p>
<p class="MsoListParagraph" style="text-indent:-.25in"><span style="font-family:Symbol">·</span><span style="font-size:7.0pt;font-family:"Times New Roman","serif"">        
</span>Does OpenStack will have different Service-Tag for different Service ? <o:p>
</o:p></p>
<p class="MsoListParagraph" style="text-indent:-.25in"><span style="font-family:Symbol">·</span><span style="font-size:7.0pt;font-family:"Times New Roman","serif"">        
</span>If there are multiple features with in a Service-VM, how Service-Execution is controlled in that  VM ?<o:p></o:p></p>
<p class="MsoListParagraph" style="text-indent:-.25in"><span style="font-family:Symbol">·</span><span style="font-size:7.0pt;font-family:"Times New Roman","serif"">        
</span>After completion of a particular Service ,  how the next Service will be invoked ?
<o:p></o:p></p>
<p class="MsoListParagraph">Will there be pre-configured flows from OpenStack  to invoke next service for tagged packet from Service-VM ?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><!--[if gte vml 1]><v:shape id="Picture_x0020_12" o:spid="_x0000_s1026" type="#_x0000_t75" style='position:absolute;margin-left:0;margin-top:53.25pt;width:357.75pt;height:224.25pt;z-index:251658240;visibility:visible;mso-wrap-style:square;mso-width-percent:0;mso-height-percent:0;mso-wrap-distance-left:9pt;mso-wrap-distance-top:0;mso-wrap-distance-right:9pt;mso-wrap-distance-bottom:0;mso-position-horizontal:left;mso-position-horizontal-relative:text;mso-position-vertical:absolute;mso-position-vertical-relative:text;mso-width-percent:0;mso-height-percent:0;mso-width-relative:margin;mso-height-relative:margin' stroked="t" strokecolor="black [3213]">
<v:imagedata src="cid:image001.emz@01CFF9D3.8342EA10" o:title="" />
<w:wrap type="square"/>
</v:shape><![endif]--><![if !vml]><img width="479" height="301" src="cid:image008.png@01CFF9DD.3BDF91F0" align="left" hspace="12" v:shapes="Picture_x0020_12"><![endif]><br clear="all">
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><img width="715" height="457" id="_x0000_i1025" src="cid:image005.png@01CFF9D3.8342EA10"><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks & regards,<o:p></o:p></p>
<p class="MsoNormal">keshava<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>