mnoptical.ofcdemo.Demo_Control

single_link_test.py: test monitoring on a single link

Note this version uses and depends on explicit port assignment!

Module Contents

Functions

init_Controller([Mininet_Enable])

Initialize Lumentum or Mininet controller

Span(km[, amp])

Return a fiber segment of length km with a compensating amp

RoadmPhyNetwork()

ROADM network topo

Mininet_installPath(lightpath_id, path, channel[, power])

intall switch rules on roadms along a lightpath for some signal channels

Mininet_uninstallPath(lightpath_id)

delete switch rules on roadms along a lightpath for some signal channels

Mininet_setupLightpath(lightpath_id, path, channel)

configure a lightpath

Mininet_teardownLightpath(lightpath_id)

remove a lightpath

Mininet_monitorLightpath(lightpath_id)

monitoring a signal along a lightpath

Lumentum_installPath(lightpath_id, path, channel)

intall switch rules on roadms along a lightpath for some signal channels

Lumentum_uninstallPath(lightpath_id)

delete switch rules on roadms along a lightpath for some signal channels

Lumentum_setupLightpath(lightpath_id, path, channel)

configure a lightpath

Lumentum_teardownLightpath(lightpath_id)

remove a lightpath

Lumentum_MonitorLightpath(lightpath_id)

linkspec(link)

Return specifier dict(node1, port1, node2, port2) for link

getLinks(links)

netGraph(links)

Return an adjacency dict for links

FindRoute(src, graph, destinations[, k])

Route from src to destinations

waveAvailibility(path)

waveSelection(channels)

install_Lightpath(path, channel[, up_time, down_time, ...])

install switch rules on roadms along a lightpath for some signal channels, update control database

check_lightpath_for_traf(src, dst)

check if there are some provisioned lighpaths for CPRI traf

update_lightpath_down_time(lightpath_id, down_time)

if there is a traf, update lightpath teardown time

traf_to_lightpah_Assignment(traf_id, lightpath_id[, ...])

assign a traffic to a lightpath, update control database

install_Traf(src, dst, routes, cur_time[, down_time, ...])

source RRH node to destination BBU node

uninstall_Lightpath(lightpath_id[, Mininet])

delete switch rules on roadms along a lightpath for some signal channels

traf_to_lightpath_Release(traf_id)

trafficPattern(pattern, time)

24 hour normalized traffic

TrafficTest([Mininet_Enable])

testMininet()

Attributes

m

Controller_Lum

Controller_Mininet

NUM_WAV

LINK_CAP

DOWN_LINK_CAP

CPRI_CAP

NETLINKS

GRAPH

NODES

NETLINK_INFO

TRAFFIC_INFO

LIGHTPATH_INFO

SRC_DST_TO_LIGHTPATH

PATH_CH_TO_LIGHTPATH

TRAFFIC_ID

LIGHTPATH_ID

NUM_NODE

NAME_ROADM

UP_TRAF_TIME_LIST

UP_TRAF_ID_SET

UP_LIGHTPATH_TIME_LIST

UP_LIGHTPATH_ID_SET

ALL_CHANNELS

RU_ROADMS

DU_ROADMS

ROADM_TRAF

name_roadms

name_terminals

ROADM_TO_TERMINAL

TERMINAL_TO_ROADM

ROADM_TO_ID

TERMINAL_TO_ID

node

mnoptical.ofcdemo.Demo_Control.m = 0.001
mnoptical.ofcdemo.Demo_Control.Controller_Lum
mnoptical.ofcdemo.Demo_Control.Controller_Mininet
mnoptical.ofcdemo.Demo_Control.init_Controller(Mininet_Enable=True)

Initialize Lumentum or Mininet controller

mnoptical.ofcdemo.Demo_Control.NUM_WAV = 90
mnoptical.ofcdemo.Demo_Control.CPRI_CAP = 25
mnoptical.ofcdemo.Demo_Control.GRAPH
mnoptical.ofcdemo.Demo_Control.NODES
mnoptical.ofcdemo.Demo_Control.TRAFFIC_INFO
mnoptical.ofcdemo.Demo_Control.LIGHTPATH_INFO
mnoptical.ofcdemo.Demo_Control.SRC_DST_TO_LIGHTPATH
mnoptical.ofcdemo.Demo_Control.PATH_CH_TO_LIGHTPATH
mnoptical.ofcdemo.Demo_Control.TRAFFIC_ID = 0
mnoptical.ofcdemo.Demo_Control.LIGHTPATH_ID = 0
mnoptical.ofcdemo.Demo_Control.NUM_NODE = 4
mnoptical.ofcdemo.Demo_Control.NAME_ROADM = []
mnoptical.ofcdemo.Demo_Control.UP_TRAF_TIME_LIST = []
mnoptical.ofcdemo.Demo_Control.UP_TRAF_ID_SET
mnoptical.ofcdemo.Demo_Control.UP_LIGHTPATH_TIME_LIST = []
mnoptical.ofcdemo.Demo_Control.UP_LIGHTPATH_ID_SET
mnoptical.ofcdemo.Demo_Control.ALL_CHANNELS
mnoptical.ofcdemo.Demo_Control.RU_ROADMS = []
mnoptical.ofcdemo.Demo_Control.DU_ROADMS
mnoptical.ofcdemo.Demo_Control.ROADM_TRAF
mnoptical.ofcdemo.Demo_Control.name_roadms = []
mnoptical.ofcdemo.Demo_Control.name_terminals = []
mnoptical.ofcdemo.Demo_Control.ROADM_TO_TERMINAL
mnoptical.ofcdemo.Demo_Control.TERMINAL_TO_ROADM
mnoptical.ofcdemo.Demo_Control.ROADM_TO_ID
mnoptical.ofcdemo.Demo_Control.TERMINAL_TO_ID
mnoptical.ofcdemo.Demo_Control.node
mnoptical.ofcdemo.Demo_Control.Span(km, amp=None)

