X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=src%2Femuvim%2Fdcemulator%2Fnet.py;h=110256e5619b042b83742659f6576bb43178e931;hb=adfd06fbf80d9d12065bc7bb8903cb1c784fab60;hp=c3c3c03e86adaf34b2a9cc9ccebc18f03cb03100;hpb=8675d09a5488f60a856145f92380db6066200484;p=osm%2Fvim-emu.git diff --git a/src/emuvim/dcemulator/net.py b/src/emuvim/dcemulator/net.py index c3c3c03..110256e 100755 --- a/src/emuvim/dcemulator/net.py +++ b/src/emuvim/dcemulator/net.py @@ -26,7 +26,7 @@ class DCNetwork(Dockernet): This class is used by topology definition scripts. """ - def __init__(self, controller=RemoteController, + def __init__(self, controller=RemoteController, monitor=False, dc_emulation_max_cpu=1.0, # fraction of overall CPU time for emulation dc_emulation_max_mem=512, # emulation max mem in MB **kwargs): @@ -55,7 +55,10 @@ class DCNetwork(Dockernet): self.DCNetwork_graph = nx.MultiDiGraph() # monitoring agent - self.monitor_agent = DCNetworkMonitor(self) + if monitor: + self.monitor_agent = DCNetworkMonitor(self) + else: + self.monitor_agent = None # initialize resource model registrar self.rm_registrar = ResourceModelRegistrar( @@ -175,11 +178,17 @@ class DCNetwork(Dockernet): Dockernet.start(self) def stop(self): - # stop Ryu controller + + # stop the monitor agent + if self.monitor_agent is not None: + self.monitor_agent.stop() + + # stop emulator net Dockernet.stop(self) + + # stop Ryu controller self.stopRyu() - # stop the monitor agent - self.monitor_agent.stop() + def CLI(self): CLI(self)