|
@@ -0,0 +1,214 @@
|
|
|
+<?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>
|