]> git.sesse.net Git - nms/blobdiff - config/make-port-config.pl
Ordering in portconfig.
[nms] / config / make-port-config.pl
old mode 100644 (file)
new mode 100755 (executable)
index 769c580..72416a0
@@ -1,7 +1,8 @@
 #! /usr/bin/perl
 open PATCHLIST, "<patchlist.txt"
        or die "patchlist.txt: $!";
-my %distros = ();
+my %vlans = ();
+my %ports = ();
 
 while (<PATCHLIST>) {
        chomp;
@@ -12,35 +13,43 @@ while (<PATCHLIST>) {
 
        my $ip;
        if ($switch == 1) {
-               $ip = "87.76." . ($row - 1) . "1";
+               $ip = "87.76." . ($row) . ".1";
        } elsif ($switch == 2) {
-               $ip = "87.76." . ($row - 1) . "65";
+               $ip = "87.76." . ($row) . ".65";
        } elsif ($switch == 3) {
-               $ip = "87.76." . ($row - 1) . "129";
+               $ip = "87.76." . ($row) . ".129";
        } elsif ($switch == 4) {
-               $ip = "87.76." . $row . "1";
+               $ip = "87.76." . ($row + 1) . ".1";
        } elsif ($switch == 5) {
-               $ip = "87.76." . $row . "65";
+               $ip = "87.76." . ($row + 1) . ".65";
        } elsif ($switch == 6) {
-               $ip = "87.76." . $row . "129";
+               $ip = "87.76." . ($row + 1) . ".129";
        }
 
        my $vlan = "$row$switch";
+       my $ipv6 = sprintf "F%02u%u", $row, $switch;
 
-       $distros{$distro} .= <<"EOF";
+       $vlans{$distro} .= <<"EOF";
 vlan $vlan
   name $name
 !
+EOF
+       $ports{$distro} .= <<"EOF";
 default interface vlan $vlan
-interface $vlan
+interface vlan $vlan
   description $name
   ip address $ip 255.255.255.192
   ip directed-broadcast 10
   ip helper-address 87.76.254.2
   no ip proxy-arp
+  ip access-group great-wall-of-tg in
+  ipv6 address 2001:16D8:FFFF:${ipv6}::1/64
+  ip igmp version 2
+  ip pim sparse-mode
   no shutdown
+  exit
 !
 default interface $port
 interface $port
  description $name
@@ -50,16 +59,18 @@ interface $port
  spanning-tree portfast
  spanning-tree bpduguard enable
 
- ip igmp snooping
  storm-control broadcast level 2
  no shutdown
-
+ exit
+!
 EOF
 }
 
-for my $distro (keys %distros) {
+for my $distro (keys %vlans) {
        open DISTRO, ">$distro-config"
                or die "$distro-config: $!";
-       print DISTRO $distros{$distro};
+       print DISTRO $vlans{$distro};
+       print DISTRO $ports{$distro};
+       print DISTRO "end\n";
        close DISTRO;
 }