Skip to content

Commit 85321a6

Browse files
committed
Revert "Ensure vlan network traffic is not centralized"
This reverts commit f83a97d. Reason for revert: As part of the reverted commit, the redirect-type=bridged flag was enabled by default. However this have the side effect of also decentralizing N/S traffic for geneve tenant networks, breaking the VM connectivity on them when it must be centralized, i.e., when no FIPs are associated to the VMs. A new fix will be provided ASAP. Change-Id: I258cc439c70cfeae5b638ddd8e650dc2bf403c31
1 parent f83a97d commit 85321a6

File tree

4 files changed

+8
-24
lines changed

4 files changed

+8
-24
lines changed

neutron/common/ovn/constants.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -372,8 +372,6 @@
372372
LSP_OPTIONS_MCAST_FLOOD = 'mcast_flood'
373373

374374
LRP_OPTIONS_RESIDE_REDIR_CH = 'reside-on-redirect-chassis'
375-
LRP_OPTIONS_REDIRECT_TYPE = 'redirect-type'
376-
BRIDGE_REDIRECT_TYPE = "bridged"
377375

378376
# Port Binding types
379377
PB_TYPE_VIRTUAL = 'virtual'

neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/maintenance.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -831,7 +831,10 @@ def check_vlan_distributed_ports(self):
831831
# Get router ports belonging to VLAN networks
832832
vlan_nets = self._ovn_client._plugin.get_networks(
833833
context, {pnet.NETWORK_TYPE: [n_const.TYPE_VLAN]})
834-
vlan_net_ids = [vn['id'] for vn in vlan_nets]
834+
# FIXME(ltomasbo): Once Bugzilla 2162756 is fixed the
835+
# is_provider_network check should be removed
836+
vlan_net_ids = [vn['id'] for vn in vlan_nets
837+
if not utils.is_provider_network(vn)]
835838
router_ports = self._ovn_client._plugin.get_ports(
836839
context, {'network_id': vlan_net_ids,
837840
'device_owner': n_const.ROUTER_PORT_OWNERS})

neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_client.py

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1554,29 +1554,21 @@ def _gen_router_port_options(self, port, network=None):
15541554
if network is None:
15551555
network = self._plugin.get_network(admin_context,
15561556
port['network_id'])
1557-
15581557
# For VLAN type networks we need to set the
15591558
# "reside-on-redirect-chassis" option so the routing for this
15601559
# logical router port is centralized in the chassis hosting the
15611560
# distributed gateway port.
15621561
# https://github.com/openvswitch/ovs/commit/85706c34d53d4810f54bec1de662392a3c06a996
1562+
# FIXME(ltomasbo): Once Bugzilla 2162756 is fixed the
1563+
# is_provider_network check should be removed
15631564
if network.get(pnet.NETWORK_TYPE) == const.TYPE_VLAN:
15641565
options[ovn_const.LRP_OPTIONS_RESIDE_REDIR_CH] = (
1565-
'false' if ovn_conf.is_ovn_distributed_floating_ip()
1566+
'false' if (ovn_conf.is_ovn_distributed_floating_ip() and
1567+
not utils.is_provider_network(network))
15661568
else 'true')
15671569

15681570
is_gw_port = const.DEVICE_OWNER_ROUTER_GW == port.get(
15691571
'device_owner')
1570-
1571-
# NOTE(ltomasbo): For VLAN type networks connected through the gateway
1572-
# port there is a need to set the redirect-type option to bridge to
1573-
# ensure traffic is not centralized through the controller.
1574-
# For geneve based tenant networks it won't have any effect as it only
1575-
# applies to network with a localnet associated to it
1576-
if is_gw_port and ovn_conf.is_ovn_distributed_floating_ip():
1577-
options[ovn_const.LRP_OPTIONS_REDIRECT_TYPE] = (
1578-
ovn_const.BRIDGE_REDIRECT_TYPE)
1579-
15801572
if is_gw_port and ovn_conf.is_ovn_emit_need_to_frag_enabled():
15811573
try:
15821574
router_ports = self._get_router_ports(admin_context,

releasenotes/notes/bug-2003455-dff0d0f00b5a18e2.yaml

Lines changed: 0 additions & 9 deletions
This file was deleted.

0 commit comments

Comments
 (0)