#! /usr/bin/perl
open PATCHLIST, "<patchlist.txt"
or die "patchlist.txt: $!";
-my %distros = ();
+my %vlans = ();
+my %ports = ();
while (<PATCHLIST>) {
chomp;
}
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 $vlan
description $name
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
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;
}