]> git.sesse.net Git - nms/blob - clients/dhcpv6gen.pl
Merge.
[nms] / clients / dhcpv6gen.pl
1 open PATCHLIST, "/root/nms/switches.txt"
2         or die "switches.txt: $!";
3 my %vlans = ();
4
5 while (<PATCHLIST>) {
6         if (/87\.76\.(\d+)\.(\d+) 26 e(\d+)-(\d+)/) {
7                 my $vlannum = $3.$4;
8                 my $helper = "87.76.$1." . ($2+1);
9                 my $name = "e$3-$4";
10                 my $z = sprintf "f%03u", $vlannum;
11                 $z =~ /(.)(.)(.)(.)/; $vlans{$helper} = [ $vlannum, $name, "$4.$3.$2.$1" ];
12         }
13 }
14
15 while (<>) {
16         /DHCPOFFER on 87.76.\d+.\d+ to 00:(.)(.):(.)(.):(.)(.):(.)(.):(.)(.) \((.*?)\) via (\d+\.\d+\.\d+\.\d+)/ or next;
17         my $v = $vlans{$12};
18         open NSUPDATE, "| nsupdate -y DHCP_UPDATER:F388UOhaIIKHRH9TDE5PTA==";
19         print NSUPDATE <<"EOF";
20 server 127.0.0.1
21 update delete $11.v6.$v->[1].tg07.gathering.org. AAAA
22 update add $11.v6.$v->[1].tg07.gathering.org. 3600 AAAA 2001:16d8:ffff:f$v->[0]:02$1$2:$3$4ff:fe$5$6:$7$8$9$10
23 send
24 update delete $10.$9.$8.$7.$6.$5.e.f.f.f.$4.$3.$2.$1.2.0.$v->[2].f.f.f.f.8.d.6.1.1.0.0.2.ip6.arpa. PTR
25 update add $10.$9.$8.$7.$6.$5.e.f.f.f.$4.$3.$2.$1.2.0.$v->[2].f.f.f.f.8.d.6.1.1.0.0.2.ip6.arpa. 3600 PTR $11.v6.$v->[1].tg07.gathering.org.
26 send
27 EOF
28         close NSUPDATE;
29 }
30