320 | | === Configuring ToR1<->ToR2 Connection 1 === |
321 | | |
322 | | * ROADM 4: |
323 | | 1. Enable MUX port 4102 “From ToR 1” |
324 | | 2. Add Connection “Exp1-FromTor1” with Input/ Output Port 4102/4201 with bandwidth [192.95;193.05] (python add_connection.py 10.104.1.4 1 10 in-service false 4102 4201 192950 193050 5 Exp1-FromTor1) |
325 | | 3. Enable DEMUX port 5202 “Towards ToR 1” |
326 | | 4. Add Connection “Exp1-TorwardTor1” with I/O Port 5101/5202 (python add_connection.py 10.104.1.4 2 10 in-service false 5101 5202 192950 193050 5 Exp1-TorwardTor1) |
327 | | * ROADM 1: |
328 | | 5. Enable MUX port 4102 “From ToR 2” |
329 | | 6. Add Connection “From ToR 2” with I/O Port 4102/4201 with bandwidth [192.95;193.05] |
330 | | 7. Enable DEMUX port 5202 “Towards ToR 2” |
331 | | 8. Add Connection “Towards ToR 2” with I/O Port 5101/5202 |
332 | | |
333 | | === Configuting ToR1<->ToR3 Connection 2 === |
334 | | |
335 | | * ROADM 4 (Same As For Connection 1): |
336 | | 1. Enable MUX port 4102 “From ToR 1” |
337 | | 2. Add Connection “From ToR 1” with I/O Port 4102/4201 with bandwidth [192.95;193.05] |
338 | | 3. Enable DEMUX port 5202 “Towards ToR 1” |
339 | | 4. Add Connection “Towards ToR 1” with I/O Port 5101/5202 with bandwidth [192.95;193.05] |
340 | | * ROADM 1 <Not Same!>: |
341 | | 5. Enable MUX port 4101 “Through Port” (enabled for Snake) |
342 | | 6. Add Connection “Through In” with I/O Port 4101/4201 with bandwidth [192.95;193.05] |
343 | | 7. Enable DEMUX port 5201 “Through Port” (enabled for Snake) |
344 | | 8. Add Connection “Through Out” with I/O Port 5101/5201 with bandwidth [192.95;193.05] |
345 | | * ROADM 2 (Same As For ROADM1): |
346 | | 9. Enable MUX port 4101 “Through Port” (enabled for Snake) |
347 | | 10. Add Connection “Through In” with I/O Port 4101/4201 with bandwidth [192.95;193.05] |
348 | | 11. Enable DEMUX port 5201 “Through Port” (enabled for Snake) |
349 | | 12. Add Connection “Through Out” with I/O Port 5101/5201 with bandwidth [192.95;193.05] |
350 | | * ROADM 3 (Same As For ROADM4): |
351 | | 13. Enable MUX port 4102 “From ToR 3” |
352 | | 14. Add Connection “From ToR 3” with I/O Port 4102/4201 with bandwidth [192.95;193.05] |
353 | | 15. Enable DEMUX port 5202 “Towards ToR 3” |
354 | | 16. Add Connection “Towards ToR 3” with I/O Port 5101/5202 with bandwidth [192.95;193.05] |
355 | | |
359 | | == Setting Up ToR switch with 3 logical ToR switches == |
360 | | 1. Preparing the interfaces to be set as VLAN switch ports: |
361 | | |
362 | | {{{ |
363 | | sw-tor-lg1#configure |
364 | | sw-tor-lg1(conf)#interface twentyFiveGigE 1/1/1 |
365 | | sw-tor-lg1(conf-if-tf-1/1/1)#switchport |
366 | | sw-tor-lg1(conf-if-tf-1/1/1)#no shutdown |
367 | | sw-tor-lg1(conf-if-tf-1/1/1)#exit |
368 | | sw-tor-lg1(conf)#interface twentyFiveGigE 1/1/2 |
369 | | sw-tor-lg1(conf-if-tf-1/1/2)#switchport |
370 | | sw-tor-lg1(conf-if-tf-1/1/2)#no shutdown |
371 | | sw-tor-lg1(conf-if-tf-1/1/2)#exit |
372 | | sw-tor-lg1(conf)#interface twentyFiveGigE 1/1/3 |
373 | | sw-tor-lg1(conf-if-tf-1/1/3)#switchport |
374 | | sw-tor-lg1(conf-if-tf-1/1/3)#no shutdown |
375 | | sw-tor-lg1(conf-if-tf-1/1/3)#exit |
376 | | sw-tor-lg1(conf)#interface tengigabitethernet 1/31/1 |
377 | | sw-tor-lg1(conf-if-te-1/31/1)#switchport |
378 | | sw-tor-lg1(conf-if-te-1/31/1)#no shutdown |
379 | | sw-tor-lg1(conf-if-te-1/31/1)#exit |
380 | | sw-tor-lg1(conf)#interface tengigabitethernet 1/29/1 |
381 | | sw-tor-lg1(conf-if-te-1/29/1)#switchport |
382 | | sw-tor-lg1(conf-if-te-1/29/1)#no shutdown |
383 | | sw-tor-lg1(conf-if-te-1/29/1)#exit |
384 | | sw-tor-lg1(conf)#interface tengigabitethernet 1/32/1 |
385 | | sw-tor-lg1(conf-if-te-1/32/1)#switchport |
386 | | sw-tor-lg1(conf-if-te-1/32/1)#no shutdown |
387 | | sw-tor-lg1(conf-if-te-1/32/1)#exit |
388 | | }}} |
389 | | |
390 | | 2. Assigning interfaces to VLANs |
391 | | |
392 | | {{{ |
393 | | sw-tor-lg1#configure |
394 | | sw-tor-lg1(conf)#interface vlan 121 |
395 | | sw-tor-lg1(conf-if-vl-121)#untagged twentyFiveGigE 1/1/1 |
396 | | sw-tor-lg1(conf-if-vl-121)#untagged tengigabitethernet 1/32/1 |
397 | | sw-tor-lg1(conf-if-vl-121)#exit |
398 | | sw-tor-lg1(conf)#interface vlan 122 |
399 | | sw-tor-lg1(conf-if-vl-122)#untagged twentyFiveGigE 1/1/2 |
400 | | sw-tor-lg1(conf-if-vl-122)#untagged tengigabitethernet 1/29/1 |
401 | | sw-tor-lg1(conf-if-vl-122)#exit |
402 | | sw-tor-lg1(conf)#interface vlan 123 |
403 | | sw-tor-lg1(conf-if-vl-123)#untagged twentyFiveGigE 1/1/3 |
404 | | sw-tor-lg1(conf-if-vl-123)#untagged tengigabitethernet 1/31/1 |
405 | | sw-tor-lg1(conf-if-vl-123)#exit |
406 | | sw-tor-lg1(conf)#exit |
407 | | }}} |
408 | | |
409 | | 3. Assigning a wavelength to transceivers: |
410 | | |
411 | | {{{ |
412 | | sw-tor-lg1#configure |
413 | | sw-tor-lg1(conf)#interface tengigabitethernet 1/32/1 |
414 | | sw-tor-lg1(conf-if-te-1/32/1)#wavelength 1553.3 |
415 | | sw-tor-lg1(conf-if-te-1/32/1)#exit |
416 | | sw-tor-lg1(conf)#interface tengigabitethernet 1/29/1 |
417 | | sw-tor-lg1(conf-if-te-1/29/1)#wavelength 1553.3 |
418 | | sw-tor-lg1(conf-if-te-1/29/1)#exit |
419 | | sw-tor-lg1(conf)#interface tengigabitethernet 1/32/1 |
420 | | sw-tor-lg1(conf-if-te-1/32/1)#wavelength 1553.3 |
421 | | sw-tor-lg1(conf-if-te-1/32/1)#exit |
422 | | sw-tor-lg1(conf)#exit |
423 | | }}} |
424 | | |
425 | | 4. Verify VLANs: |
426 | | |
427 | | {{{ |
428 | | sw-tor-lg1#show vlan |
429 | | |
430 | | Codes: * - Default VLAN, G - GVRP VLANs, R - Remote Port Mirroring VLANs, P - Primary, C - Community, I - Isolated |
431 | | O - Openflow, Vx - Vxlan |
432 | | Q: U - Untagged, T - Tagged |
433 | | x - Dot1x untagged, X - Dot1x tagged |
434 | | o - OpenFlow untagged, O - OpenFlow tagged |
435 | | G - GVRP tagged, M - Vlan-stack |
436 | | i - Internal untagged, I - Internal tagged, v - VLT untagged, V - VLT tagged |
437 | | |
438 | | NUM Status Description Q Ports |
439 | | 121 Active U Te 1/32/1 |
440 | | U Tf 1/1/1 |
441 | | 122 Active U Te 1/29/1 |
442 | | U Tf 1/1/2 |
443 | | 123 Active U Te 1/31/1 |
444 | | U Tf 1/1/3 |
445 | | |
446 | | }}} |
447 | | |
448 | | == Configuring Compute Nodes (Servers srv1..3-lg1) == |
449 | | |
450 | | 1. Install net-tools: |
451 | | |
452 | | {{{#!shell-session |
453 | | sudo apt install net-tools |
454 | | }}} |
455 | | |
456 | | 2. Configure interfaces eo1 and assign IP addresses: |
457 | | |
458 | | {{{#!shell-session |
459 | | native@srv1-lg1:~$ sudo ifconfig eno1 192.168.1.1 netmask 255.255.255.0 |
460 | | native@srv2-lg1:~$ sudo ifconfig eno1 192.168.1.2 netmask 255.255.255.0 |
461 | | native@srv3-lg1:~$ sudo ifconfig eno1 192.168.1.3 netmask 255.255.255.0 |
462 | | }}} |
463 | | |
464 | | |
465 | | ---- |
466 | | = Perform Experiment_1 = |
| 330 | == Setting Up ToR switches and configuring transceivers == |
| 331 | |
| 332 | Mininet-Optical's Terminal is the equivalent of the ToR switch |
| 333 | which contains Ethernet interfaces as well as WDM transceivers. |
| 334 | |
| 335 | Instead of using a Cisco-style CLI to configure it, we use its |
| 336 | default REST API. |
| 337 | |
| 338 | 1. Connecting Ethernet interfaces to Transceivers and set channel |
| 339 | |
| 340 | {{{ |
| 341 | curl "localhost:8080/connect?node=tor1ðPort=1&wdmPort=320&wdmInPort=321&channel=33" |
| 342 | curl "localhost:8080/connect?node=tor2ðPort=2&wdmPort=290&wdmInPort=291&channel=33" |
| 343 | curl "localhost:8080/connect?node=tor3ðPort=3&wdmPort=310&wdmInPort=311&channel=33" |
| 344 | }}} |
| 345 | |
| 346 | 2. Turn on all transceivers |
| 347 | |
| 348 | {{{ |
| 349 | curl "localhost:8080/turn_on?node=tor1" |
| 350 | curl "localhost:8080/turn_on?node=tor2" |
| 351 | curl "localhost:8080/turn_on?node=tor3" |
| 352 | }}} |
| 353 | |
| 354 | == Configuring Compute Nodes (server1, server2, server3) == |
| 355 | |
| 356 | 1. Configure Ethernet interfaces and assign IP addresses: |
| 357 | |
| 358 | This may be performed in at the mininet-optical CLI prompt: |
| 359 | {{{ |
| 360 | mininet-optical> server1 ifconfig server1-eth0 192.168.1.1/24 |
| 361 | mininet-optical> server2 ifconfig server2-eth0 192.168.1.2/24 |
| 362 | minient-optical> server3 ifconfig server3-eth0 192.168.1.3/24 |
| 363 | }}} |
| 364 | |
| 365 | Or it can be done remotely from a shell prompt in the VM using the |
| 366 | ~/mininet/util/m script: |
| 367 | |
| 368 | {{{ |
| 369 | ~/mininet/util/m server1 ifconfig server1-eth0 192.168.1.1/24 |
| 370 | ~/mininet/util/m server2 ifconfig server2-eth0 192.168.1.2/24 |
| 371 | ~/mininet/util/m server3 ifconfig server3-eth0 192.168.1.3/24 |
| 372 | }}} |
| 373 | |
| 374 | |
| 375 | ---- |
| 376 | = Perform Experiment = |