summaryrefslogtreecommitdiff
path: root/op-mode-definitions
diff options
context:
space:
mode:
Diffstat (limited to 'op-mode-definitions')
-rw-r--r--op-mode-definitions/containers.xml.in61
-rw-r--r--op-mode-definitions/include/bgp/afi-common.xml.i (renamed from op-mode-definitions/include/bgp-afi-common.xml.i)2
-rw-r--r--op-mode-definitions/include/bgp/afi-ipv4-ipv6-common.xml.i (renamed from op-mode-definitions/include/bgp-afi-ipv4-ipv6-common.xml.i)2
-rw-r--r--op-mode-definitions/include/bgp/prefix-bestpath-multipath.xml.i (renamed from op-mode-definitions/include/bgp-prefix-bestpath-multipath.xml.i)2
-rw-r--r--op-mode-definitions/include/bgp/show-bgp-common.xml.i245
-rw-r--r--op-mode-definitions/include/bgp/show-ip-bgp-common.xml.i170
-rw-r--r--op-mode-definitions/include/isis-common.xml.i179
-rw-r--r--op-mode-definitions/include/ospf-common.xml.i559
-rw-r--r--op-mode-definitions/include/ospfv3-adv-router-id-node-tag.xml.i17
-rw-r--r--op-mode-definitions/include/ospfv3-detail.xml.i9
-rw-r--r--op-mode-definitions/include/ospfv3-dump.xml.i9
-rw-r--r--op-mode-definitions/include/ospfv3-internal.xml.i9
-rw-r--r--op-mode-definitions/include/ospfv3-linkstate-id-node-tag.xml.i18
-rw-r--r--op-mode-definitions/include/ospfv3-self-originated.xml.i14
-rw-r--r--op-mode-definitions/include/ospfv3/adv-router-id-node-tag.xml.i16
-rw-r--r--op-mode-definitions/include/ospfv3/adv-router.xml.i (renamed from op-mode-definitions/include/ospfv3-adv-router.xml.i)10
-rw-r--r--op-mode-definitions/include/ospfv3/detail.xml.i8
-rw-r--r--op-mode-definitions/include/ospfv3/dump.xml.i8
-rw-r--r--op-mode-definitions/include/ospfv3/internal.xml.i8
-rw-r--r--op-mode-definitions/include/ospfv3/linkstate-id-node-tag.xml.i17
-rw-r--r--op-mode-definitions/include/ospfv3/linkstate-id.xml.i (renamed from op-mode-definitions/include/ospfv3-linkstate-id.xml.i)8
-rw-r--r--op-mode-definitions/include/ospfv3/self-originated.xml.i13
-rw-r--r--op-mode-definitions/monitor-log.xml.in8
-rw-r--r--op-mode-definitions/nat.xml.in10
-rw-r--r--op-mode-definitions/nat66.xml.in98
-rw-r--r--op-mode-definitions/show-bgp.xml.in242
-rw-r--r--op-mode-definitions/show-ip-bgp.xml.in170
-rw-r--r--op-mode-definitions/show-ip-ospf.xml.in559
-rw-r--r--op-mode-definitions/show-ipv6-ospfv3.xml.in309
-rw-r--r--op-mode-definitions/show-isis.xml.in178
-rw-r--r--op-mode-definitions/show-ntp.xml.in9
-rw-r--r--op-mode-definitions/show-version.xml.in2
-rw-r--r--op-mode-definitions/show-zebra.xml.in54
-rw-r--r--op-mode-definitions/wireguard.xml.in54
34 files changed, 1713 insertions, 1364 deletions
diff --git a/op-mode-definitions/containers.xml.in b/op-mode-definitions/containers.xml.in
new file mode 100644
index 000000000..a22549dd9
--- /dev/null
+++ b/op-mode-definitions/containers.xml.in
@@ -0,0 +1,61 @@
+<?xml version="1.0"?>
+<interfaceDefinition>
+ <node name="add">
+ <children>
+ <node name="container">
+ <properties>
+ <help>Add container image</help>
+ </properties>
+ <children>
+ <tagNode name="image">
+ <properties>
+ <help>Pull a new image for container</help>
+ </properties>
+ <command>sudo ${vyos_op_scripts_dir}/containers_op.py --pull "${4}"</command>
+ </tagNode>
+ </children>
+ </node>
+ </children>
+ </node>
+ <node name="delete">
+ <children>
+ <node name="container">
+ <properties>
+ <help>Delete container image</help>
+ </properties>
+ <children>
+ <tagNode name="image">
+ <properties>
+ <help>Delete container image</help>
+ </properties>
+ <command>sudo ${vyos_op_scripts_dir}/containers_op.py --remove "${4}"</command>
+ </tagNode>
+ </children>
+ </node>
+ </children>
+ </node>
+ <node name="show">
+ <children>
+ <node name="container">
+ <properties>
+ <help>Show containers</help>
+ </properties>
+ <command>sudo ${vyos_op_scripts_dir}/containers_op.py --all</command>
+ <children>
+ <leafNode name="image">
+ <properties>
+ <help>Delete container image</help>
+ </properties>
+ <command>sudo ${vyos_op_scripts_dir}/containers_op.py --image</command>
+ </leafNode>
+ <leafNode name="network">
+ <properties>
+ <help>Show available container networks</help>
+ </properties>
+ <command>sudo ${vyos_op_scripts_dir}/containers_op.py --networks</command>
+ </leafNode>
+ </children>
+ </node>
+ </children>
+ </node>
+</interfaceDefinition>
diff --git a/op-mode-definitions/include/bgp-afi-common.xml.i b/op-mode-definitions/include/bgp/afi-common.xml.i
index 06cfc42a5..e48482282 100644
--- a/op-mode-definitions/include/bgp-afi-common.xml.i
+++ b/op-mode-definitions/include/bgp/afi-common.xml.i
@@ -1,4 +1,4 @@
-<!-- included start from bgp-afi-common.xml.i -->
+<!-- included start from bgp/afi-common.xml.i -->
<tagNode name="community">
<properties>
<help>Community number where AA and NN are (0-65535)</help>
diff --git a/op-mode-definitions/include/bgp-afi-ipv4-ipv6-common.xml.i b/op-mode-definitions/include/bgp/afi-ipv4-ipv6-common.xml.i
index dc0926375..f1b699347 100644
--- a/op-mode-definitions/include/bgp-afi-ipv4-ipv6-common.xml.i
+++ b/op-mode-definitions/include/bgp/afi-ipv4-ipv6-common.xml.i
@@ -1,4 +1,4 @@
-<!-- included start from bgp-afi-ipv4-ipv6-common.xml.i -->
+<!-- included start from bgp/afi-ipv4-ipv6-common.xml.i -->
<node name="community">
<properties>
<help>Display routes matching the community</help>
diff --git a/op-mode-definitions/include/bgp-prefix-bestpath-multipath.xml.i b/op-mode-definitions/include/bgp/prefix-bestpath-multipath.xml.i
index 224fa6b45..2d91a8253 100644
--- a/op-mode-definitions/include/bgp-prefix-bestpath-multipath.xml.i
+++ b/op-mode-definitions/include/bgp/prefix-bestpath-multipath.xml.i
@@ -1,4 +1,4 @@
-<!-- included start from bgp-prefix-bestpath-multipath.xml.i -->
+<!-- included start from bgp/prefix-bestpath-multipath.xml.i -->
<leafNode name="bestpath">
<properties>
<help>Display only the bestpath</help>
diff --git a/op-mode-definitions/include/bgp/show-bgp-common.xml.i b/op-mode-definitions/include/bgp/show-bgp-common.xml.i
new file mode 100644
index 000000000..b86b09056
--- /dev/null
+++ b/op-mode-definitions/include/bgp/show-bgp-common.xml.i
@@ -0,0 +1,245 @@
+<!-- included start from bgp/show-bgp-common.xml.i -->
+#include <include/bgp/afi-common.xml.i>
+#include <include/bgp/afi-ipv4-ipv6-common.xml.i>
+<tagNode name="ipv4">
+ <properties>
+ <help>Network in the BGP routing table to display</help>
+ <completionHelp>
+ <list>&lt;x.x.x.x&gt; &lt;x.x.x.x/x&gt; &lt;h:h:h:h:h:h:h:h&gt; &lt;h:h:h:h:h:h:h:h/x&gt;</list>
+ </completionHelp>
+ </properties>
+ <children>
+ #include <include/bgp/prefix-bestpath-multipath.xml.i>
+ </children>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+</tagNode>
+<node name="ipv4">
+ <properties>
+ <help>IPv4 Address Family</help>
+ </properties>
+ <children>
+ #include <include/bgp/afi-common.xml.i>
+ #include <include/bgp/afi-ipv4-ipv6-common.xml.i>
+ </children>
+</node>
+<tagNode name="ipv6">
+ <properties>
+ <help>Network in the BGP routing table to display</help>
+ <completionHelp>
+ <list>&lt;x.x.x.x&gt; &lt;x.x.x.x/x&gt; &lt;h:h:h:h:h:h:h:h&gt; &lt;h:h:h:h:h:h:h:h/x&gt;</list>
+ </completionHelp>
+ </properties>
+ <children>
+ #include <include/bgp/prefix-bestpath-multipath.xml.i>
+ </children>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+</tagNode>
+<node name="ipv6">
+ <properties>
+ <help>IPv6 Address Family</help>
+ </properties>
+ <children>
+ #include <include/bgp/afi-common.xml.i>
+ #include <include/bgp/afi-ipv4-ipv6-common.xml.i>
+ </children>
+</node>
+<node name="l2vpn">
+ <properties>
+ <help>Layer 2 Virtual Private Network</help>
+ </properties>
+ <children>
+ <tagNode name="evpn">
+ <properties>
+ <help>Network in the BGP routing table to display</help>
+ <completionHelp>
+ <list>&lt;x.x.x.x&gt; &lt;x.x.x.x/x&gt; &lt;h:h:h:h:h:h:h:h&gt; &lt;h:h:h:h:h:h:h:h/x&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </tagNode>
+ <node name="evpn">
+ <properties>
+ <help>Ethernet Virtual Private Network</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ <children>
+ #include <include/bgp/afi-common.xml.i>
+ <node name="all">
+ <properties>
+ <help>Display information about all EVPN NLRIs</help>
+ </properties>
+ <children>
+ <leafNode name="overlay">
+ <properties>
+ <help>Display BGP Overlay Information for prefixes</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ <leafNode name="tags">
+ <properties>
+ <help>Display BGP tags for prefixes</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ </children>
+ </node>
+ <node name="es">
+ <properties>
+ <help>Ethernet Segment</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ <children>
+ #include <include/vtysh-generic-detail.xml.i>
+ </children>
+ </node>
+ <node name="es-evi">
+ <properties>
+ <help>Ethernet Segment per EVI</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ <children>
+ #include <include/vtysh-generic-detail.xml.i>
+ #include <include/vni-tagnode.xml.i>
+ </children>
+ </node>
+ <leafNode name="import-rt">
+ <properties>
+ <help>Show import route target</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ <tagNode name="neighbors">
+ <properties>
+ <help>Show detailed BGP neighbor information</help>
+ <completionHelp>
+ <script>vtysh -c 'show bgp summary' | awk '{print $1'} | grep -e '^[0-9a-f]'</script>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ <children>
+ <leafNode name="advertised-routes">
+ <properties>
+ <help>Show routes advertised to a BGP neighbor</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ <leafNode name="routes">
+ <properties>
+ <help>Show routes learned from BGP neighbor</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ </children>
+ </tagNode>
+ <tagNode name="rd">
+ <properties>
+ <help>Show detailed BGP neighbor information</help>
+ <completionHelp>
+ <list>ASN:NN IPADDRESS:NN</list>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ <children>
+ <leafNode name="overlay">
+ <properties>
+ <help>Display BGP Overlay Information for prefixes</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ <leafNode name="tags">
+ <properties>
+ <help>Display BGP tags for prefixes</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ </children>
+ </tagNode>
+ <node name="route">
+ <properties>
+ <help>EVPN route information</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ <children>
+ #include <include/vtysh-generic-detail.xml.i>
+ <node name="type">
+ <properties>
+ <help>Specify Route type</help>
+ </properties>
+ <children>
+ <leafNode name="1">
+ <properties>
+ <help>EAD (Type-1) route</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ <leafNode name="2">
+ <properties>
+ <help>MAC-IP (Type-2) route</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ <leafNode name="3">
+ <properties>
+ <help>Multicast (Type-3) route</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ <leafNode name="4">
+ <properties>
+ <help>Ethernet Segment (Type-4) route</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ <leafNode name="5">
+ <properties>
+ <help>Prefix (Type-5) route</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ <leafNode name="ead">
+ <properties>
+ <help>EAD (Type-1) route</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ <leafNode name="es">
+ <properties>
+ <help>Ethernet Segment (Type-4) route</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ <leafNode name="macip">
+ <properties>
+ <help>MAC-IP (Type-2) route</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ <leafNode name="multicast">
+ <properties>
+ <help>Multicast (Type-3) route</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ <leafNode name="prefix">
+ <properties>
+ <help>Prefix (Type-5) route</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ </children>
+ </node>
+ #include <include/vni-tagnode-all.xml.i>
+ </children>
+ </node>
+ #include <include/vni-tagnode.xml.i>
+ <leafNode name="vni">
+ <properties>
+ <help>VXLAN network identifier (VNI)</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ </children>
+ </node>
+ </children>
+</node>
+<!-- included end -->
diff --git a/op-mode-definitions/include/bgp/show-ip-bgp-common.xml.i b/op-mode-definitions/include/bgp/show-ip-bgp-common.xml.i
new file mode 100644
index 000000000..e599bfb3f
--- /dev/null
+++ b/op-mode-definitions/include/bgp/show-ip-bgp-common.xml.i
@@ -0,0 +1,170 @@
+<!-- included start from bgp/show-ip-bgp-common.xml.i -->
+<leafNode name="attribute-info">
+ <properties>
+ <help>Show BGP attribute information</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+</leafNode>
+<leafNode name="cidr-only">
+ <properties>
+ <help>Display only routes with non-natural netmasks</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+</leafNode>
+<leafNode name="community-info">
+ <properties>
+ <help>List all bgp community information</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+</leafNode>
+#include <include/bgp/afi-common.xml.i>
+#include <include/bgp/afi-ipv4-ipv6-common.xml.i>
+<tagNode name="prefix-list">
+ <properties>
+ <completionHelp>
+ <path>policy prefix-list</path>
+ </completionHelp>
+ </properties>
+</tagNode>
+<node name="ipv4">
+ <properties>
+ <help>Show BGP IPv4 information</help>
+ </properties>
+ <children>
+ <node name="unicast">
+ <properties>
+ <help>Show BGP IPv4 unicast information</help>
+ </properties>
+ <children>
+ <leafNode name="cidr-only">
+ <properties>
+ <help>Display only routes with non-natural netmasks</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ <node name="community">
+ <properties>
+ <help>Show BGP routes matching the communities</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </node>
+ <tagNode name="community">
+ <properties>
+ <help>Display routes matching the specified communities</help>
+ <completionHelp>
+ <list>&lt;AA:NN&gt; local-AS no-advertise no-export</list>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </tagNode>
+ <tagNode name="community-list">
+ <properties>
+ <help>Show BGP routes matching specified community list</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ <children>
+ <leafNode name="exact-match">
+ <properties>
+ <help>Show BGP routes exactly matching specified community list</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ </children>
+ </tagNode>
+ <tagNode name="neighbors">
+ <properties>
+ <help>Show detailed BGP IPv4 unicast neighbor information</help>
+ <completionHelp>
+ <script>vtysh -c "show ip bgp ipv4 unicast summary" | awk '{print $1}' | grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b"</script>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ <children>
+ <leafNode name="advertised-routes">
+ <properties>
+ <help>Show routes advertised to a BGP neighbor</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ <leafNode name="prefix-counts">
+ <properties>
+ <help>Show detailed prefix count information</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ <leafNode name="received-routes">
+ <properties>
+ <help>Show the received routes from neighbor</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ <leafNode name="routes">
+ <properties>
+ <help>Show routes learned from neighbor</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ </children>
+ </tagNode>
+ <leafNode name="paths">
+ <properties>
+ <help>Show BGP path information</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ <tagNode name="prefix-list">
+ <properties>
+ <help>Show BGP routes matching the specified prefix list</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </tagNode>
+ <tagNode name="regexp">
+ <properties>
+ <help>Show BGP routes matching the specified AS path regular expression</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </tagNode>
+ <tagNode name="route-map">
+ <properties>
+ <help>Show BGP routes matching the specified route map</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </tagNode>
+ <leafNode name="summary">
+ <properties>
+ <help>Show summary of BGP information</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ </children>
+ </node>
+ <tagNode name="unicast">
+ <properties>
+ <help>Show BGP information for specified IP address or prefix</help>
+ <completionHelp>
+ <list>&lt;x.x.x.x&gt; &lt;x.x.x.x/x&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </tagNode>
+ </children>
+</node>
+<leafNode name="large-community-info">
+ <properties>
+ <help>Show BGP large-community information</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+</leafNode>
+<leafNode name="memory">
+ <properties>
+ <help>Show BGP memory usage</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+</leafNode>
+<leafNode name="paths">
+ <properties>
+ <help>Show BGP path information</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+</leafNode>
+<!-- included end -->
diff --git a/op-mode-definitions/include/isis-common.xml.i b/op-mode-definitions/include/isis-common.xml.i
new file mode 100644
index 000000000..5674bc22f
--- /dev/null
+++ b/op-mode-definitions/include/isis-common.xml.i
@@ -0,0 +1,179 @@
+<!-- included start from isis-common.xml.i -->
+<node name="database">
+ <properties>
+ <help>Show IS-IS link state database</help>
+ </properties>
+ <children>
+ <leafNode name="detail">
+ <properties>
+ <help>Show detailed information</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ </children>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+</node>
+<tagNode name="database">
+ <properties>
+ <help>Show IS-IS link state database PDU</help>
+ <completionHelp>
+ <list>lsp-id detail</list>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+</tagNode>
+<leafNode name="hostname">
+ <properties>
+ <help>Show IS-IS dynamic hostname mapping</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+</leafNode>
+<node name="interface">
+ <properties>
+ <help>Show IS-IS interfaces</help>
+ <completionHelp>
+ <script>${vyos_completion_dir}/list_interfaces.py</script>
+ </completionHelp>
+ </properties>
+ <children>
+ <leafNode name="detail">
+ <properties>
+ <help>Show detailed information</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ </children>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+</node>
+<tagNode name="interface">
+ <properties>
+ <help>Show specific IS-IS interface</help>
+ <completionHelp>
+ <script>${vyos_completion_dir}/list_interfaces.py</script>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+</tagNode>
+<node name="mpls-te">
+ <properties>
+ <help>Show IS-IS MPLS traffic engineering information</help>
+ </properties>
+ <children>
+ <leafNode name="router">
+ <properties>
+ <help>Show router information</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ <leafNode name="interface">
+ <properties>
+ <help>Show interface information</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ <tagNode name="interface">
+ <properties>
+ <help>Show specific IS-IS interface</help>
+ <completionHelp>
+ <script>${vyos_completion_dir}/list_interfaces.py</script>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </tagNode>
+ </children>
+</node>
+<node name="neighbor">
+ <properties>
+ <help>Show IS-IS neighbor adjacencies</help>
+ </properties>
+ <children>
+ <leafNode name="detail">
+ <properties>
+ <help>Show detailed information</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ </children>
+ <command>vtysh -c "show isis neighbor"</command>
+</node>
+<tagNode name="neighbor">
+ <properties>
+ <help>Show specific IS-IS neighbor adjacency </help>
+ <completionHelp>
+ <list>system-id</list>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+</tagNode>
+<node name="route">
+ <properties>
+ <help>Show IS-IS routing table</help>
+ </properties>
+ <children>
+ <leafNode name="level-1">
+ <properties>
+ <help>Show level-1 routes</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ <leafNode name="level-2">
+ <properties>
+ <help>Show level-2 routes</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ </children>
+ <command>vtysh -c "show isis route"</command>
+</node>
+<node name="segment-routing">
+ <properties>
+ <help>Show IS-IS Segment-Routing (SPRING) information</help>
+ </properties>
+ <children>
+ <leafNode name="node">
+ <properties>
+ <help>Show node information</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ <leafNode name="prefix-sids">
+ <properties>
+ <help>Show prefix segment IDs</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ </children>
+</node>
+<leafNode name="spf-delay-ietf">
+ <properties>
+ <help>Show IS-IS SPF delay parameters</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+</leafNode>
+<leafNode name="summary">
+ <properties>
+ <help>Show IS-IS information summary</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+</leafNode>
+<node name="topology">
+ <properties>
+ <help>Show IS-IS paths to Intermediate Systems</help>
+ </properties>
+ <children>
+ <leafNode name="level-1">
+ <properties>
+ <help>Show level-1 routes</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ <leafNode name="level-2">
+ <properties>
+ <help>Show level-2 routes</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ </children>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+</node>
+<!-- included end -->
diff --git a/op-mode-definitions/include/ospf-common.xml.i b/op-mode-definitions/include/ospf-common.xml.i
new file mode 100644
index 000000000..0edc3c37f
--- /dev/null
+++ b/op-mode-definitions/include/ospf-common.xml.i
@@ -0,0 +1,559 @@
+<!-- included start from ospf-common.xml.i -->
+<leafNode name="border-routers">
+ <properties>
+ <help>Show IPv4 OSPF border-routers information</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+</leafNode>
+<node name="database">
+ <properties>
+ <help>Show IPv4 OSPF database information</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ <children>
+ <node name="asbr-summary">
+ <properties>
+ <help>Show IPv4 OSPF ASBR summary database</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ <children>
+ <tagNode name="adv-router">
+ <properties>
+ <help>Show IPv4 OSPF ASBR summary database for given address of advertised router</help>
+ <completionHelp>
+ <list>&lt;x.x.x.x&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </tagNode>
+ <node name="adv-router">
+ <properties>
+ <help>Show IPv4 OSPF ASBR summary database for given address of advertised router</help>
+ </properties>
+ </node>
+ </children>
+ </node>
+ <tagNode name="asbr-summary">
+ <properties>
+ <help>Show IPv4 OSPF ASBR summary database information of given address</help>
+ <completionHelp>
+ <list>&lt;x.x.x.x&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ <children>
+ <node name="adv-router">
+ <properties>
+ <help>Show advertising router link states</help>
+ </properties>
+ </node>
+ <tagNode name="adv-router">
+ <properties>
+ <help>Show IPv4 OSPF ASBR summary database of given address for given advertised router</help>
+ <completionHelp>
+ <list>&lt;x.x.x.x&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </tagNode>
+ <leafNode name="self-originate">
+ <properties>
+ <help>Show summary of self-originate IPv4 OSPF ASBR database</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ </children>
+ </tagNode>
+ <node name="external">
+ <properties>
+ <help>Show IPv4 OSPF external database</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ <children>
+ <tagNode name="adv-router">
+ <properties>
+ <help>Show IPv4 OSPF external database for specified IP address of advertised router</help>
+ <completionHelp>
+ <list>&lt;x.x.x.x&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </tagNode>
+ <node name="adv-router">
+ <properties>
+ <help>Show IPv4 OSPF external database for specified IP address of advertised router</help>
+ </properties>
+ </node>
+ </children>
+ </node>
+ <tagNode name="external">
+ <properties>
+ <help>Show IPv4 OSPF external database information of specified IP address</help>
+ <completionHelp>
+ <list>&lt;x.x.x.x&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ <children>
+ <node name="adv-router">
+ <properties>
+ <help>Show advertising router link states</help>
+ </properties>
+ </node>
+ <tagNode name="adv-router">
+ <properties>
+ <help>Show IPv4 OSPF external database of specified IP address for specified advertised router</help>
+ <completionHelp>
+ <list>&lt;x.x.x.x&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </tagNode>
+ <leafNode name="self-originate">
+ <properties>
+ <help>Show self-originate IPv4 OSPF external database</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ </children>
+ </tagNode>
+ <leafNode name="max-age">
+ <properties>
+ <help>Show IPv4 OSPF max-age database</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ <node name="network">
+ <properties>
+ <help>Show IPv4 OSPF network database</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ <children>
+ <tagNode name="adv-router">
+ <properties>
+ <help>Show IPv4 OSPF network database for specified IP address of advertised router</help>
+ <completionHelp>
+ <list>&lt;x.x.x.x&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </tagNode>
+ <node name="adv-router">
+ <properties>
+ <help>Show IPv4 OSPF network database for given address of advertised router</help>
+ </properties>
+ </node>
+ </children>
+ </node>
+ <tagNode name="network">
+ <properties>
+ <help>Show IPv4 OSPF network database information of specified IP address</help>
+ <completionHelp>
+ <list>&lt;x.x.x.x&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ <children>
+ <node name="adv-router">
+ <properties>
+ <help>Show advertising router link states</help>
+ </properties>
+ </node>
+ <tagNode name="adv-router">
+ <properties>
+ <help>Show IPv4 OSPF network database of specified IP address for specified advertised router</help>
+ <completionHelp>
+ <list>&lt;x.x.x.x&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </tagNode>
+ <leafNode name="self-originate">
+ <properties>
+ <help>Show self-originate IPv4 OSPF network database</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ </children>
+ </tagNode>
+ <node name="nssa-external">
+ <properties>
+ <help>Show IPv4 OSPF NSSA external database</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ <children>
+ <tagNode name="adv-router">
+ <properties>
+ <help>Show IPv4 OSPF NSSA external database for specified IP address of advertised router</help>
+ <completionHelp>
+ <list>&lt;x.x.x.x&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </tagNode>
+ <node name="adv-router">
+ <properties>
+ <help>Show IPv4 OSPF NSSA external database for specified IP address of advertised router</help>
+ </properties>
+ </node>
+ </children>
+ </node>
+ <tagNode name="nssa-external">
+ <properties>
+ <help>Show IPv4 OSPF NSSA external database information of specified IP address</help>
+ <completionHelp>
+ <list>&lt;x.x.x.x&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ <children>
+ <node name="adv-router">
+ <properties>
+ <help>Show advertising router link states</help>
+ </properties>
+ </node>
+ <tagNode name="adv-router">
+ <properties>
+ <help>Show IPv4 OSPF NSSA external database of specified IP address for specified advertised router</help>
+ <completionHelp>
+ <list>&lt;x.x.x.x&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </tagNode>
+ <leafNode name="self-originate">
+ <properties>
+ <help>Show self-originate IPv4 OSPF NSSA external database</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ </children>
+ </tagNode>
+ <node name="opaque-area">
+ <properties>
+ <help>Show IPv4 OSPF opaque-area database</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ <children>
+ <tagNode name="adv-router">
+ <properties>
+ <help>Show IPv4 OSPF opaque-area database for specified IP address of advertised router</help>
+ <completionHelp>
+ <list>&lt;x.x.x.x&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </tagNode>
+ <node name="adv-router">
+ <properties>
+ <help>Show IPv4 OSPF opaque-area database for specified IP address of advertised router</help>
+ </properties>
+ </node>
+ </children>
+ </node>
+ <tagNode name="opaque-area">
+ <properties>
+ <help>Show IPv4 OSPF opaque-area database information of specified IP address</help>
+ <completionHelp>
+ <list>&lt;x.x.x.x&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ <children>
+ <node name="adv-router">
+ <properties>
+ <help>Show advertising router link states</help>
+ </properties>
+ </node>
+ <tagNode name="adv-router">
+ <properties>
+ <help>Show IPv4 OSPF opaque-area database of specified IP address for specified advertised router</help>
+ <completionHelp>
+ <list>&lt;x.x.x.x&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </tagNode>
+ <leafNode name="self-originate">
+ <properties>
+ <help>Show self-originate IPv4 OSPF opaque-area database</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ </children>
+ </tagNode>
+ <node name="opaque-as">
+ <properties>
+ <help>Show IPv4 OSPF opaque-as database</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ <children>
+ <tagNode name="adv-router">
+ <properties>
+ <help>Show IPv4 OSPF opaque-as database for specified IP address of advertised router</help>
+ <completionHelp>
+ <list>&lt;x.x.x.x&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </tagNode>
+ <node name="adv-router">
+ <properties>
+ <help>Show IPv4 OSPF opaque-as database for specified IP address of advertised router</help>
+ </properties>
+ </node>
+ </children>
+ </node>
+ <tagNode name="opaque-as">
+ <properties>
+ <help>Show IPv4 OSPF opaque-as database information of specified IP address</help>
+ <completionHelp>
+ <list>&lt;x.x.x.x&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ <children>
+ <node name="adv-router">
+ <properties>
+ <help>Show advertising router link states</help>
+ </properties>
+ </node>
+ <tagNode name="adv-router">
+ <properties>
+ <help>Show IPv4 OSPF opaque-as database of specified IP address for specified advertised router</help>
+ <completionHelp>
+ <list>&lt;x.x.x.x&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </tagNode>
+ <leafNode name="self-originate">
+ <properties>
+ <help>Show self-originate IPv4 OSPF opaque-as database</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ </children>
+ </tagNode>
+ <node name="opaque-link">
+ <properties>
+ <help>Show IPv4 OSPF opaque-link database</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ <children>
+ <tagNode name="adv-router">
+ <properties>
+ <help>Show IPv4 OSPF opaque-link database for specified IP address of advertised router</help>
+ <completionHelp>
+ <list>&lt;x.x.x.x&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </tagNode>
+ <node name="adv-router">
+ <properties>
+ <help>Show IPv4 OSPF opaque-link database for specified IP address of advertised router</help>
+ </properties>
+ </node>
+ </children>
+ </node>
+ <tagNode name="opaque-link">
+ <properties>
+ <help>Show IPv4 OSPF opaque-link database information of specified IP address</help>
+ <completionHelp>
+ <list>&lt;x.x.x.x&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ <children>
+ <node name="adv-router">
+ <properties>
+ <help>Show advertising router link states</help>
+ </properties>
+ </node>
+ <tagNode name="adv-router">
+ <properties>
+ <help>Show IPv4 OSPF opaque-link database of specified IP address for specified advertised router</help>
+ <completionHelp>
+ <list>&lt;x.x.x.x&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </tagNode>
+ <leafNode name="self-originate">
+ <properties>
+ <help>Show self-originate IPv4 OSPF opaque-link database</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ </children>
+ </tagNode>
+ <node name="router">
+ <properties>
+ <help>Show IPv4 OSPF router database</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ <children>
+ <tagNode name="adv-router">
+ <properties>
+ <help>Show IPv4 OSPF router database for specified IP address of advertised router</help>
+ <completionHelp>
+ <list>&lt;x.x.x.x&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </tagNode>
+ <node name="adv-router">
+ <properties>
+ <help>Show IPv4 OSPF router database for specified IP address of advertised router</help>
+ </properties>
+ </node>
+ </children>
+ </node>
+ <tagNode name="router">
+ <properties>
+ <help>Show IPv4 OSPF router database information of specified IP address</help>
+ <completionHelp>
+ <list>&lt;x.x.x.x&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ <children>
+ <node name="adv-router">
+ <properties>
+ <help>Show advertising router link states</help>
+ </properties>
+ </node>
+ <tagNode name="adv-router">
+ <properties>
+ <help>Show IPv4 OSPF router database of specified IP address for specified advertised router</help>
+ <completionHelp>
+ <list>&lt;x.x.x.x&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </tagNode>
+ <leafNode name="self-originate">
+ <properties>
+ <help>Show self-originate IPv4 OSPF router database</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ </children>
+ </tagNode>
+ <leafNode name="self-originate">
+ <properties>
+ <help>Show IPv4 OSPF self-originate database</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ <node name="summary">
+ <properties>
+ <help>Show summary of IPv4 OSPF database</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ <children>
+ <tagNode name="adv-router">
+ <properties>
+ <help>Show IPv4 OSPF summary database for specified IP address of advertised router</help>
+ <completionHelp>
+ <list>&lt;x.x.x.x&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </tagNode>
+ <node name="adv-router">
+ <properties>
+ <help>Show IPv4 OSPF summary database for specified IP address of advertised router</help>
+ </properties>
+ </node>
+ </children>
+ </node>
+ <tagNode name="summary">
+ <properties>
+ <help>Show IPv4 OSPF summary database information of specified IP address</help>
+ <completionHelp>
+ <list>&lt;x.x.x.x&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ <children>
+ <node name="adv-router">
+ <properties>
+ <help>Show advertising router link states</help>
+ </properties>
+ </node>
+ <tagNode name="adv-router">
+ <properties>
+ <help>Show IPv4 OSPF summary database of specified IP address for specified advertised router</help>
+ <completionHelp>
+ <list>&lt;x.x.x.x&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </tagNode>
+ <leafNode name="self-originate">
+ <properties>
+ <help>Show self-originate IPv4 OSPF summary database</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </leafNode>
+ </children>
+ </tagNode>
+ </children>
+</node>
+<node name="interface">
+ <properties>
+ <help>Show IPv4 OSPF interface information</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+</node>
+<tagNode name="interface">
+ <properties>
+ <help>Show IPv4 OSPF information for specified interface</help>
+ <completionHelp>
+ <script>${vyos_completion_dir}/list_interfaces.py</script>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+</tagNode>
+<node name="neighbor">
+ <properties>
+ <help>Show IPv4 OSPF neighbor information</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ <children>
+ <tagNode name="address">
+ <properties>
+ <help>Show IPv4 OSPF neighbor information for specified IP address</help>
+ <completionHelp>
+ <list>&lt;x.x.x.x&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </tagNode>
+ <node name="detail">
+ <properties>
+ <help>Show detailed IPv4 OSPF neighbor information</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </node>
+ </children>
+</node>
+<tagNode name="neighbor">
+ <properties>
+ <help>Show IPv4 OSPF neighbor information for specified IP address or interface</help>
+ <completionHelp>
+ <list>&lt;x.x.x.x&gt;</list>
+ <script>${vyos_completion_dir}/list_interfaces.py</script>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+</tagNode>
+<leafNode name="route">
+ <properties>
+ <help>Show IPv4 OSPF route information</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+</leafNode>
+<!-- included end -->
diff --git a/op-mode-definitions/include/ospfv3-adv-router-id-node-tag.xml.i b/op-mode-definitions/include/ospfv3-adv-router-id-node-tag.xml.i
deleted file mode 100644
index 312ce2a4f..000000000
--- a/op-mode-definitions/include/ospfv3-adv-router-id-node-tag.xml.i
+++ /dev/null
@@ -1,17 +0,0 @@
-<!-- included start from ospfv3-adv-router-id-node-tag.xml.i -->
-<node name="node.tag">
- <properties>
- <help>Search by Advertising Router ID</help>
- <completionHelp>
- <list>&lt;x.x.x.x&gt;</list>
- </completionHelp>
- </properties>
- <!-- FRR uses ospf6 where we use ospfv3, thus alter the command -->
- <command>vtysh -c "show ipv6 ospf6 ${@:4}"</command>
- <children>
- #include <include/ospfv3-detail.xml.i>
- #include <include/ospfv3-dump.xml.i>
- #include <include/ospfv3-internal.xml.i>
- </children>
-</node>
-<!-- included end -->
diff --git a/op-mode-definitions/include/ospfv3-detail.xml.i b/op-mode-definitions/include/ospfv3-detail.xml.i
deleted file mode 100644
index 76096fbc8..000000000
--- a/op-mode-definitions/include/ospfv3-detail.xml.i
+++ /dev/null
@@ -1,9 +0,0 @@
-<!-- included start from ospfv3-detail.xml.i -->
-<node name="detail">
- <properties>
- <help>Show detailed information</help>
- </properties>
- <!-- FRR uses ospf6 where we use ospfv3, thus alter the command -->
- <command>vtysh -c "show ipv6 ospf6 ${@:4}"</command>
-</node>
-<!-- included end -->
diff --git a/op-mode-definitions/include/ospfv3-dump.xml.i b/op-mode-definitions/include/ospfv3-dump.xml.i
deleted file mode 100644
index 4271aec53..000000000
--- a/op-mode-definitions/include/ospfv3-dump.xml.i
+++ /dev/null
@@ -1,9 +0,0 @@
-<!-- included start from ospfv3-dump.xml.i -->
-<node name="dump">
- <properties>
- <help>Show dump of LSAs</help>
- </properties>
- <!-- FRR uses ospf6 where we use ospfv3, thus alter the command -->
- <command>vtysh -c "show ipv6 ospf6 ${@:4}"</command>
-</node>
-<!-- included end -->
diff --git a/op-mode-definitions/include/ospfv3-internal.xml.i b/op-mode-definitions/include/ospfv3-internal.xml.i
deleted file mode 100644
index 8b45e86c1..000000000
--- a/op-mode-definitions/include/ospfv3-internal.xml.i
+++ /dev/null
@@ -1,9 +0,0 @@
-<!-- included start from ospfv3-internal.xml.i -->
-<node name="internal">
- <properties>
- <help>Show internal LSA information</help>
- </properties>
- <!-- FRR uses ospf6 where we use ospfv3, thus alter the command -->
- <command>vtysh -c "show ipv6 ospf6 ${@:4}"</command>
-</node>
-<!-- included end -->
diff --git a/op-mode-definitions/include/ospfv3-linkstate-id-node-tag.xml.i b/op-mode-definitions/include/ospfv3-linkstate-id-node-tag.xml.i
deleted file mode 100644
index 24b549d28..000000000
--- a/op-mode-definitions/include/ospfv3-linkstate-id-node-tag.xml.i
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- included start from ospfv3-linkstate-id-node-tag.xml.i -->
-<node name="node.tag">
- <properties>
- <help>Search by Link state ID</help>
- <completionHelp>
- <list>&lt;x.x.x.x&gt;</list>
- </completionHelp>
- </properties>
- <!-- FRR uses ospf6 where we use ospfv3, thus alter the command -->
- <command>vtysh -c "show ipv6 ospf6 ${@:4}"</command>
- <children>
- #include <include/ospfv3-detail.xml.i>
- #include <include/ospfv3-dump.xml.i>
- #include <include/ospfv3-internal.xml.i>
- #include <include/ospfv3-self-originated.xml.i>
- </children>
-</node>
-<!-- included end -->
diff --git a/op-mode-definitions/include/ospfv3-self-originated.xml.i b/op-mode-definitions/include/ospfv3-self-originated.xml.i
deleted file mode 100644
index 180bca6f6..000000000
--- a/op-mode-definitions/include/ospfv3-self-originated.xml.i
+++ /dev/null
@@ -1,14 +0,0 @@
-<!-- included start from ospfv3-self-originated.xml.i -->
-<node name="self-originated">
- <properties>
- <help>Show Self-originated LSAs</help>
- </properties>
- <!-- FRR uses ospf6 where we use ospfv3, thus alter the command -->
- <command>vtysh -c "show ipv6 ospf6 ${@:4}"</command>
- <children>
- #include <include/ospfv3-detail.xml.i>
- #include <include/ospfv3-dump.xml.i>
- #include <include/ospfv3-internal.xml.i>
- </children>
-</node>
-<!-- included end -->
diff --git a/op-mode-definitions/include/ospfv3/adv-router-id-node-tag.xml.i b/op-mode-definitions/include/ospfv3/adv-router-id-node-tag.xml.i
new file mode 100644
index 000000000..a1bd67a90
--- /dev/null
+++ b/op-mode-definitions/include/ospfv3/adv-router-id-node-tag.xml.i
@@ -0,0 +1,16 @@
+<!-- included start from ospfv3/adv-router-id-node-tag.xml.i -->
+<node name="node.tag">
+ <properties>
+ <help>Search by Advertising Router ID</help>
+ <completionHelp>
+ <list>&lt;x.x.x.x&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ <children>
+ #include <include/ospfv3/detail.xml.i>
+ #include <include/ospfv3/dump.xml.i>
+ #include <include/ospfv3/internal.xml.i>
+ </children>
+</node>
+<!-- included end -->
diff --git a/op-mode-definitions/include/ospfv3-adv-router.xml.i b/op-mode-definitions/include/ospfv3/adv-router.xml.i
index d17538d4d..a14fc39db 100644
--- a/op-mode-definitions/include/ospfv3-adv-router.xml.i
+++ b/op-mode-definitions/include/ospfv3/adv-router.xml.i
@@ -1,4 +1,4 @@
-<!-- included start from ospfv3-adv-router.xml.i -->
+<!-- included start from ospfv3/adv-router.xml.i -->
<tagNode name="adv-router">
<properties>
<help>Search by Advertising Router ID</help>
@@ -7,10 +7,10 @@
</completionHelp>
</properties>
<children>
- #include <include/ospfv3-detail.xml.i>
- #include <include/ospfv3-dump.xml.i>
- #include <include/ospfv3-internal.xml.i>
- #include <include/ospfv3-linkstate-id.xml.i>
+ #include <include/ospfv3/detail.xml.i>
+ #include <include/ospfv3/dump.xml.i>
+ #include <include/ospfv3/internal.xml.i>
+ #include <include/ospfv3/linkstate-id.xml.i>
</children>
</tagNode>
<!-- included end -->
diff --git a/op-mode-definitions/include/ospfv3/detail.xml.i b/op-mode-definitions/include/ospfv3/detail.xml.i
new file mode 100644
index 000000000..4e3c91268
--- /dev/null
+++ b/op-mode-definitions/include/ospfv3/detail.xml.i
@@ -0,0 +1,8 @@
+<!-- included start from ospfv3/detail.xml.i -->
+<node name="detail">
+ <properties>
+ <help>Show detailed information</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+</node>
+<!-- included end -->
diff --git a/op-mode-definitions/include/ospfv3/dump.xml.i b/op-mode-definitions/include/ospfv3/dump.xml.i
new file mode 100644
index 000000000..55e10a5ee
--- /dev/null
+++ b/op-mode-definitions/include/ospfv3/dump.xml.i
@@ -0,0 +1,8 @@
+<!-- included start from ospfv3/dump.xml.i -->
+<node name="dump">
+ <properties>
+ <help>Show dump of LSAs</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+</node>
+<!-- included end -->
diff --git a/op-mode-definitions/include/ospfv3/internal.xml.i b/op-mode-definitions/include/ospfv3/internal.xml.i
new file mode 100644
index 000000000..ac7c61e6f
--- /dev/null
+++ b/op-mode-definitions/include/ospfv3/internal.xml.i
@@ -0,0 +1,8 @@
+<!-- included start from ospfv3/internal.xml.i -->
+<node name="internal">
+ <properties>
+ <help>Show internal LSA information</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+</node>
+<!-- included end -->
diff --git a/op-mode-definitions/include/ospfv3/linkstate-id-node-tag.xml.i b/op-mode-definitions/include/ospfv3/linkstate-id-node-tag.xml.i
new file mode 100644
index 000000000..ee3863b35
--- /dev/null
+++ b/op-mode-definitions/include/ospfv3/linkstate-id-node-tag.xml.i
@@ -0,0 +1,17 @@
+<!-- included start from ospfv3/linkstate-id-node-tag.xml.i -->
+<node name="node.tag">
+ <properties>
+ <help>Search by Link state ID</help>
+ <completionHelp>
+ <list>&lt;x.x.x.x&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ <children>
+ #include <include/ospfv3/detail.xml.i>
+ #include <include/ospfv3/dump.xml.i>
+ #include <include/ospfv3/internal.xml.i>
+ #include <include/ospfv3/self-originated.xml.i>
+ </children>
+</node>
+<!-- included end -->
diff --git a/op-mode-definitions/include/ospfv3-linkstate-id.xml.i b/op-mode-definitions/include/ospfv3/linkstate-id.xml.i
index eab5916f1..9ead17c20 100644
--- a/op-mode-definitions/include/ospfv3-linkstate-id.xml.i
+++ b/op-mode-definitions/include/ospfv3/linkstate-id.xml.i
@@ -1,4 +1,4 @@
-<!-- included start from ospfv3-linkstate-id.xml.i -->
+<!-- included start from ospfv3/linkstate-id.xml.i -->
<tagNode name="linkstate-id">
<properties>
<help>Search by Link state ID</help>
@@ -7,9 +7,9 @@
</completionHelp>
</properties>
<children>
- #include <include/ospfv3-detail.xml.i>
- #include <include/ospfv3-dump.xml.i>
- #include <include/ospfv3-internal.xml.i>
+ #include <include/ospfv3/detail.xml.i>
+ #include <include/ospfv3/dump.xml.i>
+ #include <include/ospfv3/internal.xml.i>
</children>
</tagNode>
<!-- included end -->
diff --git a/op-mode-definitions/include/ospfv3/self-originated.xml.i b/op-mode-definitions/include/ospfv3/self-originated.xml.i
new file mode 100644
index 000000000..734f3f8ad
--- /dev/null
+++ b/op-mode-definitions/include/ospfv3/self-originated.xml.i
@@ -0,0 +1,13 @@
+<!-- included start from ospfv3/self-originated.xml.i -->
+<node name="self-originated">
+ <properties>
+ <help>Show Self-originated LSAs</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ <children>
+ #include <include/ospfv3/detail.xml.i>
+ #include <include/ospfv3/dump.xml.i>
+ #include <include/ospfv3/internal.xml.i>
+ </children>
+</node>
+<!-- included end -->
diff --git a/op-mode-definitions/monitor-log.xml.in b/op-mode-definitions/monitor-log.xml.in
index 99efe5306..352c84ff1 100644
--- a/op-mode-definitions/monitor-log.xml.in
+++ b/op-mode-definitions/monitor-log.xml.in
@@ -7,6 +7,14 @@
<help>Monitor last lines of messages file</help>
</properties>
<command>tail --follow=name /var/log/messages</command>
+ <children>
+ <node name="colored">
+ <properties>
+ <help>Output log in a colored fashion</help>
+ </properties>
+ <command>grc tail --follow=name /var/log/messages</command>
+ </node>
+ </children>
</node>
</children>
</node>
diff --git a/op-mode-definitions/nat.xml.in b/op-mode-definitions/nat.xml.in
index 4b09816f9..084e2e7e3 100644
--- a/op-mode-definitions/nat.xml.in
+++ b/op-mode-definitions/nat.xml.in
@@ -4,19 +4,19 @@
<children>
<node name="nat">
<properties>
- <help>Show Network Address Translation (NAT) information</help>
+ <help>Show IPv4 to IPv4 Network Address Translation (NAT) information</help>
</properties>
<children>
<node name="source">
<properties>
- <help>Show source Network Address Translation (NAT) information</help>
+ <help>Show source IPv4 to IPv4 Network Address Translation (NAT) information</help>
</properties>
<children>
<node name="rules">
<properties>
<help>Show configured source NAT rules</help>
</properties>
- <command>echo To be migrated to Python - Phabricator T2459</command>
+ <command>${vyos_op_scripts_dir}/show_nat_rules.py --source</command>
</node>
<node name="statistics">
<properties>
@@ -51,14 +51,14 @@
</node>
<node name="destination">
<properties>
- <help>Show destination Network Address Translation (NAT) information</help>
+ <help>Show destination IPv4 to IPv4 Network Address Translation (NAT) information</help>
</properties>
<children>
<node name="rules">
<properties>
<help>Show configured destination NAT rules</help>
</properties>
- <command>echo To be migrated to Python - Phabricator T2459</command>
+ <command>${vyos_op_scripts_dir}/show_nat_rules.py --destination</command>
</node>
<node name="statistics">
<properties>
diff --git a/op-mode-definitions/nat66.xml.in b/op-mode-definitions/nat66.xml.in
new file mode 100644
index 000000000..1ec46eb11
--- /dev/null
+++ b/op-mode-definitions/nat66.xml.in
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interfaceDefinition>
+ <node name="show">
+ <children>
+ <node name="nat66">
+ <properties>
+ <help>Show IPv6 to IPv6 Network Address Translation (NAT66) information</help>
+ </properties>
+ <children>
+ <node name="source">
+ <properties>
+ <help>Show source IPv6 to IPv6 Network Address Translation (NAT66) information</help>
+ </properties>
+ <children>
+ <node name="rules">
+ <properties>
+ <help>Show configured source NAT66 rules</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/show_nat66_rules.py --source</command>
+ </node>
+ <node name="statistics">
+ <properties>
+ <help>Show statistics for configured source NAT66 rules</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/show_nat66_statistics.py --source</command>
+ </node>
+ <node name="translations">
+ <properties>
+ <help>Show active source NAT66 translations</help>
+ </properties>
+ <children>
+ <tagNode name="address">
+ <properties>
+ <help>Show active source NAT66 translations for an IPv6 address</help>
+ <completionHelp>
+ <list>&lt;h:h:h:h:h:h:h:h&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/show_nat66_translations.py --type=source --verbose --ipaddr="$6"</command>
+ </tagNode>
+ <node name="detail">
+ <properties>
+ <help>Show active source NAT66 translations detail</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/show_nat66_translations.py --type=source --verbose</command>
+ </node>
+ </children>
+ <command>${vyos_op_scripts_dir}/show_nat66_translations.py --type=source</command>
+ </node>
+ </children>
+ </node>
+ <node name="destination">
+ <properties>
+ <help>Show destination IPv6 to IPv6 Network Address Translation (NAT66) information</help>
+ </properties>
+ <children>
+ <node name="rules">
+ <properties>
+ <help>Show configured destination NAT66 rules</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/show_nat66_rules.py --destination</command>
+ </node>
+ <node name="statistics">
+ <properties>
+ <help>Show statistics for configured destination NAT66 rules</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/show_nat66_statistics.py --destination</command>
+ </node>
+ <node name="translations">
+ <properties>
+ <help>Show active destination NAT66 translations</help>
+ </properties>
+ <children>
+ <tagNode name="address">
+ <properties>
+ <help>Show active NAT66 destination translations for an IPv6 address</help>
+ <completionHelp>
+ <list>&lt;h:h:h:h:h:h:h:h&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/show_nat66_translations.py --type=destination --verbose --ipaddr="$6"</command>
+ </tagNode>
+ <node name="detail">
+ <properties>
+ <help>Show active destination NAT66 translations detail</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/show_nat66_translations.py --type=destination --verbose</command>
+ </node>
+ </children>
+ <command>${vyos_op_scripts_dir}/show_nat66_translations.py --type=destination</command>
+ </node>
+ </children>
+ </node>
+ </children>
+ </node>
+ </children>
+ </node>
+</interfaceDefinition>
diff --git a/op-mode-definitions/show-bgp.xml.in b/op-mode-definitions/show-bgp.xml.in
index 0d0a88dfb..36e7062df 100644
--- a/op-mode-definitions/show-bgp.xml.in
+++ b/op-mode-definitions/show-bgp.xml.in
@@ -8,248 +8,26 @@
</properties>
<command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
<children>
- #include <include/bgp-afi-ipv4-ipv6-common.xml.i>
- <tagNode name="ipv4">
+ #include <include/bgp/show-bgp-common.xml.i>
+ <leafNode name="vrf">
<properties>
- <help>Network in the BGP routing table to display</help>
- <completionHelp>
- <list>&lt;x.x.x.x&gt; &lt;x.x.x.x/x&gt; &lt;h:h:h:h:h:h:h:h&gt; &lt;h:h:h:h:h:h:h:h/x&gt;</list>
- </completionHelp>
+ <help>Show BGP VRF information</help>
</properties>
- <children>
- #include <include/bgp-prefix-bestpath-multipath.xml.i>
- </children>
<command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
- </tagNode>
- <node name="ipv4">
+ </leafNode>
+ <tagNode name="vrf">
<properties>
- <help>IPv4 Address Family</help>
- </properties>
- <children>
- #include <include/bgp-afi-common.xml.i>
- #include <include/bgp-afi-ipv4-ipv6-common.xml.i>
- </children>
- </node>
- <tagNode name="ipv6">
- <properties>
- <help>Network in the BGP routing table to display</help>
+ <help>Show BGP VRF related information</help>
<completionHelp>
- <list>&lt;x.x.x.x&gt; &lt;x.x.x.x/x&gt; &lt;h:h:h:h:h:h:h:h&gt; &lt;h:h:h:h:h:h:h:h/x&gt;</list>
+ <path>vrf name</path>
+ <list>all</list>
</completionHelp>
</properties>
- <children>
- #include <include/bgp-prefix-bestpath-multipath.xml.i>
- </children>
<command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
- </tagNode>
- <node name="ipv6">
- <properties>
- <help>IPv6 Address Family</help>
- </properties>
<children>
- #include <include/bgp-afi-common.xml.i>
- #include <include/bgp-afi-ipv4-ipv6-common.xml.i>
+ #include <include/bgp/show-bgp-common.xml.i>
</children>
- </node>
- <node name="l2vpn">
- <properties>
- <help>Layer 2 Virtual Private Network</help>
- </properties>
- <children>
- <tagNode name="evpn">
- <properties>
- <help>Network in the BGP routing table to display</help>
- <completionHelp>
- <list>&lt;x.x.x.x&gt; &lt;x.x.x.x/x&gt; &lt;h:h:h:h:h:h:h:h&gt; &lt;h:h:h:h:h:h:h:h/x&gt;</list>
- </completionHelp>
- </properties>
- <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
- </tagNode>
- <node name="evpn">
- <properties>
- <help>Ethernet Virtual Private Network</help>
- </properties>
- <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
- <children>
- #include <include/bgp-afi-common.xml.i>
- <node name="all">
- <properties>
- <help>Display information about all EVPN NLRIs</help>
- </properties>
- <children>
- <leafNode name="overlay">
- <properties>
- <help>Display BGP Overlay Information for prefixes</help>
- </properties>
- <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
- </leafNode>
- <leafNode name="tags">
- <properties>
- <help>Display BGP tags for prefixes</help>
- </properties>
- <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
- </leafNode>
- </children>
- </node>
- <node name="es">
- <properties>
- <help>Ethernet Segment</help>
- </properties>
- <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
- <children>
- #include <include/vtysh-generic-detail.xml.i>
- </children>
- </node>
- <node name="es-evi">
- <properties>
- <help>Ethernet Segment per EVI</help>
- </properties>
- <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
- <children>
- #include <include/vtysh-generic-detail.xml.i>
- #include <include/vni-tagnode.xml.i>
- </children>
- </node>
- <leafNode name="import-rt">
- <properties>
- <help>Show import route target</help>
- </properties>
- <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
- </leafNode>
- <tagNode name="neighbors">
- <properties>
- <help>Show detailed BGP neighbor information</help>
- <completionHelp>
- <script>vtysh -c 'show bgp summary' | awk '{print $1'} | grep -e '^[0-9a-f]'</script>
- </completionHelp>
- </properties>
- <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
- <children>
- <leafNode name="advertised-routes">
- <properties>
- <help>Show routes advertised to a BGP neighbor</help>
- </properties>
- <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
- </leafNode>
- <leafNode name="routes">
- <properties>
- <help>Show routes learned from BGP neighbor</help>
- </properties>
- <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
- </leafNode>
- </children>
- </tagNode>
- <tagNode name="rd">
- <properties>
- <help>Show detailed BGP neighbor information</help>
- <completionHelp>
- <list>ASN:NN IPADDRESS:NN</list>
- </completionHelp>
- </properties>
- <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
- <children>
- <leafNode name="overlay">
- <properties>
- <help>Display BGP Overlay Information for prefixes</help>
- </properties>
- <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
- </leafNode>
- <leafNode name="tags">
- <properties>
- <help>Display BGP tags for prefixes</help>
- </properties>
- <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
- </leafNode>
- </children>
- </tagNode>
- <node name="route">
- <properties>
- <help>EVPN route information</help>
- </properties>
- <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
- <children>
- #include <include/vtysh-generic-detail.xml.i>
- <node name="type">
- <properties>
- <help>Specify Route type</help>
- </properties>
- <children>
- <leafNode name="1">
- <properties>
- <help>EAD (Type-1) route</help>
- </properties>
- <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
- </leafNode>
- <leafNode name="2">
- <properties>
- <help>MAC-IP (Type-2) route</help>
- </properties>
- <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
- </leafNode>
- <leafNode name="3">
- <properties>
- <help>Multicast (Type-3) route</help>
- </properties>
- <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
- </leafNode>
- <leafNode name="4">
- <properties>
- <help>Ethernet Segment (Type-4) route</help>
- </properties>
- <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
- </leafNode>
- <leafNode name="5">
- <properties>
- <help>Prefix (Type-5) route</help>
- </properties>
- <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
- </leafNode>
- <leafNode name="ead">
- <properties>
- <help>EAD (Type-1) route</help>
- </properties>
- <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
- </leafNode>
- <leafNode name="es">
- <properties>
- <help>Ethernet Segment (Type-4) route</help>
- </properties>
- <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
- </leafNode>
- <leafNode name="macip">
- <properties>
- <help>MAC-IP (Type-2) route</help>
- </properties>
- <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
- </leafNode>
- <leafNode name="multicast">
- <properties>
- <help>Multicast (Type-3) route</help>
- </properties>
- <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
- </leafNode>
- <leafNode name="prefix">
- <properties>
- <help>Prefix (Type-5) route</help>
- </properties>
- <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
- </leafNode>
- </children>
- </node>
- #include <include/vni-tagnode-all.xml.i>
- </children>
- </node>
- #include <include/vni-tagnode.xml.i>
- <leafNode name="vni">
- <properties>
- <help>VXLAN network identifier (VNI)</help>
- </properties>
- <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
- </leafNode>
- </children>
- </node>
- </children>
- </node>
+ </tagNode>
</children>
</node>
</children>
diff --git a/op-mode-definitions/show-ip-bgp.xml.in b/op-mode-definitions/show-ip-bgp.xml.in
index 690de0a1d..ecef320bf 100644
--- a/op-mode-definitions/show-ip-bgp.xml.in
+++ b/op-mode-definitions/show-ip-bgp.xml.in
@@ -10,174 +10,26 @@
</properties>
<command>vtysh -c "show ip bgp"</command>
<children>
- <leafNode name="attribute-info">
+ #include <include/bgp/show-ip-bgp-common.xml.i>
+ <leafNode name="vrf">
<properties>
- <help>Show BGP attribute information</help>
+ <help>Show BGP VRF information</help>
</properties>
- <command>vtysh -c "show ip bgp attribute-info"</command>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
</leafNode>
- <leafNode name="cidr-only">
- <properties>
- <help>Display only routes with non-natural netmasks</help>
- </properties>
- <command>vtysh -c "show ip bgp cidr-only"</command>
- </leafNode>
- <leafNode name="community-info">
- <properties>
- <help>List all bgp community information</help>
- </properties>
- <command>vtysh -c "show ip bgp community-info"</command>
- </leafNode>
- #include <include/bgp-afi-common.xml.i>
- #include <include/bgp-afi-ipv4-ipv6-common.xml.i>
- <tagNode name="prefix-list">
+ <tagNode name="vrf">
<properties>
+ <help>Show BGP VRF related information</help>
<completionHelp>
- <path>policy prefix-list</path>
+ <path>vrf name</path>
+ <list>all</list>
</completionHelp>
</properties>
- </tagNode>
- <node name="ipv4">
- <properties>
- <help>Show BGP IPv4 information</help>
- </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
<children>
- <node name="unicast">
- <properties>
- <help>Show BGP IPv4 unicast information</help>
- </properties>
- <children>
- <leafNode name="cidr-only">
- <properties>
- <help>Display only routes with non-natural netmasks</help>
- </properties>
- <command>vtysh -c "show ip bgp ipv4 unicast cidr-only"</command>
- </leafNode>
- <node name="community"> <!-- START new code -->
- <properties>
- <help>Show BGP routes matching the communities</help>
- </properties>
- <command>vtysh -c "show ip bgp ipv4 unicast community"</command>
- </node>
- <tagNode name="community">
- <properties>
- <help>Display routes matching the specified communities</help>
- <completionHelp>
- <list>&lt;AA:NN&gt; local-AS no-advertise no-export</list>
- </completionHelp>
- </properties>
- <command>vtysh -c "show ip bgp ipv4 unicast community $7"</command>
- </tagNode>
- <tagNode name="community-list">
- <properties>
- <help>Show BGP routes matching specified community list</help>
- </properties>
- <command>vtysh -c "show ip bgp ipv4 unicast community-list $7"</command>
- <children>
- <leafNode name="exact-match">
- <properties>
- <help>Show BGP routes exactly matching specified community list</help>
- </properties>
- <command>vtysh -c "show ip bgp ipv4 unicast community-list $7 exact-match"</command>
- </leafNode>
- </children>
- </tagNode>
- <tagNode name="neighbors">
- <properties>
- <help>Show detailed BGP IPv4 unicast neighbor information</help>
- <completionHelp>
- <script>vtysh -c "show ip bgp ipv4 unicast summary" | awk '{print $1}' | grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b"</script>
- </completionHelp>
- </properties>
- <command>vtysh -c "show ip bgp ipv4 unicast neighbors $7"</command>
- <children>
- <leafNode name="advertised-routes">
- <properties>
- <help>Show routes advertised to a BGP neighbor</help>
- </properties>
- <command>vtysh -c "show ip bgp ipv4 unicast neighbor $7 advertised-routes"</command>
- </leafNode>
- <leafNode name="prefix-counts">
- <properties>
- <help>Show detailed prefix count information</help>
- </properties>
- <command>vtysh -c "show ip bgp ipv4 unicast neighbor $7 prefix-counts"</command>
- </leafNode>
- <leafNode name="received-routes">
- <properties>
- <help>Show the received routes from neighbor</help>
- </properties>
- <command>vtysh -c "show ip bgp ipv4 unicast neighbor $7 received-routes"</command>
- </leafNode>
- <leafNode name="routes">
- <properties>
- <help>Show routes learned from neighbor</help>
- </properties>
- <command>vtysh -c "show ip bgp ipv4 unicast neighbor $7 routes"</command>
- </leafNode>
- </children>
- </tagNode>
- <leafNode name="paths">
- <properties>
- <help>Show BGP path information</help>
- </properties>
- <command>vtysh -c "show ip bgp ipv4 unicast paths"</command>
- </leafNode>
- <tagNode name="prefix-list">
- <properties>
- <help>Show BGP routes matching the specified prefix list</help>
- </properties>
- <command>vtysh -c "show ip bgp ipv4 unicast prefix-list $7"</command>
- </tagNode>
- <tagNode name="regexp">
- <properties>
- <help>Show BGP routes matching the specified AS path regular expression</help>
- </properties>
- <command>vtysh -c "show ip bgp ipv4 unicast regexp $5"</command>
- </tagNode>
- <tagNode name="route-map">
- <properties>
- <help>Show BGP routes matching the specified route map</help>
- </properties>
- <command>vtysh -c "show ip bgp route-map $5"</command>
- </tagNode>
- <leafNode name="summary">
- <properties>
- <help>Show summary of BGP information</help>
- </properties>
- <command>vtysh -c "show ip bgp summary"</command>
- </leafNode>
- </children>
- </node>
- <tagNode name="unicast">
- <properties>
- <help>Show BGP information for specified IP address or prefix</help>
- <completionHelp>
- <list>&lt;x.x.x.x&gt; &lt;x.x.x.x/x&gt;</list>
- </completionHelp>
- </properties>
- <command>vtysh -c "show ip bgp $6"</command>
- </tagNode>
+ #include <include/bgp/show-ip-bgp-common.xml.i>
</children>
- </node>
- <leafNode name="large-community-info">
- <properties>
- <help>Show BGP large-community information</help>
- </properties>
- <command>vtysh -c "show ip bgp large-community-info"</command>
- </leafNode>
- <leafNode name="memory">
- <properties>
- <help>Show BGP memory usage</help>
- </properties>
- <command>vtysh -c "show ip bgp memory"</command>
- </leafNode>
- <leafNode name="paths">
- <properties>
- <help>Show BGP path information</help>
- </properties>
- <command>vtysh -c "show ip bgp paths"</command>
- </leafNode>
+ </tagNode>
</children>
</node>
</children>
diff --git a/op-mode-definitions/show-ip-ospf.xml.in b/op-mode-definitions/show-ip-ospf.xml.in
index fc298123b..704ed984f 100644
--- a/op-mode-definitions/show-ip-ospf.xml.in
+++ b/op-mode-definitions/show-ip-ospf.xml.in
@@ -11,565 +11,22 @@
<properties>
<help>Show IPv4 Open Shortest Path First (OSPF) routing information</help>
</properties>
- <command>vtysh -c "show ip ospf"</command>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
<children>
- <leafNode name="border-routers">
+ #include <include/ospf-common.xml.i>
+ <tagNode name="vrf">
<properties>
- <help>Show IPv4 OSPF border-routers information</help>
- </properties>
- <command>vtysh -c "show ip ospf border-routers"</command>
- </leafNode>
- <node name="database">
- <properties>
- <help>Show IPv4 OSPF database information</help>
- </properties>
- <command>vtysh -c "show ip ospf database"</command>
- <children>
- <node name="asbr-summary">
- <properties>
- <help>Show IPv4 OSPF ASBR summary database</help>
- </properties>
- <command>vtysh -c "show ip ospf database asbr-summary"</command>
- <children>
- <tagNode name="adv-router">
- <properties>
- <help>Show IPv4 OSPF ASBR summary database for given address of advertised router</help>
- <completionHelp>
- <list>&lt;x.x.x.x&gt;</list>
- </completionHelp>
- </properties>
- <command>vtysh -c "show ip ospf database asbr-summary adv-router $7"</command>
- </tagNode>
- <node name="adv-router">
- <properties>
- <help>Show IPv4 OSPF ASBR summary database for given address of advertised router</help>
- </properties>
- </node>
- </children>
- </node>
- <tagNode name="asbr-summary">
- <properties>
- <help>Show IPv4 OSPF ASBR summary database information of given address</help>
- <completionHelp>
- <list>&lt;x.x.x.x&gt;</list>
- </completionHelp>
- </properties>
- <command>vtysh -c "show ip ospf database asbr-summary $6"</command>
- <children>
- <node name="adv-router">
- <properties>
- <help>Show advertising router link states</help>
- </properties>
- </node>
- <tagNode name="adv-router">
- <properties>
- <help>Show IPv4 OSPF ASBR summary database of given address for given advertised router</help>
- <completionHelp>
- <list>&lt;x.x.x.x&gt;</list>
- </completionHelp>
- </properties>
- <command>vtysh -c "show ip ospf database asbr-summary $6 adv-router $8"</command>
- </tagNode>
- <leafNode name="self-originate">
- <properties>
- <help>Show summary of self-originate IPv4 OSPF ASBR database</help>
- </properties>
- <command>show ip ospf database asbr-summary $6 self-originate</command>
- </leafNode>
- </children>
- </tagNode>
- <node name="external">
- <properties>
- <help>Show IPv4 OSPF external database</help>
- </properties>
- <command>vtysh -c "show ip ospf database external"</command>
- <children>
- <tagNode name="adv-router">
- <properties>
- <help>Show IPv4 OSPF external database for specified IP address of advertised router</help>
- <completionHelp>
- <list>&lt;x.x.x.x&gt;</list>
- </completionHelp>
- </properties>
- <command>vtysh -c "show ip ospf database external adv-router $7"</command>
- </tagNode>
- <node name="adv-router">
- <properties>
- <help>Show IPv4 OSPF external database for specified IP address of advertised router</help>
- </properties>
- </node>
- </children>
- </node>
- <tagNode name="external">
- <properties>
- <help>Show IPv4 OSPF external database information of specified IP address</help>
- <completionHelp>
- <list>&lt;x.x.x.x&gt;</list>
- </completionHelp>
- </properties>
- <command>vtysh -c "show ip ospf database external $6"</command>
- <children>
- <node name="adv-router">
- <properties>
- <help>Show advertising router link states</help>
- </properties>
- </node>
- <tagNode name="adv-router">
- <properties>
- <help>Show IPv4 OSPF external database of specified IP address for specified advertised router</help>
- <completionHelp>
- <list>&lt;x.x.x.x&gt;</list>
- </completionHelp>
- </properties>
- <command>vtysh -c "show ip ospf database external $6 adv-router $8"</command>
- </tagNode>
- <leafNode name="self-originate">
- <properties>
- <help>Show self-originate IPv4 OSPF external database</help>
- </properties>
- <command>show ip ospf database external $6 self-originate</command>
- </leafNode>
- </children>
- </tagNode>
- <leafNode name="max-age">
- <properties>
- <help>Show IPv4 OSPF max-age database</help>
- </properties>
- <command>vtysh -c "show ip ospf database max-age"</command>
- </leafNode>
- <node name="network">
- <properties>
- <help>Show IPv4 OSPF network database</help>
- </properties>
- <command>vtysh -c "show ip ospf database network"</command>
- <children>
- <tagNode name="adv-router">
- <properties>
- <help>Show IPv4 OSPF network database for specified IP address of advertised router</help>
- <completionHelp>
- <list>&lt;x.x.x.x&gt;</list>
- </completionHelp>
- </properties>
- <command>vtysh -c "show ip ospf database network adv-router $7"</command>
- </tagNode>
- <node name="adv-router">
- <properties>
- <help>Show IPv4 OSPF network database for given address of advertised router</help>
- </properties>
- </node>
- </children>
- </node>
- <tagNode name="network">
- <properties>
- <help>Show IPv4 OSPF network database information of specified IP address</help>
- <completionHelp>
- <list>&lt;x.x.x.x&gt;</list>
- </completionHelp>
- </properties>
- <command>vtysh -c "show ip ospf database network $6"</command>
- <children>
- <node name="adv-router">
- <properties>
- <help>Show advertising router link states</help>
- </properties>
- </node>
- <tagNode name="adv-router">
- <properties>
- <help>Show IPv4 OSPF network database of specified IP address for specified advertised router</help>
- <completionHelp>
- <list>&lt;x.x.x.x&gt;</list>
- </completionHelp>
- </properties>
- <command>vtysh -c "show ip ospf database network $6 adv-router $8"</command>
- </tagNode>
- <leafNode name="self-originate">
- <properties>
- <help>Show self-originate IPv4 OSPF network database</help>
- </properties>
- <command>show ip ospf database network $6 self-originate</command>
- </leafNode>
- </children>
- </tagNode>
- <node name="nssa-external">
- <properties>
- <help>Show IPv4 OSPF NSSA external database</help>
- </properties>
- <command>vtysh -c "show ip ospf database nssa-external"</command>
- <children>
- <tagNode name="adv-router">
- <properties>
- <help>Show IPv4 OSPF NSSA external database for specified IP address of advertised router</help>
- <completionHelp>
- <list>&lt;x.x.x.x&gt;</list>
- </completionHelp>
- </properties>
- <command>vtysh -c "show ip ospf database nssa-external adv-router $7"</command>
- </tagNode>
- <node name="adv-router">
- <properties>
- <help>Show IPv4 OSPF NSSA external database for specified IP address of advertised router</help>
- </properties>
- </node>
- </children>
- </node>
- <tagNode name="nssa-external">
- <properties>
- <help>Show IPv4 OSPF NSSA external database information of specified IP address</help>
- <completionHelp>
- <list>&lt;x.x.x.x&gt;</list>
- </completionHelp>
- </properties>
- <command>vtysh -c "show ip ospf database nssa-external $6"</command>
- <children>
- <node name="adv-router">
- <properties>
- <help>Show advertising router link states</help>
- </properties>
- </node>
- <tagNode name="adv-router">
- <properties>
- <help>Show IPv4 OSPF NSSA external database of specified IP address for specified advertised router</help>
- <completionHelp>
- <list>&lt;x.x.x.x&gt;</list>
- </completionHelp>
- </properties>
- <command>vtysh -c "show ip ospf database nssa-external $6 adv-router $8"</command>
- </tagNode>
- <leafNode name="self-originate">
- <properties>
- <help>Show self-originate IPv4 OSPF NSSA external database</help>
- </properties>
- <command>show ip ospf database nssa-external $6 self-originate</command>
- </leafNode>
- </children>
- </tagNode>
- <node name="opaque-area">
- <properties>
- <help>Show IPv4 OSPF opaque-area database</help>
- </properties>
- <command>vtysh -c "show ip ospf database opaque-area"</command>
- <children>
- <tagNode name="adv-router">
- <properties>
- <help>Show IPv4 OSPF opaque-area database for specified IP address of advertised router</help>
- <completionHelp>
- <list>&lt;x.x.x.x&gt;</list>
- </completionHelp>
- </properties>
- <command>vtysh -c "show ip ospf database opaque-area adv-router $7"</command>
- </tagNode>
- <node name="adv-router">
- <properties>
- <help>Show IPv4 OSPF opaque-area database for specified IP address of advertised router</help>
- </properties>
- </node>
- </children>
- </node>
- <tagNode name="opaque-area">
- <properties>
- <help>Show IPv4 OSPF opaque-area database information of specified IP address</help>
- <completionHelp>
- <list>&lt;x.x.x.x&gt;</list>
- </completionHelp>
- </properties>
- <command>vtysh -c "show ip ospf database opaque-area $6"</command>
- <children>
- <node name="adv-router">
- <properties>
- <help>Show advertising router link states</help>
- </properties>
- </node>
- <tagNode name="adv-router">
- <properties>
- <help>Show IPv4 OSPF opaque-area database of specified IP address for specified advertised router</help>
- <completionHelp>
- <list>&lt;x.x.x.x&gt;</list>
- </completionHelp>
- </properties>
- <command>vtysh -c "show ip ospf database opaque-area $6 adv-router $8"</command>
- </tagNode>
- <leafNode name="self-originate">
- <properties>
- <help>Show self-originate IPv4 OSPF opaque-area database</help>
- </properties>
- <command>show ip ospf database opaque-area $6 self-originate</command>
- </leafNode>
- </children>
- </tagNode>
- <node name="opaque-as">
- <properties>
- <help>Show IPv4 OSPF opaque-as database</help>
- </properties>
- <command>vtysh -c "show ip ospf database opaque-as"</command>
- <children>
- <tagNode name="adv-router">
- <properties>
- <help>Show IPv4 OSPF opaque-as database for specified IP address of advertised router</help>
- <completionHelp>
- <list>&lt;x.x.x.x&gt;</list>
- </completionHelp>
- </properties>
- <command>vtysh -c "show ip ospf database opaque-as adv-router $7"</command>
- </tagNode>
- <node name="adv-router">
- <properties>
- <help>Show IPv4 OSPF opaque-as database for specified IP address of advertised router</help>
- </properties>
- </node>
- </children>
- </node>
- <tagNode name="opaque-as">
- <properties>
- <help>Show IPv4 OSPF opaque-as database information of specified IP address</help>
- <completionHelp>
- <list>&lt;x.x.x.x&gt;</list>
- </completionHelp>
- </properties>
- <command>vtysh -c "show ip ospf database opaque-as $6"</command>
- <children>
- <node name="adv-router">
- <properties>
- <help>Show advertising router link states</help>
- </properties>
- </node>
- <tagNode name="adv-router">
- <properties>
- <help>Show IPv4 OSPF opaque-as database of specified IP address for specified advertised router</help>
- <completionHelp>
- <list>&lt;x.x.x.x&gt;</list>
- </completionHelp>
- </properties>
- <command>vtysh -c "show ip ospf database opaque-as $6 adv-router $8"</command>
- </tagNode>
- <leafNode name="self-originate">
- <properties>
- <help>Show self-originate IPv4 OSPF opaque-as database</help>
- </properties>
- <command>show ip ospf database opaque-as $6 self-originate</command>
- </leafNode>
- </children>
- </tagNode>
- <node name="opaque-link">
- <properties>
- <help>Show IPv4 OSPF opaque-link database</help>
- </properties>
- <command>vtysh -c "show ip ospf database opaque-link"</command>
- <children>
- <tagNode name="adv-router">
- <properties>
- <help>Show IPv4 OSPF opaque-link database for specified IP address of advertised router</help>
- <completionHelp>
- <list>&lt;x.x.x.x&gt;</list>
- </completionHelp>
- </properties>
- <command>vtysh -c "show ip ospf database opaque-link adv-router $7"</command>
- </tagNode>
- <node name="adv-router">
- <properties>
- <help>Show IPv4 OSPF opaque-link database for specified IP address of advertised router</help>
- </properties>
- </node>
- </children>
- </node>
- <tagNode name="opaque-link">
- <properties>
- <help>Show IPv4 OSPF opaque-link database information of specified IP address</help>
- <completionHelp>
- <list>&lt;x.x.x.x&gt;</list>
- </completionHelp>
- </properties>
- <command>vtysh -c "show ip ospf database opaque-link $6"</command>
- <children>
- <node name="adv-router">
- <properties>
- <help>Show advertising router link states</help>
- </properties>
- </node>
- <tagNode name="adv-router">
- <properties>
- <help>Show IPv4 OSPF opaque-link database of specified IP address for specified advertised router</help>
- <completionHelp>
- <list>&lt;x.x.x.x&gt;</list>
- </completionHelp>
- </properties>
- <command>vtysh -c "show ip ospf database opaque-link $6 adv-router $8"</command>
- </tagNode>
- <leafNode name="self-originate">
- <properties>
- <help>Show self-originate IPv4 OSPF opaque-link database</help>
- </properties>
- <command>show ip ospf database opaque-link $6 self-originate</command>
- </leafNode>
- </children>
- </tagNode>
- <node name="router">
- <properties>
- <help>Show IPv4 OSPF router database</help>
- </properties>
- <command>vtysh -c "show ip ospf database router"</command>
- <children>
- <tagNode name="adv-router">
- <properties>
- <help>Show IPv4 OSPF router database for specified IP address of advertised router</help>
- <completionHelp>
- <list>&lt;x.x.x.x&gt;</list>
- </completionHelp>
- </properties>
- <command>vtysh -c "show ip ospf database router adv-router $7"</command>
- </tagNode>
- <node name="adv-router">
- <properties>
- <help>Show IPv4 OSPF router database for specified IP address of advertised router</help>
- </properties>
- </node>
- </children>
- </node>
- <tagNode name="router">
- <properties>
- <help>Show IPv4 OSPF router database information of specified IP address</help>
- <completionHelp>
- <list>&lt;x.x.x.x&gt;</list>
- </completionHelp>
- </properties>
- <command>vtysh -c "show ip ospf database router $6"</command>
- <children>
- <node name="adv-router">
- <properties>
- <help>Show advertising router link states</help>
- </properties>
- </node>
- <tagNode name="adv-router">
- <properties>
- <help>Show IPv4 OSPF router database of specified IP address for specified advertised router</help>
- <completionHelp>
- <list>&lt;x.x.x.x&gt;</list>
- </completionHelp>
- </properties>
- <command>vtysh -c "show ip ospf database router $6 adv-router $8"</command>
- </tagNode>
- <leafNode name="self-originate">
- <properties>
- <help>Show self-originate IPv4 OSPF router database</help>
- </properties>
- <command>show ip ospf database router $6 self-originate</command>
- </leafNode>
- </children>
- </tagNode>
- <leafNode name="self-originate">
- <properties>
- <help>Show IPv4 OSPF self-originate database</help>
- </properties>
- <command>vtysh -c "show ip ospf database self-originate"</command>
- </leafNode>
- <node name="summary">
- <properties>
- <help>Show summary of IPv4 OSPF database</help>
- </properties>
- <command>vtysh -c "show ip ospf database summary"</command>
- <children>
- <tagNode name="adv-router">
- <properties>
- <help>Show IPv4 OSPF summary database for specified IP address of advertised router</help>
- <completionHelp>
- <list>&lt;x.x.x.x&gt;</list>
- </completionHelp>
- </properties>
- <command>vtysh -c "show ip ospf database summary adv-router $7"</command>
- </tagNode>
- <node name="adv-router">
- <properties>
- <help>Show IPv4 OSPF summary database for specified IP address of advertised router</help>
- </properties>
- </node>
- </children>
- </node>
- <tagNode name="summary">
- <properties>
- <help>Show IPv4 OSPF summary database information of specified IP address</help>
- <completionHelp>
- <list>&lt;x.x.x.x&gt;</list>
- </completionHelp>
- </properties>
- <command>vtysh -c "show ip ospf database summary $6"</command>
- <children>
- <node name="adv-router">
- <properties>
- <help>Show advertising router link states</help>
- </properties>
- </node>
- <tagNode name="adv-router">
- <properties>
- <help>Show IPv4 OSPF summary database of specified IP address for specified advertised router</help>
- <completionHelp>
- <list>&lt;x.x.x.x&gt;</list>
- </completionHelp>
- </properties>
- <command>vtysh -c "show ip ospf database summary $6 adv-router $8"</command>
- </tagNode>
- <leafNode name="self-originate">
- <properties>
- <help>Show self-originate IPv4 OSPF summary database</help>
- </properties>
- <command>show ip ospf database summary $6 self-originate</command>
- </leafNode>
- </children>
- </tagNode>
- </children>
- </node>
- <node name="interface">
- <properties>
- <help>Show IPv4 OSPF interface information</help>
- </properties>
- <command>vtysh -c "show ip ospf interface"</command>
- </node>
- <tagNode name="interface">
- <properties>
- <help>Show IPv4 OSPF information for specified interface</help>
+ <help>Show OSPF routing protocol for given VRF</help>
<completionHelp>
- <script>${vyos_completion_dir}/list_interfaces.py</script>
+ <path>vrf name</path>
+ <list>all</list>
</completionHelp>
</properties>
- <command>vtysh -c "show ip ospf interface $5"</command>
- </tagNode>
- <node name="neighbor">
- <properties>
- <help>Show IPv4 OSPF neighbor information</help>
- </properties>
- <command>vtysh -c "show ip ospf neighbor"</command>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
<children>
- <tagNode name="address">
- <properties>
- <help>Show IPv4 OSPF neighbor information for specified IP address</help>
- <completionHelp>
- <list>&lt;x.x.x.x&gt;</list>
- </completionHelp>
- </properties>
- <command>vtysh -c "show ip ospf neighbor $6"</command>
- </tagNode>
- <node name="detail">
- <properties>
- <help>Show detailed IPv4 OSPF neighbor information</help>
- </properties>
- <command>vtysh -c "show ip ospf neighbor detail"</command>
- </node>
+ #include <include/ospf-common.xml.i>
</children>
- </node>
- <tagNode name="neighbor">
- <properties>
- <help>Show IPv4 OSPF neighbor information for specified IP address or interface</help>
- <completionHelp>
- <list>&lt;x.x.x.x&gt;</list>
- <script>${vyos_completion_dir}/list_interfaces.py</script>
- </completionHelp>
- </properties>
- <command>vtysh -c "show ip ospf neighbor $5"</command>
</tagNode>
- <leafNode name="route">
- <properties>
- <help>Show IPv4 OSPF route information</help>
- </properties>
- <command>vtysh -c "show ip ospf route"</command>
- </leafNode>
</children>
</node>
</children>
diff --git a/op-mode-definitions/show-ipv6-ospfv3.xml.in b/op-mode-definitions/show-ipv6-ospfv3.xml.in
index 9227fdae1..e6c8a6700 100644
--- a/op-mode-definitions/show-ipv6-ospfv3.xml.in
+++ b/op-mode-definitions/show-ipv6-ospfv3.xml.in
@@ -26,7 +26,7 @@
<path>protocols ospfv3 area</path>
</completionHelp>
</properties>
- <command>vtysh -c "show ipv6 ospf6 area $4 spf tree"</command>
+ <command>vtysh -c "show ipv6 ospf6 area $5 spf tree"</command>
<children>
<tagNode name="router">
<properties>
@@ -43,9 +43,9 @@
<properties>
<help>Show OSPFv3 border-router (ABR and ASBR) information</help>
</properties>
- <command>vtysh -c "show ipv6 ospf6 border-routers"</command>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
<children>
- #include <include/ospfv3-detail.xml.i>
+ #include <include/ospfv3/detail.xml.i>
</children>
</node>
<tagNode name="border-routers">
@@ -55,13 +55,13 @@
<list>&lt;x.x.x.x&gt;</list>
</completionHelp>
</properties>
- <command>vtysh -c "show ipv6 ospf6 border-routers $5"</command>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
</tagNode>
<node name="database">
<properties>
<help>Show OSPFv3 Link state database information</help>
</properties>
- <command>vtysh -c "show ipv6 ospf6 database"</command>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
<children>
<tagNode name="adv-router">
<properties>
@@ -71,7 +71,7 @@
</completionHelp>
</properties>
<children>
- #include <include/ospfv3-linkstate-id.xml.i>
+ #include <include/ospfv3/linkstate-id.xml.i>
</children>
</tagNode>
<node name="any">
@@ -87,9 +87,9 @@
</completionHelp>
</properties>
<children>
- #include <include/ospfv3-detail.xml.i>
- #include <include/ospfv3-dump.xml.i>
- #include <include/ospfv3-internal.xml.i>
+ #include <include/ospfv3/detail.xml.i>
+ #include <include/ospfv3/dump.xml.i>
+ #include <include/ospfv3/internal.xml.i>
</children>
</tagNode>
</children>
@@ -103,19 +103,19 @@
</properties>
<command>vtysh -c "show ipv6 ospf6 database * $6"</command>
<children>
- #include <include/ospfv3-detail.xml.i>
- #include <include/ospfv3-dump.xml.i>
- #include <include/ospfv3-internal.xml.i>
- #include <include/ospfv3-adv-router-id-node-tag.xml.i>
+ #include <include/ospfv3/detail.xml.i>
+ #include <include/ospfv3/dump.xml.i>
+ #include <include/ospfv3/internal.xml.i>
+ #include <include/ospfv3/adv-router-id-node-tag.xml.i>
</children>
</tagNode>
<node name="as-external">
<properties>
<help>Show AS-External LSAs</help>
</properties>
- <command>vtysh -c "show ipv6 ospf6 database as-external"</command>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
<children>
- #include <include/ospfv3-adv-router.xml.i>
+ #include <include/ospfv3/adv-router.xml.i>
<tagNode name="any">
<properties>
<help>Search by Advertising Router ID</help>
@@ -125,16 +125,16 @@
</properties>
<command>vtysh -c "show ipv6 ospf6 database as-external * $7"</command>
<children>
- #include <include/ospfv3-detail.xml.i>
- #include <include/ospfv3-dump.xml.i>
- #include <include/ospfv3-internal.xml.i>
+ #include <include/ospfv3/detail.xml.i>
+ #include <include/ospfv3/dump.xml.i>
+ #include <include/ospfv3/internal.xml.i>
</children>
</tagNode>
- #include <include/ospfv3-detail.xml.i>
- #include <include/ospfv3-dump.xml.i>
- #include <include/ospfv3-internal.xml.i>
- #include <include/ospfv3-linkstate-id.xml.i>
- #include <include/ospfv3-self-originated.xml.i>
+ #include <include/ospfv3/detail.xml.i>
+ #include <include/ospfv3/dump.xml.i>
+ #include <include/ospfv3/internal.xml.i>
+ #include <include/ospfv3/linkstate-id.xml.i>
+ #include <include/ospfv3/self-originated.xml.i>
</children>
</node>
<tagNode name="as-external">
@@ -145,159 +145,150 @@
</completionHelp>
</properties>
<children>
- #include <include/ospfv3-detail.xml.i>
- #include <include/ospfv3-dump.xml.i>
- #include <include/ospfv3-internal.xml.i>
- #include <include/ospfv3-self-originated.xml.i>
- #include <include/ospfv3-adv-router-id-node-tag.xml.i>
+ #include <include/ospfv3/detail.xml.i>
+ #include <include/ospfv3/dump.xml.i>
+ #include <include/ospfv3/internal.xml.i>
+ #include <include/ospfv3/self-originated.xml.i>
+ #include <include/ospfv3/adv-router-id-node-tag.xml.i>
</children>
</tagNode>
- #include <include/ospfv3-detail.xml.i>
- #include <include/ospfv3-internal.xml.i>
- #include <include/ospfv3-linkstate-id.xml.i>
- #include <include/ospfv3-self-originated.xml.i>
+ #include <include/ospfv3/detail.xml.i>
+ #include <include/ospfv3/internal.xml.i>
+ #include <include/ospfv3/linkstate-id.xml.i>
+ #include <include/ospfv3/self-originated.xml.i>
<node name="group-membership">
<properties>
<help>Show Group-Membership LSAs</help>
</properties>
- <!-- FRR uses ospf6 where we use ospfv3, thus alter the command -->
- <command>vtysh -c "show ipv6 ospf6 ${@:4}"</command>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
<children>
- #include <include/ospfv3-adv-router.xml.i>
- #include <include/ospfv3-detail.xml.i>
- #include <include/ospfv3-dump.xml.i>
- #include <include/ospfv3-internal.xml.i>
- #include <include/ospfv3-linkstate-id.xml.i>
- #include <include/ospfv3-linkstate-id-node-tag.xml.i>
- #include <include/ospfv3-self-originated.xml.i>
+ #include <include/ospfv3/adv-router.xml.i>
+ #include <include/ospfv3/detail.xml.i>
+ #include <include/ospfv3/dump.xml.i>
+ #include <include/ospfv3/internal.xml.i>
+ #include <include/ospfv3/linkstate-id.xml.i>
+ #include <include/ospfv3/linkstate-id-node-tag.xml.i>
+ #include <include/ospfv3/self-originated.xml.i>
</children>
</node>
<node name="inter-prefix">
<properties>
<help>Show Inter-Area-Prefix LSAs</help>
</properties>
- <!-- FRR uses ospf6 where we use ospfv3, thus alter the command -->
- <command>vtysh -c "show ipv6 ospf6 ${@:4}"</command>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
<children>
- #include <include/ospfv3-adv-router.xml.i>
- #include <include/ospfv3-detail.xml.i>
- #include <include/ospfv3-dump.xml.i>
- #include <include/ospfv3-internal.xml.i>
- #include <include/ospfv3-linkstate-id.xml.i>
- #include <include/ospfv3-linkstate-id-node-tag.xml.i>
- #include <include/ospfv3-self-originated.xml.i>
+ #include <include/ospfv3/adv-router.xml.i>
+ #include <include/ospfv3/detail.xml.i>
+ #include <include/ospfv3/dump.xml.i>
+ #include <include/ospfv3/internal.xml.i>
+ #include <include/ospfv3/linkstate-id.xml.i>
+ #include <include/ospfv3/linkstate-id-node-tag.xml.i>
+ #include <include/ospfv3/self-originated.xml.i>
</children>
</node>
<node name="inter-router">
<properties>
<help>Show Inter-Area-Router LSAs</help>
</properties>
- <!-- FRR uses ospf6 where we use ospfv3, thus alter the command -->
- <command>vtysh -c "show ipv6 ospf6 ${@:4}"</command>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
<children>
- #include <include/ospfv3-adv-router.xml.i>
- #include <include/ospfv3-detail.xml.i>
- #include <include/ospfv3-dump.xml.i>
- #include <include/ospfv3-internal.xml.i>
- #include <include/ospfv3-linkstate-id.xml.i>
- #include <include/ospfv3-linkstate-id-node-tag.xml.i>
- #include <include/ospfv3-self-originated.xml.i>
+ #include <include/ospfv3/adv-router.xml.i>
+ #include <include/ospfv3/detail.xml.i>
+ #include <include/ospfv3/dump.xml.i>
+ #include <include/ospfv3/internal.xml.i>
+ #include <include/ospfv3/linkstate-id.xml.i>
+ #include <include/ospfv3/linkstate-id-node-tag.xml.i>
+ #include <include/ospfv3/self-originated.xml.i>
</children>
</node>
<node name="intra-prefix">
<properties>
<help>Show Intra-Area-Prefix LSAs</help>
</properties>
- <!-- FRR uses ospf6 where we use ospfv3, thus alter the command -->
- <command>vtysh -c "show ipv6 ospf6 ${@:4}"</command>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
<children>
- #include <include/ospfv3-adv-router.xml.i>
- #include <include/ospfv3-detail.xml.i>
- #include <include/ospfv3-dump.xml.i>
- #include <include/ospfv3-internal.xml.i>
- #include <include/ospfv3-linkstate-id.xml.i>
- #include <include/ospfv3-linkstate-id-node-tag.xml.i>
- #include <include/ospfv3-self-originated.xml.i>
+ #include <include/ospfv3/adv-router.xml.i>
+ #include <include/ospfv3/detail.xml.i>
+ #include <include/ospfv3/dump.xml.i>
+ #include <include/ospfv3/internal.xml.i>
+ #include <include/ospfv3/linkstate-id.xml.i>
+ #include <include/ospfv3/linkstate-id-node-tag.xml.i>
+ #include <include/ospfv3/self-originated.xml.i>
</children>
</node>
<node name="link">
<properties>
<help>Show Link LSAs</help>
</properties>
- <!-- FRR uses ospf6 where we use ospfv3, thus alter the command -->
- <command>vtysh -c "show ipv6 ospf6 ${@:4}"</command>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
<children>
- #include <include/ospfv3-adv-router.xml.i>
- #include <include/ospfv3-detail.xml.i>
- #include <include/ospfv3-dump.xml.i>
- #include <include/ospfv3-internal.xml.i>
- #include <include/ospfv3-linkstate-id.xml.i>
- #include <include/ospfv3-linkstate-id-node-tag.xml.i>
- #include <include/ospfv3-self-originated.xml.i>
+ #include <include/ospfv3/adv-router.xml.i>
+ #include <include/ospfv3/detail.xml.i>
+ #include <include/ospfv3/dump.xml.i>
+ #include <include/ospfv3/internal.xml.i>
+ #include <include/ospfv3/linkstate-id.xml.i>
+ #include <include/ospfv3/linkstate-id-node-tag.xml.i>
+ #include <include/ospfv3/self-originated.xml.i>
</children>
</node>
<node name="network">
<properties>
<help>Show Network LSAs</help>
</properties>
- <!-- FRR uses ospf6 where we use ospfv3, thus alter the command -->
- <command>vtysh -c "show ipv6 ospf6 ${@:4}"</command>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
<children>
- #include <include/ospfv3-adv-router.xml.i>
- #include <include/ospfv3-detail.xml.i>
- #include <include/ospfv3-dump.xml.i>
- #include <include/ospfv3-internal.xml.i>
- #include <include/ospfv3-linkstate-id.xml.i>
- #include <include/ospfv3-linkstate-id-node-tag.xml.i>
- #include <include/ospfv3-self-originated.xml.i>
+ #include <include/ospfv3/adv-router.xml.i>
+ #include <include/ospfv3/detail.xml.i>
+ #include <include/ospfv3/dump.xml.i>
+ #include <include/ospfv3/internal.xml.i>
+ #include <include/ospfv3/linkstate-id.xml.i>
+ #include <include/ospfv3/linkstate-id-node-tag.xml.i>
+ #include <include/ospfv3/self-originated.xml.i>
</children>
</node>
<node name="node.tag">
<properties>
<help>Show LSAs</help>
</properties>
- <!-- FRR uses ospf6 where we use ospfv3, thus alter the command -->
- <command>vtysh -c "show ipv6 ospf6 ${@:4}"</command>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
<children>
- #include <include/ospfv3-adv-router.xml.i>
- #include <include/ospfv3-detail.xml.i>
- #include <include/ospfv3-dump.xml.i>
- #include <include/ospfv3-internal.xml.i>
- #include <include/ospfv3-linkstate-id.xml.i>
- #include <include/ospfv3-linkstate-id-node-tag.xml.i>
- #include <include/ospfv3-self-originated.xml.i>
+ #include <include/ospfv3/adv-router.xml.i>
+ #include <include/ospfv3/detail.xml.i>
+ #include <include/ospfv3/dump.xml.i>
+ #include <include/ospfv3/internal.xml.i>
+ #include <include/ospfv3/linkstate-id.xml.i>
+ #include <include/ospfv3/linkstate-id-node-tag.xml.i>
+ #include <include/ospfv3/self-originated.xml.i>
</children>
</node>
<node name="router">
<properties>
<help>Show router LSAs</help>
</properties>
- <!-- FRR uses ospf6 where we use ospfv3, thus alter the command -->
- <command>vtysh -c "show ipv6 ospf6 ${@:4}"</command>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
<children>
- #include <include/ospfv3-adv-router.xml.i>
- #include <include/ospfv3-detail.xml.i>
- #include <include/ospfv3-dump.xml.i>
- #include <include/ospfv3-internal.xml.i>
- #include <include/ospfv3-linkstate-id.xml.i>
- #include <include/ospfv3-linkstate-id-node-tag.xml.i>
- #include <include/ospfv3-self-originated.xml.i>
+ #include <include/ospfv3/adv-router.xml.i>
+ #include <include/ospfv3/detail.xml.i>
+ #include <include/ospfv3/dump.xml.i>
+ #include <include/ospfv3/internal.xml.i>
+ #include <include/ospfv3/linkstate-id.xml.i>
+ #include <include/ospfv3/linkstate-id-node-tag.xml.i>
+ #include <include/ospfv3/self-originated.xml.i>
</children>
</node>
<node name="type-7">
<properties>
<help>Show Type-7 LSAs</help>
</properties>
- <!-- FRR uses ospf6 where we use ospfv3, thus alter the command -->
- <command>vtysh -c "show ipv6 ospf6 ${@:4}"</command>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
<children>
- #include <include/ospfv3-adv-router.xml.i>
- #include <include/ospfv3-detail.xml.i>
- #include <include/ospfv3-dump.xml.i>
- #include <include/ospfv3-internal.xml.i>
- #include <include/ospfv3-linkstate-id.xml.i>
- #include <include/ospfv3-linkstate-id-node-tag.xml.i>
- #include <include/ospfv3-self-originated.xml.i>
+ #include <include/ospfv3/adv-router.xml.i>
+ #include <include/ospfv3/detail.xml.i>
+ #include <include/ospfv3/dump.xml.i>
+ #include <include/ospfv3/internal.xml.i>
+ #include <include/ospfv3/linkstate-id.xml.i>
+ #include <include/ospfv3/linkstate-id-node-tag.xml.i>
+ #include <include/ospfv3/self-originated.xml.i>
</children>
</node>
</children>
@@ -306,15 +297,15 @@
<properties>
<help>Show OSPFv3 interface information</help>
</properties>
- <command>vtysh -c "show ipv6 ospf6 interface"</command>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
<children>
<node name="prefix">
<properties>
<help>Show connected prefixes to advertise</help>
</properties>
- <command>vtysh -c "show ipv6 ospf6 interface prefix"</command>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
<children>
- #include <include/ospfv3-detail.xml.i>
+ #include <include/ospfv3/detail.xml.i>
</children>
</node>
<tagNode name="prefix">
@@ -324,14 +315,14 @@
<list>&lt;h:h:h:h:h:h:h:h&gt; &lt;h:h:h:h:h:h:h:h/x&gt;</list>
</completionHelp>
</properties>
- <command>vtysh -c "show ipv6 ospf6 interface prefix $6"</command>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
<children>
- #include <include/ospfv3-detail.xml.i>
+ #include <include/ospfv3/detail.xml.i>
<node name="match">
<properties>
<help>Matched interface prefix information</help>
</properties>
- <command>vtysh -c "show ipv6 ospf6 interface prefix $6 match"</command>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
</node>
</children>
</tagNode>
@@ -344,15 +335,15 @@
<script>${vyos_completion_dir}/list_interfaces.py</script>
</completionHelp>
</properties>
- <command>vtysh -c "show ipv6 ospf6 interface $5"</command>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
<children>
<node name="prefix">
<properties>
<help>Show connected prefixes to advertise</help>
</properties>
- <command>vtysh -c "show ipv6 ospf6 interface $5 prefix"</command>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
<children>
- #include <include/ospfv3-detail.xml.i>
+ #include <include/ospfv3/detail.xml.i>
</children>
</node>
<tagNode name="prefix">
@@ -362,14 +353,14 @@
<list>&lt;h:h:h:h:h:h:h:h&gt; &lt;h:h:h:h:h:h:h:h/x&gt;</list>
</completionHelp>
</properties>
- <command>vtysh -c "show ipv6 ospf6 interface $5 prefix $7"</command>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
<children>
- #include <include/ospfv3-detail.xml.i>
+ #include <include/ospfv3/detail.xml.i>
<node name="match">
<properties>
<help>Matched interface prefix information</help>
</properties>
- <command>vtysh -c "show ipv6 ospf6 interface $5 prefix $7 match"</command>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
</node>
</children>
</tagNode>
@@ -380,33 +371,49 @@
<help>Show OSPFv3 linkstate routing information</help>
</properties>
<children>
- #include <include/ospfv3-detail.xml.i>
- <node name="network">
+ #include <include/ospfv3/detail.xml.i>
+ <tagNode name="network">
<properties>
<help>Show linkstate Network information</help>
+ <completionHelp>
+ <list>&lt;x.x.x.x&gt;</list>
+ </completionHelp>
</properties>
- <command>vtysh -c "show ipv6 ospf6 linkstate network"</command>
- </node>
- <node name="router">
+ <children>
+ <node name="node.tag">
+ <properties>
+ <help>Specify Link state ID as IPv4 address notation</help>
+ <completionHelp>
+ <list>&lt;x.x.x.x&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </node>
+ </children>
+ </tagNode>
+ <tagNode name="router">
<properties>
<help>Show linkstate Router information</help>
+ <completionHelp>
+ <list>&lt;x.x.x.x&gt;</list>
+ </completionHelp>
</properties>
- <command>vtysh -c "show ipv6 ospf6 linkstate router"</command>
- </node>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </tagNode>
</children>
</node>
<node name="neighbor">
<properties>
<help>Show OSPFv3 neighbor information</help>
</properties>
- <command>vtysh -c "show ipv6 ospf6 neighbor"</command>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
<children>
- #include <include/ospfv3-detail.xml.i>
+ #include <include/ospfv3/detail.xml.i>
<node name="drchoice">
<properties>
<help>Show neighbor DR choice information</help>
</properties>
- <command>vtysh -c "show ipv6 ospf6 neighbor drchoice"</command>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
</node>
</children>
</node>
@@ -414,56 +421,56 @@
<properties>
<help>Show OSPFv3 redistribute external information</help>
</properties>
- <command>vtysh -c "show ipv6 ospf6 redistribute"</command>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
</node>
<node name="route">
<properties>
<help>Show OSPFv3 routing table information</help>
</properties>
- <command>vtysh -c "show ipv6 ospf6 route"</command>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
<children>
<node name="external-1">
<properties>
<help>Show Type-1 External route information</help>
</properties>
- <command>vtysh -c "show ipv6 ospf6 route external-1"</command>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
<children>
- #include <include/ospfv3-detail.xml.i>
+ #include <include/ospfv3/detail.xml.i>
</children>
</node>
<node name="external-2">
<properties>
<help>Show Type-2 External route information</help>
</properties>
- <command>vtysh -c "show ipv6 ospf6 route external-2"</command>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
<children>
- #include <include/ospfv3-detail.xml.i>
+ #include <include/ospfv3/detail.xml.i>
</children>
</node>
<node name="inter-area">
<properties>
<help>Show Inter-Area route information</help>
</properties>
- <command>vtysh -c "show ipv6 ospf6 route inter-area"</command>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
<children>
- #include <include/ospfv3-detail.xml.i>
+ #include <include/ospfv3/detail.xml.i>
</children>
</node>
<node name="intra-area">
<properties>
<help>Show Intra-Area route information</help>
</properties>
- <command>vtysh -c "show ipv6 ospf6 route intra-area"</command>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
<children>
- #include <include/ospfv3-detail.xml.i>
+ #include <include/ospfv3/detail.xml.i>
</children>
</node>
- #include <include/ospfv3-detail.xml.i>
+ #include <include/ospfv3/detail.xml.i>
<node name="summary">
<properties>
<help>Show route table summary</help>
</properties>
- <command>vtysh -c "show ipv6 ospf6 route summary"</command>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
</node>
</children>
</node>
@@ -474,21 +481,21 @@
<list>&lt;h:h:h:h:h:h:h:h&gt; &lt;h:h:h:h:h:h:h:h/x&gt;</list>
</completionHelp>
</properties>
- <command>vtysh -c "show ipv6 ospf6 route $5"</command>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
<children>
<node name="longer">
<properties>
<help>Show routes longer than specified prefix</help>
</properties>
- <command>vtysh -c "show ipv6 ospf6 route $5 longer"</command>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
</node>
<node name="match">
<properties>
<help>Show routes matching specified prefix</help>
</properties>
- <command>vtysh -c "show ipv6 ospf6 route $5 match"</command>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
<children>
- #include <include/ospfv3-detail.xml.i>
+ #include <include/ospfv3/detail.xml.i>
</children>
</node>
</children>
diff --git a/op-mode-definitions/show-isis.xml.in b/op-mode-definitions/show-isis.xml.in
index 890d511e2..202e3214b 100644
--- a/op-mode-definitions/show-isis.xml.in
+++ b/op-mode-definitions/show-isis.xml.in
@@ -4,186 +4,22 @@
<children>
<node name="isis">
<properties>
- <help>IS-IS routing protocol</help>
+ <help>Show IS-IS routing protocol</help>
</properties>
<children>
- <node name="database">
+ #include <include/isis-common.xml.i>
+ <tagNode name="vrf">
<properties>
- <help>Show IS-IS link state database</help>
- </properties>
- <children>
- <leafNode name="detail">
- <properties>
- <help>Show detailed information</help>
- </properties>
- <command>vtysh -c "show isis database detail"</command>
- </leafNode>
- </children>
- <command>vtysh -c "show isis database"</command>
- </node>
- <tagNode name="database">
- <properties>
- <help>Show IS-IS link state database PDU</help>
- <completionHelp>
- <list>lsp-id detail</list>
- </completionHelp>
- </properties>
- <command>vtysh -c "show isis database $4"</command>
- </tagNode>
- <leafNode name="hostname">
- <properties>
- <help>Show IS-IS dynamic hostname mapping</help>
- </properties>
- <command>vtysh -c "show isis hostname"</command>
- </leafNode>
- <node name="interface">
- <properties>
- <help>Show IS-IS interfaces</help>
+ <help>Show IS-IS routing protocol for given VRF</help>
<completionHelp>
- <script>${vyos_completion_dir}/list_interfaces.py</script>
+ <path>vrf name</path>
+ <list>all</list>
</completionHelp>
</properties>
<children>
- <leafNode name="detail">
- <properties>
- <help>Show detailed information</help>
- </properties>
- <command>vtysh -c "show isis interface detail"</command>
- </leafNode>
- </children>
- <command>vtysh -c "show isis interface"</command>
- </node>
- <tagNode name="interface">
- <properties>
- <help>Show specific IS-IS interface</help>
- <completionHelp>
- <script>${vyos_completion_dir}/list_interfaces.py</script>
- </completionHelp>
- </properties>
- <command>vtysh -c "show isis interface $4"</command>
- </tagNode>
- <node name="traffic-engineering">
- <properties>
- <help>Show IS-IS MPLS traffic engineering information</help>
- </properties>
- <children>
- <leafNode name="router">
- <properties>
- <help>Show router information</help>
- </properties>
- <command>vtysh -c "show isis mpls-te router"</command>
- </leafNode>
- <leafNode name="interface">
- <properties>
- <help>Show interface information</help>
- </properties>
- <command>vtysh -c "show isis mpls-te interface"</command>
- </leafNode>
- <tagNode name="interface">
- <properties>
- <help>Show specific IS-IS interface</help>
- <completionHelp>
- <script>${vyos_completion_dir}/list_interfaces.py</script>
- </completionHelp>
- </properties>
- <command>vtysh -c "show isis mpls-te interface $5"</command>
- </tagNode>
- </children>
- </node>
- <node name="neighbor">
- <properties>
- <help>Show IS-IS neighbor adjacencies</help>
- </properties>
- <children>
- <leafNode name="detail">
- <properties>
- <help>Show detailed information</help>
- </properties>
- <command>vtysh -c "show isis neighbor detail"</command>
- </leafNode>
+ #include <include/isis-common.xml.i>
</children>
- <command>vtysh -c "show isis neighbor"</command>
- </node>
- <tagNode name="neighbor">
- <properties>
- <help>Show specific IS-IS neighbor adjacency </help>
- <completionHelp>
- <list>system-id</list>
- </completionHelp>
- </properties>
- <command>vtysh -c "show isis neighbor $4"</command>
</tagNode>
- <node name="route">
- <properties>
- <help>Show IS-IS routing table</help>
- </properties>
- <children>
- <leafNode name="level-1">
- <properties>
- <help>Show level-1 routes</help>
- </properties>
- <command>vtysh -c "show isis route level-1"</command>
- </leafNode>
- <leafNode name="level-2">
- <properties>
- <help>Show level-2 routes</help>
- </properties>
- <command>vtysh -c "show isis route level-2"</command>
- </leafNode>
- </children>
- <command>vtysh -c "show isis route"</command>
- </node>
- <node name="segment-routing">
- <properties>
- <help>Show IS-IS Segment-Routing (SPRING) information</help>
- </properties>
- <children>
- <leafNode name="node">
- <properties>
- <help>Show node information</help>
- </properties>
- <command>vtysh -c "show isis segment-routing node"</command>
- </leafNode>
- <leafNode name="prefix-sids">
- <properties>
- <help>Show prefix segment IDs</help>
- </properties>
- <command>vtysh -c "show isis segment-routing prefix-sids"</command>
- </leafNode>
- </children>
- </node>
- <leafNode name="spf-delay">
- <properties>
- <help>Show IS-IS SPF delay parameters</help>
- </properties>
- <command>vtysh -c "show isis spf-delay-ietf"</command>
- </leafNode>
- <leafNode name="summary">
- <properties>
- <help>Show IS-IS information summary</help>
- </properties>
- <command>vtysh -c "show isis summary"</command>
- </leafNode>
- <node name="topology">
- <properties>
- <help>Show IS-IS paths to Intermediate Systems</help>
- </properties>
- <children>
- <leafNode name="level-1">
- <properties>
- <help>Show level-1 routes</help>
- </properties>
- <command>vtysh -c "show isis topology level-1"</command>
- </leafNode>
- <leafNode name="level-2">
- <properties>
- <help>Show level-2 routes</help>
- </properties>
- <command>vtysh -c "show isis topology level-2"</command>
- </leafNode>
- </children>
- <command>vtysh -c "show isis topology"</command>
- </node>
</children>
</node>
</children>
diff --git a/op-mode-definitions/show-ntp.xml.in b/op-mode-definitions/show-ntp.xml.in
index b7f0acdf8..01f4477d8 100644
--- a/op-mode-definitions/show-ntp.xml.in
+++ b/op-mode-definitions/show-ntp.xml.in
@@ -6,7 +6,7 @@
<properties>
<help>Show peer status of NTP daemon</help>
</properties>
- <command>if ps -C ntpd &amp;&gt;/dev/null; then ntpq -n -c peers; else echo NTP daemon disabled; fi</command>
+ <command>${vyos_op_scripts_dir}/show_ntp.sh --basic</command>
<children>
<tagNode name="server">
<properties>
@@ -15,15 +15,14 @@
<script>${vyos_completion_dir}/list_ntp_servers.sh</script>
</completionHelp>
</properties>
- <command>/usr/sbin/ntpdate -q "$4"</command>
+ <command>${vyos_op_scripts_dir}/show_ntp.sh --server "$4"</command>
</tagNode>
<node name="info">
<properties>
<help>Show NTP operational summary</help>
</properties>
- <command>if ps -C ntpd &amp;&gt;/dev/null; then ntpq -n -c sysinfo; ntpq -n -c kerninfo; else echo NTP daemon disabled; fi</command>
- </node>
-
+ <command>${vyos_op_scripts_dir}/show_ntp.sh --info</command>
+ </node>
</children>
</node>
</children>
diff --git a/op-mode-definitions/show-version.xml.in b/op-mode-definitions/show-version.xml.in
index f1e2e2666..6bc49b8cf 100644
--- a/op-mode-definitions/show-version.xml.in
+++ b/op-mode-definitions/show-version.xml.in
@@ -18,7 +18,7 @@
<properties>
<help>Show system version and versions of all packages</help>
</properties>
- <command>echo "Package versions:"; dpkg -l | awk '$0~/>/{exit}1'</command>
+ <command>echo "Package versions:"; dpkg -l | cat</command>
</leafNode>
<leafNode name="frr">
<properties>
diff --git a/op-mode-definitions/show-zebra.xml.in b/op-mode-definitions/show-zebra.xml.in
new file mode 100644
index 000000000..b0ad37f49
--- /dev/null
+++ b/op-mode-definitions/show-zebra.xml.in
@@ -0,0 +1,54 @@
+<?xml version="1.0"?>
+<interfaceDefinition>
+ <node name="show">
+ <children>
+ <node name="zebra">
+ <properties>
+ <help>Zebra routing information</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ <children>
+ <node name="client">
+ <properties>
+ <help>Client information </help>
+ </properties>
+ <children>
+ <node name="summary">
+ <properties>
+ <help>Brief Summary</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </node>
+ </children>
+ </node>
+ <node name="dplane">
+ <properties>
+ <help>Zebra dataplane information</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </node>
+ <node name="router">
+ <properties>
+ <help>Zebra Router Information</help>
+ </properties>
+ <children>
+ <node name="table">
+ <properties>
+ <help>Table Information about this Zebra Router</help>
+ </properties>
+ <children>
+ <node name="summary">
+ <properties>
+ <help>Summary Information</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command>
+ </node>
+ </children>
+ </node>
+ </children>
+ </node>
+ </children>
+ </node>
+ </children>
+ </node>
+</interfaceDefinition>
diff --git a/op-mode-definitions/wireguard.xml.in b/op-mode-definitions/wireguard.xml.in
index 4aee4b1ac..0df838b50 100644
--- a/op-mode-definitions/wireguard.xml.in
+++ b/op-mode-definitions/wireguard.xml.in
@@ -26,6 +26,58 @@
</properties>
<command>sudo ${vyos_op_scripts_dir}/wireguard.py --genkey --location "$4"</command>
</tagNode>
+ <tagNode name="client-config">
+ <properties>
+ <help>Generate Client config QR code</help>
+ <completionHelp>
+ <list>&lt;client-name&gt;</list>
+ </completionHelp>
+ </properties>
+ <children>
+ <tagNode name="interface">
+ <properties>
+ <help>Local interface used for connection</help>
+ <completionHelp>
+ <script>${vyos_completion_dir}/list_interfaces.py --type wireguard</script>
+ </completionHelp>
+ </properties>
+ <children>
+ <tagNode name="server">
+ <properties>
+ <help>IP address/FQDN used for client connection</help>
+ <completionHelp>
+ <script>${vyos_completion_dir}/list_local_ips.sh --both</script>
+ <list>&lt;hostname&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>sudo ${vyos_op_scripts_dir}/wireguard_client.py --name "$4" --interface "$6" --server "$8"</command>
+ <children>
+ <tagNode name="address">
+ <properties>
+ <help>IPv4/IPv6 address used by client</help>
+ <completionHelp>
+ <list>&lt;x.x.x.x&gt; &lt;h:h:h:h:h:h:h:h&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>sudo ${vyos_op_scripts_dir}/wireguard_client.py --name "$4" --interface "$6" --server "$8" --address "${10}"</command>
+ <children>
+ <tagNode name="address">
+ <properties>
+ <help>IPv4/IPv6 address used by client</help>
+ <completionHelp>
+ <list>&lt;x.x.x.x&gt; &lt;h:h:h:h:h:h:h:h&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>sudo ${vyos_op_scripts_dir}/wireguard_client.py --name "$4" --interface "$6" --server "$8" --address "${10}" --address "${12}"</command>
+ </tagNode>
+ </children>
+ </tagNode>
+ </children>
+ </tagNode>
+ </children>
+ </tagNode>
+ </children>
+ </tagNode>
</children>
</node>
</children>
@@ -73,7 +125,7 @@
<script>${vyos_completion_dir}/list_interfaces.py --type wireguard</script>
</completionHelp>
</properties>
- <command>sudo ${vyos_op_scripts_dir}/wireguard.py --showinterface "$4"</command>
+ <command>sudo ${vyos_op_scripts_dir}/wireguard.py --showinterface "$4"</command>
<children>
<leafNode name="allowed-ips">
<properties>