<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=utf-8"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@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:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</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=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Hi Thulasi,<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Your question is a very good one.    One that is very welcome for a long conversation.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>The answer is that not all SDN controllers are solely based on openflow.   The Neutron API (not code) provides contract for SDN controller to provision the network on behalf of Nova requests and other parts of OpenStack.  This is how it Neutron was conceived/designed and this is how SDN controller developers think about the demarcation.   Provisioning multi-vendor network equipment in a multi-technology world is a difficult thing to accomplish.   This is why no one technology solution will work for all cases.    <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>SDN controller developers specialize in thinking about this problem and use a wide range of technologies to accomplish this.   OpenFlow is very effective at end-points (OVS) but is not proven as a mid-point substrate as of yet.  Traditional technologies – VLANs, IP/OSPF/BGP, MPLS, Optical and software subsystems (e.g. proprietary EMS’s) make up the midpoint landscape.  Accessing/provisioning these midpoint requires a multitude of technologies spanning the control-plane and management-plane (e.g.  netconf/yang, tl1, cli,  vendor-specific proprietary APis).   The job of the SDN controller is to service the contract provided by Neutron by ensuring the end-to-end connection is available for Nova.   How this is accomplished is subject to the actual topology and equipment used.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Also, it is perhaps better for the Neutron code to be developed with this in mind.  Pluggable and modular code is more effective that dictating a particular solution/situation.   Allowing the Controller plugin to create the OVS ports and other EMS function is better than dictating that the neutron code always do it.   Of course, neutron should provide the modules to create the port (re-usable code) but not harden where it is called in the call-chain.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Hope this answers your question – and provokes discussion. <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><a name="_MailEndCompose"><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></a></p><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"'> Thulasi ram Valleru [mailto:thulasiram.valleru@gmail.com] <br><b>Sent:</b> Friday, July 4, 2014 6:57 AM<br><b>To:</b> openstack-dev@lists.openstack.org<br><b>Subject:</b> [openstack-dev] How introduction of SDN controllers impact OpenStack<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>Guys,<o:p></o:p></p><div><p class=MsoNormal>        What tasks SDN controller plugin do. Consider we are not installing ML2 plugin, we have only one plugin ie, SDN controller one on Neutron. <o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>         SDN plugin can manage SDN controller and ovs on hypervisor. Neutron is now able to create a port on Hypervisor and gives the information to Neutron server. Neutron server gives these details to SDn controller. SDN controller now knows which port belong to which physical server. here i am able to see only thing SDN controller can do is update the flow tables on ovs.If open flow physical devices are there in network, then it can gather information like which port is attached to which physical device on physical server. So it can install flows on physical network devices also.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>         What about physical devices which doesn't support open flow. how does SDn controller take care of network provisioning by neutron.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>         <o:p></o:p></p></div></div></div></body></html>