<div dir="ltr">You can't get rid of the "External" address as it's used to direct return traffic to the right router node. DVR as implemented is really just a local NAT gateway per physical compute node. The outside of your NAT needs to be publicly unique, so it needs it's own address. Some SDN solutions can provide a truly distributed router model, because they globally know the inside state of the NAT environment, and can forward packets back to the internal source properly, regardless of which distributed forwarder receives the incoming "external" packets.<div><br></div><div>If the number of external addresses consumed is an issue, you may consider the dual gateway HA model instead of DVR. This uses classic multi-router models where one router takes on the task of forwading packets, and the other device just acts as a backup. You do still have a software bottleneck at your router, unless you then also use one of the plugins that supports hardware L3 (last I checked, Juniper, Arista, Cisco, etc. all provide an L3 plugin that is HA capable), but you only burn 3 External addresses for the router (and 3 internal network addresses per tenant side interface if that matters).</div><div><br></div><div>Hope that clarifies a bit,</div><div>Robert</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jan 26, 2016 at 4:14 AM, Carl Baldwin <span dir="ltr"><<a href="mailto:carl@ecbaldwin.net" target="_blank">carl@ecbaldwin.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Thu, Jan 14, 2016 at 2:45 AM, Tomas Vondra <<a href="mailto:vondra@czech-itc.cz">vondra@czech-itc.cz</a>> wrote:<br>
> Hi!<br>
> I have just deployed an OpenStack Kilo installation with DVR and expected<br>
> that it will consume one Public IP per network node as per<br>
> <a href="http://assafmuller.com/2015/04/15/distributed-virtual-routing-floating-ips/" rel="noreferrer" target="_blank">http://assafmuller.com/2015/04/15/distributed-virtual-routing-floating-ips/</a>,<br>
> but it still eats one per virtual Router.<br>
> What is the correct behavior?<br>
<br>
</span>Regardless of DVR, a Neutron router burns one IP per virtual router<br>
which it uses to SNAT traffic from instances that do not have floating<br>
IPs.<br>
<br>
When you use DVR, an additional IP is consumed for each compute host<br>
running an L3 agent in DVR mode. There has been some discussion about<br>
how this can be eliminated but no action has been taken to do this.<br>
<span class=""><br>
> Otherwise, it works as a DVR should according to documentation. There are<br>
> router namespaces at both compute and network nodes, snat namespaces at the<br>
> network nodes and fip namespaces at the compute nodes. Every router has a<br>
> router_interface_distributed and a router_centralized_snat with private IPs,<br>
> however the router_gateway has a public IP, which I would like to getr id of<br>
> to increase density.<br>
<br>
</span>I'm not sure if it is possible to avoid burning these IPs at this<br>
time. Maybe someone else can chime in with more detail.<br>
<span class="HOEnZb"><font color="#888888"><br>
Carl<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
_______________________________________________<br>
OpenStack-operators mailing list<br>
<a href="mailto:OpenStack-operators@lists.openstack.org">OpenStack-operators@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-operators" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-operators</a><br>
</div></div></blockquote></div><br></div>