Add aspathtree 4.2,

checks IPv6 routes' stability and correctness
on IPv6 internet.

PR:		48001
Submitted by:	Janos Mohacsi <janos.mohacsi@bsd.hu>
This commit is contained in:
Munechika SUMIKAWA 2003-04-27 01:34:15 +00:00
parent 4949508998
commit 75daff8880
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=79721
19 changed files with 1081 additions and 0 deletions

View file

@ -0,0 +1,84 @@
# New ports collection makefile for: aspathtree
# Date created: 06.05.2002
# Whom: Janos Mohacsi <janos.mohacsi@bsd.hu>
#
# $FreeBSD$
PORTNAME= aspathtree
PORTVERSION= 4.2
CATEGORIES= net ipv6
MASTER_SITES= #http://carmen.ipv6.cselt.it/ipv6/tools/ASpath-tree/index.html
DISTNAME= ASpath-tree-v${PORTVERSION}
MAINTAINER= Janos.Mohacsi@bsd.hu
COMMENT= Checks IPv6 routes' stability and correctness on IPv6 internet
RUN_DEPENDS= ${LOCALBASE}/lib/perl5/site_perl/${PERL_VER}/Net/Telnet.pm:${PORTSDIR}/net/p5-Net-Telnet \
ripewhois:${PORTSDIR}/net/ripetools
WRKSRC= ${WRKDIR}/ASpath-tree-v${PORTVERSION}/
RESTRICTED= "not redistributable, license agreement required"
.include <bsd.port.pre.mk>
.if !exists(${DISTDIR}/${DISTNAME}${EXTRACT_SUFX})
IGNORE= "You need to read the license and disclaimer on http://carmen.ipv6.tilab.com/cgi-bin/download.pl?pkg=ASpath-tree and download ${DISTFILES} into ${DISTDIR}"
.endif
NO_BUILD= yes
USE_PERL5= yes
USE_REINPLACE= yes
SCRIPTS_ENV+= PERL5=${PERL5}
PKGMESSAGE= ${WRKDIR}/pkg-message
CONFIG_FILES= ASpath-tree.config
ICON_FILES= bnew.gif bold.gif e.gif h.gif l.gif p.gif t.gif v.gif
LIB_FILES= bgp-tree-changes.pl bgp-tree.pl create-homepage.pl elaborate-aspaths.pl getbgptable.pl history.pl ipv6prefix.pl odd-as.pl odd-routes.pl route-stability.pl utility.pl ASmain.pl
DATA_FILES= 6bone.db force.as.name rirs.db
DOC_FILES= DISCLAIMER readme.txt changes.txt
pre-configure:
@${REINPLACE_CMD} -e 's#%%PATHPERLBIN%%#${PERL5}#; \
s#%%PREFIX%%#${PREFIX}#' ${WRKSRC}/update-rtree \
${WRKSRC}/etc/ASpath-tree.config
do-install:
#installing main script
${INSTALL_SCRIPT} ${WRKSRC}/update-rtree ${PREFIX}/bin
#installing lib files
${MKDIR} ${PREFIX}/libexec/aspathtree/
.for file in ${LIB_FILES}
${INSTALL_DATA} ${WRKSRC}/lib/${file} ${PREFIX}/libexec/aspathtree
.endfor
#installing htdocs files
${MKDIR} ${PREFIX}/var/aspathtree/htdocs/icons/
.for file in ${ICON_FILES}
${INSTALL_DATA} ${WRKSRC}/htdocs/icons/${file} ${PREFIX}/var/aspathtree/htdocs/icons/
.endfor
#installing data files
${MKDIR} ${PREFIX}/var/aspathtree/data
.for file in ${DATA_FILES}
${INSTALL_DATA} ${WRKSRC}/data/${file} ${PREFIX}/var/aspathtree/data/
.endfor
#installing log directory
${MKDIR} ${PREFIX}/var/aspathtree/log
#installing config files
.for file in ${CONFIG_FILES}
${INSTALL_DATA} ${WRKSRC}/etc/${file} ${PREFIX}/etc/${file}.dist
.endfor
#installing docs
.ifndef(NOPORTDOCS)
${MKDIR} ${DOCSDIR}
.for file in ${DOC_FILES}
${INSTALL_DATA} ${WRKSRC}/${file} ${DOCSDIR}
.endfor
.endif
post-install:
@${SED} -e "s:%%PREFIX%%:${PREFIX}:g" ${.CURDIR}/pkg-message >${PKGMESSAGE}
.if !defined(BATCH)
@${ECHO}
@${CAT} ${PKGMESSAGE}
@${ECHO}
.endif
.include <bsd.port.post.mk>

View file

@ -0,0 +1 @@
MD5 (ASpath-tree-v4.2.tar.gz) = d52992a73d21139442a2c242b9532f14

View file

@ -0,0 +1,63 @@
--- etc/ASpath-tree.config.orig Tue Dec 10 10:02:25 2002
+++ etc/ASpath-tree.config Sat Mar 8 21:56:17 2003
@@ -9,7 +9,7 @@
# Full path to the directory where you have installed the ASpath-tree
# scripts. It is the directory where the script create-bgp-pages is
# located
-HOMEDIR = /usr/local/ASpath-tree-v4.2
+HOMEDIR = %%PREFIX%%/var/aspathree/
# Router you are using. Currently supported platforms include Cisco, Juniper
# and Zebra routers. Allowed values are "CISCO", "JUNIPER" , "ZEBRA" and
@@ -37,8 +37,14 @@
# command:
# ip rcmd remote-host
# <router-user> <client-ip-address> <client-user>
+# or the telnet user. See ROUTERUSERPASS also.
ROUTERUSER = router
+# The password of the telnet user which have been enabled on the cisco
+# router to issue 'show bgp ipv6' command. Set up only if you want to
+# use the telnet mode.
+# ROUTERUSERPASS = router
+
# The full path to the directory where the generated html files have to be
# placed. If you do not specify this option the html files are stored under
# the htdocs/ directory which comes with the distribution
@@ -46,15 +52,15 @@
# HTMLDIR = /usr/local/httpd/htdocs/bgp
# The contactname which is placed at the bottom of the generated html pages
-CONTACTNAME = IPv6 group
+CONTACTNAME = Your IPv6 group
# e-mail address of the contact person. It is placed at the bottom of the
# generated html pages together with the contactname
- CONTACTMAIL = me@myhost.com
+ CONTACTMAIL = your@ipv6.mail
# The name of your IPv6 site. It is used as the root of the BGP4+ routing
# tree displayed by the generated html pages
-SITENAME = TILAB
+SITENAME = Your IPv6 project
# The name of the image file (for instance a graphical logo representing
# your IPv6 site) to be placed at the beginning of the generated html
@@ -71,7 +77,7 @@
# WHOISLINK = http://whois.6bone.net/cgi-bin/whois
# A flag to enable the display of the last changes on the tree. Set
-# CHANGESFLAG = 1
+CHANGESFLAG = 1
# to see the display as html pages accessible from a link within the tree pages
# A flag to control which routes are filtered out from the output of
@@ -83,7 +89,7 @@
# installed on the same WS that hosts ASpath-tree
# This parameter is needed only if you want to update via ASpath-tree the
# useful information available on whois DBs connected to the Internet
-# RIPEWHOISCLIENT = /usr/local/bin/whois3
+RIPEWHOISCLIENT = /usr/local/bin/ripewhois
#### ASpath-tree v.4.2 - Released on Tue DEC 10 2002, h.10:02:25
#### File: etc/ASpath-tree.config Last modified on Mon DEC 9 2002, h.15:52:30

View file

