<div dir="ltr">Keshava,<div><br></div><div>I think the thread is not going a bit off its stated topic - which is to discuss the various proposed approaches to vlan trunking.</div><div>Regarding your last post, I'm not sure I saw either spec implying that at the data plane level every instance attached to a trunk will be implemented as a different network stack.</div><div><br></div><div>Also, quoting the principle earlier cited in this thread - <font face="arial, helvetica, sans-serif" color="#000000"> "make the easy stuff easy and the hard stuff possible" - I would say that unless five 9s is a minimum requirement for a NFV application, we might start worrying about it once we have the bare minimum set of tools for allowing a NFV application over a neutron network.</font></div><div><br></div><div>I think Ian has done a good job in explaining that while both approaches considered here address trunking for NFV use cases, they propose alternative implementations which can be leveraged in different way by NFV applications. I do not see now a reason for which we should not allow NFV apps to leverage a trunk network or create port-aware VLANs (or maybe you can even have VLAN aware ports which tap into a trunk network?)</div><div><br></div><div>We may continue discussing the pros and cons of each approach - but to me it's now just a matter of choosing the best solution for exposing them at the API layer. At the control/data plane layer, it seems to me that trunk networks are pretty much straightforward. VLAN aware ports are instead a bit more convoluted, but not excessively complicated in my opinion.</div><div><br></div><div>Salvatore</div><div><br></div><div><div class="gmail_extra"><br><div class="gmail_quote">On 28 October 2014 11:55, A, Keshava <span dir="ltr"><<a href="mailto:keshava.a@hp.com" target="_blank">keshava.a@hp.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 lang="EN-US" link="blue" vlink="purple">
<div>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(112,173,71)">Hi,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(112,173,71)">Pl find my reply ..<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Regards,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">keshava<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<div>
<div style="border-style:solid none none;border-top-color:rgb(225,225,225);border-top-width:1pt;padding:3pt 0in 0in">
<p class="MsoNormal"><b><span style="font-size:11pt;font-family:Calibri,sans-serif">From:</span></b><span style="font-size:11pt;font-family:Calibri,sans-serif"> Alan Kavanagh [mailto:<a href="mailto:alan.kavanagh@ericsson.com" target="_blank">alan.kavanagh@ericsson.com</a>]
<br>
<b>Sent:</b> Tuesday, October 28, 2014 3:35 PM</span></p><div><div class="h5"><br>
<b>To:</b> OpenStack Development Mailing List (not for usage questions)<br>
<b>Subject:</b> Re: [openstack-dev] [neutron] [nfv] VM-based VLAN trunking blueprints<u></u><u></u></div></div><p></p>
</div>
</div><div><div class="h5">
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Hi<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Please find some additions to Ian and responses below.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">/Alan<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<div>
<div style="border-style:solid none none;border-top-color:rgb(181,196,223);border-top-width:1pt;padding:3pt 0in 0in">
<p class="MsoNormal" style="margin-left:0.5in"><b><span style="font-size:10pt;font-family:Tahoma,sans-serif">From:</span></b><span style="font-size:10pt;font-family:Tahoma,sans-serif"> A, Keshava [<a href="mailto:keshava.a@hp.com" target="_blank">mailto:keshava.a@hp.com</a>]
<br>
<b>Sent:</b> October-28-14 9:57 AM<br>
<b>To:</b> OpenStack Development Mailing List (not for usage questions)<br>
<b>Subject:</b> Re: [openstack-dev] [neutron] [nfv] VM-based VLAN trunking blueprints<u></u><u></u></span></p>
</div>
</div>
<p class="MsoNormal" style="margin-left:0.5in"><span lang="EN-CA"><u></u> <u></u></span></p>
<p class="MsoNormal" style="margin-left:0.5in"><b><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(91,155,213)">Hi,<u></u><u></u></span></b></p>
<p class="MsoNormal" style="margin-left:0.5in"><b><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(91,155,213)">Pl fine the reply for the same.<u></u><u></u></span></b></p>
<p class="MsoNormal" style="margin-left:0.5in"><b><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(91,155,213)"><u></u> <u></u></span></b></p>
<p class="MsoNormal" style="margin-left:0.5in"><b><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(91,155,213)">Regards,<u></u><u></u></span></b></p>
<p class="MsoNormal" style="margin-left:0.5in"><b><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(91,155,213)">keshava<u></u><u></u></span></b></p>
<p class="MsoNormal" style="margin-left:0.5in"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal" style="margin-left:0.5in"><b><span style="font-size:11pt;font-family:Calibri,sans-serif">From:</span></b><span style="font-size:11pt;font-family:Calibri,sans-serif"> Ian Wells [<a href="mailto:ijw.ubuntu@cack.org.uk" target="_blank">mailto:ijw.ubuntu@cack.org.uk</a>]
<br>
<b>Sent:</b> Tuesday, October 28, 2014 1:11 PM<br>
<b>To:</b> OpenStack Development Mailing List (not for usage questions)<br>
<b>Subject:</b> Re: [openstack-dev] [neutron] [nfv] VM-based VLAN trunking blueprints<u></u><u></u></span></p>
<p class="MsoNormal" style="margin-left:0.5in"><u></u> <u></u></p>
</div></div><div><div><div class="h5">
<p class="MsoNormal" style="margin-right:0in;margin-bottom:12pt;margin-left:0.5in">
This all appears to be referring to trunking ports, rather than anything else, so I've addressed the points in that respect.<u></u><u></u></p>
</div></div><div>
<div>
<div><div><div class="h5">
<p class="MsoNormal" style="margin-left:0.5in">On 28 October 2014 00:03, A, Keshava <<a href="mailto:keshava.a@hp.com" target="_blank">keshava.a@hp.com</a>> wrote:<u></u><u></u></p>
<blockquote style="border-style:none none none solid;border-left-color:rgb(204,204,204);border-left-width:1pt;padding:0in 0in 0in 6pt;margin:5pt 0in 5pt 4.8pt">
<div>
<div>
<p class="MsoNormal" style="margin-left:0.5in">
<span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(112,173,71)">Hi,</span><u></u><u></u></p>
<p style="margin-left:0.5in"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(112,173,71)">1.</span><span style="font-size:7pt;color:rgb(112,173,71)">      
</span><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(112,173,71)">How many Trunk ports can be created ?
</span><u></u><u></u></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal" style="margin-left:0.5in">Why would there be a limit?<u></u><u></u></p>
</div>
<blockquote style="border-style:none none none solid;border-left-color:rgb(204,204,204);border-left-width:1pt;padding:0in 0in 0in 6pt;margin:5pt 0in 5pt 4.8pt">
<div>
<div>
<p style="margin-left:0.5in"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(112,173,71)">Will there be any Active-Standby concepts will be there ?
</span><u></u><u></u></p>
</div>
</div>
</blockquote>
</div></div><div><div><div class="h5">
<p class="MsoNormal" style="margin-left:0.5in">I don't believe active-standby, or any HA concept, is directly relevant.  Did you have something in mind?
<u></u><u></u></p>
<p class="MsoNormal" style="margin-left:0.5in"><b><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(91,155,213)">For the NFV kind of the scenario, it is very much required to run the ‘Service VM’ in Active and Standby Mode.<u></u><u></u></span></b></p>
<p class="MsoNormal"><b><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">AK</span></b><b><span style="font-size:11pt;font-family:Wingdings;color:rgb(31,73,125)">à</span></b><b><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">
 We have a different view on this, the “application runs as a pair” of which the application either runs in active-active or active standby…this has nothing to do with HA, its down to the application and how its provisioned and configured via Openstack. So
 agree with Ian on this.<u></u><u></u></span></b></p>
