summaryrefslogtreecommitdiffhomepage
path: root/ryu/app/tunnel_port_updater.py
diff options
context:
space:
mode:
Diffstat (limited to 'ryu/app/tunnel_port_updater.py')
-rw-r--r--ryu/app/tunnel_port_updater.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/ryu/app/tunnel_port_updater.py b/ryu/app/tunnel_port_updater.py
index 4fdd8ce8..2946737a 100644
--- a/ryu/app/tunnel_port_updater.py
+++ b/ryu/app/tunnel_port_updater.py
@@ -431,17 +431,20 @@ class TunnelPortUpdater(app_manager.RyuApp):
def _vm_port_del(self, network_id, dpid):
LOG.debug('_vm_port_del %s %s', network_id, dpid_lib.dpid_to_str(dpid))
- if len(self.nw.get_ports(dpid, network_id)) > 1:
+ if len(self.nw.get_ports(dpid, network_id)) > 0:
return
- tunnel_networks = self.nw.get_networks(dpid).copy()
+ tunnel_networks = set(p.network_id
+ for p in self.nw.get_networks(dpid))
tunnel_networks.discard(network_id)
tunnel_networks.difference_update(rest_nw_id.RESERVED_NETWORK_IDS)
dpids = self.nw.get_dpids(network_id).copy()
dpids.discard(dpid)
del_dpids = []
for remote_dpid in dpids:
- if tunnel_networks & self.nw.get_networks(remote_dpid):
+ remote_networks = set(p.network_id
+ for p in self.nw.get_networks(remote_dpid))
+ if tunnel_networks & remote_networks:
continue
self.tunnel_requests.remove(dpid, remote_dpid)
del_dpids.append(remote_dpid)