mnoptical.examples.uniring
¶
- uniring.py: unidirectional ring network with 1-degree ROADMs
and bidirectional Terminal<->ROADM links
Module Contents¶
Classes¶
Parametrized unidirectional ROADM ring network |
|
CLI with config command |
Functions¶
|
|
|
|
|
|
|
Configure ring of ROADMS and Terminals. |
|
Configure mesh of LinuxRouters and attached hosts. |
|
Configure optical and packet network |
|
Run script in test mode |
Attributes¶
- class mnoptical.examples.uniring.UniRingTopo¶
Bases:
mininet.topo.Topo
Parametrized unidirectional ROADM ring network ROADM r{i} port numbering: - 1: line in - 2: line out - 3..N+2: add/drop ports from/to terminal Terminal t{i} port numbering: - 1..N: transceiver uplink/downlink ports (bidirectional)
to/from ROADM
N+1..2*N ethernet ports (bidirectional) to/from router
Router s{i} port numbering (N==nodecount==txcount): - 1..N: uplinks/downlinks to/from terminal - N+1: local port, connected to host
- build(power=0 * dBm, N=3)¶
Create a 1-degree ROADM ring network, with the specified operational power and N ROADM/Terminal/Router/Host nodes
- mnoptical.examples.uniring.fwd(roadm, channels)¶
- mnoptical.examples.uniring.drop(roadm, dst, channel)¶
- mnoptical.examples.uniring.add(roadm, src, channel)¶
- mnoptical.examples.uniring.configOpticalNet(net)¶
Configure ring of ROADMS and Terminals. We connect a full mesh of t{1..N}<->t{1..N}
- mnoptical.examples.uniring.configPacketNet(net)¶
Configure mesh of LinuxRouters and attached hosts. This is somewhat complicated because we are connecting a full mesh of IP routers connected with point-to-point links. The “subnets” are basically /32, i.e. single IP addresses.
- mnoptical.examples.uniring.config(net)¶
Configure optical and packet network
- class mnoptical.examples.uniring.CLI¶
Bases:
mnoptical.ofcdemo.demolib.OpticalCLI
CLI with config command
- do_config(_line)¶
- mnoptical.examples.uniring.test(net)¶
Run script in test mode
- mnoptical.examples.uniring.topo¶