<p class="MsoNormal" style="margin-left:0.5in"><b><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(91,155,213)">Standby is more of passive entity and will not take any action to external network. It will be passive consumer of the packet/information.<u></u><u></u></span></b></p>
<p class="MsoNormal"><b><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">AK</span></b><b><span style="font-size:11pt;font-family:Wingdings;color:rgb(31,73,125)">à</span></b><b><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">
 Why would we need to care?<u></u><u></u></span></b></p>
<p class="MsoNormal" style="margin-left:0.5in"><b><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(91,155,213)">In that scenario it will be very meaningful to have<u></u><u></u></span></b></p>
<p class="MsoNormal" style="margin-left:0.5in;text-indent:11.55pt"><b><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(91,155,213)">“Active port – connected to  “Active  Service VM”.<u></u><u></u></span></b></p>
<p class="MsoNormal" style="margin-left:0.5in;text-indent:11.55pt"><b><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(91,155,213)">“Standby port – connected to ‘Standby Service VM’. Which will turn Active when old Active-VM goes down  ?<u></u><u></u></span></b></p>
<p class="MsoNormal" style="margin-left:0.5in;text-indent:11.55pt"><b><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">AK</span></b><b><span style="font-size:11pt;font-family:Wingdings;color:rgb(31,73,125)">à</span></b><b><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">
 Cant you just have two VM’s and then via a controller decide how to address MAC+IP_Address control…..FYI…most NFV Apps have that built-in today.</span></b><b><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(91,155,213)"><u></u><u></u></span></b></p>
