mnoptical.ofcdemo.Control_Test_Mininet_REST
¶
apsp.py: all-pairs-shortest-paths routing for ofc demo
The goal is not to demonstrate an elaborate routing and rebalancing algorithm, but to demonstrate how mininet-optical enables packet-optical SDN controller development and experimentation!!
So our routing is extremely simple:
Every pair of nodes gets a unique channel
Routes are shortest paths
Since all the links are the same length, we don’t even have to use Dijkstra’s algorithm - BFS works just fine!
Module Contents¶
Classes¶
Functions¶
|
Configure and monitor network with N=3 channels for each path |
- class mnoptical.ofcdemo.Control_Test_Mininet_REST.Mininet_Control_REST¶
Bases:
object
- getOSNR()¶
Return fetchOSNR
- monitorKeyAndLightpaths()¶
- monitorKey(monitor)¶
Key for sorting monitor names
- getMonitorKey(src_id, dst_id, spanID=1)¶
- monitorOSNRbyKey(key, channel)¶
- monitorOSNR(channel, gosnrThreshold=18.0)¶
Monitor gOSNR continuously; if any monitored gOSNR drops below threshold, return list of (monitor, channel, link)
- buildGraph(links)¶
Return an adjacency dict for links
- route(src, graph, destinations)¶
Route from src to destinations neighbors: adjacency list returns: routes dict
- configureTerminal(terminal, channel, power=0.0)¶
Configure terminals statically: ethN <-> wdmM:channel
- turnonTerminal(terminal)¶
turn on terminal
- configurePacketSwitch(src, dst, channel, router, port)¶
Configure Open vSwitch ‘routers’ using OpenFlow
- installPath(path, channels)¶
Program a lightpath into the network
- uninstallPath(path, channels)¶
Program a lightpath into the network
- mnoptical.ofcdemo.Control_Test_Mininet_REST.Test()¶
Configure and monitor network with N=3 channels for each path