mnoptical.examples.unilinear1

unilinear1.py: unidirectional linear network with

1-degree ROADMs and split Terminal uplink/downlink.

This may be more complicated than what we actually want. We are using the base unidirectional ROADMs without any interconnection between them, in order to avoid the looping bug in the simulator.

This does have the nice feature of minimizing ports at the expense of cabling complexity.

An alternate design, simpler in some ways, is to interconnect the ROADMs vertically to create real 2-degree, bi-directional ROADMs.

Module Contents

Classes

OpticalTopo

Topo with convenience methods for optical networks

UniLinearTopo

A linear network connected by two strings of

CLI

CLI with config command

Functions

config(net[, mesh, root])

Configure linear, unidirectional network

test(net)

Configure and test network

Attributes

topo

class mnoptical.examples.unilinear1.OpticalTopo

Bases: mininet.topo.Topo

Topo with convenience methods for optical networks

Convenience function to add a unidirectional link

Clarifying alias for addLink

addTerminal(*args, **kwargs)

Convenience alias for addSwitch( … cls=Terminal )

addROADM(*args, **kwargs)

Convenience alias for addSwitch( … cls=ROADM )

class mnoptical.examples.unilinear1.UniLinearTopo

Bases: OpticalTopo

A linear network connected by two strings of unidirectional ROADMs in opposite directions.

linein = 1
lineout = 2
addport(dst)
dropport(src)
ethport(dst)
build(power=0 * dBm, nodecount=3)

Create a unidirectional linear network with the specified operational power and node and transceiver counts

mnoptical.examples.unilinear1.config(net, mesh=False, root=1)

Configure linear, unidirectional network mesh: configure full mesh? False root: root node of star topology if not mesh Routing strategy: - We assign a channel to each (src, dst) pair to avoid conflicts. - For the star topology, we root everything at root. - For the full mesh, we route signals eastbound or westbound

as needed.

class mnoptical.examples.unilinear1.CLI

Bases: mnoptical.ofcdemo.demolib.OpticalCLI

CLI with config command

do_config(_line)
mnoptical.examples.unilinear1.test(net)

Configure and test network

mnoptical.examples.unilinear1.topo