diff options
Diffstat (limited to 'op-mode-definitions')
-rw-r--r-- | op-mode-definitions/traceroute.xml | 70 |
1 files changed, 47 insertions, 23 deletions
diff --git a/op-mode-definitions/traceroute.xml b/op-mode-definitions/traceroute.xml index d623fe103..1aea8eef6 100644 --- a/op-mode-definitions/traceroute.xml +++ b/op-mode-definitions/traceroute.xml @@ -1,71 +1,70 @@ <?xml version="1.0"?> <interfaceDefinition> - <node name="traceroute"> + <tagNode name="traceroute"> <properties> <help>Track network path to node</help> + <completionHelp> + <list><hostname> <x.x.x.x> <h:h:h:h:h:h:h:h></list> + </completionHelp> </properties> + <command>/usr/bin/traceroute "$2"</command> + </tagNode> + <node name="traceroute"> <children> - <tagNode name=""> - <properties> - <help>Track network path to specified node</help> - <completionHelp> - <list><hostname> <x.x.x.x> <h:h:h:h:h:h:h:h></list> - </completionHelp> - </properties> - <command>/usr/bin/traceroute $2</command> - </tagNode> <tagNode name="ipv4"> <properties> - <help>Track network path to <hostname|IPv4 address></help> + <help>Explicitly use IPv4 when tracing the path</help> <completionHelp> <list><hostname> <x.x.x.x></list> </completionHelp> </properties> - <command>/usr/bin/traceroute -4 $3</command> + <command>/usr/bin/traceroute -4 "$3"</command> </tagNode> <tagNode name="ipv6"> <properties> - <help>Track network path to <hostname|IPv6 address></help> + <help>Explicitly use IPv6 when tracing the path</help> <completionHelp> <list><hostname> <h:h:h:h:h:h:h:h></list> </completionHelp> </properties> - <command>/usr/bin/traceroute -6 $3</command> + <command>/usr/bin/traceroute -6 "$3"</command> </tagNode> <tagNode name="vrf"> <properties> - <help>Track network path to specified node via given VRF instance</help> + <help>Track network path to specified node via given VRF</help> <completionHelp> <path>vrf name</path> </completionHelp> </properties> <children> + <!-- we need an empty tagNode to pass in a plain fqdn/ip address and + let traceroute decide how to handle this parameter --> <tagNode name=""> <properties> - <help>Track network path to specified node</help> + <help>Track network path to specified node via given VRF</help> <completionHelp> <list><hostname> <x.x.x.x> <h:h:h:h:h:h:h:h></list> </completionHelp> </properties> - <command>sudo ip vrf exec "$3" traceroute "$4"</command> + <command>sudo /usr/sbin/ip vrf exec "$3" /usr/bin/traceroute "$4"</command> </tagNode> <tagNode name="ipv4"> <properties> - <help>Track network path to <hostname|IPv4 address></help> + <help>Explicitly use IPv4 when tracing the path via given VRF</help> <completionHelp> <list><hostname> <x.x.x.x></list> </completionHelp> </properties> - <command>sudo ip vrf exec "$3" traceroute -4 "$5"</command> + <command>sudo /usr/sbin/ip vrf exec "$3" /usr/bin/traceroute -4 "$5"</command> </tagNode> <tagNode name="ipv6"> <properties> - <help>Track network path to <hostname|IPv6 address></help> + <help>Explicitly use IPv6 when tracing the path via given VRF</help> <completionHelp> <list><hostname> <h:h:h:h:h:h:h:h></list> </completionHelp> </properties> - <command>sudo ip vrf exec "$3" traceroute -6 "$5"</command> + <command>sudo /usr/sbin/ip vrf exec "$3" /usr/bin/traceroute -6 "$5"</command> </tagNode> </children> </tagNode> @@ -75,13 +74,38 @@ <children> <tagNode name="traceroute"> <properties> - <help>Monitor the path to a destination in realtime</help> + <help>Monitor path to destination in realtime</help> <completionHelp> <list><hostname> <x.x.x.x> <h:h:h:h:h:h:h:h></list> </completionHelp> </properties> - <command>/usr/bin/mtr $3</command> + <command>/usr/bin/mtr "$3"</command> </tagNode> + <node name="traceroute"> + <children> + <tagNode name="vrf"> + <properties> + <help>Monitor path to destination in realtime via given VRF</help> + <completionHelp> + <path>vrf name</path> + </completionHelp> + </properties> + <children> + <!-- we need an empty tagNode to pass in a plain fqdn/ip address and + let traceroute decide how to handle this parameter --> + <tagNode name=""> + <properties> + <help>Track network path to specified node via given VRF</help> + <completionHelp> + <list><hostname> <x.x.x.x> <h:h:h:h:h:h:h:h></list> + </completionHelp> + </properties> + <command>sudo /usr/sbin/ip vrf exec "$4" /usr/bin/mtr "$5"</command> + </tagNode> + </children> + </tagNode> + </children> + </node> </children> </node> </interfaceDefinition> |