[openstack-dev] [neutron][dvr] Wasting so many external network IPs in DVR mode?

Carl Baldwin carl at ecbaldwin.net
Thu Jun 2 15:27:02 UTC 2016

On Thu, Jun 2, 2016 at 12:04 AM, zhi <changzhi1990 at gmail.com> wrote:
>     The reason putting the routers namespaces behind the fip namespace is
> saving mac address tables in switches. In Centralized Virtual Router,  there
> are many "qg" interfaces in the external bridge. Every "qg" interface may
> contains one or more floating ips. I think this is a problem. The mac
> address tables in switches will learn many mac items from different "qg"
> interfaces, like this:
> |MAC address | Port|
> |mac of qg1     | 2     |
> |mac of qg2     | 2     |
> |mac of qg3     | 2     |
> |mac of qg4     | 2     |
> |mac of qgN     | 2     |
>      In DVR, I think there is no problems about that I mentioned above.
> Because physical switches can learn all the fips's mac address from the same
> port —— "fg" interface. I think the mac address tables in physical switches
> like this:
>     |MAC address | Port|
>     |mac of fg        | 2     |
>     In this situation,  just one relationship between Port and MAC address
> can be learned by the physical switches.

This is mostly correct, you've got the right idea.  If it is a compute
host on port 2 then you're correct.  But, remember that a DVR also has
a central component just like CVR.  So, the network nodes still look
like they do with CVR.

The big problem with DVR is that the qg port is distributed in many
different places, one time for each compute host with a DVR
serviceable port behind the router, and once for the central part of
the router.  If these were all directly connected to the external
network, each would need its own mac address.


More information about the OpenStack-dev mailing list