<p class="MsoNormal" style="margin-left:0.5in"><b><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(91,155,213)">Let us know others opinion about this concept.<u></u><u></u></span></b></p>
<p class="MsoNormal"><b><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">AK</span></b><b><span style="font-size:11pt;font-family:Wingdings;color:rgb(31,73,125)">à</span></b><b><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Perhaps
 I am miss reading this but I don’t understand what this would provide as opposed to having two VM’s instantiated and running, why does Neutron need to care about the port state between these two VM’s? Similarly its better to just have 2 or more VM’s up and
 the application will be able to address when failover occurs/requires. Lets keep it simple and not mix up with what the apps do inside the containment.<u></u><u></u></span></b></p>
<p class="MsoNormal"><b><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></b></p>
</div></div><p class="MsoNormal"><b><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(112,173,71)">Keshava:
<u></u><u></u></span></b></p>
<p class="MsoNormal" style="margin-left:0.5in"><b><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(112,173,71)">Since this is solution is more for Carrier Grade NFV Service VM, I have below points to make.<u></u><u></u></span></b></p>
<p class="MsoNormal" style="margin-left:0.5in"><b><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(112,173,71)">Let’s us say Service-VM running is BGP or BGP-VPN or ‘MPLS + LDP + BGP-VPN’.<u></u><u></u></span></b></p>
<p class="MsoNormal" style="margin-left:0.5in"><b><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(112,173,71)">When such kind of carrier grade service are running, how to provide the Five-9  HA ?<u></u><u></u></span></b></p>
<p class="MsoNormal" style="margin-left:0.5in"><b><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(112,173,71)">In my opinion,
<u></u><u></u></span></b></p>
<p class="MsoNormal" style="margin-left:0.5in"><b><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(112,173,71)">                Both (Active,/Standby) Service-VM to hook same underlying OpenStack infrastructure stack (br-ext->br-int->qxx->
 VMa) <u></u><u></u></span></b></p>
<p class="MsoNormal" style="margin-left:0.5in;text-indent:0.5in"><b><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(112,173,71)">However ‘active VM’ can hooks to  ‘active-port’  and ‘standby VM’ hook to ‘passive-port’ with in same stack.<u></u><u></u></span></b></p>
<p class="MsoNormal" style="margin-left:0.5in;text-indent:0.5in"><b><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(112,173,71)"><u></u> <u></u></span></b></p>
<p class="MsoNormal" style="margin-left:0.5in"><b><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(112,173,71)">Instead if Active and Standby VM hooks to 2 different stack (br-ext1->br-int1
</span></b><b><span style="font-size:11pt;font-family:Wingdings;color:rgb(112,173,71)">à</span></b><b><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(112,173,71)">qxx1-> VM-active) and (br-ext2->br-int2->qxx2-> VM-Standby) can those Service-VM
 achieve the 99.99999 reliability ? <u></u><u></u></span></b></p>
