mnoptical.ofcdemo.netconfserver

netconfserver.py: simple netconf server for mininet-optical

TODO:

  • implement boost/preamp configuration for new simulator version

  • improve configuration report

  • implement configuration updates

Module Contents

Classes

NetconfAgent

Netconf agent for single (Lumentum-like) ROADM

NetconfServer

Collection of Netconf agents for Mininet-Optical network

Functions

debug(*args, **kwargs)

debug print

xmlstring(atree)

Return lxml element as a string

parseconn(conn)

Parse config connection and return <dn>,<config> as dicts

runTestServer()

Run netconf server in test mode

Attributes

linein

lineout

EdfaNsmap

ConnNsmap

nsmap

SSLKeyFileDefault

NetconfPortBase

Debug

configNs

mnoptical.ofcdemo.netconfserver.linein = 5101
mnoptical.ofcdemo.netconfserver.lineout = 4201
mnoptical.ofcdemo.netconfserver.EdfaNsmap
mnoptical.ofcdemo.netconfserver.ConnNsmap
mnoptical.ofcdemo.netconfserver.nsmap
mnoptical.ofcdemo.netconfserver.SSLKeyFileDefault = 'fakeserver.key'
mnoptical.ofcdemo.netconfserver.NetconfPortBase = 1830
mnoptical.ofcdemo.netconfserver.Debug = False
mnoptical.ofcdemo.netconfserver.debug(*args, **kwargs)

debug print

mnoptical.ofcdemo.netconfserver.xmlstring(atree)

Return lxml element as a string

mnoptical.ofcdemo.netconfserver.configNs
mnoptical.ofcdemo.netconfserver.parseconn(conn)

Parse config connection and return <dn>,<config> as dicts

class mnoptical.ofcdemo.netconfserver.NetconfAgent(roadm, port=None, username=None, password=None, sslkeyfile=SSLKeyFileDefault)

Netconf agent for single (Lumentum-like) ROADM

nc_append_capabilities(caps)

Add our base netconf capability

rpc_get(session, rpc, filter_or_none)

Get some config data

rpc_get_config(session, rpc, source_elm, filter_or_none)

Passed the source element

rpc_edit_config(session, rpc, source_elm, filter_or_none)
updateConnections(inport, outport, channels, conn)
rpc_disable_als(session, rpc, *params)
rpc_remove_all_connections(session, rpc, *params)
rpc_delete_connection(session, rpc, *params)
delete_connection_dn(dn)
stop()

Shut down Netconf server

add_config(data)

Add config entries to rpc return data

add_edfas(data)

Add EDFA config to data

findInputPower(ch)

Return first signal power at ROADM’s line input for channel

findOutputPower(ch)

Return first signal power at ROADM’s line output for channel

add_connections(data)
class mnoptical.ofcdemo.netconfserver.NetconfServer(net, **params)

Collection of Netconf agents for Mininet-Optical network

start()

Start up netconf agents

stop()
mnoptical.ofcdemo.netconfserver.runTestServer()

Run netconf server in test mode