@ -0,0 +1,66 @@
--- lib/getbgptable.pl.orig Thu Feb 6 11:25:26 2003
+++ lib/getbgptable.pl Thu Feb 6 11:43:58 2003
@@ -24,10 +24,55 @@
# ASs (all the ASs in the router BGP table)
# Finally this routine produces a text file containing the raw version of the router table
# and if required log files of both the raw router table and the normalized table.
+
+
sub get_bgp_table {
my ($parser, $command, $line) = ('', '', '');
my (@lines) = ();
+ use Socket;
+ use Net::Telnet;
+
+ if (defined($ROUTERUSERPASS)) {
+
+# TELNET module to get BGP4+ AS Path table
+
+ if ($ROUTER =~ /^JUNIPER$/i) {
+ $parser = "juniper";
+ $STATUSCODES = "*&gt; active";
+ my $telnet_session = new Net::Telnet(
+ prompt => '/[\w().-]*[\$#]\s*$/'
+ );
+
+ $telnet_session->open($ROUTERADDR);
+ $telnet_session->login($ROUTERUSER, $ROUTERUSERPASS);
+ $telnet_session->cmd(String => "set cli screen-length 0", Timeout => 1800);
+
+ @lines = $telnet_session->cmd(String => "show route table inet6.0 all terse",
+ Timeout => 1800);
+ $telnet_session->close;
+ } else {
+ $ROUTER = "CISCO";
+ $parser = "cisco";
+ $STATUSCODES = "s suppressed, d damped, h history, * valid, &gt; best, r RIB-failure";
+ my $telnet_session = new Net::Telnet(
+ prompt => '/[\w().-]*[\$#]\s*$/'
+ );
+
+ $telnet_session->open($ROUTERADDR);
+ $telnet_session->login($ROUTERUSER, $ROUTERUSERPASS);
+ $telnet_session->cmd(String => "terminal length 0", Timeout => 1800);
+
+ @lines = $telnet_session->cmd(String => "show bgp ipv6",
+ Timeout => 1800);
+ $telnet_session->close;
+ }
+# end TELNET module
+
+ } else {
+
+# RSH module to get BGP4+ AS Path table
+
if ($ROUTER =~ /^JUNIPER$/i) {
$parser = "juniper";
$STATUSCODES = "*&gt; active";
@@ -58,6 +103,7 @@
push(@lines, $_);
}
close(OUTPUT);
+ }
chomp(@lines);
# Write log and for web files (raw table)
open(TXTFILE,"> $BGPTABLEFILE");

View file

@ -0,0 +1,99 @@
--- readme.txt.orig Thu Apr 17 15:58:12 2003
+++ readme.txt Sun Apr 27 01:53:51 2003
@@ -61,7 +61,7 @@
without problems on any Unix platform (Linux, etc.) with
Perl (version equal or greater than 5.0) installed.
-The IPv6 BGP tables of external routers are obtained using rsh
+The IPv6 BGP tables of external routers are obtained using rsh or telnet
commands. The current release works with cisco routers, zebra routers
and juniper routers running IPv6 capable software versions.
@@ -128,10 +128,16 @@
CISCO
-----
-The cisco router must be configured to accept rsh commands from the
-workstation which is running the ASpath-tree scripts. The
-administrator of the cisco router must perform the following
-configurations:
+The cisco router must be configured to accept rsh commands or telnet
+access from the workstation which is running the ASpath-tree
+scripts. The administrator of the cisco router must perform the
+following configurations:
+
+Option 1: rsh collection
+------------------------
+The router must be configured to accept rsh commands coming from the
+remote workstation which is running the ASpath-tree scripts in the
+following way:
ip rcmd remote-host <router-username> <remote-ip-address> <remote-
username>
@@ -162,9 +168,28 @@
scripts to collect the routing information available on the cisco
router.
+Option 2: telnet collection
+---------------------------
+The router must be configured to accept telnet commands coming from the
+remote workstation which is running the ASpath-tree scripts.
+
+<router-username> is the name of the telnet user enabled to show the bgp
+table on the cisco router.
+
+<router-username-password> is the corresponding password of the telnet user
+enabled to show the bgp table on the cisco router.
+
+Consult the Cisco documentations, how to configure such a settings.
+
+If you configure ROUTERUSERPWD then the telnet option automatically selected.
+
+
JUNIPER
-------
+Option 1: rsh collection
+------------------------
+
The juniper router must be configured to accept rsh commands from the
workstation which is running the ASpath-tree scripts. In the case of
juniper, you have first to enable the rsh service on the router, then
@@ -198,6 +223,13 @@
This is exactly the rsh command used by the ASpath-tree scripts to
collect the routing information available on the juniper router.
+Option 2: telnet collection
+---------------------------
+
+configure an user <router-username> with password <router-password on
+the Juniper router with view permisssion. Consult your Juniper
+documentation about that.
+
ZEBRA
-----
To use ASpath-tree with zebra routers, the "vtysh" CLI emulator must
@@ -267,7 +299,12 @@
router have IPv6 capable rsh implementations.
ROUTERUSER is the username on the router that you have to use to
- run remote rsh commands.
+ run remote rsh commands or telnet.
+
+ROUTERUSERPASS
+ is an optional parameter to use for telnet collection. If you
+ configure this parameter telnet mode will be used automatically.
+ DO NOT SPECIFY this parameter if you use RSH collection.
HTMLDIR is the full path to the directory where the generated
html files have to be placed. If you do not specify this
@@ -794,6 +831,9 @@
Raffaele D'Albenzio, Ivano Guardini and Paolo Fasano
<ipv6@tilab.com>
----------------------------------------------------
+ Telnet modul addition
+ Janos Mohacsi <mohacsi@niif.hu> - 6NET project
+ ----------------------------------------------------
#### ASpath-tree v.4.2 - Released on Thu APR 17 2003, h.16:58:12
#### File: readme.txt Last modified on Thu APR 17 2003, h.16:45:39

View file

@ -0,0 +1,153 @@
--- update-rtree.orig Thu Apr 17 15:58:12 2003
+++ update-rtree Sun Apr 27 02:01:49 2003
@@ -1,13 +1,13 @@
-#!/usr/local/bin/perl
+#!%%PATHPERLBIN%%
#### ASpath-tree v.4.2 - Released on Thu APR 17 2003, h.16:58:12
#### File: update-rtree Last modified on Tue MAR 18 2003, h.22:59:48
# Configuration File
-my $CONFIGFILE = "/etc/ASpath-tree.config";
+my $CONFIGFILE = "%%PREFIX%%/etc/ASpath-tree.config";
# Global variables
-use vars qw ($HOMEDIR $RSHDIR $ROUTER $LOCAL $ROUTERADDR $ROUTERUSER $CONTACTNAME $CONTACTMAIL $SITENAME $SITEPICTURE $HTMLDIR
+use vars qw ($HOMEDIR $RSHDIR $ROUTER $LOCAL $ROUTERADDR $ROUTERUSER $ROUTERUSERPASS $CONTACTNAME $CONTACTMAIL $SITENAME $SITEPICTURE $HTMLDIR
$WHOISLINK $QUIET $DEBUG $FILTEROUT $RIPEWHOISCLIENT $MORETREES);
use vars qw ($DATADIR $ROOTPICTURE $LIB $ICONS $WARNINGTIME $HISTORYPERIOD $FLAG_COLLECT $LONGDATE $CURRENTTIME $LASTRUN);
use vars qw ($SIXBONEDB $IPV6PREFIXTABLE $PTLA_FILE $HISTORYFILE $LASTRUNFILE $OLDASPATHSFILE $OLDDATEFILE $OLDBBASPATHSFILE
@@ -106,6 +106,7 @@
if ($line =~ /^\s*LOCAL\s*=\s*(.*)/) {$LOCAL = $1}
if ($line =~ /^\s*ROUTERADDR\s*=\s*(.*)/) {$ROUTERADDR = $1}
if ($line =~ /^\s*ROUTERUSER\s*=\s*(.*)/) {$ROUTERUSER = $1}
+ if ($line =~ /^\s*ROUTERUSERPASS\s*=\s*(.*)/) {$ROUTERUSERPASS = $1}
if ($line =~ /^\s*CONTACTNAME\s*=\s*(.*)/) {$CONTACTNAME = $1}
if ($line =~ /^\s*CONTACTMAIL\s*=\s*(.*)/) {$CONTACTMAIL = $1}
if ($line =~ /^\s*SITENAME\s*=\s*(.*)/) {$SITENAME = $1}
@@ -120,9 +121,9 @@
# DEFAULT values setting...(if not explicitely declared) and ERROR checking ...
die "ERROR in configuration file: parameter HOMEDIR not set!\n" unless ($HOMEDIR);
- die "ERROR in configuration file: parameter HOMEDIR not correct!\n" unless (-e "$HOMEDIR/update-rtree");
+ die "ERROR in configuration file: parameter HOMEDIR not correct!\n" unless (-d "$HOMEDIR");
- $LOGDIR = "$HOMEDIR/log"; unless (-e "$LOGDIR") {mkdir("$LOGDIR", 0777)};
+ $LOGDIR = "$HOMEDIR/log"; unless (-e "$LOGDIR") {mkdir("$LOGDIR", 0775)};
if ($DEBUG) {open(LOGFILE, "> $LOGDIR/runlog.txt"); close(LOGFILE)}
&log_it_and_die("ERROR in configuration file: parameter SITENAME not set!") unless ($SITENAME);
&log_it_and_die("ERROR in configuration file: parameter ROUTER = \"$ROUTER\" not acceptable!") if ($ROUTER && !grep(/^$ROUTER$/, ("CISCO", "JUNIPER" , "ZEBRA", "ZEBRA93")));
@@ -134,7 +135,7 @@
}
unless ($WHOISLINK) {$WHOISLINK = "http://whois.6bone.net/cgi-bin/whois"}
unless ($DATADIR) {$DATADIR = "$HOMEDIR/data"}
- unless ($LIB) {$LIB = "$HOMEDIR/lib"}
+ unless ($LIB) {$LIB = "%%PREFIX%%/libexec/aspathtree"}
unless ($FILTEROUT) {$FILTEROUT = 0}
$ICONS = "./icons";
$WARNINGTIME = 5;
@@ -199,13 +200,13 @@
$logtext .= " LASTRUNFILE = \"$LASTRUNFILE\"\n";
$logtext .= " PTLASHISTORYDIR = \"$PTLASHISTORYDIR\" ";
if (-e "$PTLASHISTORYDIR") {$logtext .= "(ok)\n"}
- else {mkdir("$PTLASHISTORYDIR", 0777); $logtext .= "(created)\n"}
+ else {mkdir("$PTLASHISTORYDIR", 0775); $logtext .= "(created)\n"}
$logtext .= " OTHERHISTORYDIR = \"$OTHERHISTORYDIR\" ";
if (-e "$OTHERHISTORYDIR") {$logtext .= "(ok)\n"}
- else {mkdir("$OTHERHISTORYDIR", 0777); $logtext .= "(created)\n"}
+ else {mkdir("$OTHERHISTORYDIR", 0775); $logtext .= "(created)\n"}
$logtext .= " Complete tree dir = \"$HOMEDIR/history/completetree\" ";
if (-e "$HOMEDIR/history/completetree") {$logtext .= "(ok)\n"}
- else {mkdir("$HOMEDIR/history/completetree", 0777); $logtext .= "(created)\n"}
+ else {mkdir("$HOMEDIR/history/completetree", 0775); $logtext .= "(created)\n"}
$logtext .= " OLDASPATHSFILE = \"$OLDASPATHSFILE\"\n";
$logtext .= " OLDDATEFILE = \"$OLDDATEFILE\"\n";
if ($MORETREES) {
@@ -215,12 +216,12 @@
$OLDBBDATEFILE = "$HOMEDIR/history/bbtree/lastchangedate.txt";
$logtext .= " BB tree dir = \"$HOMEDIR/history/bbtree\" ";
if (-e "$HOMEDIR/history/bbtree") {$logtext .= "(ok)\n"}
- else {mkdir("$HOMEDIR/history/bbtree", 0777); $logtext .= "(created)\n"}
+ else {mkdir("$HOMEDIR/history/bbtree", 0775); $logtext .= "(created)\n"}
$logtext .= " OLDBBASPATHSFILE = \"$OLDBBASPATHSFILE\"\n";
$logtext .= " OLDBBDATEFILE = \"$OLDBBDATEFILE\"\n";
$logtext .= " 2001 tree dir = \"$HOMEDIR/history/othertree\" ";
if (-e "$HOMEDIR/history/othertree") {$logtext .= "(ok)\n"}
- else {mkdir("$HOMEDIR/history/othertree", 0777); $logtext .= "(created)\n"}
+ else {mkdir("$HOMEDIR/history/othertree", 0775); $logtext .= "(created)\n"}
$logtext .= " OLDOTHASPATHSFILE = \"$OLDOTHASPATHSFILE\"\n";
$logtext .= " OLDOTHDATEFILE = \"$OLDOTHDATEFILE\"\n";
} else {
@@ -246,7 +247,7 @@
$CHANGESDIR = "$HTMLDIR_LOCAL/changes";
$logtext .= " CHANGESDIR = \"$CHANGESDIR\" ";
if (-e "$CHANGESDIR") {$logtext .= "(ok)\n"}
- else {mkdir("$CHANGESDIR", 0777); $logtext .= "(created)\n"}
+ else {mkdir("$CHANGESDIR", 0775); $logtext .= "(created)\n"}
$OUTPUTCOMPLETECHANGES = "$CHANGESDIR/bgp-page-complete-changes.html";
$logtext .= " OUTPUTCOMPLETECHANGES = \"$OUTPUTCOMPLETECHANGES\"\n";
$OUTPUTBBCHANGES = "$CHANGESDIR/bgp-page-backbone-changes.html";
@@ -260,19 +261,19 @@
$DETAILDIRCO = "$DETAILDIR/complete";
$logtext .= " DETAILDIR = \"$DETAILDIR\" ";
if (-e "$DETAILDIR") {$logtext .= "(ok)\n"}
- else {mkdir("$DETAILDIR", 0777); $logtext .= "(created)\n"}
+ else {mkdir("$DETAILDIR", 0775); $logtext .= "(created)\n"}
$logtext .= " DETAILDIRCO = \"$DETAILDIRCO\" ";
if (-e "$DETAILDIRCO") {$logtext .= "(ok)\n"}
- else {mkdir("$DETAILDIRCO", 0777); $logtext .= "(created)\n"}
+ else {mkdir("$DETAILDIRCO", 0775); $logtext .= "(created)\n"}
if ($MORETREES) {
$DETAILDIRBB = "$DETAILDIR/backbone";
$DETAILDIRIANA = "$DETAILDIR/otherIANA";
$logtext .= " DETAILDIRBB = \"$DETAILDIRBB\" ";
if (-e "$DETAILDIRBB") {$logtext .= "(ok)\n"}
- else {mkdir("$DETAILDIRBB", 0777); $logtext .= "(created)\n"}
+ else {mkdir("$DETAILDIRBB", 0775); $logtext .= "(created)\n"}
$logtext .= " DETAILDIRIANA = \"$DETAILDIRIANA\" ";
if (-e "$DETAILDIRIANA") {$logtext .= "(ok)\n"}
- else {mkdir("$DETAILDIRIANA", 0777); $logtext .= "(created)\n"}
+ else {mkdir("$DETAILDIRIANA", 0775); $logtext .= "(created)\n"}
} else {
if (-e "$DETAILDIRBB") {system "rm -rf $DETAILDIRBB"}
if (-e "$DETAILDIRIANA") {system "rm -rf $DETAILDIRIANA"}
@@ -280,30 +281,30 @@
$HISTORYHTMLDIR = "$HTMLDIR_LOCAL/24h_history";
$logtext .= " HISTORYHTMLDIR = \"$HISTORYHTMLDIR\" ";
if (-e "$HISTORYHTMLDIR") {$logtext .= "(ok)\n"}
- else {mkdir("$HISTORYHTMLDIR", 0777); $logtext .= "(created)\n"}
+ else {mkdir("$HISTORYHTMLDIR", 0775); $logtext .= "(created)\n"}
$ICONSDIR = "$HTMLDIR_LOCAL/icons";
$logtext .= " ICONSDIR = \"$ICONSDIR\"\n";
$logtext .= " Trash dir = \"$HTMLDIR_LOCAL/trash\" ";
if (-e "$HTMLDIR_LOCAL/trash") {system "rm -rf $HTMLDIR_LOCAL/trash/*"; $logtext .= "(ok, empty)\n"}
- else {mkdir("$HTMLDIR_LOCAL/trash", 0777); $logtext .= "(created)\n"}
+ else {mkdir("$HTMLDIR_LOCAL/trash", 0775); $logtext .= "(created)\n"}
$logtext .= "\n HTMLDIR = \"$HTMLDIR\"\n";
if (-d $HTMLDIR) {
- unless (-e "$HTMLDIR/details") {mkdir("$HTMLDIR/details", 0777); $logtext .= " $HTMLDIR/details created.\n"}
- unless (-e "$HTMLDIR/details/complete") {mkdir("$HTMLDIR/details/complete", 0777); $logtext .= " $HTMLDIR/details/complete created.\n"}
+ unless (-e "$HTMLDIR/details") {mkdir("$HTMLDIR/details", 0775); $logtext .= " $HTMLDIR/details created.\n"}
+ unless (-e "$HTMLDIR/details/complete") {mkdir("$HTMLDIR/details/complete", 0775); $logtext .= " $HTMLDIR/details/complete created.\n"}
if ($MORETREES) {
- unless (-e "$HTMLDIR/details/backbone") {mkdir("$HTMLDIR/details/backbone", 0777); $logtext .= " $HTMLDIR/details/backbone created.\n"}
- unless (-e "$HTMLDIR/details/otherIANA") {mkdir("$HTMLDIR/details/otherIANA", 0777); $logtext .= " $HTMLDIR/details/otherIANA created.\n"}
+ unless (-e "$HTMLDIR/details/backbone") {mkdir("$HTMLDIR/details/backbone", 0775); $logtext .= " $HTMLDIR/details/backbone created.\n"}
+ unless (-e "$HTMLDIR/details/otherIANA") {mkdir("$HTMLDIR/details/otherIANA", 0775); $logtext .= " $HTMLDIR/details/otherIANA created.\n"}
} else {
if (-e "$HTMLDIR/details/backbone") {system "rm -rf $HTMLDIR/details/backbone"}
if (-e "$HTMLDIR/details/otherIANA") {system "rm -rf $HTMLDIR/details/otherIANA"}
}
- unless (-e "$HTMLDIR/24h_history") {mkdir("$HTMLDIR/24h_history", 0777); $logtext .= " $HTMLDIR/24h_history created.\n"}
+ unless (-e "$HTMLDIR/24h_history") {mkdir("$HTMLDIR/24h_history", 0775); $logtext .= " $HTMLDIR/24h_history created.\n"}
if ($CHANGESFLAG) {
- unless (-e "$HTMLDIR/changes") {mkdir("$HTMLDIR/changes", 0777); $logtext .= " $HTMLDIR/changes created.\n"}
+ unless (-e "$HTMLDIR/changes") {mkdir("$HTMLDIR/changes", 0775); $logtext .= " $HTMLDIR/changes created.\n"}
}
unless (-e "$HTMLDIR/icons") {
- mkdir("$HTMLDIR/icons", 0777);
+ mkdir("$HTMLDIR/icons", 0775);
system("cp $ICONSDIR/* $HTMLDIR/icons");
$logtext .= " $HTMLDIR/icons created and template icons copied.\n";
}

View file

@ -0,0 +1,24 @@
ASpath-tree program
============================
ASpath-tree is a tool designed to be used by an IPv6 site involved
in the experimentation of the BGP4+ protocol inside the 6Bone network.
It generates summary of:
* the number of route entries (valid/total/suppressed/damped/history)
* the number of AS in table (total, originating only, originating/transit,
transit only, private and reserved)
* the number of active AS paths
* the number of active BGP neighbours (i.e. announcing routing information)
* an analysis of the network size, in terms of AS distances
* the number of circulating prefixes (total, 6Bone pTLAs, sTLAs, 6to4,
others)
The current version supports:
* 6Bone pTLAs
* RIR's assigned sTLAs
* Juniper/Cisco/Zebra routers
WWW: http://carmen.ipv6.cselt.it/ipv6/tools/ASpath-tree/index.html
janos.mohacsi@bsd.hu

View file

@ -0,0 +1,6 @@
For to configuration information please look at
%%PREFIX%%/share/doc/aspathtree/readme.txt.
Copy %%PREFIX%%/etc/ASpath-tree.config.dist to
%%PREFIX%%/etc/ASpath-tree.config
and modify accordingly to your environment.

View file

@ -0,0 +1,44 @@
etc/ASpath-tree.config.dist
var/aspathtree/htdocs/icons/bnew.gif
var/aspathtree/htdocs/icons/bold.gif
var/aspathtree/htdocs/icons/e.gif
var/aspathtree/htdocs/icons/h.gif
var/aspathtree/htdocs/icons/l.gif
var/aspathtree/htdocs/icons/p.gif
var/aspathtree/htdocs/icons/t.gif
var/aspathtree/htdocs/icons/v.gif
var/aspathtree/data/6bone.db
var/aspathtree/data/force.as.name
var/aspathtree/data/rirs.db
libexec/aspathtree/bgp-tree-changes.pl
libexec/aspathtree/bgp-tree.pl
libexec/aspathtree/create-homepage.pl
libexec/aspathtree/elaborate-aspaths.pl
libexec/aspathtree/getbgptable.pl
libexec/aspathtree/history.pl
libexec/aspathtree/ipv6prefix.pl
libexec/aspathtree/odd-as.pl
libexec/aspathtree/odd-routes.pl
libexec/aspathtree/route-stability.pl
libexec/aspathtree/utility.pl
libexec/aspathtree/ASmain.pl
bin/update-rtree
%%PORTDOCS%%share/doc/aspathtree/DISCLAIMER
%%PORTDOCS%%share/doc/aspathtree/readme.txt
%%PORTDOCS%%share/doc/aspathtree/changes.txt
@dirrm var/aspathtree/htdocs/changes
@dirrm var/aspathtree/htdocs/details
@dirrm var/aspathtree/htdocs/icons
@dirrm var/aspathtree/htdocs/trash
@dirrm var/aspathtree/htdocs
@dirrm var/aspathtree/history/bbtree
@dirrm var/aspathtree/history/completetree
@dirrm var/aspathtree/history/othertree
@dirrm var/aspathtree/history/other
@dirrm var/aspathtree/history/ptlas
@dirrm var/aspathtree/history
@dirrm var/aspathtree/data
@dirrm var/aspathtree/log
@dirrm var/aspathtree
@dirrm libexec/aspathtree
%%PORTDOCS%%@dirrm share/doc/aspathtree/

View file

@ -30,6 +30,7 @@
SUBDIR += arts++
SUBDIR += asfrecorder
SUBDIR += aslookup
SUBDIR += aspathtree
SUBDIR += b2bua
SUBDIR += balance
SUBDIR += bbsnet

84
net/aspathtree/Makefile Normal file
View file

@ -0,0 +1,84 @@
# New ports collection makefile for: aspathtree
# Date created: 06.05.2002
# Whom: Janos Mohacsi <janos.mohacsi@bsd.hu>
#
# $FreeBSD$
PORTNAME= aspathtree
PORTVERSION= 4.2
CATEGORIES= net ipv6
MASTER_SITES= #http://carmen.ipv6.cselt.it/ipv6/tools/ASpath-tree/index.html
DISTNAME= ASpath-tree-v${PORTVERSION}
MAINTAINER= Janos.Mohacsi@bsd.hu
COMMENT= Checks IPv6 routes' stability and correctness on IPv6 internet
RUN_DEPENDS= ${LOCALBASE}/lib/perl5/site_perl/${PERL_VER}/Net/Telnet.pm:${PORTSDIR}/net/p5-Net-Telnet \
ripewhois:${PORTSDIR}/net/ripetools
WRKSRC= ${WRKDIR}/ASpath-tree-v${PORTVERSION}/
RESTRICTED= "not redistributable, license agreement required"
.include <bsd.port.pre.mk>
.if !exists(${DISTDIR}/${DISTNAME}${EXTRACT_SUFX})
IGNORE= "You need to read the license and disclaimer on http://carmen.ipv6.tilab.com/cgi-bin/download.pl?pkg=ASpath-tree and download ${DISTFILES} into ${DISTDIR}"
.endif
NO_BUILD= yes
USE_PERL5= yes
USE_REINPLACE= yes
SCRIPTS_ENV+= PERL5=${PERL5}
PKGMESSAGE= ${WRKDIR}/pkg-message
CONFIG_FILES= ASpath-tree.config
ICON_FILES= bnew.gif bold.gif e.gif h.gif l.gif p.gif t.gif v.gif
LIB_FILES= bgp-tree-changes.pl bgp-tree.pl create-homepage.pl elaborate-aspaths.pl getbgptable.pl history.pl ipv6prefix.pl odd-as.pl odd-routes.pl route-stability.pl utility.pl ASmain.pl
DATA_FILES= 6bone.db force.as.name rirs.db
DOC_FILES= DISCLAIMER readme.txt changes.txt
pre-configure:
@${REINPLACE_CMD} -e 's#%%PATHPERLBIN%%#${PERL5}#; \
s#%%PREFIX%%#${PREFIX}#' ${WRKSRC}/update-rtree \
${WRKSRC}/etc/ASpath-tree.config
do-install:
#installing main script
${INSTALL_SCRIPT} ${WRKSRC}/update-rtree ${PREFIX}/bin
#installing lib files
${MKDIR} ${PREFIX}/libexec/aspathtree/
.for file in ${LIB_FILES}
${INSTALL_DATA} ${WRKSRC}/lib/${file} ${PREFIX}/libexec/aspathtree
.endfor
#installing htdocs files
${MKDIR} ${PREFIX}/var/aspathtree/htdocs/icons/
.for file in ${ICON_FILES}
${INSTALL_DATA} ${WRKSRC}/htdocs/icons/${file} ${PREFIX}/var/aspathtree/htdocs/icons/
.endfor
#installing data files
${MKDIR} ${PREFIX}/var/aspathtree/data
.for file in ${DATA_FILES}
${INSTALL_DATA} ${WRKSRC}/data/${file} ${PREFIX}/var/aspathtree/data/
.endfor
#installing log directory
${MKDIR} ${PREFIX}/var/aspathtree/log
#installing config files
.for file in ${CONFIG_FILES}
${INSTALL_DATA} ${WRKSRC}/etc/${file} ${PREFIX}/etc/${file}.dist
.endfor
#installing docs
.ifndef(NOPORTDOCS)
${MKDIR} ${DOCSDIR}
.for file in ${DOC_FILES}
${INSTALL_DATA} ${WRKSRC}/${file} ${DOCSDIR}
.endfor
.endif
post-install:
@${SED} -e "s:%%PREFIX%%:${PREFIX}:g" ${.CURDIR}/pkg-message >${PKGMESSAGE}
.if !defined(BATCH)
@${ECHO}
@${CAT} ${PKGMESSAGE}
@${ECHO}
.endif
.include <bsd.port.post.mk>

1
net/aspathtree/distinfo Normal file
View file

@ -0,0 +1 @@
MD5 (ASpath-tree-v4.2.tar.gz) = d52992a73d21139442a2c242b9532f14

View file

@ -0,0 +1,63 @@
--- etc/ASpath-tree.config.orig Tue Dec 10 10:02:25 2002
+++ etc/ASpath-tree.config Sat Mar 8 21:56:17 2003
@@ -9,7 +9,7 @@
# Full path to the directory where you have installed the ASpath-tree
# scripts. It is the directory where the script create-bgp-pages is
# located
-HOMEDIR = /usr/local/ASpath-tree-v4.2
+HOMEDIR = %%PREFIX%%/var/aspathree/
# Router you are using. Currently supported platforms include Cisco, Juniper
# and Zebra routers. Allowed values are "CISCO", "JUNIPER" , "ZEBRA" and
@@ -37,8 +37,14 @@
# command:
# ip rcmd remote-host
# <router-user> <client-ip-address> <client-user>
+# or the telnet user. See ROUTERUSERPASS also.
ROUTERUSER = router
+# The password of the telnet user which have been enabled on the cisco
+# router to issue 'show bgp ipv6' command. Set up only if you want to
+# use the telnet mode.
+# ROUTERUSERPASS = router
+
# The full path to the directory where the generated html files have to be
# placed. If you do not specify this option the html files are stored under
# the htdocs/ directory which comes with the distribution
@@ -46,15 +52,15 @@
# HTMLDIR = /usr/local/httpd/htdocs/bgp
# The contactname which is placed at the bottom of the generated html pages
-CONTACTNAME = IPv6 group
+CONTACTNAME = Your IPv6 group
# e-mail address of the contact person. It is placed at the bottom of the
# generated html pages together with the contactname
- CONTACTMAIL = me@myhost.com
+ CONTACTMAIL = your@ipv6.mail
# The name of your IPv6 site. It is used as the root of the BGP4+ routing
# tree displayed by the generated html pages
-SITENAME = TILAB
+SITENAME = Your IPv6 project
# The name of the image file (for instance a graphical logo representing
# your IPv6 site) to be placed at the beginning of the generated html
@@ -71,7 +77,7 @@
# WHOISLINK = http://whois.6bone.net/cgi-bin/whois
# A flag to enable the display of the last changes on the tree. Set
-# CHANGESFLAG = 1
+CHANGESFLAG = 1
# to see the display as html pages accessible from a link within the tree pages
# A flag to control which routes are filtered out from the output of
@@ -83,7 +89,7 @@
# installed on the same WS that hosts ASpath-tree
# This parameter is needed only if you want to update via ASpath-tree the
# useful information available on whois DBs connected to the Internet
-# RIPEWHOISCLIENT = /usr/local/bin/whois3
+RIPEWHOISCLIENT = /usr/local/bin/ripewhois
#### ASpath-tree v.4.2 - Released on Tue DEC 10 2002, h.10:02:25
#### File: etc/ASpath-tree.config Last modified on Mon DEC 9 2002, h.15:52:30

View file

@ -0,0 +1,66 @@
--- lib/getbgptable.pl.orig Thu Feb 6 11:25:26 2003
+++ lib/getbgptable.pl Thu Feb 6 11:43:58 2003
@@ -24,10 +24,55 @@
# ASs (all the ASs in the router BGP table)
# Finally this routine produces a text file containing the raw version of the router table
# and if required log files of both the raw router table and the normalized table.
+
+
sub get_bgp_table {
my ($parser, $command, $line) = ('', '', '');
my (@lines) = ();
+ use Socket;
+ use Net::Telnet;
+
+ if (defined($ROUTERUSERPASS)) {
+
+# TELNET module to get BGP4+ AS Path table
+
+ if ($ROUTER =~ /^JUNIPER$/i) {
+ $parser = "juniper";
+ $STATUSCODES = "*&gt; active";
+ my $telnet_session = new Net::Telnet(
+ prompt => '/[\w().-]*[\$#]\s*$/'
+ );
+
+ $telnet_session->open($ROUTERADDR);
+ $telnet_session->login($ROUTERUSER, $ROUTERUSERPASS);
+ $telnet_session->cmd(String => "set cli screen-length 0", Timeout => 1800);
+
+ @lines = $telnet_session->cmd(String => "show route table inet6.0 all terse",
+ Timeout => 1800);
+ $telnet_session->close;
+ } else {
+ $ROUTER = "CISCO";
+ $parser = "cisco";
+ $STATUSCODES = "s suppressed, d damped, h history, * valid, &gt; best, r RIB-failure";
+ my $telnet_session = new Net::Telnet(
+ prompt => '/[\w().-]*[\$#]\s*$/'
+ );
+
+ $telnet_session->open($ROUTERADDR);
+ $telnet_session->login($ROUTERUSER, $ROUTERUSERPASS);
+ $telnet_session->cmd(String => "terminal length 0", Timeout => 1800);
+
+ @lines = $telnet_session->cmd(String => "show bgp ipv6",
+ Timeout => 1800);
+ $telnet_session->close;
+ }
+# end TELNET module
+
+ } else {
+
+# RSH module to get BGP4+ AS Path table
+
if ($ROUTER =~ /^JUNIPER$/i) {
$parser = "juniper";
$STATUSCODES = "*&gt; active";
@@ -58,6 +103,7 @@
push(@lines, $_);
}
close(OUTPUT);
+ }
chomp(@lines);
# Write log and for web files (raw table)
open(TXTFILE,"> $BGPTABLEFILE");

View file

@ -0,0 +1,99 @@
--- readme.txt.orig Thu Apr 17 15:58:12 2003
+++ readme.txt Sun Apr 27 01:53:51 2003
@@ -61,7 +61,7 @@
without problems on any Unix platform (Linux, etc.) with
Perl (version equal or greater than 5.0) installed.
-The IPv6 BGP tables of external routers are obtained using rsh
+The IPv6 BGP tables of external routers are obtained using rsh or telnet
commands. The current release works with cisco routers, zebra routers
and juniper routers running IPv6 capable software versions.
@@ -128,10 +128,16 @@
CISCO
-----
-The cisco router must be configured to accept rsh commands from the
-workstation which is running the ASpath-tree scripts. The
-administrator of the cisco router must perform the following
-configurations:
+The cisco router must be configured to accept rsh commands or telnet
+access from the workstation which is running the ASpath-tree
+scripts. The administrator of the cisco router must perform the
+following configurations:
+
+Option 1: rsh collection
+------------------------
+The router must be configured to accept rsh commands coming from the
+remote workstation which is running the ASpath-tree scripts in the
+following way:
ip rcmd remote-host <router-username> <remote-ip-address> <remote-
username>
@@ -162,9 +168,28 @@
scripts to collect the routing information available on the cisco
router.
+Option 2: telnet collection
+---------------------------
+The router must be configured to accept telnet commands coming from the
+remote workstation which is running the ASpath-tree scripts.
+
+<router-username> is the name of the telnet user enabled to show the bgp
+table on the cisco router.
+
+<router-username-password> is the corresponding password of the telnet user
+enabled to show the bgp table on the cisco router.
+
+Consult the Cisco documentations, how to configure such a settings.
+
+If you configure ROUTERUSERPWD then the telnet option automatically selected.
+
+
JUNIPER
-------
+Option 1: rsh collection
+------------------------
+
The juniper router must be configured to accept rsh commands from the
workstation which is running the ASpath-tree scripts. In the case of
juniper, you have first to enable the rsh service on the router, then
@@ -198,6 +223,13 @@
This is exactly the rsh command used by the ASpath-tree scripts to
collect the routing information available on the juniper router.
+Option 2: telnet collection
+---------------------------
+
+configure an user <router-username> with password <router-password on
+the Juniper router with view permisssion. Consult your Juniper
+documentation about that.
+
ZEBRA
-----
To use ASpath-tree with zebra routers, the "vtysh" CLI emulator must
@@ -267,7 +299,12 @@
router have IPv6 capable rsh implementations.
ROUTERUSER is the username on the router that you have to use to
- run remote rsh commands.
+ run remote rsh commands or telnet.
+
+ROUTERUSERPASS
+ is an optional parameter to use for telnet collection. If you
+ configure this parameter telnet mode will be used automatically.
+ DO NOT SPECIFY this parameter if you use RSH collection.
HTMLDIR is the full path to the directory where the generated
html files have to be placed. If you do not specify this
@@ -794,6 +831,9 @@
Raffaele D'Albenzio, Ivano Guardini and Paolo Fasano
<ipv6@tilab.com>
----------------------------------------------------
+ Telnet modul addition
+ Janos Mohacsi <mohacsi@niif.hu> - 6NET project
+ ----------------------------------------------------
#### ASpath-tree v.4.2 - Released on Thu APR 17 2003, h.16:58:12
#### File: readme.txt Last modified on Thu APR 17 2003, h.16:45:39

View file

@ -0,0 +1,153 @@
--- update-rtree.orig Thu Apr 17 15:58:12 2003
+++ update-rtree Sun Apr 27 02:01:49 2003
@@ -1,13 +1,13 @@
-#!/usr/local/bin/perl
+#!%%PATHPERLBIN%%
#### ASpath-tree v.4.2 - Released on Thu APR 17 2003, h.16:58:12
#### File: update-rtree Last modified on Tue MAR 18 2003, h.22:59:48
# Configuration File
-my $CONFIGFILE = "/etc/ASpath-tree.config";
+my $CONFIGFILE = "%%PREFIX%%/etc/ASpath-tree.config";
# Global variables
-use vars qw ($HOMEDIR $RSHDIR $ROUTER $LOCAL $ROUTERADDR $ROUTERUSER $CONTACTNAME $CONTACTMAIL $SITENAME $SITEPICTURE $HTMLDIR
+use vars qw ($HOMEDIR $RSHDIR $ROUTER $LOCAL $ROUTERADDR $ROUTERUSER $ROUTERUSERPASS $CONTACTNAME $CONTACTMAIL $SITENAME $SITEPICTURE $HTMLDIR
$WHOISLINK $QUIET $DEBUG $FILTEROUT $RIPEWHOISCLIENT $MORETREES);
use vars qw ($DATADIR $ROOTPICTURE $LIB $ICONS $WARNINGTIME $HISTORYPERIOD $FLAG_COLLECT $LONGDATE $CURRENTTIME $LASTRUN);
use vars qw ($SIXBONEDB $IPV6PREFIXTABLE $PTLA_FILE $HISTORYFILE $LASTRUNFILE $OLDASPATHSFILE $OLDDATEFILE $OLDBBASPATHSFILE
@@ -106,6 +106,7 @@
if ($line =~ /^\s*LOCAL\s*=\s*(.*)/) {$LOCAL = $1}
if ($line =~ /^\s*ROUTERADDR\s*=\s*(.*)/) {$ROUTERADDR = $1}
if ($line =~ /^\s*ROUTERUSER\s*=\s*(.*)/) {$ROUTERUSER = $1}
+ if ($line =~ /^\s*ROUTERUSERPASS\s*=\s*(.*)/) {$ROUTERUSERPASS = $1}
if ($line =~ /^\s*CONTACTNAME\s*=\s*(.*)/) {$CONTACTNAME = $1}
if ($line =~ /^\s*CONTACTMAIL\s*=\s*(.*)/) {$CONTACTMAIL = $1}
if ($line =~ /^\s*SITENAME\s*=\s*(.*)/) {$SITENAME = $1}
@@ -120,9 +121,9 @@
# DEFAULT values setting...(if not explicitely declared) and ERROR checking ...
die "ERROR in configuration file: parameter HOMEDIR not set!\n" unless ($HOMEDIR);
- die "ERROR in configuration file: parameter HOMEDIR not correct!\n" unless (-e "$HOMEDIR/update-rtree");
+ die "ERROR in configuration file: parameter HOMEDIR not correct!\n" unless (-d "$HOMEDIR");
- $LOGDIR = "$HOMEDIR/log"; unless (-e "$LOGDIR") {mkdir("$LOGDIR", 0777)};
+ $LOGDIR = "$HOMEDIR/log"; unless (-e "$LOGDIR") {mkdir("$LOGDIR", 0775)};
if ($DEBUG) {open(LOGFILE, "> $LOGDIR/runlog.txt"); close(LOGFILE)}
&log_it_and_die("ERROR in configuration file: parameter SITENAME not set!") unless ($SITENAME);
&log_it_and_die("ERROR in configuration file: parameter ROUTER = \"$ROUTER\" not acceptable!") if ($ROUTER && !grep(/^$ROUTER$/, ("CISCO", "JUNIPER" , "ZEBRA", "ZEBRA93")));
@@ -134,7 +135,7 @@
}
unless ($WHOISLINK) {$WHOISLINK = "http://whois.6bone.net/cgi-bin/whois"}
unless ($DATADIR) {$DATADIR = "$HOMEDIR/data"}
- unless ($LIB) {$LIB = "$HOMEDIR/lib"}
+ unless ($LIB) {$LIB = "%%PREFIX%%/libexec/aspathtree"}
unless ($FILTEROUT) {$FILTEROUT = 0}
$ICONS = "./icons";
$WARNINGTIME = 5;
@@ -199,13 +200,13 @@
$logtext .= " LASTRUNFILE = \"$LASTRUNFILE\"\n";
$logtext .= " PTLASHISTORYDIR = \"$PTLASHISTORYDIR\" ";
if (-e "$PTLASHISTORYDIR") {$logtext .= "(ok)\n"}
- else {mkdir("$PTLASHISTORYDIR", 0777); $logtext .= "(created)\n"}
+ else {mkdir("$PTLASHISTORYDIR", 0775); $logtext .= "(created)\n"}
$logtext .= " OTHERHISTORYDIR = \"$OTHERHISTORYDIR\" ";
if (-e "$OTHERHISTORYDIR") {$logtext .= "(ok)\n"}
- else {mkdir("$OTHERHISTORYDIR", 0777); $logtext .= "(created)\n"}
+ else {mkdir("$OTHERHISTORYDIR", 0775); $logtext .= "(created)\n"}
$logtext .= " Complete tree dir = \"$HOMEDIR/history/completetree\" ";
if (-e "$HOMEDIR/history/completetree") {$logtext .= "(ok)\n"}
- else {mkdir("$HOMEDIR/history/completetree", 0777); $logtext .= "(created)\n"}
+ else {mkdir("$HOMEDIR/history/completetree", 0775); $logtext .= "(created)\n"}
$logtext .= " OLDASPATHSFILE = \"$OLDASPATHSFILE\"\n";
$logtext .= " OLDDATEFILE = \"$OLDDATEFILE\"\n";
if ($MORETREES) {
@@ -215,12 +216,12 @@
$OLDBBDATEFILE = "$HOMEDIR/history/bbtree/lastchangedate.txt";
$logtext .= " BB tree dir = \"$HOMEDIR/history/bbtree\" ";
if (-e "$HOMEDIR/history/bbtree") {$logtext .= "(ok)\n"}
- else {mkdir("$HOMEDIR/history/bbtree", 0777); $logtext .= "(created)\n"}
+ else {mkdir("$HOMEDIR/history/bbtree", 0775); $logtext .= "(created)\n"}
$logtext .= " OLDBBASPATHSFILE = \"$OLDBBASPATHSFILE\"\n";
$logtext .= " OLDBBDATEFILE = \"$OLDBBDATEFILE\"\n";
$logtext .= " 2001 tree dir = \"$HOMEDIR/history/othertree\" ";
if (-e "$HOMEDIR/history/othertree") {$logtext .= "(ok)\n"}
- else {mkdir("$HOMEDIR/history/othertree", 0777); $logtext .= "(created)\n"}
+ else {mkdir("$HOMEDIR/history/othertree", 0775); $logtext .= "(created)\n"}
$logtext .= " OLDOTHASPATHSFILE = \"$OLDOTHASPATHSFILE\"\n";
$logtext .= " OLDOTHDATEFILE = \"$OLDOTHDATEFILE\"\n";
} else {
@@ -246,7 +247,7 @@
$CHANGESDIR = "$HTMLDIR_LOCAL/changes";
$logtext .= " CHANGESDIR = \"$CHANGESDIR\" ";
if (-e "$CHANGESDIR") {$logtext .= "(ok)\n"}
- else {mkdir("$CHANGESDIR", 0777); $logtext .= "(created)\n"}
+ else {mkdir("$CHANGESDIR", 0775); $logtext .= "(created)\n"}
$OUTPUTCOMPLETECHANGES = "$CHANGESDIR/bgp-page-complete-changes.html";
$logtext .= " OUTPUTCOMPLETECHANGES = \"$OUTPUTCOMPLETECHANGES\"\n";
$OUTPUTBBCHANGES = "$CHANGESDIR/bgp-page-backbone-changes.html";
@@ -260,19 +261,19 @@
$DETAILDIRCO = "$DETAILDIR/complete";
$logtext .= " DETAILDIR = \"$DETAILDIR\" ";
if (-e "$DETAILDIR") {$logtext .= "(ok)\n"}
- else {mkdir("$DETAILDIR", 0777); $logtext .= "(created)\n"}
+ else {mkdir("$DETAILDIR", 0775); $logtext .= "(created)\n"}
$logtext .= " DETAILDIRCO = \"$DETAILDIRCO\" ";
if (-e "$DETAILDIRCO") {$logtext .= "(ok)\n"}
- else {mkdir("$DETAILDIRCO", 0777); $logtext .= "(created)\n"}
+ else {mkdir("$DETAILDIRCO", 0775); $logtext .= "(created)\n"}
if ($MORETREES) {
$DETAILDIRBB = "$DETAILDIR/backbone";
$DETAILDIRIANA = "$DETAILDIR/otherIANA";
$logtext .= " DETAILDIRBB = \"$DETAILDIRBB\" ";
if (-e "$DETAILDIRBB") {$logtext .= "(ok)\n"}
- else {mkdir("$DETAILDIRBB", 0777); $logtext .= "(created)\n"}
+ else {mkdir("$DETAILDIRBB", 0775); $logtext .= "(created)\n"}
$logtext .= " DETAILDIRIANA = \"$DETAILDIRIANA\" ";
if (-e "$DETAILDIRIANA") {$logtext .= "(ok)\n"}
- else {mkdir("$DETAILDIRIANA", 0777); $logtext .= "(created)\n"}
+ else {mkdir("$DETAILDIRIANA", 0775); $logtext .= "(created)\n"}
} else {
if (-e "$DETAILDIRBB") {system "rm -rf $DETAILDIRBB"}
if (-e "$DETAILDIRIANA") {system "rm -rf $DETAILDIRIANA"}
@@ -280,30 +281,30 @@
$HISTORYHTMLDIR = "$HTMLDIR_LOCAL/24h_history";
$logtext .= " HISTORYHTMLDIR = \"$HISTORYHTMLDIR\" ";
if (-e "$HISTORYHTMLDIR") {$logtext .= "(ok)\n"}
- else {mkdir("$HISTORYHTMLDIR", 0777); $logtext .= "(created)\n"}
+ else {mkdir("$HISTORYHTMLDIR", 0775); $logtext .= "(created)\n"}
$ICONSDIR = "$HTMLDIR_LOCAL/icons";
$logtext .= " ICONSDIR = \"$ICONSDIR\"\n";
$logtext .= " Trash dir = \"$HTMLDIR_LOCAL/trash\" ";
if (-e "$HTMLDIR_LOCAL/trash") {system "rm -rf $HTMLDIR_LOCAL/trash/*"; $logtext .= "(ok, empty)\n"}
- else {mkdir("$HTMLDIR_LOCAL/trash", 0777); $logtext .= "(created)\n"}
+ else {mkdir("$HTMLDIR_LOCAL/trash", 0775); $logtext .= "(created)\n"}
$logtext .= "\n HTMLDIR = \"$HTMLDIR\"\n";
if (-d $HTMLDIR) {
- unless (-e "$HTMLDIR/details") {mkdir("$HTMLDIR/details", 0777); $logtext .= " $HTMLDIR/details created.\n"}
- unless (-e "$HTMLDIR/details/complete") {mkdir("$HTMLDIR/details/complete", 0777); $logtext .= " $HTMLDIR/details/complete created.\n"}
+ unless (-e "$HTMLDIR/details") {mkdir("$HTMLDIR/details", 0775); $logtext .= " $HTMLDIR/details created.\n"}
+ unless (-e "$HTMLDIR/details/complete") {mkdir("$HTMLDIR/details/complete", 0775); $logtext .= " $HTMLDIR/details/complete created.\n"}
if ($MORETREES) {
- unless (-e "$HTMLDIR/details/backbone") {mkdir("$HTMLDIR/details/backbone", 0777); $logtext .= " $HTMLDIR/details/backbone created.\n"}
- unless (-e "$HTMLDIR/details/otherIANA") {mkdir("$HTMLDIR/details/otherIANA", 0777); $logtext .= " $HTMLDIR/details/otherIANA created.\n"}
+ unless (-e "$HTMLDIR/details/backbone") {mkdir("$HTMLDIR/details/backbone", 0775); $logtext .= " $HTMLDIR/details/backbone created.\n"}
+ unless (-e "$HTMLDIR/details/otherIANA") {mkdir("$HTMLDIR/details/otherIANA", 0775); $logtext .= " $HTMLDIR/details/otherIANA created.\n"}
} else {
if (-e "$HTMLDIR/details/backbone") {system "rm -rf $HTMLDIR/details/backbone"}
if (-e "$HTMLDIR/details/otherIANA") {system "rm -rf $HTMLDIR/details/otherIANA"}
}
- unless (-e "$HTMLDIR/24h_history") {mkdir("$HTMLDIR/24h_history", 0777); $logtext .= " $HTMLDIR/24h_history created.\n"}
+ unless (-e "$HTMLDIR/24h_history") {mkdir("$HTMLDIR/24h_history", 0775); $logtext .= " $HTMLDIR/24h_history created.\n"}
if ($CHANGESFLAG) {
- unless (-e "$HTMLDIR/changes") {mkdir("$HTMLDIR/changes", 0777); $logtext .= " $HTMLDIR/changes created.\n"}
+ unless (-e "$HTMLDIR/changes") {mkdir("$HTMLDIR/changes", 0775); $logtext .= " $HTMLDIR/changes created.\n"}
}
unless (-e "$HTMLDIR/icons") {
- mkdir("$HTMLDIR/icons", 0777);
+ mkdir("$HTMLDIR/icons", 0775);
system("cp $ICONSDIR/* $HTMLDIR/icons");
$logtext .= " $HTMLDIR/icons created and template icons copied.\n";
}

24
net/aspathtree/pkg-descr Normal file
View file

@ -0,0 +1,24 @@
ASpath-tree program
============================
ASpath-tree is a tool designed to be used by an IPv6 site involved
in the experimentation of the BGP4+ protocol inside the 6Bone network.
It generates summary of:
* the number of route entries (valid/total/suppressed/damped/history)
* the number of AS in table (total, originating only, originating/transit,
transit only, private and reserved)
* the number of active AS paths
* the number of active BGP neighbours (i.e. announcing routing information)
* an analysis of the network size, in terms of AS distances
* the number of circulating prefixes (total, 6Bone pTLAs, sTLAs, 6to4,
others)
The current version supports:
* 6Bone pTLAs
* RIR's assigned sTLAs
* Juniper/Cisco/Zebra routers
WWW: http://carmen.ipv6.cselt.it/ipv6/tools/ASpath-tree/index.html
janos.mohacsi@bsd.hu

View file

@ -0,0 +1,6 @@
For to configuration information please look at
%%PREFIX%%/share/doc/aspathtree/readme.txt.
Copy %%PREFIX%%/etc/ASpath-tree.config.dist to
%%PREFIX%%/etc/ASpath-tree.config
and modify accordingly to your environment.

44
net/aspathtree/pkg-plist Normal file
View file

@ -0,0 +1,44 @@
etc/ASpath-tree.config.dist
var/aspathtree/htdocs/icons/bnew.gif
var/aspathtree/htdocs/icons/bold.gif
var/aspathtree/htdocs/icons/e.gif
var/aspathtree/htdocs/icons/h.gif
var/aspathtree/htdocs/icons/l.gif
var/aspathtree/htdocs/icons/p.gif
var/aspathtree/htdocs/icons/t.gif
var/aspathtree/htdocs/icons/v.gif
var/aspathtree/data/6bone.db
var/aspathtree/data/force.as.name
var/aspathtree/data/rirs.db
libexec/aspathtree/bgp-tree-changes.pl
libexec/aspathtree/bgp-tree.pl
libexec/aspathtree/create-homepage.pl
libexec/aspathtree/elaborate-aspaths.pl
libexec/aspathtree/getbgptable.pl
libexec/aspathtree/history.pl
libexec/aspathtree/ipv6prefix.pl
libexec/aspathtree/odd-as.pl
libexec/aspathtree/odd-routes.pl
libexec/aspathtree/route-stability.pl
libexec/aspathtree/utility.pl
libexec/aspathtree/ASmain.pl
bin/update-rtree
%%PORTDOCS%%share/doc/aspathtree/DISCLAIMER
%%PORTDOCS%%share/doc/aspathtree/readme.txt
%%PORTDOCS%%share/doc/aspathtree/changes.txt
@dirrm var/aspathtree/htdocs/changes
@dirrm var/aspathtree/htdocs/details
@dirrm var/aspathtree/htdocs/icons
@dirrm var/aspathtree/htdocs/trash
@dirrm var/aspathtree/htdocs
@dirrm var/aspathtree/history/bbtree
@dirrm var/aspathtree/history/completetree
@dirrm var/aspathtree/history/othertree
@dirrm var/aspathtree/history/other
@dirrm var/aspathtree/history/ptlas
@dirrm var/aspathtree/history
@dirrm var/aspathtree/data
@dirrm var/aspathtree/log
@dirrm var/aspathtree
@dirrm libexec/aspathtree
%%PORTDOCS%%@dirrm share/doc/aspathtree/