Can disable slice HTB's via PLC_SlICE_PREFIX+_default: sliceattribute net_max_rate=-1
[nodemanager.git] / net.py
diff --git a/net.py b/net.py
index 16953aa..bb60f1f 100644 (file)
--- a/net.py
+++ b/net.py
@@ -9,8 +9,10 @@ import logger
 import string
 import iptables
 import os
+import plnet
 
 def GetSlivers(plc, data):
+    InitInterfaces(plc, data)
     InitNodeLimit(data)
     InitI2(plc, data)
     InitNAT(plc, data)
@@ -23,12 +25,10 @@ def InitNodeLimit(data):
     for dev in devs:
         macs[sioc.gifhwaddr(dev).lower()] = dev
 
-    # XXX Exempt Internet2 destinations from node bwlimits
-    # bwlimit.exempt_init('Internet2', internet2_ips)
     for network in data['networks']:
         # Get interface name preferably from MAC address, falling
         # back on IP address.
-        if macs.has_key(network['mac']):
+        if macs.has_key(network['mac'].lower()):
             dev = macs[network['mac'].lower()]
         elif ips.has_key(network['ip']):
             dev = ips[network['ip']]
@@ -100,7 +100,7 @@ def InitNAT(plc, data):
             continue
 
         try:
-            settings = plc.GetInterfaceSettings({'interface_setting_id': network['interface_setting_ids']})
+            settings = plc.GetInterfaceTags({'interface_tag_id': network['interface_tag_ids']})
         except:
             continue
         # XXX arbitrary names
@@ -125,5 +125,10 @@ def InitNAT(plc, data):
                     ipt.add_pf(fields)
     ipt.commit()
 
+def InitInterfaces(plc, data):
+    if not 'networks' in data:
+        return
+    plnet.InitInterfaces(logger, plc, data)
+
 def start(options, config):
     pass