This will be used by tunnel app. Signed-off-by: Isaku Yamahata <yamah...@valinux.co.jp> --- ryu/controller/network.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-)
diff --git a/ryu/controller/network.py b/ryu/controller/network.py index abfd12c..08dcdbf 100644 --- a/ryu/controller/network.py +++ b/ryu/controller/network.py @@ -184,8 +184,11 @@ class DPIDs(dict): except KeyError: raise PortNotFound(dpid=dpid, port=port_no, network_id=None) - def get_ports(self, dpid): - return self.get(dpid, {}).values() + def get_ports(self, dpid, network_id=None): + if network_id is None: + return self.get(dpid, {}).values() + return [p for p in self.get(dpid, {}).values() + if p.network_id == network_id] def get_port(self, dpid, port_no): try: @@ -199,6 +202,9 @@ class DPIDs(dict): except KeyError: raise PortUnknown(dpid=dpid, port=port_no) + def get_networks(self, dpid): + return set(self[dpid].values()) + def get_network_safe(self, dpid, port_no): port = self.get(dpid, {}).get(port_no) if port is None: @@ -317,6 +323,9 @@ class Network(object): def has_network(self, network_id): return self.networks.has_network(network_id) + def get_networks(self, dpid): + return self.dpids.get_networks(dpid) + def create_mac(self, network_id, dpid, port_no, mac_address): self.dpids.set_mac(network_id, dpid, port_no, mac_address) @@ -332,8 +341,8 @@ class Network(object): return [] return [mac_address] - def get_ports(self, dpid): - return self.dpids.get_ports(dpid) + def get_ports(self, dpid, network_id=None): + return self.dpids.get_ports(dpid, network_id) def get_port(self, dpid, port_no): return self.dpids.get_port(dpid, port_no) -- 1.7.10.4 ------------------------------------------------------------------------------ Keep yourself connected to Go Parallel: TUNE You got it built. Now make it sing. Tune shows you how. http://goparallel.sourceforge.net _______________________________________________ Ryu-devel mailing list Ryu-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ryu-devel