diff options
| author | Christian Breunig <christian@breunig.cc> | 2023-11-12 10:10:01 +0100 | 
|---|---|---|
| committer | Christian Breunig <christian@breunig.cc> | 2023-11-12 10:10:01 +0100 | 
| commit | c0de93d37354ec89f44dde7f1b5a4c8af550a019 (patch) | |
| tree | 90e351393e0a1fd0e732d353ce8de9c3cb6d88c4 | |
| parent | b8e9daf12eaef46747e7379042f8acd575e5b1d6 (diff) | |
| download | vyos-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.in | 30 | ||||
| -rw-r--r-- | op-mode-definitions/mtr.xml.in | 26 | ||||
| -rw-r--r-- | src/op_mode/mtr.py | 7 | 
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><hostname> <x.x.x.x> <h:h:h:h:h:h:h:h></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><hostname> <x.x.x.x> <h:h:h:h:h:h:h:h></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><hostname> <x.x.x.x> <h:h:h:h:h:h:h:h></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: | 
