-import sioc
-import bwlimit
-import logger
-import string
-import iptables
-import os
-import plnet
-
-def GetSlivers(plc, data):
- InitInterfaces(plc, data)
- InitNodeLimit(data)
- InitI2(plc, data)
+# system provided modules
+import os, string, time, socket
+
+# PlanetLab system modules
+import sioc, plnet
+
+# local modules
+import bwlimit, logger, iptables
+
+def start(options, conf):
+ logger.log("net plugin starting up...")
+
+def GetSlivers(plc, data, config):
+ logger.verbose("net:GetSlivers called.")
+ InitInterfaces(plc, data) # writes sysconfig files.
+ if 'OVERRIDES' in dir(config):
+ if config.OVERRIDES.get('net_max_rate') == '-1':
+ logger.log("net: Slice and node BW Limits disabled.")
+ if len(bwlimit.tc("class show dev eth0")):
+ logger.verbose("*** DISABLING NODE BW LIMITS ***")
+ bwlimit.stop()
+ else:
+ InitNodeLimit(data)
+ InitI2(plc, data)
+ else:
+ InitNodeLimit(data)
+ InitI2(plc, data)