123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- #!/usr/bin/perl
- use strict;
- use DBI;
- use vars qw(%VLANS $DB_USER $DB_PASS);
- require 'dbi.ph';
- %VLANS = (
- 'SDCC' =>
- {'ip' => '10.101', 'vlan' => 'Vlan100', 'gw' => '10.101.0.1',},
- 'NODE' =>
- {'ip' => '10.102', 'vlan' => 'Vlan100', 'gw' => '10.102.0.1',},
- 'HILTON' =>
- {'ip' => '10.103', 'vlan' => 'Vlan100', 'gw' => '10.103.0.1',},
- 'HYATT' =>
- {'ip' => '10.104', 'vlan' => 'Vlan100', 'gw' => '10.104.0.1',},
- );
- my $dsn = "DBI:mysql:database=noc";
- my $dbh = DBI->connect($dsn, $DB_USER, $DB_PASS, {PrintError => 0})
- or die "ERROR: Failed to connect to the database.";
- foreach my $loc (keys %VLANS) {
- my $lref = $VLANS{$loc};
- my $vlan = $lref->{'vlan'};
- my $ip = $lref->{'ip'};
- my $gw = $lref->{'gw'};
- for (my $i = 1 ; $i < 256 ; $i++) {
- for (my $j = 1 ; $j < 255 ; $j++) {
- my $sql =
- 'REPLACE INTO ADDRESSES (address, router, mask, mgmt_vlan, location, used) VALUES (?, ?, ?, ?, ?, ?)';
- my $sth = $dbh->prepare($sql);
- if (!$sth) {
- print STDERR "Failed to prepare query '$sql': "
- . $dbh->errstr . "\n";
- next;
- }
- my @params = (
- $ip . ".$i.$j",
- $gw, '255.255.0.0', $vlan, $loc, '0'
- );
- my $res = $sth->execute(@params);
- if (!$res) {
- print STDERR "Failed to execute query '$sql': "
- . $dbh->errstr . "\n";
- next;
- }
- }
- }
- }
|