summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorl0crian1 <ryan.claridge13@gmail.com>2024-05-16 08:07:02 -0400
committerMergify <37929162+mergify[bot]@users.noreply.github.com>2024-05-16 18:41:53 +0000
commit9eab810d3a49b057e1d695fe047e9862cde47f5c (patch)
treefb8099cc8f1abde4afc6ce36552f119c25169d26
parent53d6eb10d9c275cd7665eec4d2137c2e3bf202e7 (diff)
downloadvyos-1x-9eab810d3a49b057e1d695fe047e9862cde47f5c.tar.gz
vyos-1x-9eab810d3a49b057e1d695fe047e9862cde47f5c.zip
T6335: Add/Update EVPN op commands
Converted completion helpers from python to bash for performance Previous commit: Added the following commands: show evpn show evpn es show evpn es <es-id> show evpn es detail show evpn es-evi show evpn es-evi detail show evpn es-evi vni <num> show evpn vni show evpn vni detail show evpn vni <num> Updated the following commands: show evpn access-vlan show evpn arp-cache show evpn mac show evpn next-hops show evpn rmac (cherry picked from commit 3917e3e9f985063ab7419c903f6019116224f640)
-rw-r--r--op-mode-definitions/include/vni-tagnode-all.xml.i2
-rw-r--r--op-mode-definitions/include/vni-tagnode.xml.i2
-rw-r--r--op-mode-definitions/show-evpn.xml.in2
-rwxr-xr-x[-rw-r--r--]src/completion/list_esi.sh (renamed from src/completion/list_esi.py)23
-rwxr-xr-x[-rw-r--r--]src/completion/list_vni.sh (renamed from src/completion/list_vni.py)17
5 files changed, 14 insertions, 32 deletions
diff --git a/op-mode-definitions/include/vni-tagnode-all.xml.i b/op-mode-definitions/include/vni-tagnode-all.xml.i
index 18f74653b..fabab19d7 100644
--- a/op-mode-definitions/include/vni-tagnode-all.xml.i
+++ b/op-mode-definitions/include/vni-tagnode-all.xml.i
@@ -4,7 +4,7 @@
<help>VXLAN network identifier (VNI) number</help>
<completionHelp>
<list>&lt;1-16777215&gt; all</list>
- <script>${vyos_completion_dir}/list_vni.py</script>
+ <script>${vyos_completion_dir}/list_vni.sh</script>
</completionHelp>
</properties>
<command>${vyos_op_scripts_dir}/evpn.py show_evpn --command "$*"</command>
diff --git a/op-mode-definitions/include/vni-tagnode.xml.i b/op-mode-definitions/include/vni-tagnode.xml.i
index 363da8d5e..f5b99dcc8 100644
--- a/op-mode-definitions/include/vni-tagnode.xml.i
+++ b/op-mode-definitions/include/vni-tagnode.xml.i
@@ -4,7 +4,7 @@
<help>VXLAN network identifier (VNI) number</help>
<completionHelp>
<list>&lt;1-16777215&gt;</list>
- <script>${vyos_completion_dir}/list_vni.py</script>
+ <script>${vyos_completion_dir}/list_vni.sh</script>
</completionHelp>
</properties>
<command>${vyos_op_scripts_dir}/evpn.py show_evpn --command "$*"</command>
diff --git a/op-mode-definitions/show-evpn.xml.in b/op-mode-definitions/show-evpn.xml.in
index ba3b104cd..3c1e5c7d6 100644
--- a/op-mode-definitions/show-evpn.xml.in
+++ b/op-mode-definitions/show-evpn.xml.in
@@ -48,7 +48,7 @@
<help>Show ESI information for specified ESI</help>
<completionHelp>
<list>&lt;esi&gt;</list>
- <script>${vyos_completion_dir}/list_esi.py</script>
+ <script>${vyos_completion_dir}/list_esi.sh</script>
</completionHelp>
</properties>
<command>${vyos_op_scripts_dir}/evpn.py show_evpn --command "$*"</command>
diff --git a/src/completion/list_esi.py b/src/completion/list_esi.sh
index fc40f37b6..b8373fa57 100644..100755
--- a/src/completion/list_esi.py
+++ b/src/completion/list_esi.sh
@@ -1,6 +1,6 @@
-#!/usr/bin/env python3
+#!/bin/bash
#
-# Copyright (C) 2016-2024 VyOS maintainers and contributors
+# Copyright (C) 2024 VyOS maintainers and contributors
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 or later as
@@ -8,24 +8,13 @@
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
-# This script is completion helper to list all configured VNIs that are visible to FRR
+# This script is completion helper to list all valid ESEs that are visible to FRR
-import json
-from vyos.utils.process import cmd
-
-def get_esi():
- esiDict = json.loads(cmd(f"vtysh -c 'show evpn es json'"))
- esiList = []
- for i in esiDict:
- esiList.append(i['esi'])
-
- print(' '.join(esiList))
-
-if __name__ == '__main__':
- get_esi()
+esiJson=$(vtysh -c 'show evpn es json')
+echo "$(echo "$esiJson" | jq -r '.[] | .esi')"
diff --git a/src/completion/list_vni.py b/src/completion/list_vni.sh
index ef78eb16f..f8bd4a993 100644..100755
--- a/src/completion/list_vni.py
+++ b/src/completion/list_vni.sh
@@ -1,6 +1,6 @@
-#!/usr/bin/env python3
+#!/bin/bash
#
-# Copyright (C) 2016-2024 VyOS maintainers and contributors
+# Copyright (C) 2024 VyOS maintainers and contributors
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 or later as
@@ -8,7 +8,7 @@
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
@@ -16,12 +16,5 @@
#
# This script is completion helper to list all configured VNIs that are visible to FRR
-import json
-from vyos.utils.process import cmd
-
-def get_vni():
- vniDict = json.loads(cmd(f"vtysh -c 'show evpn vni json'"))
- print(' '.join(vniDict.keys()))
-
-if __name__ == '__main__':
- get_vni()
+vniJson=$(vtysh -c 'show evpn vni json')
+echo "$(echo "$vniJson" | jq -r 'keys | .[]')"