#### ASpath-tree v.4.2 - Released on Thu APR 17 2003, h.16:58:12
#### File: lib/route-stability.pl Last modified on Thu DEC 5 2002, h.22:05:28
# Routine to create the route stability page for the known 6bone pTLAs
# and sTLAs
sub create_stability_page {
my ($filename, $type) = @_;
my ($ptlaprefix, $viewlink, $unstab, $unav, $key, $name, $title, $history_reldir);
if ($type eq "ptla") {$title = "6bone pTLAs: BGP route stability"}
elsif ($type eq "stla") {$title = "sTLAs: BGP route stability"}
else {return(1)}
$history_reldir = substr($HISTORYHTMLDIR, length($HTMLDIR_LOCAL) + 1, length($HISTORYHTMLDIR) - length($HTMLDIR_LOCAL));
open(HTMLFILE,">".$filename);
print HTMLFILE &header($title, 0);
print HTMLFILE "
\n";
if ($SITEPICTURE) {
print HTMLFILE " | \n";
}
print HTMLFILE "$title |
\n";
print HTMLFILE "| Updated on $LONGDATE |
\n";
print HTMLFILE "
\n";
print HTMLFILE "\n";
if ($type eq "ptla") {
print HTMLFILE "| Owner | ";
print HTMLFILE "pTLA Prefix | ";
print HTMLFILE "Instability | ";
print HTMLFILE "Unavailability | ";
print HTMLFILE "Details |
\n";
foreach $key (sort {$PTLASTAB{$b} <=> $PTLASTAB{$a}} (keys(%PTLASTAB))) {
unless ($PTLAUNAV{$key} == 1) {
$PTLAINFO{$key} =~ /(\S+)\s+(\S+)/;
$ptlaprefix = $1;
$viewlink = "./$history_reldir/".$2.".html";
$unstab = &trunc_number($PTLASTAB{$key}*100, 1);
$unav = &trunc_number($PTLAUNAV{$key}*100, 1);
$name = &format_owner($key,0);
print HTMLFILE "| $name | ";
print HTMLFILE "$ptlaprefix | ";
print HTMLFILE "$unstab\% | $unav\% | ";
print HTMLFILE "view |
\n";
}
}
foreach $key (sort {$PTLAUNAV{$a} <=> $PTLAUNAV{$b}} (keys(%PTLAUNAV))) {
unless ($PTLAUNAV{$key} < 1) {
$PTLAINFO{$key} =~ /(\S+)\s+(\S+)/;
$ptlaprefix = $1;
$viewlink = "./$history_reldir/".$2.".html";
$unstab = &trunc_number($PTLASTAB{$key}*100, 1);
$unav = &trunc_number($PTLAUNAV{$key}*100, 1);
$name = &format_owner($key,0);
print HTMLFILE "| $name | ";
print HTMLFILE "$ptlaprefix | ";
print HTMLFILE "$unstab\% | $unav\% | ";
print HTMLFILE "view |
\n";
}
}
print HTMLFILE "
Back to routing information page
This page displays a summary of the IPv6 BGP routing stability in the 6bone backbone during the
last 24 hours. For each assigned pTLA, figures representing instability and unavailability of
the correspondent route entry in the IPv6 BGP routing table are provided. pTLAs are sorted
starting from the most unstable route entry.
These figures are calculated based on periodical snapshots of the IPv6 BGP routing table as follows:
- Unstability: the ratio between the number of times there
was a detection of AS Path changes for the specific route and the number of snapshots in the last 24 hours
- Unavailability: the ratio between the number of times the route
was not present and the number of snapshots in the last 24 hours
Clicking on \"view\" for each pTLA you can get more detailed information about routing stability
in the last 24 hours.
";
}
else {
print HTMLFILE "| Owner | ";
print HTMLFILE "Prefix | ";
print HTMLFILE "Unstability | ";
print HTMLFILE "Unavailability | ";
print HTMLFILE "Details |
\n";
foreach $key (sort {$IANASTAB{$b} <=> $IANASTAB{$a}} (keys(%IANASTAB))) {
unless ($IANAUNAV{$key} == 1) {
$IANAINFO{$key} =~ /(\S+)\s+(\S+)/;
$ptlaprefix = $1;
$viewlink = "./$history_reldir/".$2.".html";
$unstab = &trunc_number($IANASTAB{$key}*100, 1);
$unav = &trunc_number($IANAUNAV{$key}*100, 1);
$name = &format_owner($key,1);
print HTMLFILE "| $name | ";
print HTMLFILE "$ptlaprefix | ";
print HTMLFILE "$unstab\% | $unav\% | ";
print HTMLFILE "view |
\n";
}
}
foreach $key (sort {$IANAUNAV{$a} <=> $IANAUNAV{$b}} (keys(%IANAUNAV))) {
unless ($IANAUNAV{$key} < 1) {
$IANAINFO{$key} =~ /(\S+)\s+(\S+)/;
$ptlaprefix = $1;
$viewlink = "./$history_reldir/".$2.".html";
$unstab = &trunc_number($IANASTAB{$key}*100, 1);
$unav = &trunc_number($IANAUNAV{$key}*100, 1);
$name = &format_owner($key,1);
print HTMLFILE "| $name | ";
print HTMLFILE "$ptlaprefix | ";
print HTMLFILE "$unstab\% | $unav\% | ";
print HTMLFILE "view |
\n";
}
}
print HTMLFILE "
\n
Back to routing information page\n
\n
This page displays all the locally known sTLAs that are advertised inside the 6Bone backbone.
For each IPv6 BGP route entry, figures representing instability and unavailability of are provided.
Ruote entries are sorted starting from the most unstable route entry.
These figures are calculated based on periodical snapshots of the IPv6 BGP routing table as follows:
- Unstability: the ratio between the number of times there
was a detection of AS Path changes for the specific route and the number of snapshots in the last 24 hours
- Unavailability: the ratio between the number of times the route
was not present and the number of snapshots in the last 24 hours
Clicking on \"view\" for each sTLA you can get more detailed information about routing stability
in the last 24 hours.
";
}
print HTMLFILE "
\n".&footer."
\n