Changeset 289ff7e for fedd


Ignore:
Timestamp:
Mar 4, 2010 3:18:33 PM (15 years ago)
Author:
Ted Faber <faber@…>
Branches:
axis_example, compt_changes, info-ops, master, version-3.01, version-3.02
Children:
c119839
Parents:
6280b1f
Message:

Netmasks

File:
1 edited

Legend:

Unmodified
Added
Removed
  • fedd/federation/experiment_control.py

    r6280b1f r289ff7e  
    12561256
    12571257        for idx, s in enumerate(subs):
    1258             a = ips.allocate(len(s.interfaces)+2)
     1258            net_size = len(s.interfaces)+2
     1259
     1260            a = ips.allocate(net_size)
    12591261            if a :
    12601262                base, num = a
    1261                 if num < len(s.interfaces) +2 :
     1263                if num < net_size:
    12621264                    raise service_error(service_error.internal,
    12631265                            "Allocator returned wrong number of IPs??")
     
    12651267                raise service_error(service_error.req,
    12661268                        "Cannot allocate IP addresses")
     1269            mask = 2
     1270            while 2 **mask < net_size:
     1271                mask += 1
     1272
     1273            netmask = ((2**32-1) ^ (mask**2 -1))
     1274            print "%d %x" % (mask , netmask)
    12671275
    12681276            base += 1
     
    12711279                        topdl.Attribute('ip4_address',
    12721280                            "%s" % ip_addr(base)))
     1281                i.attribute.append(
     1282                        topdl.Attribute('ip4_netmask',
     1283                            "%s" % ip_addr(int(netmask))))
     1284
    12731285                hname = i.element.name[0]
    12741286                if ifs.has_key(hname):
Note: See TracChangeset for help on using the changeset viewer.