]> git.sesse.net Git - nms/blob - zyxel/switchmap.py
Switch to a predefined starting VLAN for each distro.
[nms] / zyxel / switchmap.py
1 #! /usr/bin/env python
2
3 from zyxelcommon import *
4 distro_num_switches = [ 0, 0, 0, 0, 0, 0, 0, 0 ];
5 distro_vlan_start = [ 301, 405, 509, 617, 727, 835, 938, 1041 ];
6
7 vlans = {}
8
9 print "    ",
10 for sw in range(1,7):
11         print "%9u            " % sw,
12         if sw == 3:
13                 print "   ",
14 print ""
15
16 for row in range(1,73,2):
17         print "\e[37;0m%2u: " % row,
18         for sw in range(1,7):
19                 if (row <= 3 and sw <= 3) or (row >= 67 and (sw == 1 or sw == 6)) or (row >= 71 and (sw <= 3)):
20                         print "%-20s " % "",
21                 else:
22                         ip = retIP((row,sw))
23                         distro = int(retSubnet((row,sw))) - 241
24                         vlan = (distro_num_switches[distro] / 5) + distro_vlan_start[distro]
25                         distro_num_switches[distro] = distro_num_switches[distro] + 1
26
27                         text = "%s/%u" % (ip, vlan)
28                         swname = "e%u-sw%u" % (row, sw)
29
30                         try:
31                                 vlans[vlan].append(swname)
32                         except KeyError:
33                                 vlans[vlan] = [swname]
34                         
35                         padding1 = "".join(["="] * ((21-len(text))/2))
36                         padding2 = "".join(["="] * ((22-len(text))/2))
37                         print "".join(("\e[30;1m", padding1, retColor((row,sw)), text, "\e[30;1m", padding2)),
38                         
39                 if sw == 3:
40                         print "   ",
41         print ""
42         if row in (17, 33, 49, 65):
43                 print ""
44
45 # evil side-effect =)
46 switches = open("switches-zyxel.txt","w")
47 vlan_list = vlans.keys()
48 vlan_list.sort()
49
50 i = 1;
51 for vlan in vlan_list:
52         switches.write("194.0.%u.0 24 split:%s\n" % (i, ",".join(vlans[vlan])))
53         i = i + 1