<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif; ">
<div>+1</div>
<div><br>
</div>
<div>I would like to use Youcef's slide to illustrate this</div>
<div><br>
</div>
<div><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></div>
<div><br>
</div>
<div>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).</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<span id="OLK_SRC_BODY_SECTION">
<div style="font-family:Calibri; font-size:11pt; text-align:left; color:black; BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt">
<span style="font-weight:bold">From: </span>Gary Kotton <<a href="mailto:gkotton@redhat.com">gkotton@redhat.com</a>><br>
<span style="font-weight:bold">Organization: </span>Red Hat<br>
<span style="font-weight:bold">Reply-To: </span>"<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>
<span style="font-weight:bold">Date: </span>Thursday, November 8, 2012 6:01 AM<br>
<span style="font-weight:bold">To: </span>"<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>
<span style="font-weight:bold">Subject: </span>Re: [openstack-dev] Quantum L3 router, mixin or plugin?<br>
</div>
<div><br>
</div>
<blockquote id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE" style="BORDER-LEFT: #b5c4df 5 solid; PADDING:0 0 0 5; MARGIN:0 0 0 5;">
<div>
<div bgcolor="#FFFFFF" text="#000000">On 11/08/2012 03:33 PM, Bob Melander (bmelande) wrote:
<blockquote cite="mid:A6227CA8D0E9FF419CC5FE7BA9EC25A30DFAD27D@xmb-aln-x13.cisco.com" type="cite">
<div>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.</div>
<div><br>
</div>
<div>
<p style="margin: 0px; font: 12px Helvetica;"><font class="Apple-style-span" face="Calibri" size="3">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.</font></p>
</div>
</blockquote>
<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>
<blockquote cite="mid:A6227CA8D0E9FF419CC5FE7BA9EC25A30DFAD27D@xmb-aln-x13.cisco.com" type="cite">
<div>
<p style="margin: 0px; font: 12px Helvetica;"><font class="Apple-style-span" face="Calibri" size="3">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.</font></p>
</div>
</blockquote>
<br>
Agreed. This is just a matter of implementing the API's and this could be done today.<br>
<br>
<blockquote cite="mid:A6227CA8D0E9FF419CC5FE7BA9EC25A30DFAD27D@xmb-aln-x13.cisco.com" type="cite">
<div>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px
          Helvetica"><font class="Apple-style-span" face="Calibri" size="3">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.
<br>
</font></p>
</div>
</blockquote>
<br>
I think that we need to discuss this further and see how we can provide a generic base to build upon.
<br>
<br>
<blockquote cite="mid:A6227CA8D0E9FF419CC5FE7BA9EC25A30DFAD27D@xmb-aln-x13.cisco.com" type="cite">
<div>
<div><br>
</div>
</div>
<div>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom:
          0px; margin-left: 0px; font: normal normal normal 12px/normal
          Helvetica; ">
<font class="Apple-style-span" face="Calibri" size="3">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.</font></p>
</div>
</blockquote>
<br>
It is a nice idea. We just need to ensure that we support the current l3 functionality.
<br>
<br>
<blockquote cite="mid:A6227CA8D0E9FF419CC5FE7BA9EC25A30DFAD27D@xmb-aln-x13.cisco.com" type="cite">
<div>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom:
          0px; margin-left: 0px; font: normal normal normal 12px/normal
          Helvetica; ">
<font class="Apple-style-span" face="Calibri" size="3"><br>
</font></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom:
          0px; margin-left: 0px; font: normal normal normal 12px/normal
          Helvetica; ">
<span class="Apple-style-span" style="font-family: Calibri; font-size: medium; ">What is your view on this?</span></p>
<div><br>
</div>
</div>
<div>/ Bob</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset> <br>
<pre wrap="">_______________________________________________
OpenStack-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><a class="moz-txt-link-freetext" href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a></pre>
</blockquote>
<br>
</div>
</div>
</blockquote>
</span>
</body>
</html>