Simon Hunt

GUI - reworked to allow for event-based topology building, in preparation for we…

…b-socket connection to the server.
 - device nodes will enter in a fixed location, if metaUi data is included in the addDevice event.
 - device nodes now adjust their bounds to fit the text (and show an icon).
 - added cycle labels function (press the 'L' key).
 - links now appear with "transition" animation.
 NOTE: this is still WIP.

Change-Id: I3adbe9895e189e482316e86384dd53fd27781cd3
Showing 42 changed files with 553 additions and 1503 deletions
1 +{
2 + "event": "addDevice",
3 + "payload": {
4 + "id": "of:0000ffffffffff08",
5 + "type": "roadm",
6 + "online": false,
7 + "labels": [
8 + "0000ffffffffff08",
9 + "FF:FF:FF:FF:FF:08",
10 + "?"
11 + ],
12 + "metaUi": {
13 + "x": 539,
14 + "y": 186
15 + }
16 + }
17 +}
1 +{
2 + "event": "addDevice",
3 + "payload": {
4 + "id": "of:0000ffffffffff04",
5 + "type": "roadm",
6 + "online": false,
7 + "labels": [
8 + "0000ffffffffff04",
9 + "FF:FF:FF:FF:FF:04",
10 + "?"
11 + ],
12 + "metaUi": {
13 + "x": 322,
14 + "y": 138
15 + }
16 + }
17 +}
1 +{
2 + "event": "addDevice",
3 + "payload": {
4 + "id": "of:0000ffffffff000A",
5 + "type": "switch",
6 + "online": false,
7 + "labels": [
8 + "0000ffffffff000A",
9 + "FF:FF:FF:FF:00:0A",
10 + "?"
11 + ],
12 + "metaUi": {
13 + "x": 832,
14 + "y": 223
15 + }
16 + }
17 +}
1 +{
2 + "event": "addDevice",
3 + "payload": {
4 + "id": "of:0000ffffffff0001",
5 + "type": "switch",
6 + "online": false,
7 + "labels": [
8 + "0000ffffffff0001",
9 + "FF:FF:FF:FF:00:01",
10 + "?"
11 + ],
12 + "metaUi": {
13 + "x": 167,
14 + "y": 403
15 + }
16 + }
17 +}
1 +{
2 + "event": "addDevice",
3 + "payload": {
4 + "id": "of:0000ffffffffff01",
5 + "type": "roadm",
6 + "online": false,
7 + "labels": [
8 + "0000ffffffffff01",
9 + "FF:FF:FF:FF:FF:01",
10 + "?"
11 + ],
12 + "metaUi": {
13 + "x": 227,
14 + "y": 460
15 + }
16 + }
17 +}
1 +{
2 + "event": "addDevice",
3 + "payload": {
4 + "id": "of:0000ffffffff0004",
5 + "type": "switch",
6 + "online": false,
7 + "labels": [
8 + "0000ffffffff0004",
9 + "FF:FF:FF:FF:00:04",
10 + "?"
11 + ],
12 + "metaUi": {
13 + "x": 317,
14 + "y": 73
15 + }
16 + }
17 +}
1 +{
2 + "event": "addDevice",
3 + "payload": {
4 + "id": "of:0000ffffffffff0A",
5 + "type": "roadm",
6 + "online": false,
7 + "labels": [
8 + "0000ffffffffff0A",
9 + "FF:FF:FF:FF:FF:0A",
10 + "?"
11 + ],
12 + "metaUi": {
13 + "x": 840,
14 + "y": 290
15 + }
16 + }
17 +}
1 +{
2 + "event": "addDevice",
3 + "payload": {
4 + "id": "of:0000ffffffffff09",
5 + "type": "roadm",
6 + "online": false,
7 + "labels": [
8 + "0000ffffffffff09",
9 + "FF:FF:FF:FF:FF:09",
10 + "?"
11 + ],
12 + "metaUi": {
13 + "x": 1010,
14 + "y": 229
15 + }
16 + }
17 +}
1 +{
2 + "event": "addLink",
3 + "payload": {
4 + "src": "of:0000ffffffffff02",
5 + "srcPort": "20",
6 + "dst": "of:0000ffffffffff05",
7 + "dstPort": "10",
8 + "type": "optical",
9 + "linkWidth": 2,
10 + "props" : {
11 + "BW": "80 G"
12 + }
13 + }
14 +}
1 +{
2 + "event": "addLink",
3 + "payload": {
4 + "src": "of:0000ffffffff000A",
5 + "srcPort": "2",
6 + "dst": "of:0000ffffffffff0A",
7 + "dstPort": "1",
8 + "type": "optical",
9 + "linkWidth": 2,
10 + "props" : {
11 + "BW": "100 G"
12 + }
13 + }
14 +}
1 +{
2 + "event": "addLink",
3 + "payload": {
4 + "src": "of:0000ffffffffff03",
5 + "srcPort": "10",
6 + "dst": "of:0000ffffffffff02",
7 + "dstPort": "10",
8 + "type": "optical",
9 + "linkWidth": 2,
10 + "props" : {
11 + "BW": "70 G"
12 + }
13 + }
14 +}
1 +{
2 + "event": "addDevice",
3 + "payload": {
4 + "id": "of:0000ffffffffff03",
5 + "type": "roadm",
6 + "online": false,
7 + "labels": [
8 + "0000ffffffffff03",
9 + "FF:FF:FF:FF:FF:03",
10 + "?"
11 + ],
12 + "metaUi": {
13 + "x": 95,
14 + "y": 225
15 + }
16 + }
17 +}
1 +{
2 + "event": "addLink",
3 + "payload": {
4 + "src": "of:0000ffffffffff07",
5 + "srcPort": "21",
6 + "dst": "of:0000ffffffffff05",
7 + "dstPort": "20",
8 + "type": "optical",
9 + "linkWidth": 2,
10 + "props" : {
11 + "BW": "70 G"
12 + }
13 + }
14 +}
1 +{
2 + "event": "addLink",
3 + "payload": {
4 + "src": "of:0000ffffffff0001",
5 + "srcPort": "2",
6 + "dst": "of:0000ffffffffff01",
7 + "dstPort": "1",
8 + "type": "optical",
9 + "linkWidth": 2,
10 + "props" : {
11 + "BW": "70 G"
12 + }
13 + }
14 +}
1 +{
2 + "event": "addLink",
3 + "payload": {
4 + "src": "of:0000ffffffffff09",
5 + "srcPort": "20",
6 + "dst": "of:0000ffffffffff0A",
7 + "dstPort": "20",
8 + "type": "optical",
9 + "linkWidth": 2,
10 + "props" : {
11 + "BW": "70 G"
12 + }
13 + }
14 +}
1 +{
2 + "event": "addLink",
3 + "payload": {
4 + "src": "of:0000ffffffffff06",
5 + "srcPort": "20",
6 + "dst": "of:0000ffffffffff05",
7 + "dstPort": "30",
8 + "type": "optical",
9 + "linkWidth": 2,
10 + "props" : {
11 + "BW": "70 G"
12 + }
13 + }
14 +}
1 +{
2 + "event": "addLink",
3 + "payload": {
4 + "src": "of:0000ffffffffff07",
5 + "srcPort": "30",
6 + "dst": "of:0000ffffffffff08",
7 + "dstPort": "20",
8 + "type": "optical",
9 + "linkWidth": 2,
10 + "props" : {
11 + "BW": "70 G"
12 + }
13 + }
14 +}
1 +{
2 + "event": "addLink",
3 + "payload": {
4 + "src": "of:0000ffffffffff03",
5 + "srcPort": "20",
6 + "dst": "of:0000ffffffffff06",
7 + "dstPort": "10",
8 + "type": "optical",
9 + "linkWidth": 2,
10 + "props" : {
11 + "BW": "70 G"
12 + }
13 + }
14 +}
1 +{
2 + "event": "addLink",
3 + "payload": {
4 + "src": "of:0000ffffffffff02",
5 + "srcPort": "10",
6 + "dst": "of:0000ffffffffff01",
7 + "dstPort": "10",
8 + "type": "optical",
9 + "linkWidth": 2,
10 + "props" : {
11 + "BW": "70 G"
12 + }
13 + }
14 +}
1 +{
2 + "event": "addLink",
3 + "payload": {
4 + "src": "of:0000ffffffffff09",
5 + "srcPort": "1",
6 + "dst": "of:0000ffffffff0009",
7 + "dstPort": "2",
8 + "type": "optical",
9 + "linkWidth": 2,
10 + "props" : {
11 + "BW": "70 G"
12 + }
13 + }
14 +}
1 +{
2 + "event": "addLink",
3 + "payload": {
4 + "src": "of:0000ffffffffff03",
5 + "srcPort": "30",
6 + "dst": "of:0000ffffffffff04",
7 + "dstPort": "10",
8 + "type": "optical",
9 + "linkWidth": 2,
10 + "props" : {
11 + "BW": "70 G"
12 + }
13 + }
14 +}
1 +{
2 + "event": "addLink",
3 + "payload": {
4 + "src": "of:0000ffffffffff07",
5 + "srcPort": "20",
6 + "dst": "of:0000ffffffffff09",
7 + "dstPort": "10",
8 + "type": "optical",
9 + "linkWidth": 2,
10 + "props" : {
11 + "BW": "70 G"
12 + }
13 + }
14 +}
1 +{
2 + "event": "addDevice",
3 + "payload": {
4 + "id": "of:0000ffffffff0007",
5 + "type": "switch",
6 + "online": false,
7 + "labels": [
8 + "0000ffffffff0007",
9 + "FF:FF:FF:FF:00:07",
10 + "?"
11 + ],
12 + "metaUi": {
13 + "x": 890,
14 + "y": 375
15 + }
16 + }
17 +}
1 +{
2 + "event": "addLink",
3 + "payload": {
4 + "src": "of:0000ffffffffff0A",
5 + "srcPort": "10",
6 + "dst": "of:0000ffffffffff08",
7 + "dstPort": "30",
8 + "type": "optical",
9 + "linkWidth": 2,
10 + "props" : {
11 + "BW": "70 G"
12 + }
13 + }
14 +}
1 +{
2 + "event": "addLink",
3 + "payload": {
4 + "src": "of:0000ffffffff0004",
5 + "srcPort": "2",
6 + "dst": "of:0000ffffffffff04",
7 + "dstPort": "1",
8 + "type": "optical",
9 + "linkWidth": 2,
10 + "props" : {
11 + "BW": "70 G"
12 + }
13 + }
14 +}
1 +{
2 + "event": "addLink",
3 + "payload": {
4 + "src": "of:0000ffffffffff07",
5 + "srcPort": "1",
6 + "dst": "of:0000ffffffff0007",
7 + "dstPort": "2",
8 + "type": "optical",
9 + "linkWidth": 2,
10 + "props" : {
11 + "BW": "70 G"
12 + }
13 + }
14 +}
1 +{
2 + "event": "addLink",
3 + "payload": {
4 + "src": "of:0000ffffffff0003",
5 + "srcPort": "2",
6 + "dst": "of:0000ffffffffff03",
7 + "dstPort": "1",
8 + "type": "optical",
9 + "linkWidth": 2,
10 + "props" : {
11 + "BW": "70 G"
12 + }
13 + }
14 +}
1 +{
2 + "event": "addLink",
3 + "payload": {
4 + "src": "of:0000ffffffffff06",
5 + "srcPort": "30",
6 + "dst": "of:0000ffffffffff08",
7 + "dstPort": "10",
8 + "type": "optical",
9 + "linkWidth": 2,
10 + "props" : {
11 + "BW": "70 G"
12 + }
13 + }
14 +}
1 +{
2 + "event": "addDevice",
3 + "payload": {
4 + "id": "of:0000ffffffff0009",
5 + "type": "switch",
6 + "online": false,
7 + "labels": [
8 + "0000ffffffff0009",
9 + "FF:FF:FF:FF:00:09",
10 + "?"
11 + ],
12 + "metaUi": {
13 + "x": 1004,
14 + "y": 163
15 + }
16 + }
17 +}
1 +{
2 + "event": "addDevice",
3 + "payload": {
4 + "id": "of:0000ffffffffff02",
5 + "type": "roadm",
6 + "online": false,
7 + "labels": [
8 + "0000ffffffffff02",
9 + "FF:FF:FF:FF:FF:02",
10 + "?"
11 + ],
12 + "metaUi": {
13 + "x": 211,
14 + "y": 307
15 + }
16 + }
17 +}
1 +{
2 + "event": "addDevice",
3 + "payload": {
4 + "id": "of:0000ffffffff0003",
5 + "type": "switch",
6 + "online": false,
7 + "labels": [
8 + "0000ffffffff0003",
9 + "FF:FF:FF:FF:00:03",
10 + "?"
11 + ],
12 + "metaUi": {
13 + "x": 114,
14 + "y": 158
15 + }
16 + }
17 +}
1 +{
2 + "event": "addDevice",
3 + "payload": {
4 + "id": "of:0000ffffffffff07",
5 + "type": "roadm",
6 + "online": false,
7 + "labels": [
8 + "0000ffffffffff07",
9 + "FF:FF:FF:FF:FF:07",
10 + "?"
11 + ],
12 + "metaUi": {
13 + "x": 925,
14 + "y": 446
15 + }
16 + }
17 +}
1 +{
2 + "event": "addDevice",
3 + "payload": {
4 + "id": "of:0000ffffffffff06",
5 + "type": "roadm",
6 + "online": false,
7 + "labels": [
8 + "0000ffffffffff06",
9 + "FF:FF:FF:FF:FF:06",
10 + "?"
11 + ],
12 + "metaUi": {
13 + "x": 336,
14 + "y": 254
15 + }
16 + }
17 +}
1 +{
2 + "event": "addDevice",
3 + "payload": {
4 + "id": "of:0000ffffffffff05",
5 + "type": "roadm",
6 + "online": false,
7 + "labels": [
8 + "0000ffffffffff05",
9 + "FF:FF:FF:FF:FF:05",
10 + "?"
11 + ],
12 + "metaUi": {
13 + "x": 539,
14 + "y": 524
15 + }
16 + }
17 +}
1 -{
2 - "comment": [
3 - "2 links removed from base",
4 - " ff07 - ff09 ",
5 - " ff01 - 0001 "
6 - ],
7 - "devices": [
8 - {
9 - "id": "of:0000ffffffffff08",
10 - "type": "roadm",
11 - "online": false,
12 - "labels": [
13 - "0000ffffffffff08",
14 - "FF:FF:FF:FF:FF:08",
15 - "?"
16 - ]
17 - },
18 - {
19 - "id": "of:0000ffffffffff03",
20 - "type": "roadm",
21 - "online": false,
22 - "labels": [
23 - "0000ffffffffff03",
24 - "FF:FF:FF:FF:FF:03",
25 - "?"
26 - ]
27 - },
28 - {
29 - "id": "of:0000ffffffffff02",
30 - "type": "roadm",
31 - "online": false,
32 - "labels": [
33 - "0000ffffffffff02",
34 - "FF:FF:FF:FF:FF:02",
35 - "?"
36 - ]
37 - },
38 - {
39 - "id": "of:0000ffffffff0003",
40 - "type": "switch",
41 - "online": false,
42 - "labels": [
43 - "0000ffffffff0003",
44 - "FF:FF:FF:FF:00:03",
45 - "?"
46 - ]
47 - },
48 - {
49 - "id": "of:0000ffffffffff07",
50 - "type": "roadm",
51 - "online": false,
52 - "labels": [
53 - "0000ffffffffff07",
54 - "FF:FF:FF:FF:FF:07",
55 - "?"
56 - ]
57 - },
58 - {
59 - "id": "of:0000ffffffffff06",
60 - "type": "roadm",
61 - "online": false,
62 - "labels": [
63 - "0000ffffffffff06",
64 - "FF:FF:FF:FF:FF:06",
65 - "?"
66 - ]
67 - },
68 - {
69 - "id": "of:0000ffffffff0007",
70 - "type": "switch",
71 - "online": false,
72 - "labels": [
73 - "0000ffffffff0007",
74 - "FF:FF:FF:FF:00:07",
75 - "?"
76 - ]
77 - },
78 - {
79 - "id": "of:0000ffffffffff05",
80 - "type": "roadm",
81 - "online": false,
82 - "labels": [
83 - "0000ffffffffff05",
84 - "FF:FF:FF:FF:FF:05",
85 - "?"
86 - ]
87 - },
88 - {
89 - "id": "of:0000ffffffff0009",
90 - "type": "switch",
91 - "online": false,
92 - "labels": [
93 - "0000ffffffff0009",
94 - "FF:FF:FF:FF:00:09",
95 - "?"
96 - ]
97 - },
98 - {
99 - "id": "of:0000ffffffffff04",
100 - "type": "roadm",
101 - "online": false,
102 - "labels": [
103 - "0000ffffffffff04",
104 - "FF:FF:FF:FF:FF:04",
105 - "?"
106 - ]
107 - },
108 - {
109 - "id": "of:0000ffffffff000A",
110 - "type": "switch",
111 - "online": false,
112 - "labels": [
113 - "0000ffffffff000A",
114 - "FF:FF:FF:FF:00:0A",
115 - "?"
116 - ]
117 - },
118 - {
119 - "id": "of:0000ffffffff0001",
120 - "type": "switch",
121 - "online": false,
122 - "labels": [
123 - "0000ffffffff0001",
124 - "FF:FF:FF:FF:00:01",
125 - "?"
126 - ]
127 - },
128 - {
129 - "id": "of:0000ffffffffff01",
130 - "type": "roadm",
131 - "online": false,
132 - "labels": [
133 - "0000ffffffffff01",
134 - "FF:FF:FF:FF:FF:01",
135 - "?"
136 - ]
137 - },
138 - {
139 - "id": "of:0000ffffffff0004",
140 - "type": "switch",
141 - "online": false,
142 - "labels": [
143 - "0000ffffffff0004",
144 - "FF:FF:FF:FF:00:04",
145 - "?"
146 - ]
147 - },
148 - {
149 - "id": "of:0000ffffffffff0A",
150 - "type": "roadm",
151 - "online": false,
152 - "labels": [
153 - "0000ffffffffff0A",
154 - "FF:FF:FF:FF:FF:0A",
155 - "?"
156 - ]
157 - },
158 - {
159 - "id": "of:0000ffffffffff09",
160 - "type": "roadm",
161 - "online": false,
162 - "labels": [
163 - "0000ffffffffff09",
164 - "FF:FF:FF:FF:FF:09",
165 - "?"
166 - ]
167 - }
168 - ],
169 - "links": [
170 - {
171 - "src": "of:0000ffffffffff02",
172 - "srcPort": "20",
173 - "dst": "of:0000ffffffffff05",
174 - "dstPort": "10",
175 - "type": "optical",
176 - "linkWidth": 2
177 - },
178 - {
179 - "src": "of:0000ffffffff000A",
180 - "srcPort": "2",
181 - "dst": "of:0000ffffffffff0A",
182 - "dstPort": "1",
183 - "type": "optical",
184 - "linkWidth": 2
185 - },
186 - {
187 - "src": "of:0000ffffffffff03",
188 - "srcPort": "10",
189 - "dst": "of:0000ffffffffff02",
190 - "dstPort": "10",
191 - "type": "optical",
192 - "linkWidth": 2
193 - },
194 - {
195 - "src": "of:0000ffffffffff07",
196 - "srcPort": "21",
197 - "dst": "of:0000ffffffffff05",
198 - "dstPort": "20",
199 - "type": "optical",
200 - "linkWidth": 2
201 - },
202 - {
203 - "src": "of:0000ffffffffff09",
204 - "srcPort": "20",
205 - "dst": "of:0000ffffffffff0A",
206 - "dstPort": "20",
207 - "type": "optical",
208 - "linkWidth": 2
209 - },
210 - {
211 - "src": "of:0000ffffffffff06",
212 - "srcPort": "20",
213 - "dst": "of:0000ffffffffff05",
214 - "dstPort": "30",
215 - "type": "optical",
216 - "linkWidth": 2
217 - },
218 - {
219 - "src": "of:0000ffffffffff07",
220 - "srcPort": "30",
221 - "dst": "of:0000ffffffffff08",
222 - "dstPort": "20",
223 - "type": "optical",
224 - "linkWidth": 2
225 - },
226 - {
227 - "src": "of:0000ffffffffff03",
228 - "srcPort": "20",
229 - "dst": "of:0000ffffffffff06",
230 - "dstPort": "10",
231 - "type": "optical",
232 - "linkWidth": 2
233 - },
234 - {
235 - "src": "of:0000ffffffffff02",
236 - "srcPort": "10",
237 - "dst": "of:0000ffffffffff01",
238 - "dstPort": "10",
239 - "type": "optical",
240 - "linkWidth": 2
241 - },
242 - {
243 - "src": "of:0000ffffffffff09",
244 - "srcPort": "1",
245 - "dst": "of:0000ffffffff0009",
246 - "dstPort": "2",
247 - "type": "optical",
248 - "linkWidth": 2
249 - },
250 - {
251 - "src": "of:0000ffffffffff03",
252 - "srcPort": "30",
253 - "dst": "of:0000ffffffffff04",
254 - "dstPort": "10",
255 - "type": "optical",
256 - "linkWidth": 2
257 - },
258 - {
259 - "src": "of:0000ffffffffff0A",
260 - "srcPort": "10",
261 - "dst": "of:0000ffffffffff08",
262 - "dstPort": "30",
263 - "type": "optical",
264 - "linkWidth": 2
265 - },
266 - {
267 - "src": "of:0000ffffffff0004",
268 - "srcPort": "2",
269 - "dst": "of:0000ffffffffff04",
270 - "dstPort": "1",
271 - "type": "optical",
272 - "linkWidth": 2
273 - },
274 - {
275 - "src": "of:0000ffffffffff07",
276 - "srcPort": "1",
277 - "dst": "of:0000ffffffff0007",
278 - "dstPort": "2",
279 - "type": "optical",
280 - "linkWidth": 2
281 - },
282 - {
283 - "src": "of:0000ffffffff0003",
284 - "srcPort": "2",
285 - "dst": "of:0000ffffffffff03",
286 - "dstPort": "1",
287 - "type": "optical",
288 - "linkWidth": 2
289 - },
290 - {
291 - "src": "of:0000ffffffffff06",
292 - "srcPort": "30",
293 - "dst": "of:0000ffffffffff08",
294 - "dstPort": "10",
295 - "type": "optical",
296 - "linkWidth": 2
297 - }
298 - ],
299 - "hosts": [
300 - {
301 - "id": "00:00:00:00:00:03/-1",
302 - "cp": {
303 - "device": "of:0000ffffffff0003",
304 - "port": 1
305 - },
306 - "labels": [
307 - "10.0.0.3",
308 - "00:00:00:00:00:03"
309 - ]
310 - },
311 - {
312 - "id": "00:00:00:00:00:04/-1",
313 - "cp": {
314 - "device": "of:0000ffffffff0004",
315 - "port": 1
316 - },
317 - "labels": [
318 - "10.0.0.4",
319 - "00:00:00:00:00:04"
320 - ]
321 - },
322 - {
323 - "id": "00:00:00:00:00:0A/-1",
324 - "cp": {
325 - "device": "of:0000ffffffff000A",
326 - "port": 1
327 - },
328 - "labels": [
329 - "10.0.0.10",
330 - "00:00:00:00:00:0A"
331 - ]
332 - },
333 - {
334 - "id": "00:00:00:00:00:09/-1",
335 - "cp": {
336 - "device": "of:0000ffffffff0009",
337 - "port": 1
338 - },
339 - "labels": [
340 - "10.0.0.9",
341 - "00:00:00:00:00:09"
342 - ]
343 - },
344 - {
345 - "id": "00:00:00:00:00:07/-1",
346 - "cp": {
347 - "device": "of:0000ffffffff0007",
348 - "port": 1
349 - },
350 - "labels": [
351 - "10.0.0.7",
352 - "00:00:00:00:00:07"
353 - ]
354 - },
355 - {
356 - "id": "00:00:00:00:00:01/-1",
357 - "cp": {
358 - "device": "of:0000ffffffff0001",
359 - "port": 1
360 - },
361 - "labels": [
362 - "10.0.0.1",
363 - "00:00:00:00:00:01"
364 - ]
365 - }
366 - ]
367 -}
1 -{
2 - "comment": [
3 - "1 packet switch removed from base",
4 - " 0007 "
5 - ],
6 - "devices": [
7 - {
8 - "id": "of:0000ffffffffff08",
9 - "type": "roadm",
10 - "online": false,
11 - "labels": [
12 - "0000ffffffffff08",
13 - "FF:FF:FF:FF:FF:08",
14 - "?"
15 - ]
16 - },
17 - {
18 - "id": "of:0000ffffffffff03",
19 - "type": "roadm",
20 - "online": false,
21 - "labels": [
22 - "0000ffffffffff03",
23 - "FF:FF:FF:FF:FF:03",
24 - "?"
25 - ]
26 - },
27 - {
28 - "id": "of:0000ffffffffff02",
29 - "type": "roadm",
30 - "online": false,
31 - "labels": [
32 - "0000ffffffffff02",
33 - "FF:FF:FF:FF:FF:02",
34 - "?"
35 - ]
36 - },
37 - {
38 - "id": "of:0000ffffffff0003",
39 - "type": "switch",
40 - "online": false,
41 - "labels": [
42 - "0000ffffffff0003",
43 - "FF:FF:FF:FF:00:03",
44 - "?"
45 - ]
46 - },
47 - {
48 - "id": "of:0000ffffffffff07",
49 - "type": "roadm",
50 - "online": false,
51 - "labels": [
52 - "0000ffffffffff07",
53 - "FF:FF:FF:FF:FF:07",
54 - "?"
55 - ]
56 - },
57 - {
58 - "id": "of:0000ffffffffff06",
59 - "type": "roadm",
60 - "online": false,
61 - "labels": [
62 - "0000ffffffffff06",
63 - "FF:FF:FF:FF:FF:06",
64 - "?"
65 - ]
66 - },
67 - {
68 - "id": "of:0000ffffffffff05",
69 - "type": "roadm",
70 - "online": false,
71 - "labels": [
72 - "0000ffffffffff05",
73 - "FF:FF:FF:FF:FF:05",
74 - "?"
75 - ]
76 - },
77 - {
78 - "id": "of:0000ffffffff0009",
79 - "type": "switch",
80 - "online": false,
81 - "labels": [
82 - "0000ffffffff0009",
83 - "FF:FF:FF:FF:00:09",
84 - "?"
85 - ]
86 - },
87 - {
88 - "id": "of:0000ffffffffff04",
89 - "type": "roadm",
90 - "online": false,
91 - "labels": [
92 - "0000ffffffffff04",
93 - "FF:FF:FF:FF:FF:04",
94 - "?"
95 - ]
96 - },
97 - {
98 - "id": "of:0000ffffffff000A",
99 - "type": "switch",
100 - "online": false,
101 - "labels": [
102 - "0000ffffffff000A",
103 - "FF:FF:FF:FF:00:0A",
104 - "?"
105 - ]
106 - },
107 - {
108 - "id": "of:0000ffffffff0001",
109 - "type": "switch",
110 - "online": false,
111 - "labels": [
112 - "0000ffffffff0001",
113 - "FF:FF:FF:FF:00:01",
114 - "?"
115 - ]
116 - },
117 - {
118 - "id": "of:0000ffffffffff01",
119 - "type": "roadm",
120 - "online": false,
121 - "labels": [
122 - "0000ffffffffff01",
123 - "FF:FF:FF:FF:FF:01",
124 - "?"
125 - ]
126 - },
127 - {
128 - "id": "of:0000ffffffff0004",
129 - "type": "switch",
130 - "online": false,
131 - "labels": [
132 - "0000ffffffff0004",
133 - "FF:FF:FF:FF:00:04",
134 - "?"
135 - ]
136 - },
137 - {
138 - "id": "of:0000ffffffffff0A",
139 - "type": "roadm",
140 - "online": false,
141 - "labels": [
142 - "0000ffffffffff0A",
143 - "FF:FF:FF:FF:FF:0A",
144 - "?"
145 - ]
146 - },
147 - {
148 - "id": "of:0000ffffffffff09",
149 - "type": "roadm",
150 - "online": false,
151 - "labels": [
152 - "0000ffffffffff09",
153 - "FF:FF:FF:FF:FF:09",
154 - "?"
155 - ]
156 - }
157 - ],
158 - "links": [
159 - {
160 - "src": "of:0000ffffffffff02",
161 - "srcPort": "20",
162 - "dst": "of:0000ffffffffff05",
163 - "dstPort": "10",
164 - "type": "optical",
165 - "linkWidth": 2
166 - },
167 - {
168 - "src": "of:0000ffffffff000A",
169 - "srcPort": "2",
170 - "dst": "of:0000ffffffffff0A",
171 - "dstPort": "1",
172 - "type": "optical",
173 - "linkWidth": 2
174 - },
175 - {
176 - "src": "of:0000ffffffffff03",
177 - "srcPort": "10",
178 - "dst": "of:0000ffffffffff02",
179 - "dstPort": "10",
180 - "type": "optical",
181 - "linkWidth": 2
182 - },
183 - {
184 - "src": "of:0000ffffffffff07",
185 - "srcPort": "21",
186 - "dst": "of:0000ffffffffff05",
187 - "dstPort": "20",
188 - "type": "optical",
189 - "linkWidth": 2
190 - },
191 - {
192 - "src": "of:0000ffffffff0001",
193 - "srcPort": "2",
194 - "dst": "of:0000ffffffffff01",
195 - "dstPort": "1",
196 - "type": "optical",
197 - "linkWidth": 2
198 - },
199 - {
200 - "src": "of:0000ffffffffff09",
201 - "srcPort": "20",
202 - "dst": "of:0000ffffffffff0A",
203 - "dstPort": "20",
204 - "type": "optical",
205 - "linkWidth": 2
206 - },
207 - {
208 - "src": "of:0000ffffffffff06",
209 - "srcPort": "20",
210 - "dst": "of:0000ffffffffff05",
211 - "dstPort": "30",
212 - "type": "optical",
213 - "linkWidth": 2
214 - },
215 - {
216 - "src": "of:0000ffffffffff07",
217 - "srcPort": "30",
218 - "dst": "of:0000ffffffffff08",
219 - "dstPort": "20",
220 - "type": "optical",
221 - "linkWidth": 2
222 - },
223 - {
224 - "src": "of:0000ffffffffff03",
225 - "srcPort": "20",
226 - "dst": "of:0000ffffffffff06",
227 - "dstPort": "10",
228 - "type": "optical",
229 - "linkWidth": 2
230 - },
231 - {
232 - "src": "of:0000ffffffffff02",
233 - "srcPort": "10",
234 - "dst": "of:0000ffffffffff01",
235 - "dstPort": "10",
236 - "type": "optical",
237 - "linkWidth": 2
238 - },
239 - {
240 - "src": "of:0000ffffffffff09",
241 - "srcPort": "1",
242 - "dst": "of:0000ffffffff0009",
243 - "dstPort": "2",
244 - "type": "optical",
245 - "linkWidth": 2
246 - },
247 - {
248 - "src": "of:0000ffffffffff03",
249 - "srcPort": "30",
250 - "dst": "of:0000ffffffffff04",
251 - "dstPort": "10",
252 - "type": "optical",
253 - "linkWidth": 2
254 - },
255 - {
256 - "src": "of:0000ffffffffff07",
257 - "srcPort": "20",
258 - "dst": "of:0000ffffffffff09",
259 - "dstPort": "10",
260 - "type": "optical",
261 - "linkWidth": 2
262 - },
263 - {
264 - "src": "of:0000ffffffffff0A",
265 - "srcPort": "10",
266 - "dst": "of:0000ffffffffff08",
267 - "dstPort": "30",
268 - "type": "optical",
269 - "linkWidth": 2
270 - },
271 - {
272 - "src": "of:0000ffffffff0004",
273 - "srcPort": "2",
274 - "dst": "of:0000ffffffffff04",
275 - "dstPort": "1",
276 - "type": "optical",
277 - "linkWidth": 2
278 - },
279 - {
280 - "src": "of:0000ffffffffff07",
281 - "srcPort": "1",
282 - "dst": "of:0000ffffffff0007",
283 - "dstPort": "2",
284 - "type": "optical",
285 - "linkWidth": 2
286 - },
287 - {
288 - "src": "of:0000ffffffff0003",
289 - "srcPort": "2",
290 - "dst": "of:0000ffffffffff03",
291 - "dstPort": "1",
292 - "type": "optical",
293 - "linkWidth": 2
294 - },
295 - {
296 - "src": "of:0000ffffffffff06",
297 - "srcPort": "30",
298 - "dst": "of:0000ffffffffff08",
299 - "dstPort": "10",
300 - "type": "optical",
301 - "linkWidth": 2
302 - }
303 - ],
304 - "hosts": [
305 - {
306 - "id": "00:00:00:00:00:03/-1",
307 - "cp": {
308 - "device": "of:0000ffffffff0003",
309 - "port": 1
310 - },
311 - "labels": [
312 - "10.0.0.3",
313 - "00:00:00:00:00:03"
314 - ]
315 - },
316 - {
317 - "id": "00:00:00:00:00:04/-1",
318 - "cp": {
319 - "device": "of:0000ffffffff0004",
320 - "port": 1
321 - },
322 - "labels": [
323 - "10.0.0.4",
324 - "00:00:00:00:00:04"
325 - ]
326 - },
327 - {
328 - "id": "00:00:00:00:00:0A/-1",
329 - "cp": {
330 - "device": "of:0000ffffffff000A",
331 - "port": 1
332 - },
333 - "labels": [
334 - "10.0.0.10",
335 - "00:00:00:00:00:0A"
336 - ]
337 - },
338 - {
339 - "id": "00:00:00:00:00:09/-1",
340 - "cp": {
341 - "device": "of:0000ffffffff0009",
342 - "port": 1
343 - },
344 - "labels": [
345 - "10.0.0.9",
346 - "00:00:00:00:00:09"
347 - ]
348 - },
349 - {
350 - "id": "00:00:00:00:00:07/-1",
351 - "cp": {
352 - "device": "of:0000ffffffff0007",
353 - "port": 1
354 - },
355 - "labels": [
356 - "10.0.0.7",
357 - "00:00:00:00:00:07"
358 - ]
359 - },
360 - {
361 - "id": "00:00:00:00:00:01/-1",
362 - "cp": {
363 - "device": "of:0000ffffffff0001",
364 - "port": 1
365 - },
366 - "labels": [
367 - "10.0.0.1",
368 - "00:00:00:00:00:01"
369 - ]
370 - }
371 - ]
372 -}
1 -{
2 - "comment": [
3 - "1 optical switch removed from base",
4 - " ff07 "
5 - ],
6 - "devices": [
7 - {
8 - "id": "of:0000ffffffffff08",
9 - "type": "roadm",
10 - "online": false,
11 - "labels": [
12 - "0000ffffffffff08",
13 - "FF:FF:FF:FF:FF:08",
14 - "?"
15 - ]
16 - },
17 - {
18 - "id": "of:0000ffffffffff03",
19 - "type": "roadm",
20 - "online": false,
21 - "labels": [
22 - "0000ffffffffff03",
23 - "FF:FF:FF:FF:FF:03",
24 - "?"
25 - ]
26 - },
27 - {
28 - "id": "of:0000ffffffffff02",
29 - "type": "roadm",
30 - "online": false,
31 - "labels": [
32 - "0000ffffffffff02",
33 - "FF:FF:FF:FF:FF:02",
34 - "?"
35 - ]
36 - },
37 - {
38 - "id": "of:0000ffffffff0003",
39 - "type": "switch",
40 - "online": false,
41 - "labels": [
42 - "0000ffffffff0003",
43 - "FF:FF:FF:FF:00:03",
44 - "?"
45 - ]
46 - },
47 - {
48 - "id": "of:0000ffffffffff06",
49 - "type": "roadm",
50 - "online": false,
51 - "labels": [
52 - "0000ffffffffff06",
53 - "FF:FF:FF:FF:FF:06",
54 - "?"
55 - ]
56 - },
57 - {
58 - "id": "of:0000ffffffff0007",
59 - "type": "switch",
60 - "online": false,
61 - "labels": [
62 - "0000ffffffff0007",
63 - "FF:FF:FF:FF:00:07",
64 - "?"
65 - ]
66 - },
67 - {
68 - "id": "of:0000ffffffffff05",
69 - "type": "roadm",
70 - "online": false,
71 - "labels": [
72 - "0000ffffffffff05",
73 - "FF:FF:FF:FF:FF:05",
74 - "?"
75 - ]
76 - },
77 - {
78 - "id": "of:0000ffffffff0009",
79 - "type": "switch",
80 - "online": false,
81 - "labels": [
82 - "0000ffffffff0009",
83 - "FF:FF:FF:FF:00:09",
84 - "?"
85 - ]
86 - },
87 - {
88 - "id": "of:0000ffffffffff04",
89 - "type": "roadm",
90 - "online": false,
91 - "labels": [
92 - "0000ffffffffff04",
93 - "FF:FF:FF:FF:FF:04",
94 - "?"
95 - ]
96 - },
97 - {
98 - "id": "of:0000ffffffff000A",
99 - "type": "switch",
100 - "online": false,
101 - "labels": [
102 - "0000ffffffff000A",
103 - "FF:FF:FF:FF:00:0A",
104 - "?"
105 - ]
106 - },
107 - {
108 - "id": "of:0000ffffffff0001",
109 - "type": "switch",
110 - "online": false,
111 - "labels": [
112 - "0000ffffffff0001",
113 - "FF:FF:FF:FF:00:01",
114 - "?"
115 - ]
116 - },
117 - {
118 - "id": "of:0000ffffffffff01",
119 - "type": "roadm",
120 - "online": false,
121 - "labels": [
122 - "0000ffffffffff01",
123 - "FF:FF:FF:FF:FF:01",
124 - "?"
125 - ]
126 - },
127 - {
128 - "id": "of:0000ffffffff0004",
129 - "type": "switch",
130 - "online": false,
131 - "labels": [
132 - "0000ffffffff0004",
133 - "FF:FF:FF:FF:00:04",
134 - "?"
135 - ]
136 - },
137 - {
138 - "id": "of:0000ffffffffff0A",
139 - "type": "roadm",
140 - "online": false,
141 - "labels": [
142 - "0000ffffffffff0A",
143 - "FF:FF:FF:FF:FF:0A",
144 - "?"
145 - ]
146 - },
147 - {
148 - "id": "of:0000ffffffffff09",
149 - "type": "roadm",
150 - "online": false,
151 - "labels": [
152 - "0000ffffffffff09",
153 - "FF:FF:FF:FF:FF:09",
154 - "?"
155 - ]
156 - }
157 - ],
158 - "links": [
159 - {
160 - "src": "of:0000ffffffffff02",
161 - "srcPort": "20",
162 - "dst": "of:0000ffffffffff05",
163 - "dstPort": "10",
164 - "type": "optical",
165 - "linkWidth": 2
166 - },
167 - {
168 - "src": "of:0000ffffffff000A",
169 - "srcPort": "2",
170 - "dst": "of:0000ffffffffff0A",
171 - "dstPort": "1",
172 - "type": "optical",
173 - "linkWidth": 2
174 - },
175 - {
176 - "src": "of:0000ffffffffff03",
177 - "srcPort": "10",
178 - "dst": "of:0000ffffffffff02",
179 - "dstPort": "10",
180 - "type": "optical",
181 - "linkWidth": 2
182 - },
183 - {
184 - "src": "of:0000ffffffffff07",
185 - "srcPort": "21",
186 - "dst": "of:0000ffffffffff05",
187 - "dstPort": "20",
188 - "type": "optical",
189 - "linkWidth": 2
190 - },
191 - {
192 - "src": "of:0000ffffffff0001",
193 - "srcPort": "2",
194 - "dst": "of:0000ffffffffff01",
195 - "dstPort": "1",
196 - "type": "optical",
197 - "linkWidth": 2
198 - },
199 - {
200 - "src": "of:0000ffffffffff09",
201 - "srcPort": "20",
202 - "dst": "of:0000ffffffffff0A",
203 - "dstPort": "20",
204 - "type": "optical",
205 - "linkWidth": 2
206 - },
207 - {
208 - "src": "of:0000ffffffffff06",
209 - "srcPort": "20",
210 - "dst": "of:0000ffffffffff05",
211 - "dstPort": "30",
212 - "type": "optical",
213 - "linkWidth": 2
214 - },
215 - {
216 - "src": "of:0000ffffffffff07",
217 - "srcPort": "30",
218 - "dst": "of:0000ffffffffff08",
219 - "dstPort": "20",
220 - "type": "optical",
221 - "linkWidth": 2
222 - },
223 - {
224 - "src": "of:0000ffffffffff03",
225 - "srcPort": "20",
226 - "dst": "of:0000ffffffffff06",
227 - "dstPort": "10",
228 - "type": "optical",
229 - "linkWidth": 2
230 - },
231 - {
232 - "src": "of:0000ffffffffff02",
233 - "srcPort": "10",
234 - "dst": "of:0000ffffffffff01",
235 - "dstPort": "10",
236 - "type": "optical",
237 - "linkWidth": 2
238 - },
239 - {
240 - "src": "of:0000ffffffffff09",
241 - "srcPort": "1",
242 - "dst": "of:0000ffffffff0009",
243 - "dstPort": "2",
244 - "type": "optical",
245 - "linkWidth": 2
246 - },
247 - {
248 - "src": "of:0000ffffffffff03",
249 - "srcPort": "30",
250 - "dst": "of:0000ffffffffff04",
251 - "dstPort": "10",
252 - "type": "optical",
253 - "linkWidth": 2
254 - },
255 - {
256 - "src": "of:0000ffffffffff07",
257 - "srcPort": "20",
258 - "dst": "of:0000ffffffffff09",
259 - "dstPort": "10",
260 - "type": "optical",
261 - "linkWidth": 2
262 - },
263 - {
264 - "src": "of:0000ffffffffff0A",
265 - "srcPort": "10",
266 - "dst": "of:0000ffffffffff08",
267 - "dstPort": "30",
268 - "type": "optical",
269 - "linkWidth": 2
270 - },
271 - {
272 - "src": "of:0000ffffffff0004",
273 - "srcPort": "2",
274 - "dst": "of:0000ffffffffff04",
275 - "dstPort": "1",
276 - "type": "optical",
277 - "linkWidth": 2
278 - },
279 - {
280 - "src": "of:0000ffffffffff07",
281 - "srcPort": "1",
282 - "dst": "of:0000ffffffff0007",
283 - "dstPort": "2",
284 - "type": "optical",
285 - "linkWidth": 2
286 - },
287 - {
288 - "src": "of:0000ffffffff0003",
289 - "srcPort": "2",
290 - "dst": "of:0000ffffffffff03",
291 - "dstPort": "1",
292 - "type": "optical",
293 - "linkWidth": 2
294 - },
295 - {
296 - "src": "of:0000ffffffffff06",
297 - "srcPort": "30",
298 - "dst": "of:0000ffffffffff08",
299 - "dstPort": "10",
300 - "type": "optical",
301 - "linkWidth": 2
302 - }
303 - ],
304 - "hosts": [
305 - {
306 - "id": "00:00:00:00:00:03/-1",
307 - "cp": {
308 - "device": "of:0000ffffffff0003",
309 - "port": 1
310 - },
311 - "labels": [
312 - "10.0.0.3",
313 - "00:00:00:00:00:03"
314 - ]
315 - },
316 - {
317 - "id": "00:00:00:00:00:04/-1",
318 - "cp": {
319 - "device": "of:0000ffffffff0004",
320 - "port": 1
321 - },
322 - "labels": [
323 - "10.0.0.4",
324 - "00:00:00:00:00:04"
325 - ]
326 - },
327 - {
328 - "id": "00:00:00:00:00:0A/-1",
329 - "cp": {
330 - "device": "of:0000ffffffff000A",
331 - "port": 1
332 - },
333 - "labels": [
334 - "10.0.0.10",
335 - "00:00:00:00:00:0A"
336 - ]
337 - },
338 - {
339 - "id": "00:00:00:00:00:09/-1",
340 - "cp": {
341 - "device": "of:0000ffffffff0009",
342 - "port": 1
343 - },
344 - "labels": [
345 - "10.0.0.9",
346 - "00:00:00:00:00:09"
347 - ]
348 - },
349 - {
350 - "id": "00:00:00:00:00:07/-1",
351 - "cp": {
352 - "device": "of:0000ffffffff0007",
353 - "port": 1
354 - },
355 - "labels": [
356 - "10.0.0.7",
357 - "00:00:00:00:00:07"
358 - ]
359 - },
360 - {
361 - "id": "00:00:00:00:00:01/-1",
362 - "cp": {
363 - "device": "of:0000ffffffff0001",
364 - "port": 1
365 - },
366 - "labels": [
367 - "10.0.0.1",
368 - "00:00:00:00:00:01"
369 - ]
370 - }
371 - ]
372 -}
This diff is collapsed. Click to expand it.
1 -{
2 - "devices": [
3 - {
4 - "id": "of:0000ffffffffff08",
5 - "type": "roadm",
6 - "online": false,
7 - "labels": [
8 - "0000ffffffffff08",
9 - "FF:FF:FF:FF:FF:08",
10 - "?"
11 - ]
12 - },
13 - {
14 - "id": "of:0000ffffffffff03",
15 - "type": "roadm",
16 - "online": false,
17 - "labels": [
18 - "0000ffffffffff03",
19 - "FF:FF:FF:FF:FF:03",
20 - "?"
21 - ]
22 - },
23 - {
24 - "id": "of:0000ffffffffff02",
25 - "type": "roadm",
26 - "online": false,
27 - "labels": [
28 - "0000ffffffffff02",
29 - "FF:FF:FF:FF:FF:02",
30 - "?"
31 - ]
32 - },
33 - {
34 - "id": "of:0000ffffffff0003",
35 - "type": "switch",
36 - "online": false,
37 - "labels": [
38 - "0000ffffffff0003",
39 - "FF:FF:FF:FF:00:03",
40 - "?"
41 - ]
42 - },
43 - {
44 - "id": "of:0000ffffffffff07",
45 - "type": "roadm",
46 - "online": false,
47 - "labels": [
48 - "0000ffffffffff07",
49 - "FF:FF:FF:FF:FF:07",
50 - "?"
51 - ]
52 - },
53 - {
54 - "id": "of:0000ffffffffff06",
55 - "type": "roadm",
56 - "online": false,
57 - "labels": [
58 - "0000ffffffffff06",
59 - "FF:FF:FF:FF:FF:06",
60 - "?"
61 - ]
62 - },
63 - {
64 - "id": "of:0000ffffffff0007",
65 - "type": "switch",
66 - "online": false,
67 - "labels": [
68 - "0000ffffffff0007",
69 - "FF:FF:FF:FF:00:07",
70 - "?"
71 - ]
72 - },
73 - {
74 - "id": "of:0000ffffffffff05",
75 - "type": "roadm",
76 - "online": false,
77 - "labels": [
78 - "0000ffffffffff05",
79 - "FF:FF:FF:FF:FF:05",
80 - "?"
81 - ]
82 - },
83 - {
84 - "id": "of:0000ffffffff0009",
85 - "type": "switch",
86 - "online": false,
87 - "labels": [
88 - "0000ffffffff0009",
89 - "FF:FF:FF:FF:00:09",
90 - "?"
91 - ]
92 - },
93 - {
94 - "id": "of:0000ffffffffff04",
95 - "type": "roadm",
96 - "online": false,
97 - "labels": [
98 - "0000ffffffffff04",
99 - "FF:FF:FF:FF:FF:04",
100 - "?"
101 - ]
102 - },
103 - {
104 - "id": "of:0000ffffffff000A",
105 - "type": "switch",
106 - "online": false,
107 - "labels": [
108 - "0000ffffffff000A",
109 - "FF:FF:FF:FF:00:0A",
110 - "?"
111 - ]
112 - },
113 - {
114 - "id": "of:0000ffffffff0001",
115 - "type": "switch",
116 - "online": false,
117 - "labels": [
118 - "0000ffffffff0001",
119 - "FF:FF:FF:FF:00:01",
120 - "?"
121 - ]
122 - },
123 - {
124 - "id": "of:0000ffffffffff01",
125 - "type": "roadm",
126 - "online": false,
127 - "labels": [
128 - "0000ffffffffff01",
129 - "FF:FF:FF:FF:FF:01",
130 - "?"
131 - ]
132 - },
133 - {
134 - "id": "of:0000ffffffff0004",
135 - "type": "switch",
136 - "online": false,
137 - "labels": [
138 - "0000ffffffff0004",
139 - "FF:FF:FF:FF:00:04",
140 - "?"
141 - ]
142 - },
143 - {
144 - "id": "of:0000ffffffffff0A",
145 - "type": "roadm",
146 - "online": false,
147 - "labels": [
148 - "0000ffffffffff0A",
149 - "FF:FF:FF:FF:FF:0A",
150 - "?"
151 - ]
152 - },
153 - {
154 - "id": "of:0000ffffffffff09",
155 - "type": "roadm",
156 - "online": false,
157 - "labels": [
158 - "0000ffffffffff09",
159 - "FF:FF:FF:FF:FF:09",
160 - "?"
161 - ]
162 - }
163 - ],
164 - "links": [
165 - {
166 - "src": "of:0000ffffffffff02",
167 - "srcPort": "20",
168 - "dst": "of:0000ffffffffff05",
169 - "dstPort": "10",
170 - "type": "optical",
171 - "linkWidth": 2
172 - },
173 - {
174 - "src": "of:0000ffffffff000A",
175 - "srcPort": "2",
176 - "dst": "of:0000ffffffffff0A",
177 - "dstPort": "1",
178 - "type": "optical",
179 - "linkWidth": 2
180 - },
181 - {
182 - "src": "of:0000ffffffffff03",
183 - "srcPort": "10",
184 - "dst": "of:0000ffffffffff02",
185 - "dstPort": "10",
186 - "type": "optical",
187 - "linkWidth": 2
188 - },
189 - {
190 - "src": "of:0000ffffffffff07",
191 - "srcPort": "21",
192 - "dst": "of:0000ffffffffff05",
193 - "dstPort": "20",
194 - "type": "optical",
195 - "linkWidth": 2
196 - },
197 - {
198 - "src": "of:0000ffffffff0001",
199 - "srcPort": "2",
200 - "dst": "of:0000ffffffffff01",
201 - "dstPort": "1",
202 - "type": "optical",
203 - "linkWidth": 2
204 - },
205 - {
206 - "src": "of:0000ffffffffff09",
207 - "srcPort": "20",
208 - "dst": "of:0000ffffffffff0A",
209 - "dstPort": "20",
210 - "type": "optical",
211 - "linkWidth": 2
212 - },
213 - {
214 - "src": "of:0000ffffffffff06",
215 - "srcPort": "20",
216 - "dst": "of:0000ffffffffff05",
217 - "dstPort": "30",
218 - "type": "optical",
219 - "linkWidth": 2
220 - },
221 - {
222 - "src": "of:0000ffffffffff07",
223 - "srcPort": "30",
224 - "dst": "of:0000ffffffffff08",
225 - "dstPort": "20",
226 - "type": "optical",
227 - "linkWidth": 2
228 - },
229 - {
230 - "src": "of:0000ffffffffff03",
231 - "srcPort": "20",
232 - "dst": "of:0000ffffffffff06",
233 - "dstPort": "10",
234 - "type": "optical",
235 - "linkWidth": 2
236 - },
237 - {
238 - "src": "of:0000ffffffffff02",
239 - "srcPort": "10",
240 - "dst": "of:0000ffffffffff01",
241 - "dstPort": "10",
242 - "type": "optical",
243 - "linkWidth": 2
244 - },
245 - {
246 - "src": "of:0000ffffffffff09",
247 - "srcPort": "1",
248 - "dst": "of:0000ffffffff0009",
249 - "dstPort": "2",
250 - "type": "optical",
251 - "linkWidth": 2
252 - },
253 - {
254 - "src": "of:0000ffffffffff03",
255 - "srcPort": "30",
256 - "dst": "of:0000ffffffffff04",
257 - "dstPort": "10",
258 - "type": "optical",
259 - "linkWidth": 2
260 - },
261 - {
262 - "src": "of:0000ffffffffff07",
263 - "srcPort": "20",
264 - "dst": "of:0000ffffffffff09",
265 - "dstPort": "10",
266 - "type": "optical",
267 - "linkWidth": 2
268 - },
269 - {
270 - "src": "of:0000ffffffffff0A",
271 - "srcPort": "10",
272 - "dst": "of:0000ffffffffff08",
273 - "dstPort": "30",
274 - "type": "optical",
275 - "linkWidth": 2
276 - },
277 - {
278 - "src": "of:0000ffffffff0004",
279 - "srcPort": "2",
280 - "dst": "of:0000ffffffffff04",
281 - "dstPort": "1",
282 - "type": "optical",
283 - "linkWidth": 2
284 - },
285 - {
286 - "src": "of:0000ffffffffff07",
287 - "srcPort": "1",
288 - "dst": "of:0000ffffffff0007",
289 - "dstPort": "2",
290 - "type": "optical",
291 - "linkWidth": 2
292 - },
293 - {
294 - "src": "of:0000ffffffff0003",
295 - "srcPort": "2",
296 - "dst": "of:0000ffffffffff03",
297 - "dstPort": "1",
298 - "type": "optical",
299 - "linkWidth": 2
300 - },
301 - {
302 - "src": "of:0000ffffffffff06",
303 - "srcPort": "30",
304 - "dst": "of:0000ffffffffff08",
305 - "dstPort": "10",
306 - "type": "optical",
307 - "linkWidth": 2
308 - }
309 - ],
310 - "hosts": [
311 - {
312 - "id": "00:00:00:00:00:03/-1",
313 - "cp": {
314 - "device": "of:0000ffffffff0003",
315 - "port": 1
316 - },
317 - "labels": [
318 - "10.0.0.3",
319 - "00:00:00:00:00:03"
320 - ]
321 - },
322 - {
323 - "id": "00:00:00:00:00:04/-1",
324 - "cp": {
325 - "device": "of:0000ffffffff0004",
326 - "port": 1
327 - },
328 - "labels": [
329 - "10.0.0.4",
330 - "00:00:00:00:00:04"
331 - ]
332 - },
333 - {
334 - "id": "00:00:00:00:00:0A/-1",
335 - "cp": {
336 - "device": "of:0000ffffffff000A",
337 - "port": 1
338 - },
339 - "labels": [
340 - "10.0.0.10",
341 - "00:00:00:00:00:0A"
342 - ]
343 - },
344 - {
345 - "id": "00:00:00:00:00:09/-1",
346 - "cp": {
347 - "device": "of:0000ffffffff0009",
348 - "port": 1
349 - },
350 - "labels": [
351 - "10.0.0.9",
352 - "00:00:00:00:00:09"
353 - ]
354 - },
355 - {
356 - "id": "00:00:00:00:00:07/-1",
357 - "cp": {
358 - "device": "of:0000ffffffff0007",
359 - "port": 1
360 - },
361 - "labels": [
362 - "10.0.0.7",
363 - "00:00:00:00:00:07"
364 - ]
365 - },
366 - {
367 - "id": "00:00:00:00:00:01/-1",
368 - "cp": {
369 - "device": "of:0000ffffffff0001",
370 - "port": 1
371 - },
372 - "labels": [
373 - "10.0.0.1",
374 - "00:00:00:00:00:01"
375 - ]
376 - }
377 - ]
378 -}
...@@ -55,19 +55,10 @@ svg #bg { ...@@ -55,19 +55,10 @@ svg #bg {
55 */ 55 */
56 56
57 svg .link { 57 svg .link {
58 - fill: none;
59 - stroke: #666;
60 - stroke-width: 2.0px;
61 opacity: .7; 58 opacity: .7;
62 -
63 - transition: opacity 250ms;
64 - -webkit-transition: opacity 250ms;
65 - -moz-transition: opacity 250ms;
66 } 59 }
67 60
68 svg .link.host { 61 svg .link.host {
69 - stroke: #666;
70 - stroke-width: 1px;
71 } 62 }
72 63
73 svg g.portLayer rect.port { 64 svg g.portLayer rect.port {
...@@ -81,10 +72,6 @@ svg g.portLayer text { ...@@ -81,10 +72,6 @@ svg g.portLayer text {
81 72
82 svg .node.device rect { 73 svg .node.device rect {
83 stroke-width: 1.5px; 74 stroke-width: 1.5px;
84 -
85 - transition: opacity 250ms;
86 - -webkit-transition: opacity 250ms;
87 - -moz-transition: opacity 250ms;
88 } 75 }
89 76
90 svg .node.device.fixed rect { 77 svg .node.device.fixed rect {
......
...@@ -24,6 +24,34 @@ svg #topo-bg { ...@@ -24,6 +24,34 @@ svg #topo-bg {
24 opacity: 0.5; 24 opacity: 0.5;
25 } 25 }
26 26
27 -svg .node { 27 +svg .node.device {
28 + stroke: none;
29 + stroke-width: 1.5px;
30 + cursor: pointer;
31 +}
32 +
33 +svg .node.device.fixed rect {
34 + stroke-width: 1.5;
35 + stroke: #ccc;
36 +}
37 +
38 +svg .node.device.switch {
39 + fill: #17f;
40 +}
41 +
42 +svg .node.device.roadm {
28 fill: #03c; 43 fill: #03c;
29 } 44 }
45 +
46 +svg .node text {
47 + stroke: none;
48 + fill: white;
49 + font: 10pt sans-serif;
50 + pointer-events: none;
51 +}
52 +
53 +/* for debugging */
54 +svg .node circle.debug {
55 + fill: white;
56 + stroke: red;
57 +}
......
This diff is collapsed. Click to expand it.