| 201 | | Correct ROADM operation requires Line In port of a ROADM to always receive a light. That is why there is a dedicated transceiver (tengigabitethernet 1/33 on ToR) that sends light through all ROADMs by passing through loop-back connection on Calient S320 (port 5.5.1) and redirecting back, so the light is received on the same transceiver. |
| 202 | | This kind of connection is called “Snake”. |
| 203 | | |
| 204 | | In order maintain this “Snake” for “Experiment_1” next connections form Table 1 must be in place: 1,3,5,6,8,9. |
| 205 | | |
| 206 | | === tengigabitethernet 1/33/1 on ToR configuration === |
| 207 | | |
| 208 | | Snake Interface (to passe through all ROADMs in loop): 60 (DWDM Channel C60) 1529,55 nm 196,00 Thz with frequency range [195.95,196.05] Thz |
| | 195 | |
| | 196 | (This is not currently part of the Mininet-Optical software emulated configuration.) |
| | 197 | |
| | 198 | === Transceiver 33 (ports 330/331) on ToR configuration === |
| | 199 | |
| | 200 | (This is not currently part of the Mininet-Optical software emulated configuration, |
| | 201 | but it would be: |
| | 202 | 60 (DWDM Channel C60) 1529,55 nm 196,00 Thz with frequency range [195.95,196.05] Thz) |
| 227 | | 1. ROADM 4 booster, |
| 228 | | 2. ROADM 2 booster, |
| 229 | | 3. ROADM 3 booster, |
| 230 | | 4. ROADM 1 booster, |
| 231 | | |
| 232 | | == Setting “Experiment_1” Connections == |
| | 226 | (This is not currently done in the Mininet-Optical configuration.) |
| | 227 | |
| | 228 | == Configuring ROADMs in Mininet-Optical == |
| | 229 | |
| | 230 | ROADMs in Mininet-Optical may be configured via several mechanisms. An internal Python API may be used for configuration within the script that creates the network. More realistically, two external SDN/RPC control interfaces are provided: a simple REST interface and a more realistic NETCONF interface which is partially compatible with the NETCONF interface of the hardware Lumentum ROADM20. |
| | 231 | |
| | 232 | To start with, we will implement the connections using the REST API. |
| | 233 | |
| | 234 | == Setting “Experiment_1” Connections using REST == |
| | 235 | |
| | 236 | === Configuring ToR1<->ToR2 Connection 1 on Mininet-Optical using REST === |
| | 237 | |
| | 238 | * ROADM 4: |
| | 239 | 1. Enable MUX port 4102 “From ToR 1” |
| | 240 | 2. Add Connection “Exp1-FromTor1” with Input/ Output Port 4102/4201 with bandwidth [192.95;193.05] |
| | 241 | 3. Enable DEMUX port 5202 “Towards ToR 1” |
| | 242 | 4. Add Connection “Exp1-TorwardTor1” with I/O Port 5101/5202 |
| | 243 | |
| | 244 | 192.95THz..193.05THz has a middle frequency of 193.00 THz, which corresponds to channel C32 |
| | 245 | on Mininet-Optical's default 50GHz channel grid. |
| | 246 | C1's middle frequency is 191400 GHz, so C33 is at 191400 + 32*50 = 193000 GHz. |
| | 247 | |
| | 248 | We use curl to send a REST request to ROADM4 to add/drop ch33: |
| | 249 | |
| | 250 | curl "localhost:8080/connect?node=roadm4&port1=4102&port2=4201&channels=33" |
| | 251 | curl "localhost:8080/connect?node=roadm4&port1=5101&port2=5202&channels=33" |
| | 252 | |
| | 253 | * ROADM 1: |
| | 254 | 5. Enable MUX port 4102 “From ToR 2” |
| | 255 | 6. Add Connection “From ToR 2” with I/O Port 4102/4201 with bandwidth [192.95;193.05] |
| | 256 | 7. Enable DEMUX port 5202 “Towards ToR 2” |
| | 257 | 8. Add Connection “Towards ToR 2” with I/O Port 5101/5202 |
| | 258 | |
| | 259 | We use curl to send a REST request to ROADM4 to add/drop ch33: |
| | 260 | |
| | 261 | curl "localhost:8080/connect?node=roadm1&port1=4102&port2=4201&channels=33" |
| | 262 | curl "localhost:8080/connect?node=roadm1&port1=5101&port2=5202&channels=33" |
| | 263 | |
| | 264 | |
| | 265 | === Configuring ToR1<->ToR3 Connection 2 on Mininet-Optical using REST === |
| | 266 | |
| | 267 | * ROADM 4 (Same As For Connection 1): |
| | 268 | 1. Enable MUX port 4102 “From ToR 1” |
| | 269 | 2. Add Connection “From ToR 1” with I/O Port 4102/4201 with bandwidth [192.95;193.05] |
| | 270 | 3. Enable DEMUX port 5202 “Towards ToR 1” |
| | 271 | 4. Add Connection “Towards ToR 1” with I/O Port 5101/5202 with bandwidth [192.95;193.05] |
| | 272 | |
| | 273 | curl "localhost:8080/connect?node=roadm4&port1=4102&port2=4201&channels=33" |
| | 274 | curl "localhost:8080/connect?node=roadm4&port1=5101&port2=5202&channels=33" |
| | 275 | |
| | 276 | * ROADM 1 <Not Same!>: |
| | 277 | 5. Enable MUX port 4101 “Through Port” (enabled for Snake) |
| | 278 | 6. Add Connection “Through In” with I/O Port 4101/4201 with bandwidth [192.95;193.05] |
| | 279 | 7. Enable DEMUX port 5201 “Through Port” (enabled for Snake) |
| | 280 | 8. Add Connection “Through Out” with I/O Port 5101/5201 with bandwidth [192.95;193.05] |
| | 281 | |
| | 282 | This time we pass channel 33 through ROADM1: |
| | 283 | |
| | 284 | curl "localhost:8080/connect?node=roadm1&port1=4101&port2=4201&channels=33" |
| | 285 | curl "localhost:8080/connect?node=roadm1&port1=5101&port2=5201&channels=33" |
| | 286 | |
| | 287 | * ROADM 2 (Same As For ROADM1): |
| | 288 | 9. Enable MUX port 4101 “Through Port” (enabled for Snake) |
| | 289 | 10. Add Connection “Through In” with I/O Port 4101/4201 with bandwidth [192.95;193.05] |
| | 290 | 11. Enable DEMUX port 5201 “Through Port” (enabled for Snake) |
| | 291 | 12. Add Connection “Through Out” with I/O Port 5101/5201 with bandwidth [192.95;193.05] |
| | 292 | |
| | 293 | And pass through ROADM2: |
| | 294 | |
| | 295 | curl "localhost:8080/connect?node=roadm2&port1=4101&port2=4201&channels=33" |
| | 296 | curl "localhost:8080/connect?node=roadm2&port1=5101&port2=5201&channels=33" |
| | 297 | |
| | 298 | * ROADM 3 (Same As For ROADM4): |
| | 299 | 13. Enable MUX port 4102 “From ToR 3” |
| | 300 | 14. Add Connection “From ToR 3” with I/O Port 4102/4201 with bandwidth [192.95;193.05] |
| | 301 | 15. Enable DEMUX port 5202 “Towards ToR 3” |
| | 302 | 16. Add Connection “Towards ToR 3” with I/O Port 5101/5202 with bandwidth [192.95;193.05] |
| | 303 | |
| | 304 | And we drop at ROADM3: |
| | 305 | |
| | 306 | curl "localhost:8080/connect?node=roadm3&port1=4102&port2=4201&channels=33" |
| | 307 | curl "localhost:8080/connect?node=roadm3&port1=5101&port2=5202&channels=33" |
| | 308 | |
| | 309 | ---- |
| | 310 | |
| | 311 | == Setting “Experiment_1” Connections using NETCONF == |
| | 312 | |
| | 313 | (TBD) |