X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=config%2Fmake-port-config.pl;h=72416a0ae0340c1b84ad746ae878cb7c571bd0f9;hb=ea6dfbe82f8c2be844a374b0f237dce4f1737562;hp=769c580118a9e28c5ca43fb23e852939faf96a5f;hpb=07d92d8b9eeb73d1813e67a66b2bcb467a559407;p=nms diff --git a/config/make-port-config.pl b/config/make-port-config.pl old mode 100644 new mode 100755 index 769c580..72416a0 --- a/config/make-port-config.pl +++ b/config/make-port-config.pl @@ -1,7 +1,8 @@ #! /usr/bin/perl open PATCHLIST, ") { chomp; @@ -12,35 +13,43 @@ while () { 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; }