1dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat#!/bin/sh 2dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat#$Id$ 3dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat 4dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat# 5dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat# Script created by: Stephen R. van den Berg <srb@cuci.nl>, 1999/04/18 6dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat# Donated to the public domain. 7dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat# 8dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat# This script transforms the output of "ip" into more readable text. 9dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat# "ip" is the Linux-advanced-routing configuration tool part of the 10dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat# iproute package. 11dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat# 12dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat 13dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehattest "X-h" = "X$1" && echo "Usage: $0 [tablenr [raw ip args...]]" && exit 64 14dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat 15dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehattest -z "$*" && set 0 16dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat 17dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehatip route list table "$@" | 18dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat while read network rest 19dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat do set xx $rest 20dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat shift 21dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat proto="" 22dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat via="" 23dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat dev="" 24dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat scope="" 25dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat src="" 26dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat table="" 27dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat case $network in 28dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat broadcast|local|unreachable) via=$network 29dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat network=$1 30dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat shift 31dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat ;; 32dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat esac 33dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat while test $# != 0 34dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat do 35dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat key=$1 36dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat val=$2 37dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat eval "$key=$val" 38dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat shift 2 39dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat done 40dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat echo "$network $via $src $proto $scope $dev $table" 41dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat done | awk -F ' ' ' 42dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San MehatBEGIN { 43dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat format="%15s%-3s %15s %15s %8s %8s%7s %s\n"; 44dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat printf(format,"target","","gateway","source","proto","scope","dev","tbl"); 45dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat } 46dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat { network=$1; 47dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat mask=""; 48dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat if(match(network,"/")) 49dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat { mask=" "substr(network,RSTART+1); 50dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat network=substr(network,0,RSTART); 51dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat } 52dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat via=$2; 53dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat src=$3; 54dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat proto=$4; 55dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat scope=$5; 56dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat dev=$6; 57dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat table=$7; 58dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat printf(format,network,mask,via,src,proto,scope,dev,table); 59dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat } 60dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat' 61