Deleted Added
sdiff udiff text old ( 10088:eca928d8a4ab ) new ( 11663:cf870cd20cfc )
full compact
1# Copyright (c) 2012 Advanced Micro Devices, Inc.
2# All rights reserved.
3#
4# Redistribution and use in source and binary forms, with or without
5# modification, are permitted provided that the following conditions are
6# met: redistributions of source code must retain the above copyright
7# notice, this list of conditions and the following disclaimer;
8# redistributions in binary form must reproduce the above copyright

--- 72 unchanged lines hidden (view full) ---

81 self.router = Router(router_id=self.num_routers())
82 network.routers.append(self.router)
83
84 for node in self.nodes:
85 if type(node) == Cluster:
86 node.makeTopology(options, network, IntLink, ExtLink, Router)
87
88 # connect this cluster to the router
89 link_out = IntLink(link_id=self.num_int_links(), src_node=self.router,
90 dst_node_=node.router)
91 link_in = IntLink(link_id=self.num_int_links(), src_node=node.router,
92 dst_node_=self.router)
93
94 if node.extBW:
95 link_out.bandwidth_factor = node.extBW
96 link_in.bandwidth_factor = node.extBW
97
98 # if there is an internal b/w for this node
99 # and no ext b/w to override
100 elif self.intBW:
101 link_out.bandwidth_factor = self.intBW
102 link_in.bandwidth_factor = self.intBW
103
104 if node.extLatency:
105 link_out.latency = node.extLatency
106 link_in.latency = node.extLatency
107 elif self.intLatency:
108 link_out.latency = self.intLatency
109 link_in.latency = self.intLatency
110
111 network.int_links.append(link_out)
112 network.int_links.append(link_in)
113 else:
114 # node is just a controller,
115 # connect it to the router via a ext_link
116 link = ExtLink(link_id=self.num_ext_links(), ext_node=node,
117 int_node=self.router)
118
119 if self.intBW:
120 link.bandwidth_factor = self.intBW
121 if self.intLatency:
122 link.latency = self.intLatency
123
124 network.ext_links.append(link)
125
126 def __len__(self):
127 return len([i for i in self.nodes if type(i) != Cluster]) + \
128 sum([len(i) for i in self.nodes if type(i) == Cluster])