<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 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
        {font-family:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 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;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        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;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.apple-style-span
        {mso-style-name:apple-style-span;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
span.EmailStyle23
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
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-CA" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Hi Sasha/Bob<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">I believe we are on the right track now to put in place a future proof Quantum Architecture Framework which will allow us to add “Virtual Networking Services”
 such as LB, VPN, FW and Routing etc. My main concern as I said to Salvatore during the Summit last month was it is not a good idea to build everything to be tied to the Router, I think the idea was right to build a Quantum Service Framework, that makes perfect
 sense but perhaps not around a Router. It makes more sense to ensure Quantum can easily add plugins to support additional networking services as I mentioned such as VPN/FX etc and Router should be considered as one of those Advanced Networking Services.<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">I am however not sure about having the Core plugin contain L3 functionality, that depends what on L-3 we want to achieve, if it is just addressing and subnets
 sure, but if its more than that I would like to know what and why?<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">Alan<o:p></o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Sasha Ratkovic [mailto:sasharatkovic@juniper.net]
<br>
<b>Sent:</b> November-08-12 3:15 PM<br>
<b>To:</b> gkotton@redhat.com; OpenStack Development Mailing List<br>
<b>Subject:</b> Re: [openstack-dev] Quantum L3 router, mixin or plugin?<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">+1<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">I would like to use Youcef's slide to illustrate this<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><a href="http://wiki.openstack.org/Quantum/LBaaS?action=AttachFile&do=view&target=Quantum+LBaaS+plugin+with+providers.png">http://wiki.openstack.org/Quantum/LBaaS?action=AttachFile&do=view&target=Quantum+LBaaS+plugin+with+providers.png</a><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">The way I see it, the ask is for a Core plugin (containing L3 functionality) to support similar structure as advanced services plugin, I.e support different drivers
 (including physical devices).<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
</div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:black">From:
</span></b><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:black">Gary Kotton <<a href="mailto:gkotton@redhat.com">gkotton@redhat.com</a>><br>
<b>Organization: </b>Red Hat<br>
<b>Reply-To: </b>"<a href="mailto:gkotton@redhat.com">gkotton@redhat.com</a>" <<a href="mailto:gkotton@redhat.com">gkotton@redhat.com</a>>, OpenStack Development Mailing List <<a href="mailto:openstack-dev@lists.openstack.org">openstack-dev@lists.openstack.org</a>><br>
<b>Date: </b>Thursday, November 8, 2012 6:01 AM<br>
<b>To: </b>"<a href="mailto:openstack-dev@lists.openstack.org">openstack-dev@lists.openstack.org</a>" <<a href="mailto:openstack-dev@lists.openstack.org">openstack-dev@lists.openstack.org</a>><br>
<b>Subject: </b>Re: [openstack-dev] Quantum L3 router, mixin or plugin?<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #B5C4DF 4.5pt;padding:0cm 0cm 0cm 4.0pt;margin-left:3.75pt;margin-right:0cm" id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE">
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">On 11/08/2012 03:33 PM, Bob Melander (bmelande) wrote:
<o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">In the wake of the recent discussion about service insertion, which seems to have landed in a decision to make each type of service (like LBaaS, FW, …) a separate
 plugin, I want to raise the issue whether this approach shouldn't also be adopted for L3 router functionality. This is not the case now, where instead the server side is implemented as a L3_NAT_db_mixin class that basically each plugin inherits. The actual
 routing is implemented through the separate L3 agent (L3NATagent class) that relies on linux namespaces, the kernel IP forwarding functionality and IP tables.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
</div>
<div>
<p style="margin:0cm;margin-bottom:.0001pt"><span style="font-family:"Calibri","sans-serif";color:black">My concern about this is the following: Suppose one would like to replace (or complement) that router implementation with something else, e.g., use a separate
 hardware-based router or add additional features like VRRP to the implementation.</span><span style="font-size:9.0pt;font-family:"Helvetica","sans-serif";color:black"><o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><br>
Yay! VRRP will save endless amount of problems with the HA that we have the with the layer 3 agents. It would be great if we could add an open source solution and it would be beneficial for OpenStack as a whole.<br>
<br>
<br>
<o:p></o:p></span></p>
<div>
<p style="margin:0cm;margin-bottom:.0001pt"><span style="font-family:"Calibri","sans-serif";color:black">As long as the changes can be contained within the l3 agent (while honoring the normal interface), it is fairly simple to just replace the default one with
 the extended l3 agent in the deployment.</span><span style="font-size:9.0pt;font-family:"Helvetica","sans-serif";color:black"><o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><br>
Agreed. This is just a matter of implementing the API's and this could be done today.<br>
<br>
<br>
<o:p></o:p></span></p>
<div>
<p style="margin:0cm;margin-bottom:.0001pt"><span style="font-family:"Calibri","sans-serif";color:black">However, if the desired functionality requires changes to the "server side", i.e.,  the L3_NAT_db_mixin class, the situation gets much more tricky since
 the mixin is essentially baked into the core plugin. </span><span style="font-size:9.0pt;font-family:"Helvetica","sans-serif";color:black"><o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><br>
I think that we need to discuss this further and see how we can provide a generic base to build upon.
<br>
<br>
<br>
<o:p></o:p></span></p>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
</div>
</div>
<div>
<p style="margin:0cm;margin-bottom:.0001pt"><span style="font-family:"Calibri","sans-serif";color:black">A way around this problem could be to provide the l3 routing functionality as a separate plugin, just as there will be separate plugins for LBaaS, FW, etc.
 With L3 routing also as a separate plugin, it seems to me it would be simpler to provide different such implementations, largely independent of (L2) core plugin but also to introduce additional L3 specific extensions.</span><span style="font-size:9.0pt;font-family:"Helvetica","sans-serif";color:black"><o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><br>
It is a nice idea. We just need to ensure that we support the current l3 functionality.
<br>
<br>
<br>
<o:p></o:p></span></p>
<div>
<p style="margin:0cm;margin-bottom:.0001pt"><span style="font-size:9.0pt;font-family:"Helvetica","sans-serif";color:black"><o:p> </o:p></span></p>
<p style="margin:0cm;margin-bottom:.0001pt"><span class="apple-style-span"><span style="font-size:13.5pt;font-family:"Calibri","sans-serif";color:black">What is your view on this?</span></span><span style="font-size:9.0pt;font-family:"Helvetica","sans-serif";color:black"><o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
</div>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black">/ Bob<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><br>
<br>
<br>
<o:p></o:p></span></p>
<pre><span style="color:black">_______________________________________________<o:p></o:p></span></pre>
<pre><span style="color:black">OpenStack-dev mailing list<o:p></o:p></span></pre>
<pre><span style="color:black"><a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><o:p></o:p></span></pre>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
</div>
</div>
</blockquote>
</div>
</body>
</html>