<div dir="ltr">Coordinating communication between various backends for encapsulation termination is something that would be really nice to address in Liberty. I've added it to the etherpad to bring it up at the summit.[1]<div><br></div><div><br></div><div>1. <a href="http://lists.openstack.org/pipermail/openstack-dev/2015-March/059961.html">http://lists.openstack.org/pipermail/openstack-dev/2015-March/059961.html</a></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Mar 31, 2015 at 2:57 PM, Sławek Kapłoński <span dir="ltr"><<a href="mailto:slawek@kaplonski.pl" target="_blank">slawek@kaplonski.pl</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br>
<br>
I think that easiest way could be to have own mech_driver (AFAIK such<br>
drivers are for such usage) to talk with external devices to "tell" them<br>
what tunnels should it establish.<br>
With change to tun_ip Henry propese l2_pop agent will be able to<br>
establish tunnel with external device.<br>
<div class="HOEnZb"><div class="h5"><br>
On Mon, Mar 30, 2015 at 10:19:38PM +0200, Mathieu Rohon wrote:<br>
> hi henry,<br>
><br>
> thanks for this interesting idea. It would be interesting to think about<br>
> how external gateway could leverage the l2pop framework.<br>
><br>
> Currently l2pop sends its fdb messages once the status of the port is<br>
> modified. AFAIK, this status is only modified by agents which send<br>
> update_devce_up/down().<br>
> This issue has also to be addressed if we want agent less equipments to be<br>
> announced through l2pop.<br>
><br>
> Another way to do it is to introduce some bgp speakers with e-vpn<br>
> capabilities at the control plane of ML2 (as a MD for instance). Bagpipe<br>
> [1] is an opensource bgp speaker which is able to do that.<br>
> BGP is standardized so equipments might already have it embedded.<br>
><br>
> last summit, we talked about this kind of idea [2]. We were going further<br>
> by introducing the bgp speaker on each compute node, in use case B of [2].<br>
><br>
> [1]<a href="https://github.com/Orange-OpenSource/bagpipe-bgp" target="_blank">https://github.com/Orange-OpenSource/bagpipe-bgp</a><br>
> [2]<a href="http://www.slideshare.net/ThomasMorin1/neutron-and-bgp-vpns-with-bagpipe" target="_blank">http://www.slideshare.net/ThomasMorin1/neutron-and-bgp-vpns-with-bagpipe</a><br>
><br>
> On Thu, Mar 26, 2015 at 7:21 AM, henry hly <<a href="mailto:henry4hly@gmail.com">henry4hly@gmail.com</a>> wrote:<br>
><br>
> > Hi ML2er,<br>
> ><br>
> > Today we use agent_ip in L2pop to store endpoints for ports on a<br>
> > tunnel type network, such as vxlan or gre. However this has some<br>
> > drawbacks:<br>
> ><br>
> > 1) It can only work with backends with agents;<br>
> > 2) Only one fixed ip is supported per-each agent;<br>
> > 3) Difficult to interact with other backend and world outside of Openstack.<br>
> ><br>
> > L2pop is already widely accepted and deployed in host based overlay,<br>
> > however because it use agent_ip to populate tunnel endpoint, it's very<br>
> > hard to co-exist and inter-operating with other vxlan backend,<br>
> > especially agentless MD.<br>
> ><br>
> > A small change is suggested that the tunnel endpoint should not be the<br>
> > attribute of *agent*, but be the attribute of *port*, so if we store<br>
> > it in something like *binding:tun_ip*, it is much easier for different<br>
> > backend to co-exists. Existing ovs agent and bridge need a small<br>
> > patch, to put the local agent_ip into the port context binding fields<br>
> > when doing port_up rpc.<br>
> ><br>
> > Several extra benefits may also be obtained by this way:<br>
> ><br>
> > 1) we can easily and naturally create *external vxlan/gre port* which<br>
> > is not attached by an Nova booted VM, with the binding:tun_ip set when<br>
> > creating;<br>
> > 2) we can develop some *proxy agent* which manage a bunch of remote<br>
> > external backend, without restriction of its agent_ip.<br>
> ><br>
> > Best Regards,<br>
> > Henry<br>
> ><br>
> > __________________________________________________________________________<br>
> > OpenStack Development Mailing List (not for usage questions)<br>
> > Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</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>
<br>
> __________________________________________________________________________<br>
> OpenStack Development Mailing List (not for usage questions)<br>
> Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</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>
<br>
</div></div><span class="HOEnZb"><font color="#888888">--<br>
Pozdrawiam<br>
Sławek Kapłoński<br>
<a href="mailto:slawek@kaplonski.pl">slawek@kaplonski.pl</a><br>
</font></span><div class="HOEnZb"><div class="h5"><br>
__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</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>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div>Kevin Benton</div></div>
</div>