aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbootstrap/fetch-ubuntulive.sh21
-rwxr-xr-xclients/ping.pl4
-rwxr-xr-xclients/portnames.pl2
-rwxr-xr-xclients/smanagrun.pl65
-rwxr-xr-xinclude/nms.pm32
-rw-r--r--netlist.txt358
-rw-r--r--patchlist.txt275
-rw-r--r--switches.txt275
-rwxr-xr-xtools/fetch-portlist.sh2
-rwxr-xr-xtools/make-switch-placements.pl2
-rwxr-xr-xtools/make-switches.pl8
-rw-r--r--web/etc/apache2/nms-public.tg15.gathering.org2
-rw-r--r--web/etc/apache2/nms.tg15.gathering.org8
-rw-r--r--web/etc/apache2/stream.tg15.gathering.org4
-rwxr-xr-x[-rw-r--r--]web/stream.gathering.org/embed.pl5
-rw-r--r--web/stream.gathering.org/embed.tmpl10
-rw-r--r--web/stream.gathering.org/index.tmpl27
-rw-r--r--web/stream.gathering.org/resources/css/core.css82
-rw-r--r--web/stream.gathering.org/resources/images/pixel-white.pngbin0 -> 2205 bytes
-rw-r--r--web/stream.gathering.org/resources/images/pixel_animation.gifbin0 -> 5002 bytes
-rw-r--r--web/streamlib/stream/config.pm32
21 files changed, 671 insertions, 543 deletions
diff --git a/bootstrap/fetch-ubuntulive.sh b/bootstrap/fetch-ubuntulive.sh
new file mode 100755
index 0000000..44d5d62
--- /dev/null
+++ b/bootstrap/fetch-ubuntulive.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+INSTALLER_DEST=$1
+UBUNTU_MIRROR=http://no.releases.ubuntu.com/
+UBUNTU_VERSION=desktop
+UBUNTU_DIST="14.10"
+UBUNTU_ARCH="i386 amd64"
+TMP_MNT="/mnt/tmp"
+
+mkdir -p ${TMP_MNT}
+for DIST in ${UBUNTU_DIST}
+do
+ for ARCH in ${UBUNTU_ARCH}
+ do
+ mkdir -p ${INSTALLER_DEST}/${UBUNTU_DIST}/${ARCH}
+ wget ${UBUNTU_MIRROR}/${DIST}/ubuntu-${DIST}-${UBUNTU_VERSION}-${ARCH}.iso -O /tmp/ubuntu-${DIST}-${UBUNTU_VERSION}-${ARCH}.iso &&
+ mount -o loop "/tmp/ubuntu-${DIST}-${UBUNTU_VERSION}-${ARCH}.iso" ${TMP_MNT}/ &&
+ cp -Rv ${TMP_MNT}/* ${INSTALLER_DEST}/${DIST}/${ARCH}/ &&
+ umount ${TMP_MNT}/
+ done
+ rmdir ${TMP_MNT}/
+done
diff --git a/clients/ping.pl b/clients/ping.pl
index b41febd..3bbdd8a 100755
--- a/clients/ping.pl
+++ b/clients/ping.pl
@@ -36,6 +36,7 @@ while (1) {
$ping->host_add($secondary_ip);
$secondary_ip_to_switch{$secondary_ip} = $switch;
}
+ print "ip: $ip\n";
}
my $result = $ping->ping();
die $ping->get_error if (!defined($result));
@@ -61,7 +62,7 @@ while (1) {
$dbh->pg_putcopyend();
$dbh->commit;
-
+ if (0) {
# ping linknets
$ping = Net::Oping->new;
$ping->timeout(0.2);
@@ -86,6 +87,7 @@ while (1) {
$dbh->pg_putcopyend();
$dbh->commit;
+ }
sleep 1;
}
diff --git a/clients/portnames.pl b/clients/portnames.pl
index 2b29189..52e433a 100755
--- a/clients/portnames.pl
+++ b/clients/portnames.pl
@@ -2,7 +2,7 @@
my ($host,$switchtype,$community) = @ARGV;
-open SNMP, "snmpwalk -Os -c $community -v 2c $host ifDescr |"
+open SNMP, "snmpwalk -Os -c $community -v 2c $host -mALL ifDescr |"
or die "snmpwalk: $!";
print "begin;\n";
diff --git a/clients/smanagrun.pl b/clients/smanagrun.pl
index 0546901..9f8efab 100755
--- a/clients/smanagrun.pl
+++ b/clients/smanagrun.pl
@@ -90,38 +90,43 @@ while (1) {
}
mylog("Connecting to $switch->{sysname} on $switch->{addr}");
- my $conn = switch_connect($switch->{addr});
- if (!defined($conn)) {
- mylog("Could not connect to ".$switch->{sysname}."(".$switch->{addr}.")");
- $sdelay->execute("Could not connect to switch, delaying...", $switch->{sysname});
- $sunlock->execute($switch->{sysname});
- $dbh->commit();
- next;
- }
- my $error;
- $error = $sgetallpoll->execute($switch->{sysname});
- if (!$error) {
- print "Could not execute sgetallpoll\n".$dbh->errstr();
- $conn->close;
- next;
- }
- while (my $row = $sgetallpoll->fetchrow_hashref()) {
- print "sysname: ".$row->{sysname}." cmd: ".$row->{cmd}."\n";
- my @data;
- my @commands = split(/[\r\n\000]+/, $row->{cmd});
- for my $cmd (@commands) {
- next unless $cmd =~ /\S/; # ignorer linjer med kun whitespace
- push @data, "# $cmd";
- if ($cmd =~ s/^!//) {
- push @data, switch_exec($cmd, $conn, 1);
- } else {
- push @data, switch_exec($cmd, $conn);
+ eval {
+ #my $conn = switch_connect($switch->{addr});
+ my $telnet = switch_connect_ssh($switch->{addr});
+ my $conn = $telnet->{telnet};
+ if (!defined($conn)) {
+ mylog("Could not connect to ".$switch->{sysname}."(".$switch->{addr}.")");
+ $sdelay->execute("Could not connect to switch, delaying...", $switch->{sysname});
+ $sunlock->execute($switch->{sysname});
+ $dbh->commit();
+ next;
+ }
+ my $error;
+ $error = $sgetallpoll->execute($switch->{sysname});
+ if (!$error) {
+ print "Could not execute sgetallpoll\n".$dbh->errstr();
+ $conn->close;
+ next;
+ }
+ while (my $row = $sgetallpoll->fetchrow_hashref()) {
+ print "sysname: ".$row->{sysname}." cmd: ".$row->{cmd}."\n";
+ my @data;
+ my @commands = split(/[\r\n\000]+/, $row->{cmd});
+ for my $cmd (@commands) {
+ next unless $cmd =~ /\S/; # ignorer linjer med kun whitespace
+ push @data, "# $cmd";
+ if ($cmd =~ s/^!//) {
+ push @data, switch_exec($cmd, $conn, 1);
+ } else {
+ push @data, switch_exec($cmd, $conn);
+ }
}
+ my $result = join("\n", @data);
+ $sresult->execute($result, $row->{id});
}
- my $result = join("\n", @data);
- $sresult->execute($result, $row->{id});
+ $conn->close();
+ waitpid($telnet->{pid}, 0);
+ $sunlock->execute($switch->{sysname});
}
- $conn->close();
- $sunlock->execute($switch->{sysname});
}
diff --git a/include/nms.pm b/include/nms.pm
index 8926648..e334679 100755
--- a/include/nms.pm
+++ b/include/nms.pm
@@ -2,6 +2,7 @@
use strict;
use warnings;
use DBI;
+use Net::OpenSSH;
use Net::Telnet;
use Data::Dumper;
use FixedSNMP;
@@ -9,7 +10,7 @@ use FileHandle;
package nms;
use base 'Exporter';
-our @EXPORT = qw(switch_disconnect switch_connect switch_exec switch_timeout db_connect);
+our @EXPORT = qw(switch_disconnect switch_connect_ssh switch_connect switch_exec switch_timeout db_connect);
BEGIN {
require "config.pm";
@@ -42,6 +43,35 @@ sub db_connect {
return $dbh;
}
+sub switch_connect_ssh($) {
+ my ($ip) = @_;
+ my $ssh = Net::OpenSSH->new($ip,
+ user => $nms::config::tacacs_user,
+ password => $nms::config::tacacs_pass);
+ my ($pty, $pid) = $ssh->open2pty({stderr_to_stdout => 1})
+ or die "unable to start remote shell: " . $ssh->error;
+
+ my $dumplog = FileHandle->new;
+ $dumplog->open(">>/tmp/dumplog-queue") or die "/tmp/dumplog-queue: $!";
+ #$dumplog->print("\n\nConnecting to " . $ip . "\n\n");
+
+ my $inputlog = FileHandle->new;
+ $inputlog->open(">>/tmp/inputlog-queue") or die "/tmp/inputlog-queue: $!";
+ #$inputlog->print("\n\nConnecting to " . $ip . "\n\n");
+
+ my $telnet = Net::Telnet->new(-fhopen => $pty,
+ -dump_log => $dumplog,
+ -input_log => $inputlog,
+ -prompt => '/.*\@e\d\d-\d> /',
+ -telnetmode => 0,
+ -cmd_remove_mode => 1,
+ -output_record_separator => "\r");
+ $telnet->waitfor(-match => $telnet->prompt,
+ -errmode => "return")
+ or die "login failed: " . $telnet->lastline;
+ return { telnet => $telnet, ssh => $ssh, pid => $pid, pty => $pty };
+}
+
sub switch_connect($) {
my ($ip) = @_;
diff --git a/netlist.txt b/netlist.txt
index 00651c7..b87423b 100644
--- a/netlist.txt
+++ b/netlist.txt
@@ -1,197 +1,165 @@
+## start manuelle nett
+151.216.227.0/24 2a02:ed02:227::/64 fugleberget1
+151.216.229.0/24 2a02:ed02:229::/64 game
+151.216.254.0/24 2a02:ed02:254::/64 noc
+151.216.224.0/24 2a02:ed02:224::/64 logistikk
+151.216.234.0/24 2a02:ed02:234::/64 lounge
+151.216.192.0/19 2a02:ed02:192::/64 tg15-wlan
+151.216.249.0/26 2a02:ed02:249a::/64 southcam
+151.216.241.0/24 2a02:ed02:241::/64 motell
+151.216.240.0/24 2a02:ed02:240::/64 studio
+151.216.178.0/26 2a02:ed02:178a::/64 ap-distro0
+151.216.178.64/26 2a02:ed02:178b::/64 ap-distro1
+151.216.178.128/26 2a02:ed02:178c::/64 ap-distro2
+151.216.178.192/26 2a02:ed02:178d::/64 ap-distro3
+151.216.179.0/26 2a02:ed02:179a::/64 ap-distro4
+151.216.179.64/26 2a02:ed02:179b::/64 ap-distro5
+151.216.179.128/26 2a02:ed02:179c::/64 ap-distro6
+151.216.179.192/26 2a02:ed02:179d::/64 ap-distro7
+## slutt manuelle nett
# make netlist.txt from switches.txt;
# cat switches.txt | perl -lne '($n,$v4,$v6)=split;print "$v4 $v6 $n";'
-151.216.177.0 25 komplett
-151.216.183.0 24 lounge
-151.216.185.0 25 flanke
-151.216.185.128 25 planke
-151.216.192.0 19 tg14-wlan
-151.216.224.0 24 logistikk
-151.216.225.0 24 hoa
-151.216.226.0 24 presse
-151.216.227.0 25 fugleberget1
-151.216.227.128 25 fugleberget2
-151.216.228.0 26 kompett
-151.216.228.64 26 kompott
-151.216.229.0 24 gayme
-151.216.230.0 24 info-dask
-151.216.232.0 25 resepsjon
-151.216.232.128 25 lavvo
-151.216.233.0 24 sponsor
-151.216.234.0 24 clientcam
-151.216.235.0 24 highlights
-151.216.240.0 24 medic
-151.216.242.0 24 scenegulv
-151.216.244.0 26 apenett01
-151.216.244.64 26 apenett02
-151.216.244.128 26 apenett03
-151.216.244.192 26 apenett04
-151.216.245.0 26 apenett05
-151.216.245.64 26 rohypnol
-151.216.245.128 27 apenett00
-151.216.245.160 27 apenett06
-151.216.245.192 27 apekatt
-151.216.250.0 24 bordell
-151.216.251.0 25 forsvarlig
-151.216.251.128 25 event-studio
-151.216.252.0 24 noc
-151.216.253.0 24 noc-server
-151.216.254.0 24 tele
-151.216.177.0 25 komplett
-# Start av switches.txt.crew
-151.216.163.0 26 creative1-1
-151.216.163.64 26 creative2-1
-151.216.163.128 26 creative3-1
-151.216.163.192 26 creative4-1
-151.216.164.0 26 creative4-2
-151.216.164.64 26 creative5-1
-151.216.164.128 26 creative5-2
-151.216.164.192 26 creative6-1
-151.216.165.0 26 creative6-2
-151.216.165.64 26 creative7-1
-151.216.165.128 26 creative7-2
-151.216.165.192 26 creative8-1
-151.216.166.0 26 creative8-2
-151.216.166.64 26 crew1-1
-151.216.166.128 26 crew2-1
-151.216.166.192 26 crew2-2
-151.216.167.0 26 crew3-1
-151.216.167.64 26 crew3-2
-151.216.167.128 26 crew4-1
-151.216.167.192 26 crew4-2
-# Slutt av switches.txt.crew
-# Start av switches.txt fra planning.cpp
-151.216.129.0 26 e1-3
-151.216.129.64 26 e1-4
-151.216.129.128 26 e3-3
-151.216.129.192 26 e3-4
-151.216.130.0 26 e5-3
-151.216.130.64 26 e5-4
-151.216.130.128 26 e7-3
-151.216.130.192 26 e7-4
-151.216.131.0 26 e9-3
-151.216.131.64 26 e9-4
-151.216.131.128 26 e11-1
-151.216.131.192 26 e11-2
-151.216.132.0 26 e11-3
-151.216.132.64 26 e11-4
-151.216.132.128 26 e13-1
-151.216.132.192 26 e13-2
-151.216.133.0 26 e13-3
-151.216.133.64 26 e13-4
-151.216.133.128 26 e15-1
-151.216.133.192 26 e15-2
-151.216.134.0 26 e15-3
-151.216.134.64 26 e15-4
-151.216.134.128 26 e17-1
-151.216.134.192 26 e17-2
-151.216.135.0 26 e17-3
-151.216.135.64 26 e17-4
-151.216.135.128 26 e19-1
-151.216.135.192 26 e19-2
-151.216.136.0 26 e19-3
-151.216.136.64 26 e19-4
-151.216.136.128 26 e21-1
-151.216.136.192 26 e21-2
-151.216.137.0 26 e21-3
-151.216.137.64 26 e21-4
-151.216.137.128 26 e23-1
-151.216.137.192 26 e23-2
-151.216.138.0 26 e23-3
-151.216.138.64 26 e23-4
-151.216.138.128 26 e25-1
-151.216.138.192 26 e25-2
-151.216.139.0 26 e25-3
-151.216.139.64 26 e25-4
-151.216.139.128 26 e27-1
-151.216.139.192 26 e27-2
-151.216.140.0 26 e29-1
-151.216.140.64 26 e29-2
-151.216.140.128 26 e31-1
-151.216.140.192 26 e31-2
-151.216.141.0 26 e33-1
-151.216.141.64 26 e33-2
-151.216.141.128 26 e35-1
-151.216.141.192 26 e35-2
-151.216.142.0 26 e37-1
-151.216.142.64 26 e37-2
-151.216.142.128 26 e39-1
-151.216.142.192 26 e39-2
-151.216.143.0 26 e41-1
-151.216.143.64 26 e41-2
-151.216.143.128 26 e43-1
-151.216.143.192 26 e43-2
-151.216.144.0 26 e43-3
-151.216.144.64 26 e43-4
-151.216.144.128 26 e45-1
-151.216.144.192 26 e45-2
-151.216.145.0 26 e45-3
-151.216.145.64 26 e45-4
-151.216.145.128 26 e47-1
-151.216.145.192 26 e47-2
-151.216.146.0 26 e47-3
-151.216.146.64 26 e47-4
-151.216.146.128 26 e49-1
-151.216.146.192 26 e49-2
-151.216.147.0 26 e49-3
-151.216.147.64 26 e49-4
-151.216.147.128 26 e51-1
-151.216.147.192 26 e51-2
-151.216.148.0 26 e51-3
-151.216.148.64 26 e51-4
-151.216.148.128 26 e53-1
-151.216.148.192 26 e53-2
-151.216.149.0 26 e53-3
-151.216.149.64 26 e53-4
-151.216.149.128 26 e55-1
-151.216.149.192 26 e55-2
-151.216.150.0 26 e55-3
-151.216.150.64 26 e55-4
-151.216.150.128 26 e57-1
-151.216.150.192 26 e57-2
-151.216.151.0 26 e57-3
-151.216.151.64 26 e57-4
-151.216.151.128 26 e59-1
-151.216.151.192 26 e59-2
-151.216.152.0 26 e59-3
-151.216.152.64 26 e59-4
-151.216.152.128 26 e61-1
-151.216.152.192 26 e61-2
-151.216.153.0 26 e61-3
-151.216.153.64 26 e61-4
-151.216.153.128 26 e63-1
-151.216.153.192 26 e63-2
-151.216.154.0 26 e63-3
-151.216.154.64 26 e63-4
-151.216.154.128 26 e65-1
-151.216.154.192 26 e65-2
-151.216.155.0 26 e65-3
-151.216.155.64 26 e65-4
-151.216.155.128 26 e67-1
-151.216.155.192 26 e67-2
-151.216.156.0 26 e67-3
-151.216.156.64 26 e67-4
-151.216.156.128 26 e69-1
-151.216.156.192 26 e69-2
-151.216.157.0 26 e69-3
-151.216.157.64 26 e69-4
-151.216.157.128 26 e71-1
-151.216.157.192 26 e71-2
-151.216.158.0 26 e71-3
-151.216.158.64 26 e71-4
-151.216.158.128 26 e73-1
-151.216.158.192 26 e73-2
-151.216.159.0 26 e73-3
-151.216.159.64 26 e73-4
-151.216.159.128 26 e75-1
-151.216.159.192 26 e75-2
-151.216.160.0 26 e75-3
-151.216.160.64 26 e75-4
-151.216.160.128 26 e77-1
-151.216.160.192 26 e77-2
-151.216.161.0 26 e77-3
-151.216.161.64 26 e77-4
-151.216.161.128 26 e79-1
-151.216.161.192 26 e79-2
-151.216.162.0 26 e81-1
-151.216.162.64 26 e81-2
-# Slutt av switches.txt fra planning.cpp
+## start switches.txt
+151.216.129.0/26 2a02:ed02:129a::/64 e1-3
+151.216.129.64/26 2a02:ed02:129b::/64 e3-3
+151.216.129.128/26 2a02:ed02:129c::/64 e3-4
+151.216.129.192/26 2a02:ed02:129d::/64 e5-2
+151.216.130.0/26 2a02:ed02:130a::/64 e5-3
+151.216.130.64/26 2a02:ed02:130b::/64 e5-4
+151.216.130.128/26 2a02:ed02:130c::/64 e7-2
+151.216.130.192/26 2a02:ed02:130d::/64 e7-3
+151.216.131.0/26 2a02:ed02:131a::/64 e7-4
+151.216.131.64/26 2a02:ed02:131b::/64 e9-2
+151.216.131.128/26 2a02:ed02:131c::/64 e9-3
+151.216.131.192/26 2a02:ed02:131d::/64 e9-4
+151.216.132.0/26 2a02:ed02:132a::/64 e11-1
+151.216.132.64/26 2a02:ed02:132b::/64 e11-2
+151.216.132.128/26 2a02:ed02:132c::/64 e11-3
+151.216.132.192/26 2a02:ed02:132d::/64 e11-4
+151.216.133.0/26 2a02:ed02:133a::/64 e13-1
+151.216.133.64/26 2a02:ed02:133b::/64 e13-2
+151.216.133.128/26 2a02:ed02:133c::/64 e13-3
+151.216.133.192/26 2a02:ed02:133d::/64 e13-4
+151.216.134.0/26 2a02:ed02:134a::/64 e15-1
+151.216.134.64/26 2a02:ed02:134b::/64 e15-2
+151.216.134.128/26 2a02:ed02:134c::/64 e15-3
+151.216.134.192/26 2a02:ed02:134d::/64 e15-4
+151.216.135.0/26 2a02:ed02:135a::/64 e17-1
+151.216.135.64/26 2a02:ed02:135b::/64 e17-2
+151.216.135.128/26 2a02:ed02:135c::/64 e17-3
+151.216.135.192/26 2a02:ed02:135d::/64 e17-4
+151.216.136.0/26 2a02:ed02:136a::/64 e19-1
+151.216.136.64/26 2a02:ed02:136b::/64 e19-2
+151.216.136.128/26 2a02:ed02:136c::/64 e19-3
+151.216.136.192/26 2a02:ed02:136d::/64 e19-4
+151.216.137.0/26 2a02:ed02:137a::/64 e21-1
+151.216.137.64/26 2a02:ed02:137b::/64 e21-2
+151.216.137.128/26 2a02:ed02:137c::/64 e21-3
+151.216.137.192/26 2a02:ed02:137d::/64 e21-4
+151.216.138.0/26 2a02:ed02:138a::/64 e23-1
+151.216.138.64/26 2a02:ed02:138b::/64 e23-2
+151.216.138.128/26 2a02:ed02:138c::/64 e23-3
+151.216.138.192/26 2a02:ed02:138d::/64 e23-4
+151.216.139.0/26 2a02:ed02:139a::/64 e25-1
+151.216.139.64/26 2a02:ed02:139b::/64 e25-2
+151.216.139.128/26 2a02:ed02:139c::/64 e25-3
+151.216.139.192/26 2a02:ed02:139d::/64 e25-4
+151.216.140.0/26 2a02:ed02:140a::/64 e27-1
+151.216.140.64/26 2a02:ed02:140b::/64 e27-2
+151.216.140.128/26 2a02:ed02:140c::/64 e27-3
+151.216.140.192/26 2a02:ed02:140d::/64 e27-4
+151.216.141.0/26 2a02:ed02:141a::/64 e27-1
+151.216.141.64/26 2a02:ed02:141b::/64 e27-2
+151.216.141.128/26 2a02:ed02:141c::/64 e29-1
+151.216.141.192/26 2a02:ed02:141d::/64 e29-2
+151.216.142.0/26 2a02:ed02:142a::/64 e31-1
+151.216.142.64/26 2a02:ed02:142b::/64 e31-2
+151.216.142.128/26 2a02:ed02:142c::/64 e33-1
+151.216.142.192/26 2a02:ed02:142d::/64 e33-2
+151.216.143.0/26 2a02:ed02:143a::/64 e35-1
+151.216.143.64/26 2a02:ed02:143b::/64 e35-2
+151.216.143.128/26 2a02:ed02:143c::/64 e37-1
+151.216.143.192/26 2a02:ed02:143d::/64 e37-2
+151.216.144.0/26 2a02:ed02:144a::/64 e39-1
+151.216.144.64/26 2a02:ed02:144b::/64 e39-2
+151.216.144.128/26 2a02:ed02:144c::/64 e41-1
+151.216.144.192/26 2a02:ed02:144d::/64 e41-2
+151.216.145.0/26 2a02:ed02:145a::/64 e43-1
+151.216.145.64/26 2a02:ed02:145b::/64 e43-2
+151.216.145.128/26 2a02:ed02:145c::/64 e45-1
+151.216.145.192/26 2a02:ed02:145d::/64 e45-2
+151.216.146.0/26 2a02:ed02:146a::/64 e45-3
+151.216.146.64/26 2a02:ed02:146b::/64 e45-4
+151.216.146.128/26 2a02:ed02:146c::/64 e47-1
+151.216.146.192/26 2a02:ed02:146d::/64 e47-2
+151.216.147.0/26 2a02:ed02:147a::/64 e47-3
+151.216.147.64/26 2a02:ed02:147b::/64 e47-4
+151.216.147.128/26 2a02:ed02:147c::/64 e49-1
+151.216.147.192/26 2a02:ed02:147d::/64 e49-2
+151.216.148.0/26 2a02:ed02:148a::/64 e49-3
+151.216.148.64/26 2a02:ed02:148b::/64 e49-4
+151.216.148.128/26 2a02:ed02:148c::/64 e51-1
+151.216.148.192/26 2a02:ed02:148d::/64 e51-2
+151.216.149.0/26 2a02:ed02:149a::/64 e51-3
+151.216.149.64/26 2a02:ed02:149b::/64 e51-4
+151.216.149.128/26 2a02:ed02:149c::/64 e53-1
+151.216.149.192/26 2a02:ed02:149d::/64 e53-2
+151.216.150.0/26 2a02:ed02:150a::/64 e53-3
+151.216.150.64/26 2a02:ed02:150b::/64 e53-4
+151.216.150.128/26 2a02:ed02:150c::/64 e55-1
+151.216.150.192/26 2a02:ed02:150d::/64 e55-2
+151.216.151.0/26 2a02:ed02:151a::/64 e55-3
+151.216.151.64/26 2a02:ed02:151b::/64 e55-4
+151.216.151.128/26 2a02:ed02:151c::/64 e57-1
+151.216.151.192/26 2a02:ed02:151d::/64 e57-2
+151.216.152.0/26 2a02:ed02:152a::/64 e57-3
+151.216.152.64/26 2a02:ed02:152b::/64 e57-4
+151.216.152.128/26 2a02:ed02:152c::/64 e59-1
+151.216.152.192/26 2a02:ed02:152d::/64 e59-2
+151.216.153.0/26 2a02:ed02:153a::/64 e59-3
+151.216.153.64/26 2a02:ed02:153b::/64 e59-4
+151.216.153.128/26 2a02:ed02:153c::/64 e61-1
+151.216.153.192/26 2a02:ed02:153d::/64 e61-2
+151.216.154.0/26 2a02:ed02:154a::/64 e61-3
+151.216.154.64/26 2a02:ed02:154b::/64 e61-4
+151.216.154.128/26 2a02:ed02:154c::/64 e63-1
+151.216.154.192/26 2a02:ed02:154d::/64 e63-2
+151.216.155.0/26 2a02:ed02:155a::/64 e63-3
+151.216.155.64/26 2a02:ed02:155b::/64 e63-4
+151.216.155.128/26 2a02:ed02:155c::/64 e65-1
+151.216.155.192/26 2a02:ed02:155d::/64 e65-2
+151.216.156.0/26 2a02:ed02:156a::/64 e65-3
+151.216.156.64/26 2a02:ed02:156b::/64 e65-4
+151.216.156.128/26 2a02:ed02:156c::/64 e67-1
+151.216.156.192/26 2a02:ed02:156d::/64 e67-2
+151.216.157.0/26 2a02:ed02:157a::/64 e67-3
+151.216.157.64/26 2a02:ed02:157b::/64 e67-4
+151.216.157.128/26 2a02:ed02:157c::/64 e69-1
+151.216.157.192/26 2a02:ed02:157d::/64 e69-2
+151.216.158.0/26 2a02:ed02:158a::/64 e69-3
+151.216.158.64/26 2a02:ed02:158b::/64 e69-4
+151.216.158.128/26 2a02:ed02:158c::/64 e71-1
+151.216.158.192/26 2a02:ed02:158d::/64 e71-2
+151.216.159.0/26 2a02:ed02:159a::/64 e71-3
+151.216.159.64/26 2a02:ed02:159b::/64 e71-4
+151.216.159.128/26 2a02:ed02:159c::/64 e73-1
+151.216.159.192/26 2a02:ed02:159d::/64 e73-2
+151.216.160.0/26 2a02:ed02:160a::/64 e73-3
+151.216.160.64/26 2a02:ed02:160b::/64 e73-4
+151.216.160.128/26 2a02:ed02:160c::/64 e75-1
+151.216.160.192/26 2a02:ed02:160d::/64 e75-2
+151.216.161.0/26 2a02:ed02:161a::/64 e75-3
+151.216.161.64/26 2a02:ed02:161b::/64 e75-4
+151.216.161.128/26 2a02:ed02:161c::/64 e77-1
+151.216.161.192/26 2a02:ed02:161d::/64 e77-2
+151.216.162.0/26 2a02:ed02:162a::/64 e77-3
+151.216.162.64/26 2a02:ed02:162b::/64 e77-4
+151.216.162.128/26 2a02:ed02:162c::/64 e79-1
+151.216.162.192/26 2a02:ed02:162d::/64 e79-2
+151.216.163.0/26 2a02:ed02:163a::/64 e79-3
+151.216.163.64/26 2a02:ed02:163b::/64 e79-4
+151.216.163.128/26 2a02:ed02:163c::/64 e81-1
+151.216.163.192/26 2a02:ed02:163d::/64 e81-2
+151.216.164.0/26 2a02:ed02:164a::/64 e83-1
+151.216.164.64/26 2a02:ed02:164b::/64 e83-2
+## slutt switches.txt
diff --git a/patchlist.txt b/patchlist.txt
index 94ec560..b7806f5 100644
--- a/patchlist.txt
+++ b/patchlist.txt
@@ -1,135 +1,140 @@
-e1-3 distro0 Gi1/1 Gi1/2 Gi1/3
-e1-4 distro0 Gi1/4 Gi1/5 Gi1/6
-e3-3 distro0 Gi1/7 Gi1/8 Gi1/9
-e3-4 distro0 Gi1/10 Gi1/11 Gi1/12
-e5-3 distro0 Gi1/13 Gi1/14 Gi1/15
-e5-4 distro0 Gi1/16 Gi1/17 Gi1/18
-e7-3 distro0 Gi1/19 Gi1/20 Gi1/21
-e7-4 distro0 Gi1/22 Gi1/23 Gi1/24
-e9-3 distro0 Gi1/25 Gi1/26 Gi1/27
-e9-4 distro0 Gi1/28 Gi1/29 Gi1/30
-e11-1 distro2 Gi1/1 Gi2/1 Gi5/1 Gi6/1
-e11-2 distro2 Gi1/2 Gi2/2 Gi5/2 Gi6/2
-e11-3 distro1 Gi1/1 Gi2/1 Gi5/1 Gi6/1
-e11-4 distro1 Gi1/2 Gi2/2 Gi5/2 Gi6/2
-e13-1 distro2 Gi1/3 Gi2/3 Gi5/3 Gi6/3
-e13-2 distro2 Gi1/4 Gi2/4 Gi5/4 Gi6/4
-e13-3 distro1 Gi1/3 Gi2/3 Gi5/3 Gi6/3
-e13-4 distro1 Gi1/4 Gi2/4 Gi5/4 Gi6/4
-e15-1 distro2 Gi1/5 Gi2/5 Gi5/5 Gi6/5
-e15-2 distro2 Gi1/6 Gi2/6 Gi5/6 Gi6/6
-e15-3 distro1 Gi1/5 Gi2/5 Gi5/5 Gi6/5
-e15-4 distro1 Gi1/6 Gi2/6 Gi5/6 Gi6/6
-e17-1 distro2 Gi1/7 Gi2/7 Gi5/7 Gi6/7
-e17-2 distro2 Gi1/8 Gi2/8 Gi5/8 Gi6/8
-e17-3 distro1 Gi1/7 Gi2/7 Gi5/7 Gi6/7
-e17-4 distro1 Gi1/8 Gi2/8 Gi5/8 Gi6/8
-e19-1 distro2 Gi1/9 Gi2/9 Gi5/9 Gi6/9
-e19-2 distro2 Gi1/10 Gi2/10 Gi5/10 Gi6/10
-e19-3 distro1 Gi1/9 Gi2/9 Gi5/9 Gi6/9
-e19-4 distro1 Gi1/10 Gi2/10 Gi5/10 Gi6/10
-e21-1 distro2 Gi1/11 Gi2/11 Gi5/11 Gi6/11
-e21-2 distro2 Gi1/12 Gi2/12 Gi5/12 Gi6/12
-e21-3 distro1 Gi1/11 Gi2/11 Gi5/11 Gi6/11
-e21-4 distro1 Gi1/12 Gi2/12 Gi5/12 Gi6/12
-e23-1 distro2 Gi1/13 Gi2/13 Gi5/13 Gi6/13
-e23-2 distro2 Gi1/14 Gi2/14 Gi5/14 Gi6/14
-e23-3 distro1 Gi1/13 Gi2/13 Gi5/13 Gi6/13
-e23-4 distro1 Gi1/14 Gi2/14 Gi5/14 Gi6/14
-e25-1 distro2 Gi1/15 Gi2/15 Gi5/15 Gi6/15
-e25-2 distro2 Gi1/16 Gi2/16 Gi5/16 Gi6/16
-e25-3 distro1 Gi1/15 Gi2/15 Gi5/15 Gi6/15
-e25-4 distro1 Gi1/16 Gi2/16 Gi5/16 Gi6/16
-e27-1 distro2 Gi1/17 Gi2/17 Gi5/17 Gi6/17
-e27-2 distro2 Gi1/18 Gi2/18 Gi5/18 Gi6/18
-e29-1 distro2 Gi1/19 Gi2/19 Gi5/19 Gi6/19
-e29-2 distro2 Gi1/20 Gi2/20 Gi5/20 Gi6/20
-e31-1 distro2 Gi1/21 Gi2/21 Gi5/21 Gi6/21
-e31-2 distro2 Gi1/22 Gi2/22 Gi5/22 Gi6/22
-e33-1 distro2 Gi1/23 Gi2/23 Gi5/23 Gi6/23
-e33-2 distro2 Gi1/24 Gi2/24 Gi5/24 Gi6/24
-e35-1 distro2 Gi1/25 Gi2/25 Gi5/25 Gi6/25
-e35-2 distro2 Gi1/26 Gi2/26 Gi5/26 Gi6/26
-e37-1 distro3 Gi1/1 Gi2/1 Gi5/1 Gi6/1
-e37-2 distro2 Gi1/27 Gi2/27 Gi5/27 Gi6/27
-e39-1 distro3 Gi1/2 Gi2/2 Gi5/2 Gi6/2
-e39-2 distro3 Gi1/3 Gi2/3 Gi5/3 Gi6/3
-e41-1 distro3 Gi1/4 Gi2/4 Gi5/4 Gi6/4
-e41-2 distro3 Gi1/5 Gi2/5 Gi5/5 Gi6/5
-e43-1 distro3 Gi1/6 Gi2/6 Gi5/6 Gi6/6
-e43-2 distro3 Gi1/7 Gi2/7 Gi5/7 Gi6/7
-e43-3 distro4 Gi1/1 Gi2/1 Gi5/1 Gi6/1
-e43-4 distro4 Gi1/2 Gi2/2 Gi5/2 Gi6/2
-e45-1 distro3 Gi1/8 Gi2/8 Gi5/8 Gi6/8
-e45-2 distro3 Gi1/9 Gi2/9 Gi5/9 Gi6/9
-e45-3 distro4 Gi1/3 Gi2/3 Gi5/3 Gi6/3
-e45-4 distro4 Gi1/4 Gi2/4 Gi5/4 Gi6/4
-e47-1 distro3 Gi1/10 Gi2/10 Gi5/10 Gi6/10
-e47-2 distro3 Gi1/11 Gi2/11 Gi5/11 Gi6/11
-e47-3 distro4 Gi1/5 Gi2/5 Gi5/5 Gi6/5
-e47-4 distro4 Gi1/6 Gi2/6 Gi5/6 Gi6/6
-e49-1 distro3 Gi1/12 Gi2/12 Gi5/12 Gi6/12
-e49-2 distro3 Gi1/13 Gi2/13 Gi5/13 Gi6/13
-e49-3 distro4 Gi1/7 Gi2/7 Gi5/7 Gi6/7
-e49-4 distro4 Gi1/8 Gi2/8 Gi5/8 Gi6/8
-e51-1 distro3 Gi1/14 Gi2/14 Gi5/14 Gi6/14
-e51-2 distro3 Gi1/15 Gi2/15 Gi5/15 Gi6/15
-e51-3 distro4 Gi1/9 Gi2/9 Gi5/9 Gi6/9
-e51-4 distro4 Gi1/10 Gi2/10 Gi5/10 Gi6/10
-e53-1 distro3 Gi1/16 Gi2/16 Gi5/16 Gi6/16
-e53-2 distro3 Gi1/17 Gi2/17 Gi5/17 Gi6/17
-e53-3 distro4 Gi1/11 Gi2/11 Gi5/11 Gi6/11
-e53-4 distro4 Gi1/12 Gi2/12 Gi5/12 Gi6/12
-e55-1 distro3 Gi1/18 Gi2/18 Gi5/18 Gi6/18
-e55-2 distro3 Gi1/19 Gi2/19 Gi5/19 Gi6/19
-e55-3 distro4 Gi1/13 Gi2/13 Gi5/13 Gi6/13
-e55-4 distro4 Gi1/14 Gi2/14 Gi5/14 Gi6/14
-e57-1 distro3 Gi1/20 Gi2/20 Gi5/20 Gi6/20
-e57-2 distro3 Gi1/21 Gi2/21 Gi5/21 Gi6/21
-e57-3 distro4 Gi1/15 Gi2/15 Gi5/15 Gi6/15
-e57-4 distro4 Gi1/16 Gi2/16 Gi5/16 Gi6/16
-e59-1 distro3 Gi1/22 Gi2/22 Gi5/22 Gi6/22
-e59-2 distro3 Gi1/23 Gi2/23 Gi5/23 Gi6/23
-e59-3 distro4 Gi1/17 Gi2/17 Gi5/17 Gi6/17
-e59-4 distro4 Gi1/18 Gi2/18 Gi5/18 Gi6/18
-e61-1 distro5 Gi1/1 Gi2/1 Gi5/1 Gi6/1
-e61-2 distro5 Gi1/2 Gi2/2 Gi5/2 Gi6/2
-e61-3 distro4 Gi1/19 Gi2/19 Gi5/19 Gi6/19
-e61-4 distro4 Gi1/20 Gi2/20 Gi5/20 Gi6/20
-e63-1 distro5 Gi1/3 Gi2/3 Gi5/3 Gi6/3
-e63-2 distro5 Gi1/4 Gi2/4 Gi5/4 Gi6/4
-e63-3 distro5 Gi1/5 Gi2/5 Gi5/5 Gi6/5
-e63-4 distro4 Gi1/21 Gi2/21 Gi5/21 Gi6/21
-e65-1 distro5 Gi1/6 Gi2/6 Gi5/6 Gi6/6
-e65-2 distro5 Gi1/7 Gi2/7 Gi5/7 Gi6/7
-e65-3 distro5 Gi1/8 Gi2/8 Gi5/8 Gi6/8
-e65-4 distro5 Gi1/9 Gi2/9 Gi5/9 Gi6/9
-e67-1 distro5 Gi1/10 Gi2/10 Gi5/10 Gi6/10
-e67-2 distro5 Gi1/11 Gi2/11 Gi5/11 Gi6/11
-e67-3 distro5 Gi1/12 Gi2/12 Gi5/12 Gi6/12
-e67-4 distro5 Gi1/13 Gi2/13 Gi5/13 Gi6/13
-e69-1 distro5 Gi1/14 Gi2/14 Gi5/14 Gi6/14
-e69-2 distro5 Gi1/15 Gi2/15 Gi5/15 Gi6/15
-e69-3 distro5 Gi1/16 Gi2/16 Gi5/16 Gi6/16
-e69-4 distro5 Gi1/17 Gi2/17 Gi5/17 Gi6/17
-e71-1 distro5 Gi1/18 Gi2/18 Gi5/18 Gi6/18
-e71-2 distro5 Gi1/19 Gi2/19 Gi5/19 Gi6/19
-e71-3 distro5 Gi1/20 Gi2/20 Gi5/20 Gi6/20
-e71-4 distro5 Gi1/21 Gi2/21 Gi5/21 Gi6/21
-e73-1 distro5 Gi1/22 Gi2/22 Gi5/22 Gi6/22
-e73-2 distro5 Gi1/23 Gi2/23 Gi5/23 Gi6/23
-e73-3 distro5 Gi1/24 Gi2/24 Gi5/24 Gi6/24
-e73-4 distro5 Gi1/25 Gi2/25 Gi5/25 Gi6/25
-e75-1 distro5 Gi1/26 Gi2/26 Gi5/26 Gi6/26
-e75-2 distro5 Gi1/27 Gi2/27 Gi5/27 Gi6/27
-e75-3 distro5 Gi1/28 Gi2/28 Gi5/28 Gi6/28
-e75-4 distro5 Gi1/29 Gi2/29 Gi5/29 Gi6/29
-e77-1 distro5 Gi1/30 Gi2/30 Gi5/30 Gi6/30
-e77-2 distro5 Gi1/31 Gi2/31 Gi5/31 Gi6/31
-e77-3 distro5 Gi1/32 Gi2/32 Gi5/32 Gi6/32
-e77-4 distro5 Gi1/33 Gi2/33 Gi5/33 Gi6/33
-e79-1 distro5 Gi1/34 Gi2/34 Gi5/34 Gi6/34
-e79-2 distro5 Gi1/35 Gi2/35 Gi5/35 Gi6/35
-e81-1 distro5 Gi1/36 Gi2/36 Gi5/36 Gi6/36
-e81-2 distro5 Gi1/37 Gi2/37 Gi5/37 Gi6/37
-komplett distro0 Gi1/31 Gi1/32 Gi1/33
+e1-3 distro0 ge-0/0/0 ge-1/0/0 ge-2/0/0 ge-3/0/0
+e3-3 distro0 ge-0/0/1 ge-1/0/1 ge-2/0/1 ge-3/0/1
+e3-4 distro0 ge-0/0/2 ge-1/0/2 ge-2/0/2 ge-3/0/2
+e5-2 distro1 ge-0/0/0 ge-1/0/0 ge-2/0/0 ge-3/0/0
+e5-3 distro0 ge-0/0/3 ge-1/0/3 ge-2/0/3 ge-3/0/3
+e5-4 distro0 ge-0/0/4 ge-1/0/4 ge-2/0/4 ge-3/0/4
+e7-2 distro1 ge-0/0/1 ge-1/0/1 ge-2/0/1 ge-3/0/1
+e7-3 distro0 ge-0/0/5 ge-1/0/5 ge-2/0/5 ge-3/0/5
+e7-4 distro0 ge-0/0/6 ge-1/0/6 ge-2/0/6 ge-3/0/6
+e9-2 distro1 ge-0/0/2 ge-1/0/2 ge-2/0/2 ge-3/0/2
+e9-3 distro0 ge-0/0/7 ge-1/0/7 ge-2/0/7 ge-3/0/7
+e9-4 distro0 ge-0/0/8 ge-1/0/8 ge-2/0/8 ge-3/0/8
+e11-1 distro1 ge-0/0/3 ge-1/0/3 ge-2/0/3 ge-3/0/3
+e11-2 distro1 ge-0/0/4 ge-1/0/4 ge-2/0/4 ge-3/0/4
+e11-3 distro0 ge-0/0/9 ge-1/0/9 ge-2/0/9 ge-3/0/9
+e11-4 distro0 ge-0/0/10 ge-1/0/10 ge-2/0/10 ge-3/0/10
+e13-1 distro1 ge-0/0/5 ge-1/0/5 ge-2/0/5 ge-3/0/5
+e13-2 distro1 ge-0/0/6 ge-1/0/6 ge-2/0/6 ge-3/0/6
+e13-3 distro0 ge-0/0/11 ge-1/0/11 ge-2/0/11 ge-3/0/11
+e13-4 distro0 ge-0/0/12 ge-1/0/12 ge-2/0/12 ge-3/0/12
+e15-1 distro1 ge-0/0/7 ge-1/0/7 ge-2/0/7 ge-3/0/7
+e15-2 distro1 ge-0/0/8 ge-1/0/8 ge-2/0/8 ge-3/0/8
+e15-3 distro0 ge-0/0/13 ge-1/0/13 ge-2/0/13 ge-3/0/13
+e15-4 distro0 ge-0/0/14 ge-1/0/14 ge-2/0/14 ge-3/0/14
+e17-1 distro1 ge-0/0/9 ge-1/0/9 ge-2/0/9 ge-3/0/9
+e17-2 distro1 ge-0/0/10 ge-1/0/10 ge-2/0/10 ge-3/0/10
+e17-3 distro2 ge-0/0/0 ge-1/0/0 ge-2/0/0 ge-3/0/0
+e17-4 distro2 ge-0/0/1 ge-1/0/1 ge-2/0/1 ge-3/0/1
+e19-1 distro1 ge-0/0/11 ge-1/0/11 ge-2/0/11 ge-3/0/11
+e19-2 distro1 ge-0/0/12 ge-1/0/12 ge-2/0/12 ge-3/0/12
+e19-3 distro2 ge-0/0/2 ge-1/0/2 ge-2/0/2 ge-3/0/2
+e19-4 distro2 ge-0/0/3 ge-1/0/3 ge-2/0/3 ge-3/0/3
+e21-1 distro1 ge-0/0/13 ge-1/0/13 ge-2/0/13 ge-3/0/13
+e21-2 distro1 ge-0/0/14 ge-1/0/14 ge-2/0/14 ge-3/0/14
+e21-3 distro2 ge-0/0/4 ge-1/0/4 ge-2/0/4 ge-3/0/4
+e21-4 distro2 ge-0/0/5 ge-1/0/5 ge-2/0/5 ge-3/0/5
+e23-1 distro1 ge-0/0/15 ge-1/0/15 ge-2/0/15 ge-3/0/15
+e23-2 distro1 ge-0/0/16 ge-1/0/16 ge-2/0/16 ge-3/0/16
+e23-3 distro2 ge-0/0/6 ge-1/0/6 ge-2/0/6 ge-3/0/6
+e23-4 distro2 ge-0/0/7 ge-1/0/7 ge-2/0/7 ge-3/0/7
+e25-1 distro1 ge-0/0/17 ge-1/0/17 ge-2/0/17 ge-3/0/17
+e25-2 distro1 ge-0/0/18 ge-1/0/18 ge-2/0/18 ge-3/0/18
+e25-3 distro2 ge-0/0/8 ge-1/0/8 ge-2/0/8 ge-3/0/8
+e25-4 distro2 ge-0/0/9 ge-1/0/9 ge-2/0/9 ge-3/0/9
+e27-1 distro1 ge-0/0/19 ge-1/0/19 ge-2/0/19 ge-3/0/19
+e27-2 distro1 ge-0/0/20 ge-1/0/20 ge-2/0/20 ge-3/0/20
+e27-3 distro2 ge-0/0/10 ge-1/0/10 ge-2/0/10 ge-3/0/10
+e27-4 distro2 ge-0/0/11 ge-1/0/11 ge-2/0/11 ge-3/0/11
+e29-1 distro3 ge-0/0/0 ge-1/0/0 ge-2/0/0 ge-3/0/0
+e29-2 distro3 ge-0/0/1 ge-1/0/1 ge-2/0/1 ge-3/0/1
+e31-1 distro3 ge-0/0/2 ge-1/0/2 ge-2/0/2 ge-3/0/2
+e31-2 distro3 ge-0/0/3 ge-1/0/3 ge-2/0/3 ge-3/0/3
+e33-1 distro3 ge-0/0/4 ge-1/0/4 ge-2/0/4 ge-3/0/4
+e33-2 distro3 ge-0/0/5 ge-1/0/5 ge-2/0/5 ge-3/0/5
+e35-1 distro3 ge-0/0/6 ge-1/0/6 ge-2/0/6 ge-3/0/6
+e35-2 distro3 ge-0/0/7 ge-1/0/7 ge-2/0/7 ge-3/0/7
+e37-1 distro3 ge-0/0/8 ge-1/0/8 ge-2/0/8 ge-3/0/8
+e37-2 distro3 ge-0/0/9 ge-1/0/9 ge-2/0/9 ge-3/0/9
+e39-1 distro3 ge-0/0/10 ge-1/0/10 ge-2/0/10 ge-3/0/10
+e39-2 distro3 ge-0/0/11 ge-1/0/11 ge-2/0/11 ge-3/0/11
+e41-1 distro3 ge-0/0/12 ge-1/0/12 ge-2/0/12 ge-3/0/12
+e41-2 distro3 ge-0/0/13 ge-1/0/13 ge-2/0/13 ge-3/0/13
+e43-1 distro3 ge-0/0/14 ge-1/0/14 ge-2/0/14 ge-3/0/14
+e43-2 distro3 ge-0/0/15 ge-1/0/15 ge-2/0/15 ge-3/0/15
+e45-1 distro4 ge-0/0/0 ge-1/0/0 ge-2/0/0 ge-3/0/0
+e45-2 distro4 ge-0/0/1 ge-1/0/1 ge-2/0/1 ge-3/0/1
+e45-3 distro5 ge-0/0/0 ge-1/0/0 ge-2/0/0 ge-3/0/0
+e45-4 distro5 ge-0/0/1 ge-1/0/1 ge-2/0/1 ge-3/0/1
+e47-1 distro4 ge-0/0/2 ge-1/0/2 ge-2/0/2 ge-3/0/2
+e47-2 distro4 ge-0/0/3 ge-1/0/3 ge-2/0/3 ge-3/0/3
+e47-3 distro5 ge-0/0/2 ge-1/0/2 ge-2/0/2 ge-3/0/2
+e47-4 distro5 ge-0/0/3 ge-1/0/3 ge-2/0/3 ge-3/0/3
+e49-1 distro4 ge-0/0/4 ge-1/0/4 ge-2/0/4 ge-3/0/4
+e49-2 distro4 ge-0/0/5 ge-1/0/5 ge-2/0/5 ge-3/0/5
+e49-3 distro5 ge-0/0/4 ge-1/0/4 ge-2/0/4 ge-3/0/4
+e49-4 distro5 ge-0/0/5 ge-1/0/5 ge-2/0/5 ge-3/0/5
+e51-1 distro4 ge-0/0/6 ge-1/0/6 ge-2/0/6 ge-3/0/6
+e51-2 distro4 ge-0/0/7 ge-1/0/7 ge-2/0/7 ge-3/0/7
+e51-3 distro5 ge-0/0/6 ge-1/0/6 ge-2/0/6 ge-3/0/6
+e51-4 distro5 ge-0/0/7 ge-1/0/7 ge-2/0/7 ge-3/0/7
+e53-1 distro4 ge-0/0/8 ge-1/0/8 ge-2/0/8 ge-3/0/8
+e53-2 distro4 ge-0/0/9 ge-1/0/9 ge-2/0/9 ge-3/0/9
+e53-3 distro5 ge-0/0/8 ge-1/0/8 ge-2/0/8 ge-3/0/8
+e53-4 distro5 ge-0/0/9 ge-1/0/9 ge-2/0/9 ge-3/0/9
+e55-1 distro4 ge-0/0/10 ge-1/0/10 ge-2/0/10 ge-3/0/10
+e55-2 distro4 ge-0/0/11 ge-1/0/11 ge-2/0/11 ge-3/0/11
+e55-3 distro5 ge-0/0/10 ge-1/0/10 ge-2/0/10 ge-3/0/10
+e55-4 distro5 ge-0/0/11 ge-1/0/11 ge-2/0/11 ge-3/0/11
+e57-1 distro4 ge-0/0/12 ge-1/0/12 ge-2/0/12 ge-3/0/12
+e57-2 distro4 ge-0/0/13 ge-1/0/13 ge-2/0/13 ge-3/0/13
+e57-3 distro5 ge-0/0/12 ge-1/0/12 ge-2/0/12 ge-3/0/12
+e57-4 distro5 ge-0/0/13 ge-1/0/13 ge-2/0/13 ge-3/0/13
+e59-1 distro4 ge-0/0/14 ge-1/0/14 ge-2/0/14 ge-3/0/14
+e59-2 distro4 ge-0/0/15 ge-1/0/15 ge-2/0/15 ge-3/0/15
+e59-3 distro5 ge-0/0/14 ge-1/0/14 ge-2/0/14 ge-3/0/14
+e59-4 distro5 ge-0/0/15 ge-1/0/15 ge-2/0/15 ge-3/0/15
+e61-1 distro4 ge-0/0/16 ge-1/0/16 ge-2/0/16 ge-3/0/16
+e61-2 distro4 ge-0/0/17 ge-1/0/17 ge-2/0/17 ge-3/0/17
+e61-3 distro5 ge-0/0/16 ge-1/0/16 ge-2/0/16 ge-3/0/16
+e61-4 distro5 ge-0/0/17 ge-1/0/17 ge-2/0/17 ge-3/0/17
+e63-1 distro7 ge-0/0/0 ge-1/0/0 ge-2/0/0 ge-3/0/0
+e63-2 distro7 ge-0/0/1 ge-1/0/1 ge-2/0/1 ge-3/0/1
+e63-3 distro6 ge-0/0/0 ge-1/0/0 ge-2/0/0 ge-3/0/0
+e63-4 distro6 ge-0/0/1 ge-1/0/1 ge-2/0/1 ge-3/0/1
+e65-1 distro7 ge-0/0/2 ge-1/0/2 ge-2/0/2 ge-3/0/2
+e65-2 distro7 ge-0/0/3 ge-1/0/3 ge-2/0/3 ge-3/0/3
+e65-3 distro6 ge-0/0/2 ge-1/0/2 ge-2/0/2 ge-3/0/2
+e65-4 distro6 ge-0/0/3 ge-1/0/3 ge-2/0/3 ge-3/0/3
+e67-1 distro7 ge-0/0/4 ge-1/0/4 ge-2/0/4 ge-3/0/4
+e67-2 distro7 ge-0/0/5 ge-1/0/5 ge-2/0/5 ge-3/0/5
+e67-3 distro6 ge-0/0/4 ge-1/0/4 ge-2/0/4 ge-3/0/4
+e67-4 distro6 ge-0/0/5 ge-1/0/5 ge-2/0/5 ge-3/0/5
+e69-1 distro7 ge-0/0/6 ge-1/0/6 ge-2/0/6 ge-3/0/6
+e69-2 distro7 ge-0/0/7 ge-1/0/7 ge-2/0/7 ge-3/0/7
+e69-3 distro6 ge-0/0/6 ge-1/0/6 ge-2/0/6 ge-3/0/6
+e69-4 distro6 ge-0/0/7 ge-1/0/7 ge-2/0/7 ge-3/0/7
+e71-1 distro7 ge-0/0/8 ge-1/0/8 ge-2/0/8 ge-3/0/8
+e71-2 distro7 ge-0/0/9 ge-1/0/9 ge-2/0/9 ge-3/0/9
+e71-3 distro6 ge-0/0/8 ge-1/0/8 ge-2/0/8 ge-3/0/8
+e71-4 distro6 ge-0/0/9 ge-1/0/9 ge-2/0/9 ge-3/0/9
+e73-1 distro7 ge-0/0/10 ge-1/0/10 ge-2/0/10 ge-3/0/10
+e73-2 distro7 ge-0/0/11 ge-1/0/11 ge-2/0/11 ge-3/0/11
+e73-3 distro6 ge-0/0/10 ge-1/0/10 ge-2/0/10 ge-3/0/10
+e73-4 distro6 ge-0/0/11 ge-1/0/11 ge-2/0/11 ge-3/0/11
+e75-1 distro7 ge-0/0/12 ge-1/0/12 ge-2/0/12 ge-3/0/12
+e75-2 distro7 ge-0/0/13 ge-1/0/13 ge-2/0/13 ge-3/0/13
+e75-3 distro6 ge-0/0/12 ge-1/0/12 ge-2/0/12 ge-3/0/12
+e75-4 distro6 ge-0/0/13 ge-1/0/13 ge-2/0/13 ge-3/0/13
+e77-1 distro7 ge-0/0/14 ge-1/0/14 ge-2/0/14 ge-3/0/14
+e77-2 distro7 ge-0/0/15 ge-1/0/15 ge-2/0/15 ge-3/0/15
+e77-3 distro6 ge-0/0/14 ge-1/0/14 ge-2/0/14 ge-3/0/14
+e77-4 distro6 ge-0/0/15 ge-1/0/15 ge-2/0/15 ge-3/0/15
+e79-1 distro7 ge-0/0/16 ge-1/0/16 ge-2/0/16 ge-3/0/16
+e79-2 distro7 ge-0/0/17 ge-1/0/17 ge-2/0/17 ge-3/0/17
+e79-3 distro6 ge-0/0/16 ge-1/0/16 ge-2/0/16 ge-3/0/16
+e79-4 distro6 ge-0/0/17 ge-1/0/17 ge-2/0/17 ge-3/0/17
+e81-1 distro7 ge-0/0/18 ge-1/0/18 ge-2/0/18 ge-3/0/18
+e81-2 distro7 ge-0/0/19 ge-1/0/19 ge-2/0/19 ge-3/0/19
+e83-1 distro7 ge-0/0/20 ge-1/0/20 ge-2/0/20 ge-3/0/20
+e83-2 distro7 ge-0/0/21 ge-1/0/21 ge-2/0/21 ge-3/0/21
diff --git a/switches.txt b/switches.txt
index 4b9906e..f8eed5d 100644
--- a/switches.txt
+++ b/switches.txt
@@ -1,135 +1,140 @@
-151.216.129.0 26 e1-3
-151.216.129.64 26 e1-4
-151.216.129.128 26 e3-3
-151.216.129.192 26 e3-4
-151.216.130.0 26 e5-3
-151.216.130.64 26 e5-4
-151.216.130.128 26 e7-3
-151.216.130.192 26 e7-4
-151.216.131.0 26 e9-3
-151.216.131.64 26 e9-4
-151.216.131.128 26 e11-1
-151.216.131.192 26 e11-2
-151.216.132.0 26 e11-3
-151.216.132.64 26 e11-4
-151.216.132.128 26 e13-1
-151.216.132.192 26 e13-2
-151.216.133.0 26 e13-3
-151.216.133.64 26 e13-4
-151.216.133.128 26 e15-1
-151.216.133.192 26 e15-2
-151.216.134.0 26 e15-3
-151.216.134.64 26 e15-4
-151.216.134.128 26 e17-1
-151.216.134.192 26 e17-2
-151.216.135.0 26 e17-3
-151.216.135.64 26 e17-4
-151.216.135.128 26 e19-1
-151.216.135.192 26 e19-2
-151.216.136.0 26 e19-3
-151.216.136.64 26 e19-4
-151.216.136.128 26 e21-1
-151.216.136.192 26 e21-2
-151.216.137.0 26 e21-3
-151.216.137.64 26 e21-4
-151.216.137.128 26 e23-1
-151.216.137.192 26 e23-2
-151.216.138.0 26 e23-3
-151.216.138.64 26 e23-4
-151.216.138.128 26 e25-1
-151.216.138.192 26 e25-2
-151.216.139.0 26 e25-3
-151.216.139.64 26 e25-4
-151.216.139.128 26 e27-1
-151.216.139.192 26 e27-2
-151.216.140.0 26 e29-1
-151.216.140.64 26 e29-2
-151.216.140.128 26 e31-1
-151.216.140.192 26 e31-2
-151.216.141.0 26 e33-1
-151.216.141.64 26 e33-2
-151.216.141.128 26 e35-1
-151.216.141.192 26 e35-2
-151.216.142.0 26 e37-1
-151.216.142.64 26 e37-2
-151.216.142.128 26 e39-1
-151.216.142.192 26 e39-2
-151.216.143.0 26 e41-1
-151.216.143.64 26 e41-2
-151.216.143.128 26 e43-1
-151.216.143.192 26 e43-2
-151.216.144.0 26 e43-3
-151.216.144.64 26 e43-4
-151.216.144.128 26 e45-1
-151.216.144.192 26 e45-2
-151.216.145.0 26 e45-3
-151.216.145.64 26 e45-4
-151.216.145.128 26 e47-1
-151.216.145.192 26 e47-2
-151.216.146.0 26 e47-3
-151.216.146.64 26 e47-4
-151.216.146.128 26 e49-1
-151.216.146.192 26 e49-2
-151.216.147.0 26 e49-3
-151.216.147.64 26 e49-4
-151.216.147.128 26 e51-1
-151.216.147.192 26 e51-2
-151.216.148.0 26 e51-3
-151.216.148.64 26 e51-4
-151.216.148.128 26 e53-1
-151.216.148.192 26 e53-2
-151.216.149.0 26 e53-3
-151.216.149.64 26 e53-4
-151.216.149.128 26 e55-1
-151.216.149.192 26 e55-2
-151.216.150.0 26 e55-3
-151.216.150.64 26 e55-4
-151.216.150.128 26 e57-1
-151.216.150.192 26 e57-2
-151.216.151.0 26 e57-3
-151.216.151.64 26 e57-4
-151.216.151.128 26 e59-1
-151.216.151.192 26 e59-2
-151.216.152.0 26 e59-3
-151.216.152.64 26 e59-4
-151.216.152.128 26 e61-1
-151.216.152.192 26 e61-2
-151.216.153.0 26 e61-3
-151.216.153.64 26 e61-4
-151.216.153.128 26 e63-1
-151.216.153.192 26 e63-2
-151.216.154.0 26 e63-3
-151.216.154.64 26 e63-4
-151.216.154.128 26 e65-1
-151.216.154.192 26 e65-2
-151.216.155.0 26 e65-3
-151.216.155.64 26 e65-4
-151.216.155.128 26 e67-1
-151.216.155.192 26 e67-2
-151.216.156.0 26 e67-3
-151.216.156.64 26 e67-4
-151.216.156.128 26 e69-1
-151.216.156.192 26 e69-2
-151.216.157.0 26 e69-3
-151.216.157.64 26 e69-4
-151.216.157.128 26 e71-1
-151.216.157.192 26 e71-2
-151.216.158.0 26 e71-3
-151.216.158.64 26 e71-4
-151.216.158.128 26 e73-1
-151.216.158.192 26 e73-2
-151.216.159.0 26 e73-3
-151.216.159.64 26 e73-4
-151.216.159.128 26 e75-1
-151.216.159.192 26 e75-2
-151.216.160.0 26 e75-3
-151.216.160.64 26 e75-4
-151.216.160.128 26 e77-1
-151.216.160.192 26 e77-2
-151.216.161.0 26 e77-3
-151.216.161.64 26 e77-4
-151.216.161.128 26 e79-1
-151.216.161.192 26 e79-2
-151.216.162.0 26 e81-1
-151.216.162.64 26 e81-2
-151.216.177.0 25 komplett
+e1-3 151.216.129.0/26 2a02:ed02:129a::/64 151.216.180.2/26 2a02:ed02:180a::2/64 1013 distro0
+e3-3 151.216.129.64/26 2a02:ed02:129b::/64 151.216.180.3/26 2a02:ed02:180a::3/64 1033 distro0
+e3-4 151.216.129.128/26 2a02:ed02:129c::/64 151.216.180.4/26 2a02:ed02:180a::4/64 1034 distro0
+e5-2 151.216.129.192/26 2a02:ed02:129d::/64 151.216.180.66/26 2a02:ed02:180b::66/64 1052 distro1
+e5-3 151.216.130.0/26 2a02:ed02:130a::/64 151.216.180.5/26 2a02:ed02:180a::5/64 1053 distro0
+e5-4 151.216.130.64/26 2a02:ed02:130b::/64 151.216.180.6/26 2a02:ed02:180a::6/64 1054 distro0
+e7-2 151.216.130.128/26 2a02:ed02:130c::/64 151.216.180.67/26 2a02:ed02:180b::67/64 1072 distro1
+e7-3 151.216.130.192/26 2a02:ed02:130d::/64 151.216.180.7/26 2a02:ed02:180a::7/64 1073 distro0
+e7-4 151.216.131.0/26 2a02:ed02:131a::/64 151.216.180.8/26 2a02:ed02:180a::8/64 1074 distro0
+e9-2 151.216.131.64/26 2a02:ed02:131b::/64 151.216.180.68/26 2a02:ed02:180b::68/64 1092 distro1
+e9-3 151.216.131.128/26 2a02:ed02:131c::/64 151.216.180.9/26 2a02:ed02:180a::9/64 1093 distro0
+e9-4 151.216.131.192/26 2a02:ed02:131d::/64 151.216.180.10/26 2a02:ed02:180a::10/64 1094 distro0
+e11-1 151.216.132.0/26 2a02:ed02:132a::/64 151.216.180.69/26 2a02:ed02:180b::69/64 1111 distro1
+e11-2 151.216.132.64/26 2a02:ed02:132b::/64 151.216.180.70/26 2a02:ed02:180b::70/64 1112 distro1
+e11-3 151.216.132.128/26 2a02:ed02:132c::/64 151.216.180.11/26 2a02:ed02:180a::11/64 1113 distro0
+e11-4 151.216.132.192/26 2a02:ed02:132d::/64 151.216.180.12/26 2a02:ed02:180a::12/64 1114 distro0
+e13-1 151.216.133.0/26 2a02:ed02:133a::/64 151.216.180.71/26 2a02:ed02:180b::71/64 1131 distro1
+e13-2 151.216.133.64/26 2a02:ed02:133b::/64 151.216.180.72/26 2a02:ed02:180b::72/64 1132 distro1
+e13-3 151.216.133.128/26 2a02:ed02:133c::/64 151.216.180.13/26 2a02:ed02:180a::13/64 1133 distro0
+e13-4 151.216.133.192/26 2a02:ed02:133d::/64 151.216.180.14/26 2a02:ed02:180a::14/64 1134 distro0
+e15-1 151.216.134.0/26 2a02:ed02:134a::/64 151.216.180.73/26 2a02:ed02:180b::73/64 1151 distro1
+e15-2 151.216.134.64/26 2a02:ed02:134b::/64 151.216.180.74/26 2a02:ed02:180b::74/64 1152 distro1
+e15-3 151.216.134.128/26 2a02:ed02:134c::/64 151.216.180.15/26 2a02:ed02:180a::15/64 1153 distro0
+e15-4 151.216.134.192/26 2a02:ed02:134d::/64 151.216.180.16/26 2a02:ed02:180a::16/64 1154 distro0
+e17-1 151.216.135.0/26 2a02:ed02:135a::/64 151.216.180.75/26 2a02:ed02:180b::75/64 1171 distro1
+e17-2 151.216.135.64/26 2a02:ed02:135b::/64 151.216.180.76/26 2a02:ed02:180b::76/64 1172 distro1
+e17-3 151.216.135.128/26 2a02:ed02:135c::/64 151.216.180.130/26 2a02:ed02:180c::130/64 1173 distro2
+e17-4 151.216.135.192/26 2a02:ed02:135d::/64 151.216.180.131/26 2a02:ed02:180c::131/64 1174 distro2
+e19-1 151.216.136.0/26 2a02:ed02:136a::/64 151.216.180.77/26 2a02:ed02:180b::77/64 1191 distro1
+e19-2 151.216.136.64/26 2a02:ed02:136b::/64 151.216.180.78/26 2a02:ed02:180b::78/64 1192 distro1
+e19-3 151.216.136.128/26 2a02:ed02:136c::/64 151.216.180.132/26 2a02:ed02:180c::132/64 1193 distro2
+e19-4 151.216.136.192/26 2a02:ed02:136d::/64 151.216.180.133/26 2a02:ed02:180c::133/64 1194 distro2
+e21-1 151.216.137.0/26 2a02:ed02:137a::/64 151.216.180.79/26 2a02:ed02:180b::79/64 1211 distro1
+e21-2 151.216.137.64/26 2a02:ed02:137b::/64 151.216.180.80/26 2a02:ed02:180b::80/64 1212 distro1
+e21-3 151.216.137.128/26 2a02:ed02:137c::/64 151.216.180.134/26 2a02:ed02:180c::134/64 1213 distro2
+e21-4 151.216.137.192/26 2a02:ed02:137d::/64 151.216.180.135/26 2a02:ed02:180c::135/64 1214 distro2
+e23-1 151.216.138.0/26 2a02:ed02:138a::/64 151.216.180.81/26 2a02:ed02:180b::81/64 1231 distro1
+e23-2 151.216.138.64/26 2a02:ed02:138b::/64 151.216.180.82/26 2a02:ed02:180b::82/64 1232 distro1
+e23-3 151.216.138.128/26 2a02:ed02:138c::/64 151.216.180.136/26 2a02:ed02:180c::136/64 1233 distro2
+e23-4 151.216.138.192/26 2a02:ed02:138d::/64 151.216.180.137/26 2a02:ed02:180c::137/64 1234 distro2
+e25-1 151.216.139.0/26 2a02:ed02:139a::/64 151.216.180.83/26 2a02:ed02:180b::83/64 1251 distro1
+e25-2 151.216.139.64/26 2a02:ed02:139b::/64 151.216.180.84/26 2a02:ed02:180b::84/64 1252 distro1
+e25-3 151.216.139.128/26 2a02:ed02:139c::/64 151.216.180.138/26 2a02:ed02:180c::138/64 1253 distro2
+e25-4 151.216.139.192/26 2a02:ed02:139d::/64 151.216.180.139/26 2a02:ed02:180c::139/64 1254 distro2
+e27-1 151.216.140.0/26 2a02:ed02:140a::/64 151.216.180.85/26 2a02:ed02:180b::85/64 1271 distro1
+e27-2 151.216.140.64/26 2a02:ed02:140b::/64 151.216.180.86/26 2a02:ed02:180b::86/64 1272 distro1
+e27-3 151.216.140.128/26 2a02:ed02:140c::/64 151.216.180.140/26 2a02:ed02:180c::140/64 1273 distro2
+e27-4 151.216.140.192/26 2a02:ed02:140d::/64 151.216.180.141/26 2a02:ed02:180c::141/64 1274 distro2
+e29-1 151.216.141.128/26 2a02:ed02:141c::/64 151.216.180.194/26 2a02:ed02:180d::194/64 1291 distro3
+e29-2 151.216.141.192/26 2a02:ed02:141d::/64 151.216.180.195/26 2a02:ed02:180d::195/64 1292 distro3
+e31-1 151.216.142.0/26 2a02:ed02:142a::/64 151.216.180.196/26 2a02:ed02:180d::196/64 1311 distro3
+e31-2 151.216.142.64/26 2a02:ed02:142b::/64 151.216.180.197/26 2a02:ed02:180d::197/64 1312 distro3
+e33-1 151.216.142.128/26 2a02:ed02:142c::/64 151.216.180.198/26 2a02:ed02:180d::198/64 1331 distro3
+e33-2 151.216.142.192/26 2a02:ed02:142d::/64 151.216.180.199/26 2a02:ed02:180d::199/64 1332 distro3
+e35-1 151.216.143.0/26 2a02:ed02:143a::/64 151.216.180.200/26 2a02:ed02:180d::200/64 1351 distro3
+e35-2 151.216.143.64/26 2a02:ed02:143b::/64 151.216.180.201/26 2a02:ed02:180d::201/64 1352 distro3
+e37-1 151.216.143.128/26 2a02:ed02:143c::/64 151.216.180.202/26 2a02:ed02:180d::202/64 1371 distro3
+e37-2 151.216.143.192/26 2a02:ed02:143d::/64 151.216.180.203/26 2a02:ed02:180d::203/64 1372 distro3
+e39-1 151.216.144.0/26 2a02:ed02:144a::/64 151.216.180.204/26 2a02:ed02:180d::204/64 1391 distro3
+e39-2 151.216.144.64/26 2a02:ed02:144b::/64 151.216.180.205/26 2a02:ed02:180d::205/64 1392 distro3
+e41-1 151.216.144.128/26 2a02:ed02:144c::/64 151.216.180.206/26 2a02:ed02:180d::206/64 1411 distro3
+e41-2 151.216.144.192/26 2a02:ed02:144d::/64 151.216.180.207/26 2a02:ed02:180d::207/64 1412 distro3
+e43-1 151.216.145.0/26 2a02:ed02:145a::/64 151.216.180.208/26 2a02:ed02:180d::208/64 1431 distro3
+e43-2 151.216.145.64/26 2a02:ed02:145b::/64 151.216.180.209/26 2a02:ed02:180d::209/64 1432 distro3
+e45-1 151.216.145.128/26 2a02:ed02:145c::/64 151.216.181.2/26 2a02:ed02:181a::2/64 1451 distro4
+e45-2 151.216.145.192/26 2a02:ed02:145d::/64 151.216.181.3/26 2a02:ed02:181a::3/64 1452 distro4
+e45-3 151.216.146.0/26 2a02:ed02:146a::/64 151.216.181.66/26 2a02:ed02:181b::66/64 1453 distro5
+e45-4 151.216.146.64/26 2a02:ed02:146b::/64 151.216.181.67/26 2a02:ed02:181b::67/64 1454 distro5
+e47-1 151.216.146.128/26 2a02:ed02:146c::/64 151.216.181.4/26 2a02:ed02:181a::4/64 1471 distro4
+e47-2 151.216.146.192/26 2a02:ed02:146d::/64 151.216.181.5/26 2a02:ed02:181a::5/64 1472 distro4
+e47-3 151.216.147.0/26 2a02:ed02:147a::/64 151.216.181.68/26 2a02:ed02:181b::68/64 1473 distro5
+e47-4 151.216.147.64/26 2a02:ed02:147b::/64 151.216.181.69/26 2a02:ed02:181b::69/64 1474 distro5
+e49-1 151.216.147.128/26 2a02:ed02:147c::/64 151.216.181.6/26 2a02:ed02:181a::6/64 1491 distro4
+e49-2 151.216.147.192/26 2a02:ed02:147d::/64 151.216.181.7/26 2a02:ed02:181a::7/64 1492 distro4
+e49-3 151.216.148.0/26 2a02:ed02:148a::/64 151.216.181.70/26 2a02:ed02:181b::70/64 1493 distro5
+e49-4 151.216.148.64/26 2a02:ed02:148b::/64 151.216.181.71/26 2a02:ed02:181b::71/64 1494 distro5
+e51-1 151.216.148.128/26 2a02:ed02:148c::/64 151.216.181.8/26 2a02:ed02:181a::8/64 1511 distro4
+e51-2 151.216.148.192/26 2a02:ed02:148d::/64 151.216.181.9/26 2a02:ed02:181a::9/64 1512 distro4
+e51-3 151.216.149.0/26 2a02:ed02:149a::/64 151.216.181.72/26 2a02:ed02:181b::72/64 1513 distro5
+e51-4 151.216.149.64/26 2a02:ed02:149b::/64 151.216.181.73/26 2a02:ed02:181b::73/64 1514 distro5
+e53-1 151.216.149.128/26 2a02:ed02:149c::/64 151.216.181.10/26 2a02:ed02:181a::10/64 1531 distro4
+e53-2 151.216.149.192/26 2a02:ed02:149d::/64 151.216.181.11/26 2a02:ed02:181a::11/64 1532 distro4
+e53-3 151.216.150.0/26 2a02:ed02:150a::/64 151.216.181.74/26 2a02:ed02:181b::74/64 1533 distro5
+e53-4 151.216.150.64/26 2a02:ed02:150b::/64 151.216.181.75/26 2a02:ed02:181b::75/64 1534 distro5
+e55-1 151.216.150.128/26 2a02:ed02:150c::/64 151.216.181.12/26 2a02:ed02:181a::12/64 1551 distro4
+e55-2 151.216.150.192/26 2a02:ed02:150d::/64 151.216.181.13/26 2a02:ed02:181a::13/64 1552 distro4
+e55-3 151.216.151.0/26 2a02:ed02:151a::/64 151.216.181.76/26 2a02:ed02:181b::76/64 1553 distro5
+e55-4 151.216.151.64/26 2a02:ed02:151b::/64 151.216.181.77/26 2a02:ed02:181b::77/64 1554 distro5
+e57-1 151.216.151.128/26 2a02:ed02:151c::/64 151.216.181.14/26 2a02:ed02:181a::14/64 1571 distro4
+e57-2 151.216.151.192/26 2a02:ed02:151d::/64 151.216.181.15/26 2a02:ed02:181a::15/64 1572 distro4
+e57-3 151.216.152.0/26 2a02:ed02:152a::/64 151.216.181.78/26 2a02:ed02:181b::78/64 1573 distro5
+e57-4 151.216.152.64/26 2a02:ed02:152b::/64 151.216.181.79/26 2a02:ed02:181b::79/64 1574 distro5
+e59-1 151.216.152.128/26 2a02:ed02:152c::/64 151.216.181.16/26 2a02:ed02:181a::16/64 1591 distro4
+e59-2 151.216.152.192/26 2a02:ed02:152d::/64 151.216.181.17/26 2a02:ed02:181a::17/64 1592 distro4
+e59-3 151.216.153.0/26 2a02:ed02:153a::/64 151.216.181.80/26 2a02:ed02:181b::80/64 1593 distro5
+e59-4 151.216.153.64/26 2a02:ed02:153b::/64 151.216.181.81/26 2a02:ed02:181b::81/64 1594 distro5
+e61-1 151.216.153.128/26 2a02:ed02:153c::/64 151.216.181.18/26 2a02:ed02:181a::18/64 1611 distro4
+e61-2 151.216.153.192/26 2a02:ed02:153d::/64 151.216.181.19/26 2a02:ed02:181a::19/64 1612 distro4
+e61-3 151.216.154.0/26 2a02:ed02:154a::/64 151.216.181.82/26 2a02:ed02:181b::82/64 1613 distro5
+e61-4 151.216.154.64/26 2a02:ed02:154b::/64 151.216.181.83/26 2a02:ed02:181b::83/64 1614 distro5
+e63-1 151.216.154.128/26 2a02:ed02:154c::/64 151.216.181.194/26 2a02:ed02:181d::194/64 1631 distro7
+e63-2 151.216.154.192/26 2a02:ed02:154d::/64 151.216.181.195/26 2a02:ed02:181d::195/64 1632 distro7
+e63-3 151.216.155.0/26 2a02:ed02:155a::/64 151.216.181.130/26 2a02:ed02:181c::130/64 1633 distro6
+e63-4 151.216.155.64/26 2a02:ed02:155b::/64 151.216.181.131/26 2a02:ed02:181c::131/64 1634 distro6
+e65-1 151.216.155.128/26 2a02:ed02:155c::/64 151.216.181.196/26 2a02:ed02:181d::196/64 1651 distro7
+e65-2 151.216.155.192/26 2a02:ed02:155d::/64 151.216.181.197/26 2a02:ed02:181d::197/64 1652 distro7
+e65-3 151.216.156.0/26 2a02:ed02:156a::/64 151.216.181.132/26 2a02:ed02:181c::132/64 1653 distro6
+e65-4 151.216.156.64/26 2a02:ed02:156b::/64 151.216.181.133/26 2a02:ed02:181c::133/64 1654 distro6
+e67-1 151.216.156.128/26 2a02:ed02:156c::/64 151.216.181.198/26 2a02:ed02:181d::198/64 1671 distro7
+e67-2 151.216.156.192/26 2a02:ed02:156d::/64 151.216.181.199/26 2a02:ed02:181d::199/64 1672 distro7
+e67-3 151.216.157.0/26 2a02:ed02:157a::/64 151.216.181.134/26 2a02:ed02:181c::134/64 1673 distro6
+e67-4 151.216.157.64/26 2a02:ed02:157b::/64 151.216.181.135/26 2a02:ed02:181c::135/64 1674 distro6
+e69-1 151.216.157.128/26 2a02:ed02:157c::/64 151.216.181.200/26 2a02:ed02:181d::200/64 1691 distro7
+e69-2 151.216.157.192/26 2a02:ed02:157d::/64 151.216.181.201/26 2a02:ed02:181d::201/64 1692 distro7
+e69-3 151.216.158.0/26 2a02:ed02:158a::/64 151.216.181.136/26 2a02:ed02:181c::136/64 1693 distro6
+e69-4 151.216.158.64/26 2a02:ed02:158b::/64 151.216.181.137/26 2a02:ed02:181c::137/64 1694 distro6
+e71-1 151.216.158.128/26 2a02:ed02:158c::/64 151.216.181.202/26 2a02:ed02:181d::202/64 1711 distro7
+e71-2 151.216.158.192/26 2a02:ed02:158d::/64 151.216.181.203/26 2a02:ed02:181d::203/64 1712 distro7
+e71-3 151.216.159.0/26 2a02:ed02:159a::/64 151.216.181.138/26 2a02:ed02:181c::138/64 1713 distro6
+e71-4 151.216.159.64/26 2a02:ed02:159b::/64 151.216.181.139/26 2a02:ed02:181c::139/64 1714 distro6
+e73-1 151.216.159.128/26 2a02:ed02:159c::/64 151.216.181.204/26 2a02:ed02:181d::204/64 1731 distro7
+e73-2 151.216.159.192/26 2a02:ed02:159d::/64 151.216.181.205/26 2a02:ed02:181d::205/64 1732 distro7
+e73-3 151.216.160.0/26 2a02:ed02:160a::/64 151.216.181.140/26 2a02:ed02:181c::140/64 1733 distro6
+e73-4 151.216.160.64/26 2a02:ed02:160b::/64 151.216.181.141/26 2a02:ed02:181c::141/64 1734 distro6
+e75-1 151.216.160.128/26 2a02:ed02:160c::/64 151.216.181.206/26 2a02:ed02:181d::206/64 1751 distro7
+e75-2 151.216.160.192/26 2a02:ed02:160d::/64 151.216.181.207/26 2a02:ed02:181d::207/64 1752 distro7
+e75-3 151.216.161.0/26 2a02:ed02:161a::/64 151.216.181.142/26 2a02:ed02:181c::142/64 1753 distro6
+e75-4 151.216.161.64/26 2a02:ed02:161b::/64 151.216.181.143/26 2a02:ed02:181c::143/64 1754 distro6
+e77-1 151.216.161.128/26 2a02:ed02:161c::/64 151.216.181.208/26 2a02:ed02:181d::208/64 1771 distro7
+e77-2 151.216.161.192/26 2a02:ed02:161d::/64 151.216.181.209/26 2a02:ed02:181d::209/64 1772 distro7
+e77-3 151.216.162.0/26 2a02:ed02:162a::/64 151.216.181.144/26 2a02:ed02:181c::144/64 1773 distro6
+e77-4 151.216.162.64/26 2a02:ed02:162b::/64 151.216.181.145/26 2a02:ed02:181c::145/64 1774 distro6
+e79-1 151.216.162.128/26 2a02:ed02:162c::/64 151.216.181.210/26 2a02:ed02:181d::210/64 1791 distro7
+e79-2 151.216.162.192/26 2a02:ed02:162d::/64 151.216.181.211/26 2a02:ed02:181d::211/64 1792 distro7
+e79-3 151.216.163.0/26 2a02:ed02:163a::/64 151.216.181.146/26 2a02:ed02:181c::146/64 1793 distro6
+e79-4 151.216.163.64/26 2a02:ed02:163b::/64 151.216.181.147/26 2a02:ed02:181c::147/64 1794 distro6
+e81-1 151.216.163.128/26 2a02:ed02:163c::/64 151.216.181.212/26 2a02:ed02:181d::212/64 1811 distro7
+e81-2 151.216.163.192/26 2a02:ed02:163d::/64 151.216.181.213/26 2a02:ed02:181d::213/64 1812 distro7
+e83-1 151.216.164.0/26 2a02:ed02:164a::/64 151.216.181.214/26 2a02:ed02:181d::214/64 1831 distro7
+e83-2 151.216.164.64/26 2a02:ed02:164b::/64 151.216.181.215/26 2a02:ed02:181d::215/64 1832 distro7
diff --git a/tools/fetch-portlist.sh b/tools/fetch-portlist.sh
index 94ca41c..978b590 100755
--- a/tools/fetch-portlist.sh
+++ b/tools/fetch-portlist.sh
@@ -15,7 +15,7 @@ walk_ports() {
FIRST_PORT=
LAST_PORT=
- for PORT in $( snmpwalk -Os -m IF-MIB -v 2c -c $COMMUNITY $IP ifDescr 2>/dev/null | grep -E 'GigE|Ethernet' | cut -d. -f2 | cut -d" " -f1 ); do
+ for PORT in $( snmpwalk -Os -m IF-MIB -v 2c -c $COMMUNITY $IP ifDescr 2>/dev/null | grep -E ' ge|et|xe' | cut -d. -f2 | cut -d" " -f1 ); do
if ! snmpget -m IF-MIB -v 2c -c $COMMUNITY $IP ifHCInOctets.$PORT 2>/dev/null | grep -q 'No Such Instance'; then
if [ "$LAST_PORT" ] && [ `expr $LAST_PORT + 1` = $PORT ]; then
LAST_PORT=$PORT
diff --git a/tools/make-switch-placements.pl b/tools/make-switch-placements.pl
index fe33c73..878b00e 100755
--- a/tools/make-switch-placements.pl
+++ b/tools/make-switch-placements.pl
@@ -2,7 +2,7 @@
use strict;
use warnings;
-my $switchtype = "dlink3100";
+my $switchtype = "ex2200";
print "begin;\n";
print "delete from placements where switch in (select switch from switches where switchtype = '$switchtype');\n";
diff --git a/tools/make-switches.pl b/tools/make-switches.pl
index a2f5d22..beb4343 100755
--- a/tools/make-switches.pl
+++ b/tools/make-switches.pl
@@ -2,7 +2,7 @@
use strict;
use warnings;
-my $switchtype = "dlink3100";
+my $switchtype = "ex2200";
print "begin;\n";
print "delete from temppoll;\n";
@@ -22,8 +22,10 @@ while (<STDIN>) {
}
my $name = $info[0];
- my $range = $info[3];
- my $ip = $info[4];
+ my $range = $info[1];
+ my $ip = $info[3];
+ $ip =~ s/\/.*$//;
+
print "insert into switches (ip, sysname, switchtype) values ('$ip', '$name', '$switchtype');\n";
print "insert into dhcp select switch, '$range' from switches where sysname = '$name';\n";
diff --git a/web/etc/apache2/nms-public.tg15.gathering.org b/web/etc/apache2/nms-public.tg15.gathering.org
index 4ebf79b..4c4798c 100644
--- a/web/etc/apache2/nms-public.tg15.gathering.org
+++ b/web/etc/apache2/nms-public.tg15.gathering.org
@@ -1,4 +1,4 @@
-<VirtualHost *:80>
+<VirtualHost *:8080>
ServerAdmin drift@gathering.org
ServerName nms-public.tg15.gathering.org
diff --git a/web/etc/apache2/nms.tg15.gathering.org b/web/etc/apache2/nms.tg15.gathering.org
index fc0cee4..e177d44 100644
--- a/web/etc/apache2/nms.tg15.gathering.org
+++ b/web/etc/apache2/nms.tg15.gathering.org
@@ -1,4 +1,4 @@
-<VirtualHost *:80>
+<VirtualHost *:8080>
ServerAdmin drift@gathering.org
ServerName nms.tg15.gathering.org
ServerAlias einstein.tg15.gathering.org
@@ -7,12 +7,6 @@
<Directory "/root/tgmanage/web/nms.gathering.org">
AllowOverride None
Options Indexes FollowSymLinks ExecCGI MultiViews
- Order allow,deny
- Satisfy any
- Allow from ::1
- Allow from 127.0.0.1
- Allow from 151.216.254.201/24
- Allow from 2a02:ed02:254::0/64
AddHandler cgi-script .cgi .sh .pl .py
AddDefaultCharset UTF-8
diff --git a/web/etc/apache2/stream.tg15.gathering.org b/web/etc/apache2/stream.tg15.gathering.org
index a7c0dda..52d879c 100644
--- a/web/etc/apache2/stream.tg15.gathering.org
+++ b/web/etc/apache2/stream.tg15.gathering.org
@@ -1,4 +1,4 @@
- <VirtualHost *:80>
+ <VirtualHost *:8080>
ServerAdmin drift@gathering.org
ServerName stream.tg15.gathering.org
ServerAlias krosus.tg15.gathering.org
@@ -9,9 +9,9 @@
Options Indexes FollowSymLinks ExecCGI MultiViews
Order allow,deny
Allow from all
+ Require all granted
AddHandler cgi-script .cgi .sh .pl .py
AddDefaultCharset UTF-8
-
</Directory>
ErrorLog /var/log/apache2/error-stream.tg15.gathering.org.log
diff --git a/web/stream.gathering.org/embed.pl b/web/stream.gathering.org/embed.pl
index e5f103c..38fbf9c 100644..100755
--- a/web/stream.gathering.org/embed.pl
+++ b/web/stream.gathering.org/embed.pl
@@ -26,7 +26,7 @@ my $location = undef;
print $client->header();
my $clip = $client->remote_addr();
-my $template = HTML::Template->new(filename => 'index.tmpl');
+my $template = HTML::Template->new(filename => 'embed.tmpl');
my $is_local = &is_ip_local($clip, $v4net, $v6net);
my @streams = &html_local_test();
@@ -52,11 +52,8 @@ sub html_local_test() {
my %hash = (
'title_link' => $title_link,
'title' => $streams{$name}->{title},
- 'source' => $streams{$name}->{source},
'quality' => $streams{$name}->{quality},
- 'location' => $streams{$name}->{location},
'type' => $streams{$name}->{type},
- 'delivery' => $multicast_link,
);
if ($multicast_link eq "multicast") {
$hash{'is_multicast'} .= 1;
diff --git a/web/stream.gathering.org/embed.tmpl b/web/stream.gathering.org/embed.tmpl
index ef8b692..6b9581b 100644
--- a/web/stream.gathering.org/embed.tmpl
+++ b/web/stream.gathering.org/embed.tmpl
@@ -1,18 +1,18 @@
<html>
<head>
<title>The Gathering <TMPL_VAR NAME=TG_FULL> Streams</title>
- <link rel="stylesheet" type="text/css" href="style.css" media="all">
- <script type="text/javascript" src="jwplayer.js"></script>
+ <link rel="stylesheet" type="text/css" href="pre-tg15/style.css" media="all">
+ <script type="text/javascript" src="pre-tg15/jwplayer.js"></script>
</head>
<body>
<div id="innhold">
<TMPL_UNLESS NAME=NOHEADER>
<h1>The Gathering <TMPL_VAR NAME=TG_FULL> Streams</h1>
- <embed type="application/x-shockwave-flash" src="player.swf"
+ <embed type="application/x-shockwave-flash" src="pre-tg15/player.swf"
width="800" height="450" style="undefined" id="mplf" name="mplf" quality="high"
allowfullscreen="true" allowscriptaccess="always" wmode="opaque"
stretching="exactfit"
- flashvars="stretching=exactfit&amp;file=<TMPL_VAR NAME=VLC_BASE_HOST>/event.flv&amp;autostart=true"></embed>
+ flashvars="stretching=exactfit&amp;file=http://wat.gathering.org:9094/southcam.flv&amp;autostart=true"></embed>
<p>&nbsp;</p>
</TMPL_UNLESS>
@@ -30,7 +30,7 @@
</div>
- <p>Problems with the non game streams? The easiest way to get hold of us is on IRC (EFNet); one of ViD or doxid should be available if there's too much traffic on #tg to be heard.</p>
+ <p>Problems with the non game streams? The easiest way to get a hold of us is on IRC (EFNet); Either of ViD or DoXiD should be available if there's too much traffic on #tg to be heard.</p>
<p><a target="_blank" href="http://stream.tg<TMPL_VAR NAME="TG">.gathering.org">http://stream.tg<TMPL_VAR NAME="TG">.gathering.org</a></p>
</body>
diff --git a/web/stream.gathering.org/index.tmpl b/web/stream.gathering.org/index.tmpl
index 8d007e9..c834da9 100644
--- a/web/stream.gathering.org/index.tmpl
+++ b/web/stream.gathering.org/index.tmpl
@@ -37,19 +37,44 @@
function swapVideo (url) {
window.location = '/?url=' + window.btoa(url);
}
+
+ function float() {
+ $("#floater").animate({top: '-=20px'}, "slow");
+ $("#floater").animate({top: '+=20px'}, "slow");
+ float();
+ }
+
+ $(document).ready(function() {
+ float();
+ });
</script>
+ <style type="text/css">
+ #floater {
+ position: absolute;
+ top: 172px;
+ right: 0px;
+ width: 531px;
+ height: 396px;
+ background-image: url('/resources/images/pixel-white.png');
+ background-size: cover;
+ }
+ </style>
+
</head>
<body>
<div id="header">
<h1>The Gathering <TMPL_VAR NAME=TG_FULL> Streams</h1>
</div>
+ <div id="floater">
+
+ </div>
<div class="section">
<div class="container">
<div class="row">
<div class="twelve columns">
<TMPL_UNLESS NAME=NOHEADER>
- <video id="stream" class="video-js vjs-default-skin" controls preload="auto" poster="/resources/images/loading.png" data-setup='{ "autoplay": <TMPL_VAR NAME=VIDEO_AUTO_PLAY>, "plugins" : { "resolutionSelector" : { "default_res" : "720", "force_typesz" : [ "video/flv" ] } } }'>
+ <video id="stream" class="videoframe video-js vjs-default-skin" controls preload="auto" poster="/resources/images/loading.png" data-setup='{ "autoplay": <TMPL_VAR NAME=VIDEO_AUTO_PLAY>, "plugins" : { "resolutionSelector" : { "default_res" : "720", "force_typesz" : [ "video/flv" ] } } }'>
<source src="<TMPL_VAR NAME=VIDEO_URL>" id="videodata" type="video/flv" data-res="720">
<p class="vjs-no-js">
To view this video please enable JavaScript, and consider upgrading to a web browser that <a href="http://videojs.com/html5-video-support/" target="_blank">supports HTML5 video</a>
diff --git a/web/stream.gathering.org/resources/css/core.css b/web/stream.gathering.org/resources/css/core.css
index cad5d3a..5a7a6f0 100644
--- a/web/stream.gathering.org/resources/css/core.css
+++ b/web/stream.gathering.org/resources/css/core.css
@@ -40,9 +40,10 @@ body {
background-color: #ffffff;
text-align: center;
padding-top: 50px;
- color: #000000;
- background-image: url('http://git.hvornum.se/resources/images/tech-bg.jpg');
- text-shadow: 2px 2px #c2c2c2;
+ color: #FFFFFF;
+ background-color: #000000;
+ /*background-image: url('http://git.hvornum.se/resources/images/tech-bg.jpg');*/
+ /*text-shadow: 2px 2px #c2c2c2;*/
background-repeat: no-repeat;
background-size: cover;
}
@@ -51,6 +52,10 @@ body {
padding-top: 150px;
}
+.videoframe {
+ left: 50%;
+}
+
.section {
padding: 8rem 0 7rem;
text-align: center;
@@ -72,7 +77,7 @@ body {
}
#stream {
- width: 1280px;
+ width: 960px;
min-width: 960px;
height: 540px;
min-height: 540px;
@@ -89,23 +94,84 @@ body {
@media (min-width: 550px) {
.section {
padding: 12rem 0 11rem;
+ padding-bottom: 30px;
}
.content { text-align: left; }
+ #floater {
+ min-width: 300px;
+ min-height: 190px;
+ width: 300px;
+ height: 190px;
+ }
+ #stream {
+ min-width: 320px;
+ min-height: 183px;
+ }
+ .videoframe {
+ margin-left: -160px;
+ }
}
-/* Bigger than 750 */
-@media (min-width: 750px) {
+/* Bigger than 920 */
+@media (min-width: 920px) {
.section {
padding: 5rem 0 5rem;
+ padding-bottom: 30px;
+ }
+ .content { text-align: left; }
+ #floater {
+ min-width: 300px;
+ min-height: 190px;
+ width: 300px;
+ height: 190px;
+ }
+ #stream {
+ min-width: 500px;
+ min-height: 280px;
+ }
+ .videoframe {
+ margin-left: -250px;
+ }
+}
+
+/* Bigger than 1200 */
+@media (min-width: 1200px) {
+ .section {
+ padding: 1rem 0 1rem;
+ padding-bottom: 30px;
}
.content { text-align: left; }
+ #floater {
+ min-width: 531px;
+ min-height: 396px;
+ }
+ #stream {
+ min-width: 700px;
+ min-height: 393px;
+ }
+ .videoframe {
+ margin-left: -350px;
+ }
}
-/* Bigger than 1000 */
-@media (min-width: 1000px) {
+/* Bigger than 1600 */
+@media (min-width: 1600px) {
.section {
padding: 1rem 0 1rem;
padding-bottom: 30px;
}
.content { text-align: left; }
+ #floater {
+ min-width: 531px;
+ min-height: 396px;
+ }
+ #stream {
+ width: 960px;
+ min-width: 960px;
+ height: 540px;
+ min-height: 540px;
+ }
+ .videoframe {
+ margin-left: -480px;
+ }
} \ No newline at end of file
diff --git a/web/stream.gathering.org/resources/images/pixel-white.png b/web/stream.gathering.org/resources/images/pixel-white.png
new file mode 100644
index 0000000..259d96b
--- /dev/null
+++ b/web/stream.gathering.org/resources/images/pixel-white.png
Binary files differ
diff --git a/web/stream.gathering.org/resources/images/pixel_animation.gif b/web/stream.gathering.org/resources/images/pixel_animation.gif
new file mode 100644
index 0000000..5840442
--- /dev/null
+++ b/web/stream.gathering.org/resources/images/pixel_animation.gif
Binary files differ
diff --git a/web/streamlib/stream/config.pm b/web/streamlib/stream/config.pm
index 19a1e4d..918e555 100644
--- a/web/streamlib/stream/config.pm
+++ b/web/streamlib/stream/config.pm
@@ -6,9 +6,9 @@ use NetAddr::IP;
our $v4net = NetAddr::IP->new("151.216.128.0/17");
our $v6net = NetAddr::IP->new("2a02:ed02::/32");
our $multicast = "udp://\@233.191.12.1";
-our $vlc_base_host = "http://cubemap.tg14.gathering.org";
-our $tg = 14;
-our $tg_full = 2014;
+our $video_url = "http://wat.gathering.org:9094/southcam.flv";
+our $tg = 15;
+our $tg_full = 2015;
# priority = sorting order in streaming list
@@ -24,6 +24,7 @@ our %streams = (
'priority' => 20,
'port' => 80,
'url' => '/event.ts',
+ 'online' => 0,
'interlaced' => 0,
'has_multicast' => 0,
'multicast_ip' => 'udp://@[ff7e:a40:2a02:ed02:ffff::15]:2015',
@@ -47,6 +48,7 @@ our %streams = (
'quality' => 'sd',
'priority' => 24,
'port' => 80,
+ 'online' => 0,
'url' => '/event-sd.ts',
'interlaced' => 0,
'has_multicast' => 0,
@@ -59,6 +61,7 @@ our %streams = (
'quality' => 'sd',
'priority' => 25,
'port' => 80,
+ 'online' => 0,
'url' => '/event-superlow.ts',
'interlaced' => 0,
'has_multicast' => 0,
@@ -83,10 +86,12 @@ our %streams = (
'type' => 'camera',
'quality' => 'hd',
'priority' => 40,
- 'url' => "/southcam.ts",
- 'port' => 80,
+ 'url' => "http://wat.gathering.org:9094/southcam.flv", # <-- In use (Need to rebuild row 67 in index.pl)
+ 'port' => 80,
'interlaced' => 0,
'has_multicast' => 0,
+ 'external' => 1, # <-- In use (Need to rebuild row 67 in index.pl)
+ 'online' => 1,
# 'multicast_ip' => "udp://@[ff7e:a40:2a02:ed02:ffff::16]",
'source' => 'Tech',
'title' => 'Webcam South (HD) (1920x1080 H.264) 10mbps',
@@ -99,6 +104,7 @@ our %streams = (
'url' => "/roofcam.ts",
'port' => 80,
'interlaced' => 1,
+ 'online' => 0,
'has_multicast' => 0,
#'multicast_ip' => "udp://\@[ff7e:a40:2a02:ed02:ffff::15]",
'source' => 'Tech',
@@ -109,16 +115,18 @@ our %streams = (
'type' => 'camera',
'quality' => 'hd',
'priority' => 130,
- 'url' => '/noccam.ts',
- 'port' => 80,
- 'has_multicast' => 0,
- 'interlaced' => 0,
- 'multicast_ip' => "udp://@[ff7e:a40:2a02:ed02:ffff::18]:2018",
- 'source' => "Tech",
+ 'url' => 'http://wat.gathering.org:9094/noccam.flv',
+ 'port' => 80, # <-- Safe to remove
+ 'external' => 1,
+ 'has_multicast' => 0, # <-- Safe to remove
+ 'interlaced' => 0, # <-- Safe to remove
+ 'online' => 1,
+ 'multicast_ip' => "udp://@[ff7e:a40:2a02:ed02:ffff::18]:2018",# <-- Safe to remove
+ 'source' => "Tech", # <-- Safe to remove
'title' => "Webcam NOC (HD) (1280x720 H.264) 5mbps"
},
- );
+);
1;