On Wed, Sep 19, 2018 at 10:13 AM Cody <codeology.lab(a)gmail.com> wrote:
Hi there,
I sent a similar question below to OpenStack ML last week, but haven't
got any answers yet. Since it is a TripleO related question, I am
reposting it here and hope for a better luck.
According to the TripleO documentation [1], the default Neutron
external bridge (NeutronExternalNetworkBridge) is left empty. This
seems to let the physical interface map to br-int instead of br-ex,
and (somehow) use more CPU power as oppose to using br-ex directly. I
don't get it... Does it mean the external traffic would go directly
from br-int to the physical interface without using br-ex? Could
someone walk me through the traffic flow in this case? I really
appreciate your help!
[1]
https://docs.openstack.org/tripleo-docs/latest/install/advanced_deploymen...
Regards,
Cody
_______________________________________________
users mailing list
users(a)lists.rdoproject.org
http://lists.rdoproject.org/mailman/listinfo/users
To unsubscribe: users-unsubscribe(a)lists.rdoproject.org
If you set the Neutron external bridge explicitly (such as to "br-ex"),
then only that bridge can be used for floating IPs and SNAT. This is
because the router net namespace is attached directly to the external
bridge, rather than to br-int. If you set this to a blank string, then
everything will be tied to br-int, and you can have multiple external
bridges, or multiple provider external networks on the same bridge. This is
useful for separating floating IP pools for different tenants, or for other
fine-grained traffic control.
While it is true that setting this to a blank string means one extra bridge
hop in the data path (from the router namespace to br-int), this is no
longer such an issue as the OVS code is significantly more efficient than
it used to be. Keep in mind that traffic will traverse several bridges
before hitting the VM even in the case of using an explicit external
bridge, so it's not like the one extra bridge hop doubles OVS CPU
utilization, it's just a small fractional increase. I have always recommend
that a blank string be used in all cases, as this leaves flexibility to add
bridge interfaces in the future, and has an overall small impact on CPU
utilization. In fact, setting an explicit external bridge was deprecated,
and if it hasn't been removed by now I'm surprised.
https://bugs.launchpad.net/neutron/+bug/1511578
--
Dan Sneddon | Senior Principal OpenStack Engineer
dsneddon(a)redhat.com |
redhat.com/openstack
dsneddon:irc | @dxs:twitter