mnoptical.examples.uniring

uniring.py: unidirectional ring network with 1-degree ROADMs

and bidirectional Terminal<->ROADM links

Module Contents

Classes

UniRingTopo

Parametrized unidirectional ROADM ring network

CLI

CLI with config command

Functions

fwd(roadm, channels)

drop(roadm, dst, channel)

add(roadm, src, channel)

configOpticalNet(net)

Configure ring of ROADMS and Terminals.

configPacketNet(net)

Configure mesh of LinuxRouters and attached hosts.

config(net)

Configure optical and packet network

test(net)

Run script in test mode

Attributes

topo

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