Committed by
Gerrit Code Review
Fixing a defect in simulated topology to make sure to use unique ports.
Change-Id: I6ae266e9347470722e4df31aed18e3141e3e84a4
Showing
4 changed files
with
29 additions
and
11 deletions
... | @@ -42,8 +42,10 @@ public class LinearTopologySimulator extends TopologySimulator { | ... | @@ -42,8 +42,10 @@ public class LinearTopologySimulator extends TopologySimulator { |
42 | 42 | ||
43 | @Override | 43 | @Override |
44 | protected void createLinks() { | 44 | protected void createLinks() { |
45 | + int portOffset = 1; | ||
45 | for (int i = 0, n = deviceCount - 1; i < n; i++) { | 46 | for (int i = 0, n = deviceCount - 1; i < n; i++) { |
46 | - createLink(i, i + 1); | 47 | + createLink(i, i + 1, portOffset, 1); |
48 | + portOffset = 2; | ||
47 | } | 49 | } |
48 | } | 50 | } |
49 | 51 | ... | ... |
... | @@ -25,7 +25,7 @@ public class RerouteTopologySimulator extends LinearTopologySimulator { | ... | @@ -25,7 +25,7 @@ public class RerouteTopologySimulator extends LinearTopologySimulator { |
25 | @Override | 25 | @Override |
26 | protected void processTopoShape(String shape) { | 26 | protected void processTopoShape(String shape) { |
27 | super.processTopoShape(shape); | 27 | super.processTopoShape(shape); |
28 | - infrastructurePorts = 3; | 28 | + infrastructurePorts = 5; |
29 | deviceCount = (topoShape.length == 1) ? deviceCount : Integer.parseInt(topoShape[1]); | 29 | deviceCount = (topoShape.length == 1) ? deviceCount : Integer.parseInt(topoShape[1]); |
30 | } | 30 | } |
31 | 31 | ||
... | @@ -37,13 +37,15 @@ public class RerouteTopologySimulator extends LinearTopologySimulator { | ... | @@ -37,13 +37,15 @@ public class RerouteTopologySimulator extends LinearTopologySimulator { |
37 | 37 | ||
38 | @Override | 38 | @Override |
39 | protected void createLinks() { | 39 | protected void createLinks() { |
40 | + int portOffset = 1; | ||
40 | for (int i = 0, n = deviceCount - 2; i < n; i++) { | 41 | for (int i = 0, n = deviceCount - 2; i < n; i++) { |
41 | - createLink(i, i + 1); | 42 | + createLink(i, i + 1, portOffset, 1); |
43 | + portOffset = 2; | ||
42 | } | 44 | } |
43 | int middle = (deviceCount - 1) / 2; | 45 | int middle = (deviceCount - 1) / 2; |
44 | int alternate = deviceCount - 1; | 46 | int alternate = deviceCount - 1; |
45 | - createLink(middle - 1, alternate); | 47 | + createLink(middle - 1, alternate, 3, 1); |
46 | - createLink(middle, alternate); | 48 | + createLink(middle, alternate, 3, 2); |
47 | } | 49 | } |
48 | 50 | ||
49 | @Override | 51 | @Override | ... | ... |
... | @@ -187,15 +187,27 @@ public abstract class TopologySimulator { | ... | @@ -187,15 +187,27 @@ public abstract class TopologySimulator { |
187 | deviceIds.add(id); | 187 | deviceIds.add(id); |
188 | } | 188 | } |
189 | 189 | ||
190 | +// /** | ||
191 | +// * Creates simulated link between two devices on port 1 and port 2. | ||
192 | +// * | ||
193 | +// * @param i index of one simulated device | ||
194 | +// * @param j index of another simulated device | ||
195 | +// */ | ||
196 | +// protected void createLink(int i, int j) { | ||
197 | +// createLink(i, j, 1, 2); | ||
198 | +// } | ||
199 | + | ||
190 | /** | 200 | /** |
191 | * Creates simulated link between two devices. | 201 | * Creates simulated link between two devices. |
192 | * | 202 | * |
193 | - * @param i index of one simulated device | 203 | + * @param i index of one simulated device |
194 | - * @param j index of another simulated device | 204 | + * @param j index of another simulated device |
205 | + * @param pi port number of i-th device | ||
206 | + * @param pj port number of j-th device | ||
195 | */ | 207 | */ |
196 | - protected void createLink(int i, int j) { | 208 | + protected void createLink(int i, int j, int pi, int pj) { |
197 | - ConnectPoint one = new ConnectPoint(deviceIds.get(i), PortNumber.portNumber(1)); | 209 | + ConnectPoint one = new ConnectPoint(deviceIds.get(i), PortNumber.portNumber(pi)); |
198 | - ConnectPoint two = new ConnectPoint(deviceIds.get(j), PortNumber.portNumber(2)); | 210 | + ConnectPoint two = new ConnectPoint(deviceIds.get(j), PortNumber.portNumber(pj)); |
199 | linkProviderService.linkDetected(new DefaultLinkDescription(one, two, DIRECT)); | 211 | linkProviderService.linkDetected(new DefaultLinkDescription(one, two, DIRECT)); |
200 | linkProviderService.linkDetected(new DefaultLinkDescription(two, one, DIRECT)); | 212 | linkProviderService.linkDetected(new DefaultLinkDescription(two, one, DIRECT)); |
201 | } | 213 | } | ... | ... |
... | @@ -55,14 +55,16 @@ public class TreeTopologySimulator extends TopologySimulator { | ... | @@ -55,14 +55,16 @@ public class TreeTopologySimulator extends TopologySimulator { |
55 | 55 | ||
56 | @Override | 56 | @Override |
57 | protected void createLinks() { | 57 | protected void createLinks() { |
58 | + int portOffset = 1; | ||
58 | for (int t = 1; t < tierOffset.length; t++) { | 59 | for (int t = 1; t < tierOffset.length; t++) { |
59 | int child = tierOffset[t]; | 60 | int child = tierOffset[t]; |
60 | for (int parent = tierOffset[t - 1]; parent < tierOffset[t]; parent++) { | 61 | for (int parent = tierOffset[t - 1]; parent < tierOffset[t]; parent++) { |
61 | for (int i = 0; i < tierMultiplier[t]; i++) { | 62 | for (int i = 0; i < tierMultiplier[t]; i++) { |
62 | - createLink(parent, child); | 63 | + createLink(parent, child, i + portOffset, 1); |
63 | child++; | 64 | child++; |
64 | } | 65 | } |
65 | } | 66 | } |
67 | + portOffset = 2; // beyond first tier, allow for up-links | ||
66 | } | 68 | } |
67 | } | 69 | } |
68 | 70 | ... | ... |
-
Please register or login to post a comment