<p class="MsoNormal"><b><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(112,173,71)"><u></u> <u></u></span></b></p>
<p class="MsoNormal"><b><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(112,173,71)">                Yes I may be thinking little  complicated  way from open-stack perspective..<u></u><u></u></span></b></p>
</div><div><div class="h5">
<blockquote style="border-style:none none none solid;border-left-color:rgb(204,204,204);border-left-width:1pt;padding:0in 0in 0in 6pt;margin:5pt 0in 5pt 4.8pt">
<div>
<div>
<p style="margin-left:0.5in"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(112,173,71)"> 2.</span><span style="font-size:7pt;color:rgb(112,173,71)">      
</span><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(112,173,71)">Is it possible to configure multiple IP address configured on these ports ?
</span><u></u><u></u></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal" style="margin-left:0.5in">Yes, in the sense that you can have addresses per port.  The usual restrictions to ports would apply, and they don't currently allow multiple IP addresses (with the exception of the address-pair extension).<u></u><u></u></p>
</div>
<blockquote style="border-style:none none none solid;border-left-color:rgb(204,204,204);border-left-width:1pt;padding:0in 0in 0in 6pt;margin:5pt 0in 5pt 4.8pt">
<div>
<div>
<p style="margin-left:0.5in"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(112,173,71)">In case IPv6 there can be multiple primary address configured will this be supported ?</span><u></u><u></u></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal" style="margin-left:0.5in">No reason why not - we're expecting to re-use the usual port, so you'd expect the features there to apply (in addition to having multiple sets of subnet on a trunking port).<u></u><u></u></p>
</div>
<blockquote style="border-style:none none none solid;border-left-color:rgb(204,204,204);border-left-width:1pt;padding:0in 0in 0in 6pt;margin:5pt 0in 5pt 4.8pt">
<div>
<div>
<p style="margin-left:0.5in"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(112,173,71)"> 3.</span><span style="font-size:7pt;color:rgb(112,173,71)">      
</span><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(112,173,71)">If required can these ports can be aggregated into single one dynamically ?</span><u></u><u></u></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal" style="margin-left:0.5in">That's not really relevant to trunk ports or networks.
<u></u><u></u></p>
</div>
<blockquote style="border-style:none none none solid;border-left-color:rgb(204,204,204);border-left-width:1pt;padding:0in 0in 0in 6pt;margin:5pt 0in 5pt 4.8pt">
<div>
<div>
<p style="margin-left:0.5in"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(112,173,71)"> 4.</span><span style="font-size:7pt;color:rgb(112,173,71)">      
</span><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(112,173,71)">Will there be requirement to handle Nested tagged packet on such interfaces ?</span><u></u><u></u></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal" style="margin-left:0.5in">For trunking ports, I don't believe anyone was considering it.<u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:0.5in"> <u></u><u></u></p>
</div>
<blockquote style="border-style:none none none solid;border-left-color:rgb(204,204,204);border-left-width:1pt;padding:0in 0in 0in 6pt;margin:5pt 0in 5pt 4.8pt">
<div>
<div>
<p class="MsoNormal" style="margin-left:0.5in">
<span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(112,173,71)"> </span><u></u><u></u></p>
<p class="MsoNormal" style="margin-left:0.5in">
<span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(112,173,71)"> </span><u></u><u></u></p>
<p class="MsoNormal" style="margin-left:0.5in">
<span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(112,173,71)"> </span><u></u><u></u></p>
<p class="MsoNormal" style="margin-left:0.5in">
<span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Thanks & Regards,</span><u></u><u></u></p>
<p class="MsoNormal" style="margin-left:0.5in">
<span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Keshava</span><u></u><u></u></p>
<p class="MsoNormal" style="margin-left:0.5in">
<span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"> </span><u></u><u></u></p>
<p class="MsoNormal" style="margin-left:0.5in">
<b><span style="font-size:11pt;font-family:Calibri,sans-serif">From:</span></b><span style="font-size:11pt;font-family:Calibri,sans-serif"> Ian Wells [mailto:<a href="mailto:ijw.ubuntu@cack.org.uk" target="_blank">ijw.ubuntu@cack.org.uk</a>]
<br>
<b>Sent:</b> Monday, October 27, 2014 9:45 PM<br>
<b>To:</b> OpenStack Development Mailing List (not for usage questions)<br>
<b>Subject:</b> Re: [openstack-dev] [neutron] [nfv] VM-based VLAN trunking blueprints</span><u></u><u></u></p>
<p class="MsoNormal" style="margin-left:0.5in">
 <u></u><u></u></p>
<div>
<p class="MsoNormal" style="margin-left:0.5in">
On 25 October 2014 15:36, Erik Moe <<a href="mailto:erik.moe@ericsson.com" target="_blank">erik.moe@ericsson.com</a>> wrote:<u></u><u></u></p>
<div>
<div>
<div>
<div>
<blockquote style="border-style:none none none solid;border-left-color:rgb(204,204,204);border-left-width:1pt;padding:0in 0in 0in 6pt;margin:5pt 0in 5pt 4.8pt">
<div>
<div>
<p class="MsoNormal" style="margin-left:0.5in">
<span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Then I tried to just use the trunk network as a plain pipe to the L2-gateway and connect to normal Neutron networks. One issue is that the L2-gateway will bridge the networks, but
 the services in the network you bridge to is unaware of your existence. This IMO is ok then bridging Neutron network to some remote network, but if you have an Neutron VM and want to utilize various resources in another Neutron network (since the one you sit
 on does not have any resources), things gets, let’s say non streamlined.</span><u></u><u></u></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal" style="margin-left:0.5in">
 <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:0.5in">
Indeed.  However, non-streamlined is not the end of the world, and I wouldn't want to have to tag all VLANs a port is using on the port in advance of using it (this works for some use cases, and makes others difficult, particularly if you just want a native
 trunk and are happy for Openstack not to have insight into what's going on on the wire).
<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:0.5in">
 <u></u><u></u></p>
