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