summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2019-09-19 19:45:42 +0200
committerChristian Poessinger <christian@poessinger.com>2019-09-19 19:45:42 +0200
commit4d5c59048087b6fd1a3f50b91e0988ea6b78ad0e (patch)
tree5572733238700af216f5e8b5c695c1eb60044eaa
parent0b1477913efbf511bd61ccd95683b95c7c9bda83 (diff)
parent6c460809b650377d2803b433c75914d7b707592e (diff)
downloadvyatta-op-4d5c59048087b6fd1a3f50b91e0988ea6b78ad0e.tar.gz
vyatta-op-4d5c59048087b6fd1a3f50b91e0988ea6b78ad0e.zip
Merge branch 'current' of github.com:vyos/vyatta-op into equuleus
* 'current' of github.com:vyos/vyatta-op: [ping] T1450 Recovering ping for ipv6 T1621 remove misc ops after python/xml rewrite T1607 remove 'reset conntrack', 'reset & show ip[v6]' ops after xml rewrite T1596 Remove telnet and traceroute operations after xml-style rewrite
-rw-r--r--Makefile.am5
-rw-r--r--debian/control1
-rwxr-xr-xscripts/ping2
-rwxr-xr-xscripts/ssh-server-key14
-rw-r--r--scripts/vyatta-clear-conntrack70
-rwxr-xr-xscripts/vyatta-cpu-summary.pl41
-rw-r--r--scripts/vyatta-traceroute28
-rwxr-xr-xscripts/yesno31
-rw-r--r--templates/format/disk/node.def1
-rw-r--r--templates/format/disk/node.tag/like/node.def1
-rw-r--r--templates/format/disk/node.tag/like/node.tag/node.def61
-rw-r--r--templates/format/disk/node.tag/node.def6
-rw-r--r--templates/format/node.def1
-rw-r--r--templates/generate/ssh-server-key/node.def2
-rw-r--r--templates/monitor/bandwidth-test/accept/node.def2
-rw-r--r--templates/monitor/bandwidth-test/initiate/node.def1
-rw-r--r--templates/monitor/bandwidth-test/initiate/node.tag/node.def3
-rw-r--r--templates/monitor/bandwidth-test/node.def1
-rw-r--r--templates/monitor/traceroute/node.def1
-rw-r--r--templates/monitor/traceroute/node.tag/node.def3
-rw-r--r--templates/reset/conntrack/node.def2
-rw-r--r--templates/reset/ip/arp/address/node.def1
-rw-r--r--templates/reset/ip/arp/address/node.tag/node.def3
-rw-r--r--templates/reset/ip/arp/interface/node.def1
-rw-r--r--templates/reset/ip/arp/interface/node.tag/node.def3
-rw-r--r--templates/reset/ip/arp/node.def1
-rw-r--r--templates/reset/ip/node.def1
-rw-r--r--templates/reset/ip/route/cache/node.def2
-rw-r--r--templates/reset/ip/route/cache/node.tag/node.def3
-rw-r--r--templates/reset/ip/route/node.def1
-rw-r--r--templates/reset/ipv6/neighbors/address/node.def1
-rw-r--r--templates/reset/ipv6/neighbors/address/node.tag/node.def3
-rw-r--r--templates/reset/ipv6/neighbors/interface/node.def1
-rw-r--r--templates/reset/ipv6/neighbors/interface/node.tag/node.def3
-rw-r--r--templates/reset/ipv6/neighbors/node.def1
-rw-r--r--templates/reset/ipv6/node.def1
-rw-r--r--templates/reset/ipv6/route/cache/node.def2
-rw-r--r--templates/reset/ipv6/route/cache/node.tag/node.def3
-rw-r--r--templates/reset/ipv6/route/node.def1
-rw-r--r--templates/reset/node.def1
-rw-r--r--templates/set/console/keymap/node.def3
-rw-r--r--templates/set/console/node.def1
-rw-r--r--templates/set/node.tag/node.def3
-rw-r--r--templates/set/terminal/key/node.def1
-rw-r--r--templates/set/terminal/key/query-help/node.def1
-rw-r--r--templates/set/terminal/key/query-help/node.tag/node.def10
-rw-r--r--templates/set/terminal/length/node.def1
-rw-r--r--templates/set/terminal/length/node.tag/node.def7
-rw-r--r--templates/set/terminal/node.def1
-rw-r--r--templates/set/terminal/pager/node.def2
-rw-r--r--templates/set/terminal/pager/node.tag/node.def3
-rw-r--r--templates/set/terminal/width/node.def1
-rw-r--r--templates/set/terminal/width/node.tag/node.def3
-rw-r--r--templates/show/history/brief/node.def5
-rw-r--r--templates/show/history/node.def5
-rw-r--r--templates/show/history/node.tag/node.def6
-rw-r--r--templates/show/host/date/node.def2
-rw-r--r--templates/show/host/os/node.def2
-rw-r--r--templates/show/ip/groups/node.def2
-rw-r--r--templates/show/ip/route/cache/node.def2
-rw-r--r--templates/show/ip/route/cache/node.tag/node.def3
-rw-r--r--templates/show/ip/route/forward/node.def2
-rw-r--r--templates/show/ip/route/forward/node.tag/node.def3
-rw-r--r--templates/show/ipv6/groups/node.def2
-rw-r--r--templates/show/ipv6/neighbors/node.def2
-rw-r--r--templates/show/ipv6/route/cache/node.def2
-rw-r--r--templates/show/ipv6/route/cache/node.tag/node.def3
-rw-r--r--templates/show/ipv6/route/forward/node.def2
-rw-r--r--templates/show/ipv6/route/forward/node.tag/node.def3
-rw-r--r--templates/telnet/node.def1
-rw-r--r--templates/telnet/node.tag/node.def10
-rw-r--r--templates/telnet/node.tag/node.tag/node.def9
-rw-r--r--templates/traceroute/ipv4/node.def4
-rw-r--r--templates/traceroute/ipv4/node.tag/node.def25
-rw-r--r--templates/traceroute/ipv6/node.def4
-rw-r--r--templates/traceroute/ipv6/node.tag/node.def25
-rw-r--r--templates/traceroute/node.def4
-rw-r--r--templates/traceroute/node.tag/node.def8
78 files changed, 1 insertions, 482 deletions
diff --git a/Makefile.am b/Makefile.am
index 476254b..2b5950c 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -22,8 +22,6 @@ bin_SCRIPTS += scripts/vyatta-show-interfaces.pl
bin_SCRIPTS += scripts/vyatta-show-dhclient.pl
bin_SCRIPTS += scripts/vyatta-show-dmi
bin_SCRIPTS += scripts/vyatta-show-bonding.pl
-bin_SCRIPTS += scripts/vyatta-cpu-summary.pl
-bin_SCRIPTS += scripts/yesno
bin_SCRIPTS += scripts/vyatta-gettime.pl
bin_SCRIPTS += scripts/show-dhcp-leases.pl
bin_SCRIPTS += scripts/vyatta-boot-image.pl
@@ -34,7 +32,6 @@ bin_SCRIPTS += scripts/vyatta-show-current-user
bin_SCRIPTS += scripts/tech-support-archive
bin_SCRIPTS += scripts/vyatta-op-cmd-wrapper
bin_SCRIPTS += scripts/ping
-bin_SCRIPTS += scripts/vyatta-traceroute
bin_SCRIPTS += scripts/vyatta-monitor
bin_SCRIPTS += scripts/vyatta-monitor-list
bin_SCRIPTS += scripts/vyatta-monitor-cleanup
@@ -42,7 +39,6 @@ bin_SCRIPTS += scripts/vyatta-monitor-background
bin_SCRIPTS += scripts/vyatta-monitor-background-stop
bin_SCRIPTS += scripts/vyatta-monitor-check-rule-log
bin_SCRIPTS += scripts/vyos-strip-config.pl
-bin_SCRIPTS += scripts/ssh-server-key
sbin_SCRIPTS = scripts/dhcpv6-client-show-leases.pl
sbin_SCRIPTS += scripts/vyatta-image-tools.pl
@@ -53,7 +49,6 @@ bin_sudo_users_SCRIPTS = scripts/vyatta-identify-interface.pl
bin_sudo_users_SCRIPTS += scripts/vyatta-delete-log-file.sh
bin_sudo_users_SCRIPTS += scripts/vyatta-reboot.pl
bin_sudo_users_SCRIPTS += scripts/vyatta-poweroff.pl
-bin_sudo_users_SCRIPTS += scripts/vyatta-clear-conntrack
all-local:
./gen-unpriv-commands.sh
diff --git a/debian/control b/debian/control
index 92bfbe6..ed8fb3c 100644
--- a/debian/control
+++ b/debian/control
@@ -11,7 +11,6 @@ Architecture: all
Depends: sed (>= 4.1.5),
console-terminus,
ethtool,
- traceroute,
procps (>= 1:3.2.7-3),
vyatta-cfg (>= 0.16.26),
vyatta-cfg-system (>= 0.19.93),
diff --git a/scripts/ping b/scripts/ping
index 2737383..06d38d5 100755
--- a/scripts/ping
+++ b/scripts/ping
@@ -238,7 +238,7 @@ given ($ip->version) {
}
}
-my @cmdargs = ( 'ping' );
+my @cmdargs = ( $cmd );
my $args = [ 'ping', $host, @ARGV ];
$args = expand_args(\%options, $args);
shift @$args; shift @$args;
diff --git a/scripts/ssh-server-key b/scripts/ssh-server-key
deleted file mode 100755
index 949d314..0000000
--- a/scripts/ssh-server-key
+++ /dev/null
@@ -1,14 +0,0 @@
-regen_host_keys ()
-{
- sudo /bin/rm -v /etc/ssh/ssh_host_*
- sudo dpkg-reconfigure openssh-server
- sudo /etc/init.d/ssh restart
-}
-
-echo "Do you really want to remove the existing SSH host keys? "
-${vyatta_bindir}/yesno
-
-if [ $? -eq 0 ]
-then
- regen_host_keys
-fi
diff --git a/scripts/vyatta-clear-conntrack b/scripts/vyatta-clear-conntrack
deleted file mode 100644
index 0979e4a..0000000
--- a/scripts/vyatta-clear-conntrack
+++ /dev/null
@@ -1,70 +0,0 @@
-#!/bin/sh
-#
-# Module: vyatta-clear-conntrack
-#
-# **** License ****
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 2 as
-# published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# This code was originally developed by Vyatta, Inc.
-# Portions created by Vyatta are Copyright (C) 2006-2009 Vyatta, Inc.
-# All Rights Reserved.
-#
-# Author: Mohit Mehta
-# Date: February 2010
-# Description: Script to flush all conntrack entries
-#
-# **** End License ****
-#
-
-# picked up from install-system script
-get_response () {
- ldefault=$(echo "$1" | tr [:upper:] [:lower:])
- loptions=$(echo "$2" | tr [:upper:] [:lower:])
-
- # get the response from the user
- read myresponse
- myresponse=$(echo "$myresponse" | tr [:upper:] [:lower:])
-
- # Check to see if the user accepts the default
- if [ -z "$myresponse" ]; then
- echo -n $ldefault
- # if we are passing in options to check, make sure response is a valid option
- elif [ -n "$loptions" ]; then
- for token in $loptions
- do
- if [ "$token" == "$myresponse" ]; then
- echo -n "$myresponse"
- return 0
- fi
- done
- return 1
- else
- echo -n "$myresponse"
- fi
-
- return 0
-}
-
-response=''
-while [ -z "$response" ]
-do
- if [ "$VYATTA_PROCESS_CLIENT" == "gui2_rest" ]; then
- response="y"
- else
- echo -ne "\nThis will clear all currently tracked and expected connections. Continue? (Y/N) [N]: "
- response=$(get_response "N" "Y N")
- fi
- if [ "$response" == "n" ]; then
- exit 1
- else
- sudo /usr/sbin/conntrack -F >&/dev/null
- sudo /usr/sbin/conntrack -F expect >&/dev/null
- fi
-done
diff --git a/scripts/vyatta-cpu-summary.pl b/scripts/vyatta-cpu-summary.pl
deleted file mode 100755
index b3e0331..0000000
--- a/scripts/vyatta-cpu-summary.pl
+++ /dev/null
@@ -1,41 +0,0 @@
-#! /usr/bin/perl
-# implement "show cpu-info"
-
-use strict;
-
-open my $cpuinfo, '<', '/proc/cpuinfo'
- or die "Can't open /proc/cpuinfo : $!";
-
-my %models;
-my %packages;
-my %cores;
-
-my %map = (
- 'model name' => \%models,
- 'physical id' => \%packages,
- 'core id' => \%cores
-);
-
-my $cpu = 0;
-while (<$cpuinfo>) {
- chomp;
- my ( $tag, $val ) = split /:/;
- if ( !$tag ) {
- ++$cpu;
- next;
- }
-
- $tag =~ s/\s+$//;
- $val =~ s/^\s+//;
-
- my $ref = $map{$tag};
- $ref->{$val} = $cpu if ($ref);
-}
-close $cpuinfo;
-
-print "Processors ", $cpu, "\n";
-print "Packages ", scalar keys %packages, "\n" if (%packages);
-print "Cores ", scalar keys %cores, "\n" if (%cores);
-
-# Handle any attempt to run different CPU models
-print "Model ", join( " \n", keys %models ), "\n";
diff --git a/scripts/vyatta-traceroute b/scripts/vyatta-traceroute
deleted file mode 100644
index ca87a6d..0000000
--- a/scripts/vyatta-traceroute
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/bash
-ADDR=$1
-# Regular expressions for matching an ipv4 and ipv6 address
-# simple ipv4 matcher
-ip4regex="^(25[0-5]|2[0-4][0-9]|1[0-9]{1,2}|[1-9]?[0-9])(\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3}$"
-# based on IPv6 regex from here: http://forums.dartware.com/viewtopic.php?t=452
-ip6regex="^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])(\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])(\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])(\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])(\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])(\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])(\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])(\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3}))|:)))(%.+)?\s*$"
-
-# Main logic
-if [[ "$ADDR" =~ $ip4regex ]]; then
- /usr/bin/traceroute ${@:2} $ADDR
-elif [[ "$ADDR" =~ $ip6regex ]]; then
- /usr/bin/traceroute6 ${@:2} $ADDR
-else
- echo "Resolving Address: $ADDR"
- if host $ADDR | awk {' print $4 '} \
- | grep -m1 -E "$ip4regex">/dev/null; then
- # resolve address and check if it is ipv4 or other
- /usr/bin/traceroute ${@:2} $ADDR
- elif host $ADDR | awk {' print $5 '} \
- | grep -m1 -E "$ip6regex">/dev/null; then
- # if ipv6 resolution then ping6
- /usr/bin/traceroute6 ${@:2} $ADDR
- else
- echo -e "\n Unknown address: [$ADDR]\n"
- fi
-fi
-
diff --git a/scripts/yesno b/scripts/yesno
deleted file mode 100755
index 260a23c..0000000
--- a/scripts/yesno
+++ /dev/null
@@ -1,31 +0,0 @@
-#! /bin/bash
-# Usage: yesno prompt...
-
-default=
-if [ "$1" = "-y" ]
-then default='y'; shift
-elif [[ "$1" = "-n" ]]; then
- default='n'; shift
-fi
-
-
-if [ $# -eq 0 ]
-then prompt="yes or no: "
-else prompt="$*"
-fi
-
-while true
-do
- read -p "$prompt" || exit 1
- if [ -z "$REPLY" -a ! -z "$default" ]
- then REPLY=$default
- fi
- case "$REPLY" in
- y*|Y*) exit 0;;
- n*|n*) exit 1;;
- *) echo "Answer yes or no please";;
- esac
-done
-
-
-
diff --git a/templates/format/disk/node.def b/templates/format/disk/node.def
deleted file mode 100644
index 97df9b7..0000000
--- a/templates/format/disk/node.def
+++ /dev/null
@@ -1 +0,0 @@
-help: Format a disk drive
diff --git a/templates/format/disk/node.tag/like/node.def b/templates/format/disk/node.tag/like/node.def
deleted file mode 100644
index c4a5126..0000000
--- a/templates/format/disk/node.tag/like/node.def
+++ /dev/null
@@ -1 +0,0 @@
-help: Format this disk the same as another disk
diff --git a/templates/format/disk/node.tag/like/node.tag/node.def b/templates/format/disk/node.tag/like/node.tag/node.def
deleted file mode 100644
index a98cbcc..0000000
--- a/templates/format/disk/node.tag/like/node.tag/node.def
+++ /dev/null
@@ -1,61 +0,0 @@
-help: Name of disk drive to partition it like
-
-allowed:
- local -a disks ;
- proto_disk=${COMP_WORDS[2]}
- disks=`cat /proc/partitions | awk '{ if ($4!="name") { print $4 } }' | egrep -v "[0-9]"`
- disks=`echo $disks | sed -e s/$proto_disk//g`
- echo -n $disks
-
-run:
- proto_disk=$5
- format_disk=$3
- backup_dir=/var/tmp
- eligible_format_disks=`cat /proc/partitions | awk '{ if ($4!="name") { print $4 } }' | egrep -v "[0-9]"`
- eligible_proto_disks=`echo $eligible_format_disks | sed -e s/$format_disk//g`
- proto_eligible=`echo $eligible_proto_disks | grep $proto_disk`
- format_eligible=`echo $eligible_format_disks | grep $format_disk`
- busy_check=`sudo /sbin/sfdisk -R /dev/$format_disk 2>&1`
-
- if [ $proto_disk = $format_disk ]; then
- echo "The two disk drives must be different."
- elif [ ! -b /dev/$proto_disk ]; then
- echo "Device /dev/$proto_disk does not exist"
- elif [ ! -b /dev/$format_disk ]; then
- echo "Device /dev/$format_disk does not exist"
- elif [ -z "$format_eligible" ]; then
- echo "Device $format_disk can not be formatted"
- elif [ -z "$proto_eligible" ]; then
- echo "Device $proto_disk can not be used as a prototype for $format_disk"
- elif [ -n "$busy_check" ]; then
- echo "Disk device $format_disk is busy. Can't format it now."
- elif [ ! -r /dev/$format_disk ]; then
- echo "Must be admin or root to format disk"
- else
- echo "This will re-format disk $format_disk so that it has the same disk"
- echo "partion sizes and offsets as $proto_disk. This will not copy"
- echo "data from $proto_disk to $format_disk. But this will erase all"
- echo "data on $format_disk."
- echo
- echo -n "Do you wish to proceed (yes, NO)? "
- read response
- if [ "$response" = "yes" ]; then
- echo "OK. Re-formating disk drive $format_disk..."
- echo "Making backup copy of partitions..."
- sudo /sbin/sfdisk -d /dev/$format_disk > $backup_dir/backup_$format_disk.`date +%F-%R`
- sleep 1
- partitions=`cat /proc/partitions | grep $format_disk'[0-9]' | awk '{ print $4 }' | sed 's/[a-z]//g'`
- if [ -n "$partitions" ]; then
- echo -n "Deleting old partitions..."
- for part in $partitions ; do
- sudo /sbin/parted /dev/$format_disk rm $part
- done
- echo ""
- fi
- echo "Creating new partitions on $format_disk based on $proto_disk..."
- sudo /sbin/sfdisk -d /dev/$proto_disk | sudo /sbin/sfdisk --force /dev/$format_disk
- echo "Done."
- else
- echo "OK. Disk drive $format_drive will not be re-formated."
- fi
- fi
diff --git a/templates/format/disk/node.tag/node.def b/templates/format/disk/node.tag/node.def
deleted file mode 100644
index 2b77c5b..0000000
--- a/templates/format/disk/node.tag/node.def
+++ /dev/null
@@ -1,6 +0,0 @@
-help: Disk drive name
-
-allowed:
- local -a array ;
- array=`cat /proc/partitions | awk '{ if ($4!="name") { print $4 } }' | egrep -v "[0-9]"`
- echo -n $array
diff --git a/templates/format/node.def b/templates/format/node.def
deleted file mode 100644
index 5775951..0000000
--- a/templates/format/node.def
+++ /dev/null
@@ -1 +0,0 @@
-help: Format a device
diff --git a/templates/generate/ssh-server-key/node.def b/templates/generate/ssh-server-key/node.def
deleted file mode 100644
index a31a734..0000000
--- a/templates/generate/ssh-server-key/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-help: Regenerate the host SSH keys and restart the SSH server
-run: ${vyatta_bindir}/ssh-server-key
diff --git a/templates/monitor/bandwidth-test/accept/node.def b/templates/monitor/bandwidth-test/accept/node.def
deleted file mode 100644
index 1dc5335..0000000
--- a/templates/monitor/bandwidth-test/accept/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-help: Wait for bandwidth test connections (port TCP/5001)
-run: iperf -s
diff --git a/templates/monitor/bandwidth-test/initiate/node.def b/templates/monitor/bandwidth-test/initiate/node.def
deleted file mode 100644
index af8c1bd..0000000
--- a/templates/monitor/bandwidth-test/initiate/node.def
+++ /dev/null
@@ -1 +0,0 @@
-help: Initiate a bandwidth test
diff --git a/templates/monitor/bandwidth-test/initiate/node.tag/node.def b/templates/monitor/bandwidth-test/initiate/node.tag/node.def
deleted file mode 100644
index 3d047dd..0000000
--- a/templates/monitor/bandwidth-test/initiate/node.tag/node.def
+++ /dev/null
@@ -1,3 +0,0 @@
-help: Initiate a bandwidth test to specified host (port TCP/5001)
-allowed: echo '<hostname> <x.x.x.x> <h:h:h:h:h:h:h:h>'
-run: iperf -c $4
diff --git a/templates/monitor/bandwidth-test/node.def b/templates/monitor/bandwidth-test/node.def
deleted file mode 100644
index c83cb4f..0000000
--- a/templates/monitor/bandwidth-test/node.def
+++ /dev/null
@@ -1 +0,0 @@
-help: Initiate or wait for bandwidth test
diff --git a/templates/monitor/traceroute/node.def b/templates/monitor/traceroute/node.def
deleted file mode 100644
index f07e6b3..0000000
--- a/templates/monitor/traceroute/node.def
+++ /dev/null
@@ -1 +0,0 @@
-help: Monitor the path to a destination in realtime
diff --git a/templates/monitor/traceroute/node.tag/node.def b/templates/monitor/traceroute/node.tag/node.def
deleted file mode 100644
index 8c522de..0000000
--- a/templates/monitor/traceroute/node.tag/node.def
+++ /dev/null
@@ -1,3 +0,0 @@
-help: Monitor the path to a destination in realtime
-allowed: echo '<hostname> <x.x.x.x> <h:h:h:h:h:h:h:h>'
-run: mtr $3
diff --git a/templates/reset/conntrack/node.def b/templates/reset/conntrack/node.def
deleted file mode 100644
index ba59cff..0000000
--- a/templates/reset/conntrack/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-help: Reset all currently tracked connections
-run: sudo /opt/vyatta/bin/sudo-users/vyatta-clear-conntrack
diff --git a/templates/reset/ip/arp/address/node.def b/templates/reset/ip/arp/address/node.def
deleted file mode 100644
index cf31916..0000000
--- a/templates/reset/ip/arp/address/node.def
+++ /dev/null
@@ -1 +0,0 @@
-help: Reset ARP cache for an IPv4 address
diff --git a/templates/reset/ip/arp/address/node.tag/node.def b/templates/reset/ip/arp/address/node.tag/node.def
deleted file mode 100644
index 8ac537c..0000000
--- a/templates/reset/ip/arp/address/node.tag/node.def
+++ /dev/null
@@ -1,3 +0,0 @@
-help: Reset ARP cache for an IPv4 address
-allowed: echo -n '<x.x.x.x>'
-run: sudo /sbin/ip neigh flush to "$5"
diff --git a/templates/reset/ip/arp/interface/node.def b/templates/reset/ip/arp/interface/node.def
deleted file mode 100644
index e6d79a2..0000000
--- a/templates/reset/ip/arp/interface/node.def
+++ /dev/null
@@ -1 +0,0 @@
-help: Reset ARP cache for interface
diff --git a/templates/reset/ip/arp/interface/node.tag/node.def b/templates/reset/ip/arp/interface/node.tag/node.def
deleted file mode 100644
index bee6173..0000000
--- a/templates/reset/ip/arp/interface/node.tag/node.def
+++ /dev/null
@@ -1,3 +0,0 @@
-help: Reset ARP cache for interface
-allowed: ${vyatta_sbindir}/vyatta-interfaces.pl --show all
-run: sudo /sbin/ip neigh flush dev "$5"
diff --git a/templates/reset/ip/arp/node.def b/templates/reset/ip/arp/node.def
deleted file mode 100644
index ebc0a37..0000000
--- a/templates/reset/ip/arp/node.def
+++ /dev/null
@@ -1 +0,0 @@
-help: Reset Address Resolution Protocol (ARP) cache
diff --git a/templates/reset/ip/node.def b/templates/reset/ip/node.def
deleted file mode 100644
index 0f5e0e1..0000000
--- a/templates/reset/ip/node.def
+++ /dev/null
@@ -1 +0,0 @@
-help: Reset Internet Protocol (IP) parameters
diff --git a/templates/reset/ip/route/cache/node.def b/templates/reset/ip/route/cache/node.def
deleted file mode 100644
index b97e0c9..0000000
--- a/templates/reset/ip/route/cache/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-help: Flush the kernel route cache
-run: sudo /sbin/ip route flush cache
diff --git a/templates/reset/ip/route/cache/node.tag/node.def b/templates/reset/ip/route/cache/node.tag/node.def
deleted file mode 100644
index 4af1915..0000000
--- a/templates/reset/ip/route/cache/node.tag/node.def
+++ /dev/null
@@ -1,3 +0,0 @@
-help: Flush the kernel route cache for a given route
-allowed: echo -n '<x.x.x.x | x.x.x.x/x>'
-run: sudo /sbin/ip route flush cache "$5"
diff --git a/templates/reset/ip/route/node.def b/templates/reset/ip/route/node.def
deleted file mode 100644
index a4336f1..0000000
--- a/templates/reset/ip/route/node.def
+++ /dev/null
@@ -1 +0,0 @@
-help: Reset IP route
diff --git a/templates/reset/ipv6/neighbors/address/node.def b/templates/reset/ipv6/neighbors/address/node.def
deleted file mode 100644
index e163359..0000000
--- a/templates/reset/ipv6/neighbors/address/node.def
+++ /dev/null
@@ -1 +0,0 @@
-help: Reset ND cache for an IPv6 address
diff --git a/templates/reset/ipv6/neighbors/address/node.tag/node.def b/templates/reset/ipv6/neighbors/address/node.tag/node.def
deleted file mode 100644
index 4aaec8a..0000000
--- a/templates/reset/ipv6/neighbors/address/node.tag/node.def
+++ /dev/null
@@ -1,3 +0,0 @@
-help: Clear ND cache for an IPv6 address
-allowed: echo -n '<h:h:h:h:h:h:h:h>'
-run: sudo /sbin/ip -f inet6 neigh flush to "$5"
diff --git a/templates/reset/ipv6/neighbors/interface/node.def b/templates/reset/ipv6/neighbors/interface/node.def
deleted file mode 100644
index c455aa1..0000000
--- a/templates/reset/ipv6/neighbors/interface/node.def
+++ /dev/null
@@ -1 +0,0 @@
-help: Reset IPv6 ND cache for interface
diff --git a/templates/reset/ipv6/neighbors/interface/node.tag/node.def b/templates/reset/ipv6/neighbors/interface/node.tag/node.def
deleted file mode 100644
index 46a89a9..0000000
--- a/templates/reset/ipv6/neighbors/interface/node.tag/node.def
+++ /dev/null
@@ -1,3 +0,0 @@
-help: Reset IPv6 ND cache for interface
-allowed: ${vyatta_sbindir}/vyatta-interfaces.pl --show all
-run: sudo /sbin/ip -f inet6 neigh flush dev "$5"
diff --git a/templates/reset/ipv6/neighbors/node.def b/templates/reset/ipv6/neighbors/node.def
deleted file mode 100644
index 138725d..0000000
--- a/templates/reset/ipv6/neighbors/node.def
+++ /dev/null
@@ -1 +0,0 @@
-help: Reset IPv6 Neighbor Discovery (ND) cache
diff --git a/templates/reset/ipv6/node.def b/templates/reset/ipv6/node.def
deleted file mode 100644
index 5c80950..0000000
--- a/templates/reset/ipv6/node.def
+++ /dev/null
@@ -1 +0,0 @@
-help: Reset Internet Protocol version 6 (IPv6) parameters
diff --git a/templates/reset/ipv6/route/cache/node.def b/templates/reset/ipv6/route/cache/node.def
deleted file mode 100644
index 7dee140..0000000
--- a/templates/reset/ipv6/route/cache/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-help: Flush the kernel IPv6 route cache
-run: sudo /sbin/ip -f inet6 route flush cache
diff --git a/templates/reset/ipv6/route/cache/node.tag/node.def b/templates/reset/ipv6/route/cache/node.tag/node.def
deleted file mode 100644
index af6a3db..0000000
--- a/templates/reset/ipv6/route/cache/node.tag/node.def
+++ /dev/null
@@ -1,3 +0,0 @@
-help: Flush the kernel IPv6 route cache for a given route
-allowed: echo -n '<h:h:h:h:h:h:h:h | h:h:h:h:h:h:h:h/x>'
-run: sudo /sbin/ip -f inet6 route flush cache "$5"
diff --git a/templates/reset/ipv6/route/node.def b/templates/reset/ipv6/route/node.def
deleted file mode 100644
index 72c83a8..0000000
--- a/templates/reset/ipv6/route/node.def
+++ /dev/null
@@ -1 +0,0 @@
-help: Reset IPv6 route
diff --git a/templates/reset/node.def b/templates/reset/node.def
deleted file mode 100644
index 1d8c8a9..0000000
--- a/templates/reset/node.def
+++ /dev/null
@@ -1 +0,0 @@
-help: Reset a service
diff --git a/templates/set/console/keymap/node.def b/templates/set/console/keymap/node.def
deleted file mode 100644
index 5ab2f24..0000000
--- a/templates/set/console/keymap/node.def
+++ /dev/null
@@ -1,3 +0,0 @@
-help: Reconfigure console keyboard layout
-run: sudo dpkg-reconfigure -f dialog keyboard-configuration
- sudo /etc/init.d/keyboard-setup restart
diff --git a/templates/set/console/node.def b/templates/set/console/node.def
deleted file mode 100644
index 29bae4d..0000000
--- a/templates/set/console/node.def
+++ /dev/null
@@ -1 +0,0 @@
-help: Control console behaviors
diff --git a/templates/set/node.tag/node.def b/templates/set/node.tag/node.def
deleted file mode 100644
index 908d521..0000000
--- a/templates/set/node.tag/node.def
+++ /dev/null
@@ -1,3 +0,0 @@
-help: Bash builtin set command
-allowed: echo -n '<OPTION>'
-run: builtin $*
diff --git a/templates/set/terminal/key/node.def b/templates/set/terminal/key/node.def
deleted file mode 100644
index be435af..0000000
--- a/templates/set/terminal/key/node.def
+++ /dev/null
@@ -1 +0,0 @@
-help: Set key behaviors
diff --git a/templates/set/terminal/key/query-help/node.def b/templates/set/terminal/key/query-help/node.def
deleted file mode 100644
index c15f556..0000000
--- a/templates/set/terminal/key/query-help/node.def
+++ /dev/null
@@ -1 +0,0 @@
-help: Enable/disable getting help using question mark
diff --git a/templates/set/terminal/key/query-help/node.tag/node.def b/templates/set/terminal/key/query-help/node.tag/node.def
deleted file mode 100644
index 8ea9fbf..0000000
--- a/templates/set/terminal/key/query-help/node.tag/node.def
+++ /dev/null
@@ -1,10 +0,0 @@
-help: Enable/disable getting help using question mark (default enabled)
-allowed: echo -n 'enable' 'disable'
-run: if [ "$5" == 'disable' ]; then
- sed -i "/^bind '\"?\": .* # vyatta key binding$/d" $HOME/.bashrc
- echo "bind '\"?\": self-insert' # vyatta key binding" >> $HOME/.bashrc
- bind '"?": self-insert'
- else
- sed -i "/^bind '\"?\": .* # vyatta key binding$/d" $HOME/.bashrc
- bind '"?": possible-completions'
- fi
diff --git a/templates/set/terminal/length/node.def b/templates/set/terminal/length/node.def
deleted file mode 100644
index 3e24898..0000000
--- a/templates/set/terminal/length/node.def
+++ /dev/null
@@ -1 +0,0 @@
-help: Set terminal rows
diff --git a/templates/set/terminal/length/node.tag/node.def b/templates/set/terminal/length/node.tag/node.def
deleted file mode 100644
index 42a0726..0000000
--- a/templates/set/terminal/length/node.tag/node.def
+++ /dev/null
@@ -1,7 +0,0 @@
-help: Set terminal to given number of rows (0 disables paging)
-allowed: echo -n '<NUMBER>'
-run: if [ "$4" -eq 0 ] ; then
- VYATTA_PAGER=cat
- else
- stty rows $4
- fi
diff --git a/templates/set/terminal/node.def b/templates/set/terminal/node.def
deleted file mode 100644
index cdc1793..0000000
--- a/templates/set/terminal/node.def
+++ /dev/null
@@ -1 +0,0 @@
-help: Control terminal behaviors
diff --git a/templates/set/terminal/pager/node.def b/templates/set/terminal/pager/node.def
deleted file mode 100644
index d2d414d..0000000
--- a/templates/set/terminal/pager/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-help: Set to use default pager (less)
-run: VYATTA_PAGER=$_vyatta_default_pager
diff --git a/templates/set/terminal/pager/node.tag/node.def b/templates/set/terminal/pager/node.tag/node.def
deleted file mode 100644
index dd5a3de..0000000
--- a/templates/set/terminal/pager/node.tag/node.def
+++ /dev/null
@@ -1,3 +0,0 @@
-help: Set terminal pager
-allowed: echo -n '<PROGRAM>'
-run: VYATTA_PAGER=$4
diff --git a/templates/set/terminal/width/node.def b/templates/set/terminal/width/node.def
deleted file mode 100644
index ddbc07d..0000000
--- a/templates/set/terminal/width/node.def
+++ /dev/null
@@ -1 +0,0 @@
-help: Set terminal columns
diff --git a/templates/set/terminal/width/node.tag/node.def b/templates/set/terminal/width/node.tag/node.def
deleted file mode 100644
index 792f34a..0000000
--- a/templates/set/terminal/width/node.tag/node.def
+++ /dev/null
@@ -1,3 +0,0 @@
-help: Set terminal to given number of columns
-allowed: echo -n '<NUMBER>'
-run: stty columns $4
diff --git a/templates/show/history/brief/node.def b/templates/show/history/brief/node.def
deleted file mode 100644
index 92c76ca..0000000
--- a/templates/show/history/brief/node.def
+++ /dev/null
@@ -1,5 +0,0 @@
-help: recent command history
-run: HISTTIMEFORMAT='%FT%T%z '
- HISTFILE="$HOME/.bash_history"
- \set -o history
- history 20
diff --git a/templates/show/history/node.def b/templates/show/history/node.def
deleted file mode 100644
index c1487eb..0000000
--- a/templates/show/history/node.def
+++ /dev/null
@@ -1,5 +0,0 @@
-help: show command history
-run: HISTTIMEFORMAT='%FT%T%z '
- HISTFILE="$HOME/.bash_history"
- \set -o history
- history
diff --git a/templates/show/history/node.tag/node.def b/templates/show/history/node.tag/node.def
deleted file mode 100644
index 2075cde..0000000
--- a/templates/show/history/node.tag/node.def
+++ /dev/null
@@ -1,6 +0,0 @@
-help: Display last N commands in history
-allowed: echo -n '<NUMBER>'
-run: HISTTIMEFORMAT='%FT%T%z '
- HISTFILE="$HOME/.bash_history"
- \set -o history
- history $3
diff --git a/templates/show/host/date/node.def b/templates/show/host/date/node.def
deleted file mode 100644
index 6ea4383..0000000
--- a/templates/show/host/date/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-help: Show host current date
-run: /bin/date
diff --git a/templates/show/host/os/node.def b/templates/show/host/os/node.def
deleted file mode 100644
index 1cfe2ec..0000000
--- a/templates/show/host/os/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-help: Show host operating system details
-run: /bin/uname -a
diff --git a/templates/show/ip/groups/node.def b/templates/show/ip/groups/node.def
deleted file mode 100644
index 18fa8bc..0000000
--- a/templates/show/ip/groups/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-help: Show IP multicast group membership
-run: netstat -gn4
diff --git a/templates/show/ip/route/cache/node.def b/templates/show/ip/route/cache/node.def
deleted file mode 100644
index 098e724..0000000
--- a/templates/show/ip/route/cache/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-help: Show kernel route cache
-run: ip -s route list cache
diff --git a/templates/show/ip/route/cache/node.tag/node.def b/templates/show/ip/route/cache/node.tag/node.def
deleted file mode 100644
index 2cb78d5..0000000
--- a/templates/show/ip/route/cache/node.tag/node.def
+++ /dev/null
@@ -1,3 +0,0 @@
-help: Show kernel route cache for a given route
-allowed: echo -n '<x.x.x.x | x.x.x.x/x>'
-run: ip -s route list cache $5
diff --git a/templates/show/ip/route/forward/node.def b/templates/show/ip/route/forward/node.def
deleted file mode 100644
index 8612ba7..0000000
--- a/templates/show/ip/route/forward/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-help: Show kernel route table
-run: ip route list
diff --git a/templates/show/ip/route/forward/node.tag/node.def b/templates/show/ip/route/forward/node.tag/node.def
deleted file mode 100644
index e1ba954..0000000
--- a/templates/show/ip/route/forward/node.tag/node.def
+++ /dev/null
@@ -1,3 +0,0 @@
-help: Show kernel route table for a given route
-allowed: echo -n '<x.x.x.x | x.x.x.x/x>'
-run: ip -s route list $5
diff --git a/templates/show/ipv6/groups/node.def b/templates/show/ipv6/groups/node.def
deleted file mode 100644
index 80286e9..0000000
--- a/templates/show/ipv6/groups/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-help: Show IPv6 multicast group membership
-run: netstat -gn6
diff --git a/templates/show/ipv6/neighbors/node.def b/templates/show/ipv6/neighbors/node.def
deleted file mode 100644
index 184e8c1..0000000
--- a/templates/show/ipv6/neighbors/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-help: Show IPv6 Neighbor Discovery (ND) information
-run: /bin/ip -f inet6 neigh list
diff --git a/templates/show/ipv6/route/cache/node.def b/templates/show/ipv6/route/cache/node.def
deleted file mode 100644
index 45604e8..0000000
--- a/templates/show/ipv6/route/cache/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-help: Show kernel IPv6 route cache
-run: ip -s -f inet6 route list cache
diff --git a/templates/show/ipv6/route/cache/node.tag/node.def b/templates/show/ipv6/route/cache/node.tag/node.def
deleted file mode 100644
index 8386f1f..0000000
--- a/templates/show/ipv6/route/cache/node.tag/node.def
+++ /dev/null
@@ -1,3 +0,0 @@
-help: Show kernel IPv6 route cache for a given route
-allowed: echo -n '<h:h:h:h:h:h:h:h | h:h:h:h:h:h:h:h/x>'
-run: ip -s -f inet6 route list cache $5
diff --git a/templates/show/ipv6/route/forward/node.def b/templates/show/ipv6/route/forward/node.def
deleted file mode 100644
index cad0bb9..0000000
--- a/templates/show/ipv6/route/forward/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-help: Show kernel IPv6 route table
-run: ip -f inet6 route list
diff --git a/templates/show/ipv6/route/forward/node.tag/node.def b/templates/show/ipv6/route/forward/node.tag/node.def
deleted file mode 100644
index e6b92e2..0000000
--- a/templates/show/ipv6/route/forward/node.tag/node.def
+++ /dev/null
@@ -1,3 +0,0 @@
-help: Show kernel IPv6 route table for a given route
-allowed: echo -n '<h:h:h:h:h:h:h:h | h:h:h:h:h:h:h:h/x>'
-run: ip -s -f inet6 route list $5
diff --git a/templates/telnet/node.def b/templates/telnet/node.def
deleted file mode 100644
index e3ec3e0..0000000
--- a/templates/telnet/node.def
+++ /dev/null
@@ -1 +0,0 @@
-help: Telnet to a node
diff --git a/templates/telnet/node.tag/node.def b/templates/telnet/node.tag/node.def
deleted file mode 100644
index 76e9b0a..0000000
--- a/templates/telnet/node.tag/node.def
+++ /dev/null
@@ -1,10 +0,0 @@
-help: Telnet to host
-allowed: echo -n '<hostname> <x.x.x.x> <h:h:h:h:h:h:h:h>'
-
-run: if [ -x /usr/bin/telnet ] ; then
- /usr/bin/$*
- elif [ -x /bin/busybox ] ; then
- /bin/busybox $*
- else
- echo telnet not found
- fi
diff --git a/templates/telnet/node.tag/node.tag/node.def b/templates/telnet/node.tag/node.tag/node.def
deleted file mode 100644
index 21b78c4..0000000
--- a/templates/telnet/node.tag/node.tag/node.def
+++ /dev/null
@@ -1,9 +0,0 @@
-help: Telnet to <address> <port>
-allowed: echo -n '<0-65535>'
-run: if [ -x /usr/bin/telnet ] ; then
- /usr/bin/$*
- elif [ -x /bin/busybox ] ; then
- /bin/busybox $*
- else
- echo telnet not found
- fi
diff --git a/templates/traceroute/ipv4/node.def b/templates/traceroute/ipv4/node.def
deleted file mode 100644
index 2f618b1..0000000
--- a/templates/traceroute/ipv4/node.def
+++ /dev/null
@@ -1,4 +0,0 @@
-#
-# Operational mode template for the "traceroute" command
-#
-help: Track network path to <hostname|IPv4 address>
diff --git a/templates/traceroute/ipv4/node.tag/node.def b/templates/traceroute/ipv4/node.tag/node.def
deleted file mode 100644
index a37ae5b..0000000
--- a/templates/traceroute/ipv4/node.tag/node.def
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# Operational mode template for the "traceroute" command
-#
-
-help: Track network path to specified <hostname|IPv4 address>
-allowed: echo -n '<hostname> <x:x:x:x>'
-
-run:
- if /opt/vyatta/sbin/vyatta-validate-type.pl -q ipv4 $3
- then
- /usr/bin/traceroute $3
- echo
- else
- if cat /etc/resolv.conf 2> /dev/null | grep -q nameserver
- then
- if /usr/bin/host $3 &> /dev/null
- then
- /usr/bin/traceroute $3
- else
- echo "Invalid IPv4 address or host name '$3'"
- fi
- else
- echo "Either enter a valid IPv4 address or configure Domain Name Server to resolve host names"
- fi
- fi
diff --git a/templates/traceroute/ipv6/node.def b/templates/traceroute/ipv6/node.def
deleted file mode 100644
index 1075c44..0000000
--- a/templates/traceroute/ipv6/node.def
+++ /dev/null
@@ -1,4 +0,0 @@
-#
-# Operational mode template for the "traceroute" command
-#
-help: Track network path to <hostname|IPv6 address>
diff --git a/templates/traceroute/ipv6/node.tag/node.def b/templates/traceroute/ipv6/node.tag/node.def
deleted file mode 100644
index b746c3e..0000000
--- a/templates/traceroute/ipv6/node.tag/node.def
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# Operational mode template for the "traceroute" command
-#
-
-help: Track network path to specified <hostname|IPv6 address>
-allowed: echo -n '<hostname> <h:h:h:h:h:h:h:h>'
-
-run:
- if /opt/vyatta/sbin/vyatta-validate-type.pl -q ipv6 $3
- then
- /usr/bin/traceroute6 $3
- echo
- else
- if cat /etc/resolv.conf 2> /dev/null | grep -q nameserver
- then
- if /usr/bin/host $3 &> /dev/null
- then
- /usr/bin/traceroute6 $3
- else
- echo "Invalid IPv6 address or host name '$3'"
- fi
- else
- echo "Either enter a valid IPv6 address or configure Domain Name Server to resolve host names"
- fi
- fi
diff --git a/templates/traceroute/node.def b/templates/traceroute/node.def
deleted file mode 100644
index 28e695c..0000000
--- a/templates/traceroute/node.def
+++ /dev/null
@@ -1,4 +0,0 @@
-#
-# Operational mode template for the "traceroute" command
-#
-help: Track network path to node
diff --git a/templates/traceroute/node.tag/node.def b/templates/traceroute/node.tag/node.def
deleted file mode 100644
index 7b90221..0000000
--- a/templates/traceroute/node.tag/node.def
+++ /dev/null
@@ -1,8 +0,0 @@
-#
-# Operational mode template for the "traceroute" command
-#
-
-help: Track network path to specified node
-allowed: echo -n '<hostname> <x.x.x.x> <h:h:h:h:h:h:h:h>'
-
-run: /opt/vyatta/bin/vyatta-traceroute $2