123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214 |
- <?xml version="1.0" encoding="UTF-8"?>
- <CLISH_MODULE xmlns="http://clish.sourceforge.net/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://clish.sourceforge.net/XMLSchema
- http://clish.sourceforge.net/XMLSchema/clish.xsd">
- <!--=======================================================-->
- <VIEW name="ping-view"
- prompt="${SYSTEM_NAME}# ">
- <!-- commands set: ping, ping6, arping, traceroute, traceroute6 -->
- <!-- ping, ping6, arping -->
- <COMMAND name="ping"
- help="Send messages to network hosts"
- lock="false"
- interrupt="true">
- <PARAM name="proto"
- help="Protocol to use for the ping"
- optional="true"
- mode="switch"
- ptype="SUBCOMMAND">
- <PARAM name="ip"
- help="Send ICMP IPv4 messages to network hosts (default)"
- mode="subcommand"
- ptype="SUBCOMMAND"/>
- <PARAM name="ipv6"
- help="Send ICMP IPv6 messages to network hosts"
- mode="subcommand"
- ptype="SUBCOMMAND"/>
- <PARAM name="arp"
- help="Send ARP requests to a neighbour host"
- mode="subcommand"
- ptype="SUBCOMMAND"/>
- </PARAM>
- <PARAM name="dst"
- help="Hostname or IP-address to ping"
- ptype="STRING"/>
- <PARAM name="source"
- help="Source IP-address (ip) or interface (ip and arp)"
- optional="true"
- mode="subcommand"
- ptype="SUBCOMMAND">
- <PARAM name="src"
- help="Source IP-address (ip) or interface name (ip and arp)"
- ptype="STRING"/>
- </PARAM>
- <PARAM name="repeat"
- help="Requests to send count, default is 5"
- optional="true"
- mode="subcommand"
- ptype="SUBCOMMAND">
- <PARAM name="count"
- help="Requests count"
- ptype="UINT"/>
- </PARAM>
- <PARAM name="resolve"
- test='"${proto}"!="arp"'
- help="Resolve names"
- optional="true"
- mode="subcommand"
- ptype="SUBCOMMAND"/>
- <PARAM name="broadcast"
- test='"${proto}"!="arp"'
- help="Ping broadcast address"
- optional="true"
- mode="subcommand"
- ptype="SUBCOMMAND"/>
- <PARAM name="size"
- test='"${proto}"!="arp"'
- help="Packet size"
- optional="true"
- mode="subcommand"
- ptype="SUBCOMMAND">
- <PARAM name="psize"
- help="Number of data bytes to send"
- ptype="UINT"/>
- </PARAM>
- <PARAM name="interval"
- test='"${proto}"!="arp"'
- help="The time interval between packets, default is 1"
- optional="true"
- mode="subcommand"
- ptype="SUBCOMMAND">
- <PARAM name="period"
- help="Interval between packets"
- ptype="STRING"/>
- </PARAM>
- <PARAM name="flood"
- test='"${proto}"!="arp"'
- help="Flood ping"
- optional="true"
- mode="subcommand"
- ptype="SUBCOMMAND"/>
- <PARAM name="duplicate-detect"
- test='"${proto}"="arp"'
- help="Duplicate address detection mode"
- optional="true"
- mode="subcommand"
- ptype="SUBCOMMAND"/>
- <ACTION>
- case "${proto}" in
- "ipv6")
- cmd="ping6"
- ;;
- "arp")
- cmd="arping"
- ;;
- *)
- cmd="ping"
- ;;
- esac
- if test "${proto}" != "arp"; then
- # Resolve names
- if test -z "${resolve}"; then
- cmd=$cmd" -n"
- fi
- # Ping broadcast
- cmd=$cmd"`expr substr '${ -b :broadcast}' 1 3`"
- # Packet size
- cmd=$cmd"${ -s :psize}"
- # Interval between packets
- if test -n "${period}"; then
- cmd=$cmd"${ -i :period}"
- else
- cmd=$cmd" -i 1"
- fi
- # Flood ping
- cmd=$cmd"`expr substr '${ -f :flood}' 1 3`"
- else
- # Detect MAC duplicate
- cmd=$cmd"`expr substr '${ -D :duplicate-detect}' 1 3`"
- fi
- # Interface or address
- cmd=$cmd"${ -I :src}"
- # Request count
- if test -z "${count}"; then
- cmd=$cmd" -c 5"
- else
- cmd=$cmd"${ -c :count}"
- fi
- #
- cmd=$cmd" ${dst}"
- $cmd
- </ACTION>
- </COMMAND>
- <!-- traceroute, traceroute6 -->
- <COMMAND name="traceroute"
- help="Print the route packets trace to network host"
- lock="false"
- interrupt="true">
- <PARAM name="proto"
- help="Protocol to use"
- optional="true"
- mode="switch"
- ptype="SUBCOMMAND">
- <PARAM name="ip"
- help="IPv4"
- mode="subcommand"
- ptype="SUBCOMMAND"/>
- <PARAM name="ipv6"
- help="IPv6"
- mode="subcommand"
- ptype="SUBCOMMAND"/>
- </PARAM>
- <PARAM name="dst"
- help="Hostname or IP-address to trace the route"
- ptype="STRING"/>
- <PARAM name="resolve"
- help="Resolve names"
- ptype="SUBCOMMAND"
- mode="subcommand"
- optional="true"/>
- <PARAM name="source"
- help="Source IP-address"
- optional="true"
- mode="subcommand"
- ptype="SUBCOMMAND">
- <PARAM name="src"
- help="IP-address"
- ptype="STRING"/>
- </PARAM>
- <PARAM name="interface"
- help="Source interface"
- optional="true"
- mode="subcommand"
- ptype="SUBCOMMAND">
- <PARAM name="if"
- help="Interface name"
- ptype="STRING"/>
- </PARAM>
- <ACTION>
- if test -n "${ipv6}"; then
- cmd="traceroute6"
- else
- cmd="traceroute"
- fi
- #Resolve names
- if test -z "${resolve}"; then
- cmd=$cmd" -n"
- fi
- # Source address
- cmd=$cmd"${ -s :src}"
- # Source interface
- cmd=$cmd"${ -i :if}"
- #
- cmd=$cmd" ${dst}"
- $cmd
- </ACTION>
- </COMMAND>
- </VIEW>
- </CLISH_MODULE>
|