]> git.sesse.net Git - nms/commitdiff
Some zyxelng-magic, set a new ip and add the config to the zyxel, no saving.
authorEirik A. Nygaard <eirikald@pvv.ntnu.no>
Tue, 3 Apr 2007 08:19:19 +0000 (10:19 +0200)
committerEirik A. Nygaard <eirikald@pvv.ntnu.no>
Tue, 3 Apr 2007 08:19:19 +0000 (10:19 +0200)
clients/zyxelng.pl

index e46f0fb66993ca9b810175227439b6b5037f0937..614838d56ea977e08e8ca9e1e709004ebbca0b5a 100644 (file)
@@ -5,13 +5,96 @@
 use strict;
 use lib '../include';
 
-use nms;
+use nms qw(switch_connect switch_exec);
 use ios;
 
+#my $t = nms::ios_connect('62.148.36.12', 'c', 'c', 'c');
 
-my $t = nms::ios_connect('62.148.36.12', 'c', 'c', 'c');
+#print STDERR "No such network 192.168.1.0\n" if nms::ios_getroute($t, "192.168.1.0") == 0;
 
-print STDERR "No such network 192.168.1.0\n" if nms::ios_getroute($t, "192.168.1.0") == 0;
+#nms::ios_close($t);
 
-nms::ios_close($t);
+my $one = 1;
+
+my $switchip;
+$switchip = "87.76.250.226" if $one;
+#$switchip = "192.168.2.150" if $one;
+$switchip = "192.168.1.1" unless $one;
+my $switch = switch_connect($switchip);
+
+my $cmds1 = <<EOF
+sys hostname es-3024
+ip igmpsnoop enable
+
+sys sw vlan type 802.1q
+sys sw vlan1q svlan setentry MNGT 248 25 fixed tag
+sys sw vlan1q svlan active 248
+sys sw vlan1q svlan setentry e01-1sw 1 25 fixed untag
+
+sys sw vlan1q svlan setentry MNGT 248 1 forbidden tag
+sys sw vlan1q svlan setentry MNGT 248 2 forbidden tag
+sys sw vlan1q svlan setentry MNGT 248 3 forbidden tag
+sys sw vlan1q svlan setentry MNGT 248 4 forbidden tag
+sys sw vlan1q svlan setentry MNGT 248 5 forbidden tag
+sys sw vlan1q svlan setentry MNGT 248 6 forbidden tag
+sys sw vlan1q svlan setentry MNGT 248 7 forbidden tag
+sys sw vlan1q svlan setentry MNGT 248 8 forbidden tag
+sys sw vlan1q svlan setentry MNGT 248 9 forbidden tag
+sys sw vlan1q svlan setentry MNGT 248 10 forbidden tag
+sys sw vlan1q svlan setentry MNGT 248 11 forbidden tag
+sys sw vlan1q svlan setentry MNGT 248 12 forbidden tag
+sys sw vlan1q svlan setentry MNGT 248 13 forbidden tag
+sys sw vlan1q svlan setentry MNGT 248 14 forbidden tag
+sys sw vlan1q svlan setentry MNGT 248 15 forbidden tag
+sys sw vlan1q svlan setentry MNGT 248 16 forbidden tag
+sys sw vlan1q svlan setentry MNGT 248 17 forbidden tag
+sys sw vlan1q svlan setentry MNGT 248 18 forbidden tag
+sys sw vlan1q svlan setentry MNGT 248 19 forbidden tag
+sys sw vlan1q svlan setentry MNGT 248 20 forbidden tag
+sys sw vlan1q svlan setentry MNGT 248 21 forbidden tag
+sys sw vlan1q svlan setentry MNGT 248 22 forbidden tag
+sys sw vlan1q svlan setentry MNGT 248 23 forbidden tag
+sys sw vlan1q svlan setentry MNGT 248 24 forbidden tag
+EOF
+;
+#
+foreach (split(/\n+/, $cmds1)) {
+       print "Sending: '$_'\n";
+       switch_exec($_, $switch);
+}
+$switch->close();
+
+my $cmd;
+$cmd = "ip ifconfig swif0 192.168.1.1/24" if $one;
+$cmd = "ip ifconfig swif0 192.168.2.150/24" unless $one;
+print "Sending '$cmd'\n";
+my $pid = fork();
+if ($pid == 0) {
+       switch_exec($cmd, $switch);
+       exit 0;
+} else {
+       print "Sleeping...\n";
+       sleep 1;
+}
+$switch->close();
+print "Reconnecting... ";
+$switchip = "192.168.1.1" if $one;
+$switchip = "192.168.2.150" unless $one;
+do {
+       print "Connecting to: $switchip\n";
+       $switch = switch_connect($switchip);
+       
+       print (defined($switch)? $switch : "foo") ." <---- switch\n";
+       if (defined($switch) || $switch) {
+               last;
+       }
+       print ".";
+       sleep 1;
+} while (1);
+print "\n";
+
+print $switch."\n";
+$cmd = "sys sw vlan1q svlan cpu 248";
+print "Sending '$cmd'\n";
+switch_exec($cmd, $switch, 1);