Return a fiber segment of length km with a compensating amp

mnoptical.ofcdemo.Demo_Control.RoadmPhyNetwork()

ROADM network topo

mnoptical.ofcdemo.Demo_Control.Mininet_installPath(lightpath_id, path, channel, power=0)

intall switch rules on roadms along a lightpath for some signal channels

mnoptical.ofcdemo.Demo_Control.Mininet_uninstallPath(lightpath_id)

delete switch rules on roadms along a lightpath for some signal channels

mnoptical.ofcdemo.Demo_Control.Mininet_setupLightpath(lightpath_id, path, channel)

configure a lightpath

mnoptical.ofcdemo.Demo_Control.Mininet_teardownLightpath(lightpath_id)

remove a lightpath

mnoptical.ofcdemo.Demo_Control.Mininet_monitorLightpath(lightpath_id)

monitoring a signal along a lightpath

mnoptical.ofcdemo.Demo_Control.Lumentum_installPath(lightpath_id, path, channel)

intall switch rules on roadms along a lightpath for some signal channels

mnoptical.ofcdemo.Demo_Control.Lumentum_uninstallPath(lightpath_id)

delete switch rules on roadms along a lightpath for some signal channels

mnoptical.ofcdemo.Demo_Control.Lumentum_setupLightpath(lightpath_id, path, channel)

configure a lightpath

mnoptical.ofcdemo.Demo_Control.Lumentum_teardownLightpath(lightpath_id)

remove a lightpath

mnoptical.ofcdemo.Demo_Control.Lumentum_MonitorLightpath(lightpath_id)
mnoptical.ofcdemo.Demo_Control.linkspec(link)

Return specifier dict(node1, port1, node2, port2) for link

mnoptical.ofcdemo.Demo_Control.netGraph(links)

Return an adjacency dict for links

mnoptical.ofcdemo.Demo_Control.FindRoute(src, graph, destinations, k=1)

Route from src to destinations neighbors: adjacency list returns: routes dict

mnoptical.ofcdemo.Demo_Control.waveAvailibility(path)
mnoptical.ofcdemo.Demo_Control.waveSelection(channels)
mnoptical.ofcdemo.Demo_Control.install_Lightpath(path, channel, up_time=0.0, down_time=float('inf'), Mininet=False)

install switch rules on roadms along a lightpath for some signal channels, update control database

mnoptical.ofcdemo.Demo_Control.check_lightpath_for_traf(src, dst)

check if there are some provisioned lighpaths for CPRI traf

mnoptical.ofcdemo.Demo_Control.update_lightpath_down_time(lightpath_id, down_time)

if there is a traf, update lightpath teardown time

mnoptical.ofcdemo.Demo_Control.traf_to_lightpah_Assignment(traf_id, lightpath_id, down_time=float('inf'))

assign a traffic to a lightpath, update control database

mnoptical.ofcdemo.Demo_Control.install_Traf(src, dst, routes, cur_time, down_time=float('inf'), Mininet=False)

source RRH node to destination BBU node

mnoptical.ofcdemo.Demo_Control.uninstall_Lightpath(lightpath_id, Mininet=False)

delete switch rules on roadms along a lightpath for some signal channels

mnoptical.ofcdemo.Demo_Control.traf_to_lightpath_Release(traf_id)
mnoptical.ofcdemo.Demo_Control.trafficPattern(pattern, time)

24 hour normalized traffic resident area: 40% resident, 20% entertainment, 18% office, 22% transport office area: 37% office, 18% entertainment, 16% resident, 29% transport entertainment area: 39% entertainment, 23% office, 11% resident, 28% transport

  1. 24.33 Gbps CPRI OPTION 10 -> 1.5 Gbps

(2) 9600 towers, Maximum wireless traffic is 8.5 * 10**11 bytes/ 10 mins -> 6.8*10**12 bit -> 6800 G/ 10 min = 11.3 Gbps -> 183.8 Gbps CPRI OPTION 10 (3) Max traffic: 8 requests per second for CPRI OPTION 8

mnoptical.ofcdemo.Demo_Control.TrafficTest(Mininet_Enable=False)
mnoptical.ofcdemo.Demo_Control.testMininet()