</div>
<blockquote style="border-style:none none none solid;border-left-color:rgb(204,204,204);border-left-width:1pt;padding:0in 0in 0in 6pt;margin:5pt 0in 5pt 4.8pt">
<div>
<div>
<p class="MsoNormal" style="margin-left:0.5in">
<span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"> Another issue with trunk network is that it puts new requirements on the infrastructure. It needs to be able to handle VLAN tagged frames. For a VLAN based network it would be
 QinQ.</span><u></u><u></u></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal" style="margin-left:0.5in">
 <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12pt;margin-left:0.5in">
Yes, and that's the point of the VLAN trunk spec, where we flag a network as passing VLAN tagged packets; if the operator-chosen network implementation doesn't support trunks, the API can refuse to make a trunk network.  Without it we're still in the situation
 that on some clouds passing VLANs works and on others it doesn't, and that the tenant can't actually tell in advance which sort of cloud they're working on.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12pt;margin-left:0.5in">
Trunk networks are a requirement for some use cases independent of the port awareness of VLANs.  Based on the maxim, 'make the easy stuff easy and the hard stuff possible' we can't just say 'no Neutron network passes VLAN tagged packets'.  And even if we did,
 we're evading a problem that exists with exactly one sort of network infrastructure - VLAN tagging for network separation - while making it hard to use for all of the many other cases in which it would work just fine.<br>
<br>
In summary, if we did port-based VLAN knowledge I would want to be able to use VLANs without having to use it (in much the same way that I would like, in certain circumstances, not to have to use Openstack's address allocation and DHCP - it's nice that I can,
 but I shouldn't be forced to).<u></u><u></u></p>
</div>
<blockquote style="border-style:none none none solid;border-left-color:rgb(204,204,204);border-left-width:1pt;padding:0in 0in 0in 6pt;margin:5pt 0in 5pt 4.8pt">
<div>
<div>
<p class="MsoNormal" style="margin-left:0.5in">
<span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">My requirements were to have low/no extra cost for VMs using VLAN trunks compared to normal ports, no new bottlenecks/single point of failure. Due to this and previous issues I
 implemented the L2 gateway in a distributed fashion and since trunk network could not be realized in reality I only had them in the model and optimized them away.
</span><u></u><u></u></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal" style="margin-left:0.5in">
 <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:0.5in">
Again, this is down to your choice of VLAN tagged networking and/or the OVS ML2 driver; it doesn't apply to all deployments.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:0.5in">
 <u></u><u></u></p>
</div>
<blockquote style="border-style:none none none solid;border-left-color:rgb(204,204,204);border-left-width:1pt;padding:0in 0in 0in 6pt;margin:5pt 0in 5pt 4.8pt">
<div>
<div>
<p class="MsoNormal" style="margin-left:0.5in">
<span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">But the L2-gateway + trunk network has a flexible API, what if someone connects two VMs to one trunk network, well, hard to optimize away.</span><u></u><u></u></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal" style="margin-left:0.5in">
 <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12pt;margin-left:0.5in">
That's certainly true, but it wasn't really intended to be optimised away.<u></u><u></u></p>
</div>
<blockquote style="border-style:none none none solid;border-left-color:rgb(204,204,204);border-left-width:1pt;padding:0in 0in 0in 6pt;margin:5pt 0in 5pt 4.8pt">
<div>
<div>
<p class="MsoNormal" style="margin-left:0.5in">
<span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Anyway, due to these and other issues, I limited my scope and switched to the current trunk port/subport model.</span><u></u><u></u></p>
<p class="MsoNormal" style="margin-left:0.5in">
<span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"> </span><u></u><u></u></p>
<p class="MsoNormal" style="margin-left:0.5in">
<span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">The code that is for review is functional, you can boot a VM with a trunk port + subports (each subport maps to a VLAN). The VM can send/receive VLAN traffic. You can add/remove
 subports on a running VM. You can specify IP address per subport and use DHCP to retrieve them etc.</span><u></u><u></u></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal" style="margin-left:0.5in">
 <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:0.5in">
I'm coming to realise that the two solutions address different needs - the VLAN port one is much more useful for cases where you know what's going on in the network and you want Openstack to help, but it's just not broad enough to solve every problem.  It may
 well be that we want both solutions, in which case we just need to agree that 'we shouldn't do trunk networking because VLAN aware ports solve this problem' is not a valid argument during spec review.<br>
-- <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:0.5in">
Ian.<u></u><u></u></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal" style="margin-right:0in;margin-bottom:12pt;margin-left:0.5in">
<br>
_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">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><u></u><u></u></p>
</blockquote>
</div></div></div>
<p class="MsoNormal" style="margin-left:0.5in"><u></u> <u></u></p>
</div>
</div>
</div>
</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></div>