X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=zyxel%2Fswitchmap.py;h=479d08289a849f74c0450cfaed5acdc6ec8265bf;hb=40d6c7e02855fa3bb3cf35805efe853051c88ea5;hp=d1fba3667199f63feff199b06bc8667711df2a42;hpb=435c79d08fdcd319e9876e65db8629d958832b39;p=nms diff --git a/zyxel/switchmap.py b/zyxel/switchmap.py index d1fba36..479d082 100755 --- a/zyxel/switchmap.py +++ b/zyxel/switchmap.py @@ -1,22 +1,67 @@ #! /usr/bin/env python from zyxelcommon import * +distro_num_switches = [ 0, 0, 0, 0, 0, 0, 0, 0 ] +# distro_vlan_start = [ 301, 405, 509, 617, 727, 835, 938, 1041 ] +distro_vlan_start = [ 301, 401, 501, 601, 701, 801, 901, 1001 ] +switches_per_cnet = 1 + +vlans = {} print " ", for sw in range(1,7): - print "%7u " % sw, + print "%9u " % sw, if sw == 3: print " ", print "" -for row in range(1,75,2): - print "%2u: " % row, +for row in range(1,73,2): + print "%2u: " % row, for sw in range(1,7): - if (row <= 3 and sw <= 3) or (row >= 69 and (sw == 1 or sw == 6)): - print "%-16s " % "", + if (row <= 3 and sw <= 3) or (row >= 67 and (sw == 1 or sw == 6)) or (row >= 71 and (sw <= 3)): + print "%-20s " % "", else: - print retColor((row,sw)), "%-15s " % retIP((row,sw)), + ip = retIP((row,sw)) + distro = int(retSubnet((row,sw))) - 241 +# vlan = (distro_num_switches[distro] / switches_per_cnet) + distro_vlan_start[distro] + vlan = row * 10 + sw + distro_num_switches[distro] = distro_num_switches[distro] + 1 + + text = "%s/%u" % (ip, vlan) + swname = "e%u-sw%u" % (row, sw) + + try: + vlans[vlan].append(swname) + except KeyError: + vlans[vlan] = [swname] + + padding1 = "".join(["="] * ((21-len(text))/2)) + padding2 = "".join(["="] * ((22-len(text))/2)) + print "".join(("", padding1, retColor((row,sw)), text, "", padding2)), if sw == 3: print " ", print "" + if row in (17, 33, 49, 65): + print "" + +# evil side-effect =) +switches = open("switches-zyxel.txt","w") +vlan_list = vlans.keys() +vlan_list.sort() + +i = 1; +for vlan in vlan_list: + row = vlan / 10 + num = vlan % 10 + + cnet_major = row + if (num > 3): + cnet_major = cnet_major + 1 + cnet_minor = (num-4) * 64 + else: + cnet_minor = (num-1) * 64 + +# switches.write("194.0.%u.0 24 split:%s\n" % (i, ",".join(vlans[vlan]))) + switches.write("194.0.%u.%u 26 e%u-sw%u\n" % (cnet_major, cnet_minor, row, num)) + i = i + 1