summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Breunig <christian@breunig.cc>2023-11-12 10:10:01 +0100
committerChristian Breunig <christian@breunig.cc>2023-11-12 10:10:01 +0100
commitc0de93d37354ec89f44dde7f1b5a4c8af550a019 (patch)
tree90e351393e0a1fd0e732d353ce8de9c3cb6d88c4
parentb8e9daf12eaef46747e7379042f8acd575e5b1d6 (diff)
downloadvyos-1x-c0de93d37354ec89f44dde7f1b5a4c8af550a019.tar.gz
vyos-1x-c0de93d37354ec89f44dde7f1b5a4c8af550a019.zip
op-mode: T5658: fix "monitor traceroute" completion helper
-rw-r--r--op-mode-definitions/monitor-traceroute.xml.in30
-rw-r--r--op-mode-definitions/mtr.xml.in26
-rw-r--r--src/op_mode/mtr.py7
3 files changed, 30 insertions, 33 deletions
diff --git a/op-mode-definitions/monitor-traceroute.xml.in b/op-mode-definitions/monitor-traceroute.xml.in
deleted file mode 100644
index 7697228b3..000000000
--- a/op-mode-definitions/monitor-traceroute.xml.in
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0"?>
-<interfaceDefinition>
- <node name="monitor">
- <properties>
- <help>Monitor route with mtr</help>
- </properties>
- <children>
- <tagNode name="traceroute">
- <properties>
- <help>Traceroute route with mtr</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}/mtr.py ${@:3}</command>
- <children>
- <leafNode name="node.tag">
- <properties>
- <help>mtr options</help>
- <completionHelp>
- <script>${vyos_op_scripts_dir}/mtr.py --get-options "${COMP_WORDS[@]}"</script>
- </completionHelp>
- </properties>
- <command>${vyos_op_scripts_dir}/mtr.py ${@:3}</command>
- </leafNode>
- </children>
- </tagNode>
- </children>
- </node>
-</interfaceDefinition>
diff --git a/op-mode-definitions/mtr.xml.in b/op-mode-definitions/mtr.xml.in
index acc4ee29d..8239aec4c 100644
--- a/op-mode-definitions/mtr.xml.in
+++ b/op-mode-definitions/mtr.xml.in
@@ -1,8 +1,32 @@
<?xml version="1.0"?>
<interfaceDefinition>
+ <node name="monitor">
+ <children>
+ <tagNode name="traceroute">
+ <properties>
+ <help>Monitor Traceroute and ping path to target</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}/mtr.py ${@:3}</command>
+ <children>
+ <leafNode name="node.tag">
+ <properties>
+ <help>mtr options</help>
+ <completionHelp>
+ <script>${vyos_op_scripts_dir}/mtr.py --get-options-nested "${COMP_WORDS[@]}"</script>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/mtr.py ${@:3}</command>
+ </leafNode>
+ </children>
+ </tagNode>
+ </children>
+ </node>
<tagNode name="mtr">
<properties>
- <help>Trace network path to node with mtr</help>
+ <help>Monitor Traceroute and ping path to target</help>
<completionHelp>
<list>&lt;hostname&gt; &lt;x.x.x.x&gt; &lt;h:h:h:h:h:h:h:h&gt;</list>
</completionHelp>
diff --git a/src/op_mode/mtr.py b/src/op_mode/mtr.py
index efb627e51..de139f2fa 100644
--- a/src/op_mode/mtr.py
+++ b/src/op_mode/mtr.py
@@ -242,8 +242,11 @@ if __name__ == '__main__':
if not host:
sys.exit("mtr: Missing host")
- if host == '--get-options':
- args.first() # pop ping
+
+ if host == '--get-options' or host == '--get-options-nested':
+ if host == '--get-options-nested':
+ args.first() # pop monitor
+ args.first() # pop mtr | traceroute
args.first() # pop IP
usedoptionslist = []
while args: