summaryrefslogtreecommitdiff
path: root/polux/application/iproute2/ip/routel
diff options
context:
space:
mode:
Diffstat (limited to 'polux/application/iproute2/ip/routel')
-rw-r--r--polux/application/iproute2/ip/routel60
1 files changed, 60 insertions, 0 deletions
diff --git a/polux/application/iproute2/ip/routel b/polux/application/iproute2/ip/routel
new file mode 100644
index 0000000000..cd5ccf0474
--- /dev/null
+++ b/polux/application/iproute2/ip/routel
@@ -0,0 +1,60 @@
+#!/bin/sh
+#$Id: routel,v 1.1 2006/03/06 11:20:54 nebojsa Exp $
+
+#
+# Script created by: Stephen R. van den Berg <srb@cuci.nl>, 1999/04/18
+# Donated to the public domain.
+#
+# This script transforms the output of "ip" into more readable text.
+# "ip" is the Linux-advanced-routing configuration tool part of the
+# iproute package.
+#
+
+test "X-h" = "X$1" && echo "Usage: $0 [tablenr [raw ip args...]]" && exit 64
+
+test -z "$*" && set 0
+
+ip route list table "$@" |
+ while read network rest
+ do set xx $rest
+ shift
+ proto=""
+ via=""
+ dev=""
+ scope=""
+ src=""
+ table=""
+ case $network in
+ broadcast|local|unreachable) via=$network
+ network=$1
+ shift
+ ;;
+ esac
+ while test $# != 0
+ do
+ key=$1
+ val=$2
+ eval "$key=$val"
+ shift 2
+ done
+ echo "$network $via $src $proto $scope $dev $table"
+ done | awk -F ' ' '
+BEGIN {
+ format="%15s%-3s %15s %15s %8s %8s%7s %s\n";
+ printf(format,"target","","gateway","source","proto","scope","dev","tbl");
+ }
+ { network=$1;
+ mask="";
+ if(match(network,"/"))
+ { mask=" "substr(network,RSTART+1);
+ network=substr(network,0,RSTART);
+ }
+ via=$2;
+ src=$3;
+ proto=$4;
+ scope=$5;
+ dev=$6;
+ table=$7;
+ printf(format,network,mask,via,src,proto,scope,dev,table);
+ }
+'