Merge "Revert "Ensure vlan network traffic is not centralized""

Zuul 2 months ago committed by Gerrit Code Review
commit b73399fa74

@ -393,8 +393,6 @@ LSP_OPTIONS_MCAST_FLOOD = 'mcast_flood'
LSP_OPTIONS_QOS_MIN_RATE = 'qos_min_rate'
LRP_OPTIONS_RESIDE_REDIR_CH = 'reside-on-redirect-chassis'
# Port Binding types
PB_TYPE_VIRTUAL = 'virtual'

@ -689,7 +689,10 @@ class DBInconsistenciesPeriodics(SchemaAwarePeriodicsBase):
# Get router ports belonging to VLAN networks
vlan_nets = self._ovn_client._plugin.get_networks(
context, {pnet.NETWORK_TYPE: [n_const.TYPE_VLAN]})
vlan_net_ids = [vn['id'] for vn in vlan_nets]
# FIXME(ltomasbo): Once Bugzilla 2162756 is fixed the
# is_provider_network check should be removed
vlan_net_ids = [vn['id'] for vn in vlan_nets
if not utils.is_provider_network(vn)]
router_ports = self._ovn_client._plugin.get_ports(
context, {'network_id': vlan_net_ids,
'device_owner': n_const.ROUTER_PORT_OWNERS})

@ -1573,29 +1573,21 @@ class OVNClient(object):
if network is None:
network = self._plugin.get_network(admin_context,
# For VLAN type networks we need to set the
# "reside-on-redirect-chassis" option so the routing for this
# logical router port is centralized in the chassis hosting the
# distributed gateway port.
# FIXME(ltomasbo): Once Bugzilla 2162756 is fixed the
# is_provider_network check should be removed
if network.get(pnet.NETWORK_TYPE) == const.TYPE_VLAN:
options[ovn_const.LRP_OPTIONS_RESIDE_REDIR_CH] = (
'false' if ovn_conf.is_ovn_distributed_floating_ip()
'false' if (ovn_conf.is_ovn_distributed_floating_ip() and
not utils.is_provider_network(network))
else 'true')
is_gw_port = const.DEVICE_OWNER_ROUTER_GW == port.get(
# NOTE(ltomasbo): For VLAN type networks connected through the gateway
# port there is a need to set the redirect-type option to bridge to
# ensure traffic is not centralized through the controller.
# For geneve based tenant networks it won't have any effect as it only
# applies to network with a localnet associated to it
if is_gw_port and ovn_conf.is_ovn_distributed_floating_ip():
options[ovn_const.LRP_OPTIONS_REDIRECT_TYPE] = (
if is_gw_port and ovn_conf.is_ovn_emit_need_to_frag_enabled():
router_ports = self._get_router_ports(admin_context,

@ -1,9 +0,0 @@
- |
[`bug 2003455 <>`_]
Previous commit (
added a workaround to avoid vlan provider networks traffic to be tunneled
to the compute nodes but it was still centralized. Now the traffic is
distributed thanks to using the "redirect-type" flag on the ovn gateway