mnoptical.examples.unilinear2

unilinear2.py: unidirectional linear network with

2-degree ROADMs and split Terminal uplink/downlink.

This is somewhat simpler than unilinear1.py because the middle ROADMs are 2-degree (though the endpoint ROADMs are still 1-degre.)

Module Contents

Classes

OpticalTopo

Topo with convenience methods for optical networks

UniLinearTopo2

A linear network connected by a string 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.unilinear2.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.unilinear2.UniLinearTopo2

Bases: OpticalTopo

A linear network connected by a string of 2-degree unidirectional ROADMs.

eastin = 1
eastout = 2
westin = 3
westout = 4
linein(i, j)
lineout(i, j)
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.unilinear2.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.unilinear2.CLI

Bases: mnoptical.ofcdemo.demolib.OpticalCLI

CLI with config command

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

Configure and test network

mnoptical.examples.unilinear2.topo