summaryrefslogtreecommitdiff
path: root/op-mode-definitions
diff options
context:
space:
mode:
authorMarcus Hoff <marcus.hoff@ring2.dk>2020-09-05 09:58:03 +0200
committerMarcus Hoff <marcus.hoff@ring2.dk>2020-09-05 09:58:03 +0200
commit46fb580fa0131f6815bbcfc95631654f6fe999a8 (patch)
tree73ae9fcaa97d5cfab7883bc6fbf3ea036677c2a3 /op-mode-definitions
parent0377b8e40b0d3e424da11194e97659c5066c0a1d (diff)
parentb6b61bc9ecf1328e67a0c15934f8bf3966a6b66d (diff)
downloadvyos-1x-46fb580fa0131f6815bbcfc95631654f6fe999a8.tar.gz
vyos-1x-46fb580fa0131f6815bbcfc95631654f6fe999a8.zip
Merge remote-tracking branch 'upstream/current' into current
Diffstat (limited to 'op-mode-definitions')
-rw-r--r--op-mode-definitions/add-system-image.xml62
-rw-r--r--op-mode-definitions/anyconnect.xml20
-rw-r--r--op-mode-definitions/configure.xml24
-rw-r--r--op-mode-definitions/connect.xml (renamed from op-mode-definitions/connect-disconnect.xml)22
-rw-r--r--op-mode-definitions/disconnect.xml20
-rw-r--r--op-mode-definitions/force-arp.xml8
-rw-r--r--op-mode-definitions/force-ipv6-nd.xml33
-rw-r--r--op-mode-definitions/force-ipv6-rd.xml34
-rw-r--r--op-mode-definitions/lldp.xml4
-rw-r--r--op-mode-definitions/monitor-bandwidth-test.xml (renamed from op-mode-definitions/bandwidth-test.xml)0
-rw-r--r--op-mode-definitions/monitor-bandwidth.xml (renamed from op-mode-definitions/bandwidth-monitor.xml)0
-rw-r--r--op-mode-definitions/monitor-log.xml13
-rw-r--r--op-mode-definitions/monitor-ndp.xml6
-rw-r--r--op-mode-definitions/ping.xml23
-rw-r--r--op-mode-definitions/show-console-server.xml13
-rw-r--r--op-mode-definitions/show-hardware.xml10
-rw-r--r--op-mode-definitions/show-interfaces-pppoe.xml2
-rw-r--r--op-mode-definitions/show-interfaces-wirelessmodem.xml2
-rw-r--r--op-mode-definitions/show-ip-route.xml2
-rw-r--r--op-mode-definitions/show-ipv6-bgp.xml24
-rw-r--r--op-mode-definitions/show-system.xml16
-rw-r--r--op-mode-definitions/show-vrf.xml6
-rw-r--r--op-mode-definitions/traceroute.xml114
23 files changed, 396 insertions, 62 deletions
diff --git a/op-mode-definitions/add-system-image.xml b/op-mode-definitions/add-system-image.xml
new file mode 100644
index 000000000..3dc1c67ab
--- /dev/null
+++ b/op-mode-definitions/add-system-image.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+<interfaceDefinition>
+ <node name="add">
+ <children>
+ <node name="system">
+ <properties>
+ <help>Add item to a system facility</help>
+ </properties>
+ <children>
+ <tagNode name="image">
+ <properties>
+ <help>Add a new image to the system</help>
+ <completionHelp>
+ <list>/path/to/vyos-image.iso http://example.com/vyos-image.iso</list>
+ </completionHelp>
+ </properties>
+ <command>sudo ${vyatta_sbindir}/install-image --url "${4}"</command>
+ <children>
+ <tagNode name="vrf">
+ <properties>
+ <help>Download image via specified VRF</help>
+ <completionHelp>
+ <path>vrf name</path>
+ </completionHelp>
+ </properties>
+ <command>sudo ${vyatta_sbindir}/install-image --url "${4}" --vrf "${6}"</command>
+ <children>
+ <tagNode name="username">
+ <properties>
+ <help>Username for authentication</help>
+ </properties>
+ <children>
+ <tagNode name="password">
+ <properties>
+ <help>Password to use with authentication</help>
+ </properties>
+ <command>sudo ${vyatta_sbindir}/install-image --url "${4}" --vrf "${6}" --username "${8}" --password "${10}"</command>
+ </tagNode>
+ </children>
+ </tagNode>
+ </children>
+ </tagNode>
+ <tagNode name="username">
+ <properties>
+ <help>Username for authentication</help>
+ </properties>
+ <children>
+ <tagNode name="password">
+ <properties>
+ <help>Password to use with authentication</help>
+ </properties>
+ <command>sudo ${vyatta_sbindir}/install-image --url "${4}" --username "${6}" --password "${8}"</command>
+ </tagNode>
+ </children>
+ </tagNode>
+ </children>
+ </tagNode>
+ </children>
+ </node>
+ </children>
+ </node>
+</interfaceDefinition>
diff --git a/op-mode-definitions/anyconnect.xml b/op-mode-definitions/anyconnect.xml
new file mode 100644
index 000000000..7e8cdd35b
--- /dev/null
+++ b/op-mode-definitions/anyconnect.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0"?>
+<interfaceDefinition>
+ <node name="show">
+ <children>
+ <node name="anyconnect-server">
+ <properties>
+ <help>show anyconnect-server information</help>
+ </properties>
+ <children>
+ <leafNode name="sessions">
+ <properties>
+ <help>Show active anyconnect server sessions</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/anyconnect-control.py --action="show_sessions"</command>
+ </leafNode>
+ </children>
+ </node>
+ </children>
+ </node>
+</interfaceDefinition>
diff --git a/op-mode-definitions/configure.xml b/op-mode-definitions/configure.xml
new file mode 100644
index 000000000..3dd5a0f45
--- /dev/null
+++ b/op-mode-definitions/configure.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<interfaceDefinition>
+ <node name="configure">
+ <properties>
+ <help>Enter configuration mode</help>
+ </properties>
+ <command>if [ `id -u` == 0 ]; then
+ echo "You are attempting to enter configuration mode as root."
+ echo "It may have unintended consequences and render your system"
+ echo "unusable until restart."
+ echo "Please do it as an administrator level VyOS user instead."
+ else
+ if grep -q -e '^overlay.*/filesystem.squashfs' /proc/mounts; then
+ echo "WARNING: You are currently configuring a live-ISO environment, changes will not persist until installed"
+ fi
+ history -w
+ export _OFR_CONFIGURE=ok
+ newgrp vyattacfg
+ unset _OFR_CONFIGURE
+ _vyatta_op_do_key_bindings
+ history -r
+ fi</command>
+ </node>
+</interfaceDefinition>
diff --git a/op-mode-definitions/connect-disconnect.xml b/op-mode-definitions/connect.xml
index f0fcef5da..1ec62949a 100644
--- a/op-mode-definitions/connect-disconnect.xml
+++ b/op-mode-definitions/connect.xml
@@ -2,35 +2,27 @@
<interfaceDefinition>
<node name="connect">
<properties>
- <help>Establish a connection</help>
+ <help>Establish connection</help>
</properties>
<children>
- <tagNode name="interface">
+ <tagNode name="console">
<properties>
- <help>Bring up a connection-oriented network interface</help>
+ <help>Connect to device attached to serial console server</help>
<completionHelp>
- <path>interfaces pppoe</path>
- <path>interfaces wirelessmodem</path>
+ <path>service console-server device</path>
</completionHelp>
</properties>
- <command>sudo ${vyos_op_scripts_dir}/connect_disconnect.py --connect "$3"</command>
+ <command>/usr/bin/console "$3"</command>
</tagNode>
- </children>
- </node>
- <node name="disconnect">
- <properties>
- <help>Take down a connection</help>
- </properties>
- <children>
<tagNode name="interface">
<properties>
- <help>Take down a connection-oriented network interface</help>
+ <help>Bring up a connection-oriented network interface</help>
<completionHelp>
<path>interfaces pppoe</path>
<path>interfaces wirelessmodem</path>
</completionHelp>
</properties>
- <command>sudo ${vyos_op_scripts_dir}/connect_disconnect.py --disconnect "$3"</command>
+ <command>sudo ${vyos_op_scripts_dir}/connect_disconnect.py --connect "$3"</command>
</tagNode>
</children>
</node>
diff --git a/op-mode-definitions/disconnect.xml b/op-mode-definitions/disconnect.xml
new file mode 100644
index 000000000..bf2c37b89
--- /dev/null
+++ b/op-mode-definitions/disconnect.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0"?>
+<interfaceDefinition>
+ <node name="disconnect">
+ <properties>
+ <help>Take down a connection</help>
+ </properties>
+ <children>
+ <tagNode name="interface">
+ <properties>
+ <help>Take down a connection-oriented network interface</help>
+ <completionHelp>
+ <path>interfaces pppoe</path>
+ <path>interfaces wirelessmodem</path>
+ </completionHelp>
+ </properties>
+ <command>sudo ${vyos_op_scripts_dir}/connect_disconnect.py --disconnect "$3"</command>
+ </tagNode>
+ </children>
+ </node>
+</interfaceDefinition>
diff --git a/op-mode-definitions/force-arp.xml b/op-mode-definitions/force-arp.xml
index 3eadabf0a..c7bcad413 100644
--- a/op-mode-definitions/force-arp.xml
+++ b/op-mode-definitions/force-arp.xml
@@ -27,13 +27,13 @@
<properties>
<help>Send gratuitous ARP reply for specified address</help>
</properties>
- <command>sudo arping -I $5 -c 1 -A $7</command>
+ <command>sudo /usr/bin/arping -I $5 -c 1 -A $7</command>
<children>
<tagNode name="count">
<properties>
<help>Send specified number of ARP replies</help>
</properties>
- <command>sudo arping -I $5 -c $9 -A $7</command>
+ <command>sudo /usr/bin/arping -I $5 -c $9 -A $7</command>
</tagNode>
</children>
</tagNode>
@@ -58,13 +58,13 @@
<properties>
<help>Send gratuitous ARP request for specified address</help>
</properties>
- <command>sudo arping -I $5 -c 1 -U $7</command>
+ <command>sudo /usr/bin/arping -I $5 -c 1 -U $7</command>
<children>
<tagNode name="count">
<properties>
<help>Send specified number of ARP requests</help>
</properties>
- <command>sudo arping -I $5 -c $9 -U $7</command>
+ <command>sudo /usr/bin/arping -I $5 -c $9 -U $7</command>
</tagNode>
</children>
</tagNode>
diff --git a/op-mode-definitions/force-ipv6-nd.xml b/op-mode-definitions/force-ipv6-nd.xml
new file mode 100644
index 000000000..49de097f6
--- /dev/null
+++ b/op-mode-definitions/force-ipv6-nd.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<interfaceDefinition>
+ <node name="force">
+ <children>
+ <node name="ipv6-nd">
+ <properties>
+ <help>IPv6 Neighbor Discovery</help>
+ </properties>
+ <children>
+ <tagNode name="interface">
+ <properties>
+ <help>IPv6 Neighbor Discovery on specified interface</help>
+ <completionHelp>
+ <script>${vyos_completion_dir}/list_interfaces.py</script>
+ </completionHelp>
+ </properties>
+ <children>
+ <tagNode name="address">
+ <properties>
+ <help>IPv6 address of node to lookup</help>
+ <completionHelp>
+ <list>&lt;h:h:h:h:h:h:h:h&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>/usr/bin/ndisc6 -m "$6" "$4"</command>
+ </tagNode>
+ </children>
+ </tagNode>
+ </children>
+ </node>
+ </children>
+ </node>
+</interfaceDefinition>
diff --git a/op-mode-definitions/force-ipv6-rd.xml b/op-mode-definitions/force-ipv6-rd.xml
new file mode 100644
index 000000000..8c901af25
--- /dev/null
+++ b/op-mode-definitions/force-ipv6-rd.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0"?>
+<interfaceDefinition>
+ <node name="force">
+ <children>
+ <node name="ipv6-rd">
+ <properties>
+ <help>IPv6 Router Discovery</help>
+ </properties>
+ <children>
+ <tagNode name="interface">
+ <properties>
+ <help>IPv6 Router Discovery on specified interface</help>
+ <completionHelp>
+ <script>${vyos_completion_dir}/list_interfaces.py</script>
+ </completionHelp>
+ </properties>
+ <command>/usr/bin/rdisc6 "$4"</command>
+ <children>
+ <tagNode name="address">
+ <properties>
+ <help>IPv6 address of target</help>
+ <completionHelp>
+ <list>&lt;h:h:h:h:h:h:h:h&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>/usr/bin/rdisc6 -m "$6" "$4"</command>
+ </tagNode>
+ </children>
+ </tagNode>
+ </children>
+ </node>
+ </children>
+ </node>
+</interfaceDefinition>
diff --git a/op-mode-definitions/lldp.xml b/op-mode-definitions/lldp.xml
index 105bfe237..297ccf1f4 100644
--- a/op-mode-definitions/lldp.xml
+++ b/op-mode-definitions/lldp.xml
@@ -17,7 +17,7 @@
<properties>
<help>Show LLDP neighbor details</help>
</properties>
- <command>/usr/sbin/lldpctl -f plain</command>
+ <command>${vyos_op_scripts_dir}/lldp_op.py --detail</command>
</node>
<tagNode name="interface">
<properties>
@@ -26,7 +26,7 @@
<script>${vyos_completion_dir}/list_interfaces.py</script>
</completionHelp>
</properties>
- <command>${vyos_op_scripts_dir}/lldp_op.py --interface $4</command>
+ <command>${vyos_op_scripts_dir}/lldp_op.py --interface $5</command>
</tagNode>
</children>
</node>
diff --git a/op-mode-definitions/bandwidth-test.xml b/op-mode-definitions/monitor-bandwidth-test.xml
index d1e459b17..d1e459b17 100644
--- a/op-mode-definitions/bandwidth-test.xml
+++ b/op-mode-definitions/monitor-bandwidth-test.xml
diff --git a/op-mode-definitions/bandwidth-monitor.xml b/op-mode-definitions/monitor-bandwidth.xml
index 9af0a9e70..9af0a9e70 100644
--- a/op-mode-definitions/bandwidth-monitor.xml
+++ b/op-mode-definitions/monitor-bandwidth.xml
diff --git a/op-mode-definitions/monitor-log.xml b/op-mode-definitions/monitor-log.xml
new file mode 100644
index 000000000..99efe5306
--- /dev/null
+++ b/op-mode-definitions/monitor-log.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+<interfaceDefinition>
+ <node name="monitor">
+ <children>
+ <node name="log">
+ <properties>
+ <help>Monitor last lines of messages file</help>
+ </properties>
+ <command>tail --follow=name /var/log/messages</command>
+ </node>
+ </children>
+ </node>
+</interfaceDefinition>
diff --git a/op-mode-definitions/monitor-ndp.xml b/op-mode-definitions/monitor-ndp.xml
index e25eccf3a..1ac6ce39b 100644
--- a/op-mode-definitions/monitor-ndp.xml
+++ b/op-mode-definitions/monitor-ndp.xml
@@ -4,7 +4,7 @@
<children>
<node name="ndp">
<properties>
- <help>Monitors the NDP information received by the router through the device</help>
+ <help>Monitor the NDP information received by the router through the device</help>
</properties>
<command>sudo ndptool monitor</command>
<children>
@@ -20,7 +20,7 @@
<tagNode name="type">
<command>sudo ndptool monitor --ifname=$4 --msg-type=$6</command>
<properties>
- <help>Monitor ndp protocol on specified interface</help>
+ <help>Monitor specific types of NDP protocols</help>
<completionHelp>
<list>rs ra ns na</list>
</completionHelp>
@@ -31,7 +31,7 @@
<tagNode name="type">
<command>sudo ndptool monitor --msg-type=$4</command>
<properties>
- <help>Monitor ndp protocol on specified interface</help>
+ <help>Monitor specific types of NDP protocols</help>
<completionHelp>
<list>rs ra ns na</list>
</completionHelp>
diff --git a/op-mode-definitions/ping.xml b/op-mode-definitions/ping.xml
new file mode 100644
index 000000000..4c25a59ab
--- /dev/null
+++ b/op-mode-definitions/ping.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<interfaceDefinition>
+ <tagNode name="ping">
+ <properties>
+ <help>Send Internet Control Message Protocol (ICMP) echo request</help>
+ <completionHelp>
+ <list>&lt;hostname&gt; &lt;x.x.x.x&gt; &lt;h:h:h:h:h:h:h:h&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/ping.py ${@:2}</command>
+ <children>
+ <leafNode name="node.tag">
+ <properties>
+ <help>Ping options</help>
+ <completionHelp>
+ <script>${vyos_op_scripts_dir}/ping.py --get-options "${COMP_WORDS[@]}"</script>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/ping.py ${@:2}</command>
+ </leafNode>
+ </children>
+ </tagNode>
+</interfaceDefinition>
diff --git a/op-mode-definitions/show-console-server.xml b/op-mode-definitions/show-console-server.xml
index e47b6cfaa..77a7f3376 100644
--- a/op-mode-definitions/show-console-server.xml
+++ b/op-mode-definitions/show-console-server.xml
@@ -1,18 +1,5 @@
<?xml version="1.0"?>
<interfaceDefinition>
- <node name="connect">
- <children>
- <tagNode name="console">
- <properties>
- <help>Connect to device attached to serial console server</help>
- <completionHelp>
- <path>service console-server device</path>
- </completionHelp>
- </properties>
- <command>/usr/bin/console "$3"</command>
- </tagNode>
- </children>
- </node>
<node name="show">
<children>
<node name="log">
diff --git a/op-mode-definitions/show-hardware.xml b/op-mode-definitions/show-hardware.xml
index a49036397..c3ff3a60f 100644
--- a/op-mode-definitions/show-hardware.xml
+++ b/op-mode-definitions/show-hardware.xml
@@ -71,14 +71,20 @@
<properties>
<help>Show peripherals connected to the USB bus</help>
</properties>
- <command>lsusb</command>
+ <command>/usr/bin/lsusb -t</command>
<children>
<node name="detail">
<properties>
<help>Show detailed USB bus information</help>
</properties>
- <command>lsusb -v</command>
+ <command>/usr/bin/lsusb -v</command>
</node>
+ <leafNode name="serial">
+ <properties>
+ <help>Show information about connected USB serial ports</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/show_usb_serial.py</command>
+ </leafNode>
</children>
</node>
</children>
diff --git a/op-mode-definitions/show-interfaces-pppoe.xml b/op-mode-definitions/show-interfaces-pppoe.xml
index 4263a2f0a..393ca912f 100644
--- a/op-mode-definitions/show-interfaces-pppoe.xml
+++ b/op-mode-definitions/show-interfaces-pppoe.xml
@@ -26,7 +26,7 @@
<path>interfaces pppoe</path>
</completionHelp>
</properties>
- <command>/usr/sbin/pppstats $4</command>
+ <command>if [ -d "/sys/class/net/$4" ]; then /usr/sbin/pppstats "$4"; fi</command>
</leafNode>
</children>
</tagNode>
diff --git a/op-mode-definitions/show-interfaces-wirelessmodem.xml b/op-mode-definitions/show-interfaces-wirelessmodem.xml
index 46f872c85..c0ab9c66f 100644
--- a/op-mode-definitions/show-interfaces-wirelessmodem.xml
+++ b/op-mode-definitions/show-interfaces-wirelessmodem.xml
@@ -26,7 +26,7 @@
<path>interfaces wirelessmodem</path>
</completionHelp>
</properties>
- <command>/usr/sbin/pppstats $4</command>
+ <command>if [ -d "/sys/class/net/$4" ]; then /usr/sbin/pppstats "$4"; fi</command>
</leafNode>
</children>
</tagNode>
diff --git a/op-mode-definitions/show-ip-route.xml b/op-mode-definitions/show-ip-route.xml
index d12d132c0..48ebbc74a 100644
--- a/op-mode-definitions/show-ip-route.xml
+++ b/op-mode-definitions/show-ip-route.xml
@@ -149,7 +149,7 @@
<properties>
<help>Show longer prefixes of routes for specified IP address or prefix</help>
</properties>
- <command>/usr/bin/vtysh -c "show ip route $4"</command>
+ <command>/usr/bin/vtysh -c "show ip route $4 longer-prefixes"</command>
</leafNode>
</children>
</tagNode>
diff --git a/op-mode-definitions/show-ipv6-bgp.xml b/op-mode-definitions/show-ipv6-bgp.xml
new file mode 100644
index 000000000..67a8c8658
--- /dev/null
+++ b/op-mode-definitions/show-ipv6-bgp.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<interfaceDefinition>
+ <node name="show">
+ <children>
+ <node name="ipv6">
+ <children>
+ <node name="bgp">
+ <children>
+ <tagNode name="route-map">
+ <properties>
+ <help>Show BGP routes matching the specified route map</help>
+ <completionHelp>
+ <path>policy route-map</path>
+ </completionHelp>
+ </properties>
+ <command>/usr/bin/vtysh -c "show bgp ipv6 route-map $5"</command>
+ </tagNode>
+ </children>
+ </node>
+ </children>
+ </node>
+ </children>
+ </node>
+</interfaceDefinition>
diff --git a/op-mode-definitions/show-system.xml b/op-mode-definitions/show-system.xml
index 74b34ae92..0623e3b62 100644
--- a/op-mode-definitions/show-system.xml
+++ b/op-mode-definitions/show-system.xml
@@ -59,7 +59,7 @@
<properties>
<help>Checks overall system integrity</help>
</properties>
- <command>sudo ${vyos_op_scripts_dir}/system_integrity.py</command>
+ <command>sudo ${vyos_op_scripts_dir}/show_system_integrity.py</command>
</leafNode>
<leafNode name="kernel-messages">
<properties>
@@ -176,20 +176,6 @@
</properties>
<command>uptime</command>
</leafNode>
- <node name="usb">
- <properties>
- <help>Show information about Universal Serial Bus (USB)</help>
- </properties>
- <command>/usr/bin/lsusb -t</command>
- <children>
- <leafNode name="serial">
- <properties>
- <help>Show information about connected USB serial ports</help>
- </properties>
- <command>${vyos_op_scripts_dir}/show_usb_serial.py</command>
- </leafNode>
- </children>
- </node>
</children>
</node>
</children>
diff --git a/op-mode-definitions/show-vrf.xml b/op-mode-definitions/show-vrf.xml
index 1c806908b..438e7c334 100644
--- a/op-mode-definitions/show-vrf.xml
+++ b/op-mode-definitions/show-vrf.xml
@@ -11,9 +11,9 @@
<tagNode name="vrf">
<properties>
<help>Show information on specific VRF instance</help>
- <completionHelp>
- <path>vrf name</path>
- </completionHelp>
+ <completionHelp>
+ <path>vrf name</path>
+ </completionHelp>
</properties>
<command>${vyos_op_scripts_dir}/show_vrf.py -e "$3"</command>
<children>
diff --git a/op-mode-definitions/traceroute.xml b/op-mode-definitions/traceroute.xml
index 340d28280..1b619ed43 100644
--- a/op-mode-definitions/traceroute.xml
+++ b/op-mode-definitions/traceroute.xml
@@ -25,6 +25,25 @@
</completionHelp>
</properties>
<command>/usr/bin/traceroute -4 "$3"</command>
+ <children>
+ <node name="tcp">
+ <properties>
+ <help>Route tracing and port detection using TCP</help>
+ </properties>
+ <command>sudo /usr/bin/tcptraceroute "$3" </command>
+ <children>
+ <tagNode name="port">
+ <properties>
+ <help>TCP port to connect to for path tracing</help>
+ <completionHelp>
+ <list>0-65535</list>
+ </completionHelp>
+ </properties>
+ <command>sudo /usr/bin/tcptraceroute "$3" $6</command>
+ </tagNode>
+ </children>
+ </node>
+ </children>
</tagNode>
<tagNode name="ipv6">
<properties>
@@ -34,6 +53,25 @@
</completionHelp>
</properties>
<command>/usr/bin/traceroute -6 "$3"</command>
+ <children>
+ <node name="tcp">
+ <properties>
+ <help>Use TCP/IPv6 packets to perform a traceroute</help>
+ </properties>
+ <command>sudo /usr/bin/tcptraceroute6 "$3" </command>
+ <children>
+ <tagNode name="port">
+ <properties>
+ <help>TCP port to connect to for path tracing</help>
+ <completionHelp>
+ <list>0-65535</list>
+ </completionHelp>
+ </properties>
+ <command>sudo /usr/bin/tcptraceroute6 "$3" $6</command>
+ </tagNode>
+ </children>
+ </node>
+ </children>
</tagNode>
<tagNode name="vrf">
<properties>
@@ -62,6 +100,25 @@
</completionHelp>
</properties>
<command>sudo /usr/sbin/ip vrf exec "$3" /usr/bin/traceroute -4 "$5"</command>
+ <children>
+ <node name="tcp">
+ <properties>
+ <help>Route tracing and port detection using TCP</help>
+ </properties>
+ <command>sudo /usr/sbin/ip vrf exec "$3" /usr/bin/tcptraceroute "$5" </command>
+ <children>
+ <tagNode name="port">
+ <properties>
+ <help>TCP port to connect to for path tracing</help>
+ <completionHelp>
+ <list>0-65535</list>
+ </completionHelp>
+ </properties>
+ <command>sudo /usr/sbin/ip vrf exec "$3" /usr/bin/tcptraceroute "$5" $8</command>
+ </tagNode>
+ </children>
+ </node>
+ </children>
</tagNode>
<tagNode name="ipv6">
<properties>
@@ -71,6 +128,25 @@
</completionHelp>
</properties>
<command>sudo /usr/sbin/ip vrf exec "$3" /usr/bin/traceroute -6 "$5"</command>
+ <children>
+ <node name="tcp">
+ <properties>
+ <help>Use TCP/IPv6 packets to perform a traceroute</help>
+ </properties>
+ <command>sudo /usr/sbin/ip vrf exec "$3" /usr/bin/tcptraceroute6 "$5" </command>
+ <children>
+ <tagNode name="port">
+ <properties>
+ <help>TCP port to connect to for path tracing</help>
+ <completionHelp>
+ <list>0-65535</list>
+ </completionHelp>
+ </properties>
+ <command>sudo /usr/sbin/ip vrf exec "$3" /usr/bin/tcptraceroute6 "$5" $8</command>
+ </tagNode>
+ </children>
+ </node>
+ </children>
</tagNode>
</children>
</tagNode>
@@ -89,6 +165,24 @@
</tagNode>
<node name="traceroute">
<children>
+ <tagNode name="ipv4">
+ <properties>
+ <help>IPv4 fully qualified domain name (FQDN)</help>
+ <completionHelp>
+ <list>&lt;fqdn&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>/usr/bin/mtr -4 "$4"</command>
+ </tagNode>
+ <tagNode name="ipv6">
+ <properties>
+ <help>IPv6 fully qualified domain name (FQDN)</help>
+ <completionHelp>
+ <list>&lt;fqdn&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>/usr/bin/mtr -6 "$4"</command>
+ </tagNode>
<tagNode name="vrf">
<properties>
<help>Monitor path to destination in realtime via given VRF</help>
@@ -97,8 +191,24 @@
</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="ipv4">
+ <properties>
+ <help>IPv4 fully qualified domain name (FQDN)</help>
+ <completionHelp>
+ <list>&lt;fqdn&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>sudo /usr/sbin/ip vrf exec "$4" /usr/bin/mtr -4 "$6"</command>
+ </tagNode>
+ <tagNode name="ipv6">
+ <properties>
+ <help>IPv6 fully qualified domain name (FQDN)</help>
+ <completionHelp>
+ <list>&lt;fqdn&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>sudo /usr/sbin/ip vrf exec "$4" /usr/bin/mtr -6 "$6"</command>
+ </tagNode>
<tagNode name="">
<properties>
<help>Track network path to specified node via given VRF</help>