use strict;
use lib '../include';
-use nms;
-use ios;
+use Data::Dumper;
+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);
+
+if ($#ARGV < 1) {
+ die "Not enough arguments to zyxelng.pl $#ARGV";
+}
+
+my $oldip = $ARGV[0];
+my $newip = $ARGV[1];
+#$switchname = $ARGV[2];
+
+my $one = 0;
+
+my $switchip;
+#$switchip = "87.76.250.226" if $one;
+#$switchip = "192.168.2.150" if $one;
+#$switchip = "192.168.1.1" unless $one;
+$switchip = $oldip;
+my $switch = switch_connect($switchip)
+ or die "Could not connect to $switchip";
+
+my $cmds1 = <<EOF
+sys hostname es-3024
+ip igmpsnoop enable
+EOF
+;
+
+foreach (split(/\n+/, $cmds1)) {
+ print "Sending: '$_'\n";
+ switch_exec($_, $switch);
+}
+
+my $cmd;
+#$cmd = "ip ifconfig swif0 192.168.1.1/24" if $one;
+#$cmd = "ip ifconfig swif0 192.168.2.150/24" unless $one;
+$cmd = "ip ifconfig swif0 $newip/30";
+
+print "Sending '$cmd'\n";
+my $pid = fork();
+if ($pid == 0) {
+ print "Sending ifconfig.. $cmd\n";
+ switch_exec($cmd, $switch);
+ exit 0;
+} else {
+ #switch_exec($cmd, $switch, 1);
+ print "Sleeping...\n";
+ sleep 1;
+}
+$switch->close();
+
+#print "Reconnecting... ";
+##$switchip = "192.168.1.1" if $one;
+##$switchip = "192.168.2.150" unless $one;
+#$switchip = $newip;
+#autoflush STDOUT 1;
+#print "Connecting to: $switchip...\n";
+#my $i = 1;
+#while(1) {
+# $switch = switch_connect($switchip);
+#
+# #print (defined($switch)? $switch : "foo") ." <---- switch\n";
+# if (defined($switch) || $switch) {
+# last;
+# }
+# printf("Waited $i seconds...\r");
+# $i++;
+# sleep 1;
+#}
+#print "\n";
+
+#print $switch."\n";
+#$cmd = "sys sw vlan1q svlan cpu 248";
+#print "Sending '$cmd'\n";
+#print "XXX: No we did not...";
+#print Dumper($switch->cmd("ip ifconfig"));
+#print Dumper($switch->cmd("ip route status"));
+#switch_exec($cmd, $switch, 1);