]> git.sesse.net Git - nms/blobdiff - config/make-port-config.pl
Ordering in portconfig.
[nms] / config / make-port-config.pl
index 83fa99700ec649008a143af0ceb42030f058d49f..72416a0ae0340c1b84ad746ae878cb7c571bd0f9 100755 (executable)
@@ -1,7 +1,8 @@
 #! /usr/bin/perl
 open PATCHLIST, "<patchlist.txt"
        or die "patchlist.txt: $!";
-my %distros = ();
+my %vlans = ();
+my %ports = ();
 
 while (<PATCHLIST>) {
        chomp;
@@ -26,21 +27,29 @@ while (<PATCHLIST>) {
        }
 
        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,17 +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;
 }