<div dir="ltr">Hi Ivar,<div><br></div><div style>thanks for your interest in Openstack and Neutron.</div><div style>A few replies inline; I hope you'll find them useful.</div><div style><br></div><div style>Salvatore</div>
<div class="gmail_extra"><br><br><div class="gmail_quote">On 10 July 2013 02:40, Ivar Lazzaro <span dir="ltr"><<a href="mailto:ivar@embrane.com" target="_blank">ivar@embrane.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">





<div>
<div style="direction:ltr;font-size:10pt;font-family:Tahoma">
<p style="color:rgb(34,34,34);font-family:arial;font-size:small">
<span lang="EN-US">Hi,<u></u><u></u></span></p>
<p style="color:rgb(34,34,34);font-family:arial;font-size:small">
<span lang="EN-US">My name is Ivar Lazzaro, I’m an Italian developer currently employed at Embrane.<u></u><u></u></span></p>
<p style="color:rgb(34,34,34);font-family:arial;font-size:small">
<span lang="EN-US"><br>
</span></p>
<p style="color:rgb(34,34,34);font-family:arial;font-size:small">
<span lang="EN-US">Embrane provides L3 to L7 network services, (including routing, load balancing, SSL offloads, firewalls and IPsec VPNs), and we have developed a Neutron plugin that we would like to share and contribute to Openstack[1].</span></p>
</div></div></blockquote><div><br></div><div style>That would be great!</div><div style>the current policy for Neutron plugins is that each plugin should have a member of the core team which will act as a 'maintainer'; this figure is not required to be an 'expert' of the specific plugin technology. His duties are mainly those of keeping track of bugs/blueprints, review code, and interact with the developers. </div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div><div style="direction:ltr;font-size:10pt;font-family:Tahoma">
<p style="color:rgb(34,34,34);font-family:arial;font-size:small"><span lang="EN-US"><u></u><u></u></span></p>
<p style="color:rgb(34,34,34);font-family:arial;font-size:small">
<span lang="EN-US"><br>
</span></p>
<p style="color:rgb(34,34,34);font-family:arial;font-size:small">
<span lang="EN-US">My experience with OpenStack started with the Essex edition, which I deployed and managed as a "user". Embrane leverages any existing form of L2 to offer connectivity at L3 and above, and therefore our interest in contributing to OpenStack
 grew as L3 (and above) capabilities started to be added to Neutron, leading to the realization of a Neutron plugin.<u></u><u></u></span></p>
<p style="color:rgb(34,34,34);font-family:arial;font-size:small">
<span lang="EN-US"><br>
</span></p>
<p style="color:rgb(34,34,34);font-family:arial;font-size:small">
<span lang="EN-US">I'd like to talk about it with you before "blindly" requesting a review, and get your feedback and advice in order to improve it at the most!</span></p></div></div></blockquote><div><br></div>
<div style>Sounds a very sensible approach, since we're already halfway through the release cycle, and finding resources for reviewing code might not be the easiest thing. </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div><div style="direction:ltr;font-size:10pt;font-family:Tahoma"><p style="color:rgb(34,34,34);font-family:arial;font-size:small"><span lang="EN-US"><u></u><u></u></span></p>
<p style="color:rgb(34,34,34);font-family:arial;font-size:small">
<span lang="EN-US"><br>
</span></p>
<p style="color:rgb(34,34,34);font-family:arial;font-size:small">
<span lang="EN-US">The idea is to provide L3 connectivity in Openstack through our software platform, called heleos, obviously using a plugin to follow the Neutron workflow.Since we don't provide L2 connectivity (which is part of the core APIs as well) our
 plugin is going to work together with one of the existing, which will manage L2 connectivity and share all the information needed.<u></u><u></u></span></p>
<p style="color:rgb(34,34,34);font-family:arial;font-size:small">
<span lang="EN-US"><br>
</span></p>
<p style="color:rgb(34,34,34);font-family:arial;font-size:small">
<span lang="EN-US">Therefore, whenever a user chooses to use Embrane's Neutron plugin, he specifies one of the supported existing plugins in the configuration file, and L2 connectivity will be provided by that specific choice.<u></u><u></u></span></p>

<p style="color:rgb(34,34,34);font-family:arial;font-size:small">
<span lang="EN-US">At the current state, for instance, our plugin is able to work with the OpenVSwitch's so that:<u></u><u></u></span></p>
<p style="color:rgb(34,34,34);font-family:arial;font-size:small">
<span lang="EN-US"><br>
</span></p>
<p style="color:rgb(34,34,34);font-family:arial;font-size:small">
<span lang="EN-US">-create_network() will call OVS plugin;</span></p>
<p style="color:rgb(34,34,34);font-family:arial;font-size:small">
-create_port() will call OVS plugin;</p>
<p style="color:rgb(34,34,34);font-family:arial;font-size:small">
<span lang="EN-US">-crate_router() will call Embrane's which will use knowledge from the OVS plugin in order to provide L3 connectivity.<u></u><u></u></span></p>
<p style="color:rgb(34,34,34);font-family:arial;font-size:small">
<span lang="EN-US"><br></span></p></div></div></blockquote><div style>It looks like your plugin is pretty much a derivative of the OVS plugin, which replaces the L3 agent with Embrane's heleos.</div><div style>I think this approach makes some sense, but in the medium/long term you would like to be able to run your plugin on top of any L2 plugin.</div>
<div style><br></div><div style>There is a Neutron blueprint for that, and that is <a href="https://blueprints.launchpad.net/neutron/+spec/quantum-l3-routing-plugin">https://blueprints.launchpad.net/neutron/+spec/quantum-l3-routing-plugin</a></div>
<div style>That blueprint is unfortunately a bit stuck at the moment.</div><div style>It would be good for the whole community to understand whether we can actually still merge it during the Havana timeframe.</div><div> </div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div><div style="direction:ltr;font-size:10pt;font-family:Tahoma">
<p style="color:rgb(34,34,34);font-family:arial;font-size:small"><span lang="EN-US">
</span></p>
<p style="color:rgb(34,34,34);font-family:arial;font-size:small">
<span lang="EN-US">and so forth...<u></u><u></u></span></p>
<p style="color:rgb(34,34,34);font-family:arial;font-size:small">
The calls can be asynchronous (using Router "status" in a way similar to the LBaaS extension).</p>
<p style="color:rgb(34,34,34);font-family:arial;font-size:small">
<span lang="EN-US"><br>
</span></p>
<p style="color:rgb(34,34,34);font-family:arial;font-size:small">
<span lang="EN-US">Without going too much into details, that's all about the L3 plugin that we would like to share. We are also interested in sharing a LBaaS service plugin, but I'll do a different blueprint for that one.</span></p>
</div></div></blockquote><div><br></div><div style>I think it won't harm pushing your code as a draft on gerrit. </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div><div style="direction:ltr;font-size:10pt;font-family:Tahoma"><p style="color:rgb(34,34,34);font-family:arial;font-size:small"><span lang="EN-US"><u></u><u></u></span></p>
<p style="color:rgb(34,34,34);font-family:arial;font-size:small">
<span lang="EN-US">All your feedback and comments are welcome :)<u></u><u></u></span></p>
<p style="color:rgb(34,34,34);font-family:arial;font-size:small">
<span lang="EN-US"><br>
</span></p>
<p style="color:rgb(34,34,34);font-family:arial;font-size:small">
<span lang="EN-US">Thanks,</span></p>
<p style="color:rgb(34,34,34);font-family:arial;font-size:small">
Ivar.</p>
<p style="color:rgb(34,34,34);font-family:arial;font-size:small">
<br>
</p>
<p style="color:rgb(34,34,34);font-family:arial;font-size:small">
[1] <a href="https://blueprints.launchpad.net/neutron/+spec/embrane-neutron-plugin" style="font-family:Tahoma;font-size:10pt" target="_blank">https://blueprints.launchpad.net/neutron/+spec/embrane-neutron-plugin</a></p>
</div>
</div>

<br>_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br></div></div>