summaryrefslogtreecommitdiff
path: root/op-mode-definitions
diff options
context:
space:
mode:
Diffstat (limited to 'op-mode-definitions')
-rw-r--r--op-mode-definitions/date.xml64
-rw-r--r--op-mode-definitions/dhcp.xml111
-rw-r--r--op-mode-definitions/dns-forwarding.xml6
-rw-r--r--op-mode-definitions/dynamic-dns.xml26
-rw-r--r--op-mode-definitions/force-arp.xml79
-rw-r--r--op-mode-definitions/poweroff.xml68
-rw-r--r--op-mode-definitions/pppoe-server.xml32
-rw-r--r--op-mode-definitions/pptp-server.xml20
-rw-r--r--op-mode-definitions/reboot.xml68
-rw-r--r--op-mode-definitions/show-arp.xml43
-rw-r--r--op-mode-definitions/show-bridge.xml9
-rw-r--r--op-mode-definitions/show-configuration.xml62
-rw-r--r--op-mode-definitions/show-date.xml30
-rw-r--r--op-mode-definitions/show-disk.xml33
-rw-r--r--op-mode-definitions/show-hardware.xml7
-rw-r--r--op-mode-definitions/show-host.xml55
-rw-r--r--op-mode-definitions/show-ip-multicast.xml30
-rw-r--r--op-mode-definitions/show-ntp.xml31
-rw-r--r--op-mode-definitions/show-raid.xml20
-rw-r--r--op-mode-definitions/show-systemintegrity.xml14
-rw-r--r--op-mode-definitions/terminal.xml29
-rw-r--r--op-mode-definitions/traffic-dump.xml8
-rw-r--r--op-mode-definitions/wireguard.xml85
23 files changed, 698 insertions, 232 deletions
diff --git a/op-mode-definitions/date.xml b/op-mode-definitions/date.xml
new file mode 100644
index 000000000..15a69dbd9
--- /dev/null
+++ b/op-mode-definitions/date.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0"?>
+<interfaceDefinition>
+ <node name="show">
+ <children>
+ <node name="date">
+ <properties>
+ <help>Show system time and date</help>
+ </properties>
+ <command>/bin/date</command>
+ <children>
+ <node name="utc">
+ <properties>
+ <help>Show system date and time as Coordinated Universal Time</help>
+ </properties>
+ <command>/bin/date -u</command>
+ <children>
+ <leafNode name="maya">
+ <properties>
+ <help>Show UTC date in Maya calendar format</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/maya_date.py $(date +%s)</command>
+ </leafNode>
+ </children>
+ </node>
+ </children>
+ </node>
+ </children>
+ </node>
+ <node name="set">
+ <children>
+ <tagNode name="date">
+ <properties>
+ <help>Set system date and time</help>
+ <completionHelp>
+ <list>&lt;MMDDhhmm&gt; &lt;MMDDhhmmYY&gt; &lt;MMDDhhmmCCYY&gt; &lt;MMDDhhmmCCYY.ss&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>/bin/date "$3"</command>
+ </tagNode>
+ <node name="date">
+ <properties>
+ <help>Set system date and time</help>
+ </properties>
+ <children>
+ <node name="ntp">
+ <properties>
+ <help>Set system date and time from NTP server (default: 0.pool.ntp.org)</help>
+ </properties>
+ <command>/usr/sbin/ntpdate -u 0.pool.ntp.org</command>
+ </node>
+ <tagNode name="ntp">
+ <properties>
+ <help>Set system date and time from NTP server</help>
+ <completionHelp>
+ <script>${vyos_completion_dir}/list_ntp_servers.sh</script>
+ </completionHelp>
+ </properties>
+ <command>/usr/sbin/ntpdate -u "$4"</command>
+ </tagNode>
+ </children>
+ </node>
+ </children>
+ </node>
+</interfaceDefinition>
diff --git a/op-mode-definitions/dhcp.xml b/op-mode-definitions/dhcp.xml
new file mode 100644
index 000000000..a7d09304e
--- /dev/null
+++ b/op-mode-definitions/dhcp.xml
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interfaceDefinition>
+ <node name="show">
+ <children>
+ <node name="dhcp">
+ <properties>
+ <help>Show DHCP (Dynamic Host Configuration Protocol) information</help>
+ </properties>
+ <children>
+ <node name="server">
+ <properties>
+ <help>Show DHCP information</help>
+ </properties>
+ <children>
+ <node name="leases">
+ <properties>
+ <help>Show DHCP server leases</help>
+ </properties>
+ <command>sudo ${vyos_op_scripts_dir}/show_dhcp.py --leases</command>
+ <children>
+ <tagNode name="pool">
+ <properties>
+ <help>Show DHCP leases for a specific pool</help>
+ </properties>
+ <command>sudo ${vyos_op_scripts_dir}/show_dhcp.py --leases --pool $4</command>
+ </tagNode>
+ </children>
+ </node>
+ <node name="statistics">
+ <properties>
+ <help>Show DHCP server statistics</help>
+ </properties>
+ <command>sudo ${vyos_op_scripts_dir}/show_dhcp.py --statistics</command>
+ <children>
+ <tagNode name="pool">
+ <properties>
+ <help>Show DHCP server statistics for a specific pool</help>
+ </properties>
+ <command>sudo ${vyos_op_scripts_dir}/show_dhcp.py --statistics --pool $4</command>
+ </tagNode>
+ </children>
+ </node>
+ </children>
+ </node>
+ </children>
+ </node>
+ <node name="dhcpv6">
+ <properties>
+ <help>Show DHCPv6 (IPv6 Dynamic Host Configuration Protocol) information</help>
+ </properties>
+ <children>
+ <node name="server">
+ <properties>
+ <help>Show DHCPv6 server information</help>
+ </properties>
+ <children>
+ <node name="leases">
+ <properties>
+ <help>Show DHCPv6 server leases</help>
+ </properties>
+ <command>sudo ${vyos_op_scripts_dir}/show_dhcpv6.py --leases</command>
+ </node>
+ </children>
+ </node>
+ </children>
+ </node>
+ </children>
+ </node>
+ <node name="restart">
+ <children>
+ <node name="dhcp">
+ <properties>
+ <help>Restart DHCP processes</help>
+ </properties>
+ <children>
+ <node name="server">
+ <properties>
+ <help>Restart the DHCP server process</help>
+ </properties>
+ <command>sudo systemctl restart isc-dhcp-server.service</command>
+ </node>
+ <node name="relay-agent">
+ <properties>
+ <help>Restart the DHCP server process</help>
+ </properties>
+ <command>sudo ${vyos_op_scripts_dir}/restart_dhcp_relay.py --ipv4</command>
+ </node>
+ </children>
+ </node>
+ <node name="dhcpv6">
+ <properties>
+ <help>Restart DHCPv6 processes</help>
+ </properties>
+ <children>
+ <node name="server">
+ <properties>
+ <help>Restart the DHCPv6 server process</help>
+ </properties>
+ <command>sudo systemctl restart isc-dhcpv6-server.service</command>
+ </node>
+ <node name="relay-agent">
+ <properties>
+ <help>Restart the DHCP server process</help>
+ </properties>
+ <command>sudo ${vyos_op_scripts_dir}/restart_dhcp_relay.py --ipv6</command>
+ </node>
+ </children>
+ </node>
+ </children>
+ </node>
+</interfaceDefinition>
diff --git a/op-mode-definitions/dns-forwarding.xml b/op-mode-definitions/dns-forwarding.xml
index e789f4aee..ac141174f 100644
--- a/op-mode-definitions/dns-forwarding.xml
+++ b/op-mode-definitions/dns-forwarding.xml
@@ -1,9 +1,11 @@
<?xml version="1.0"?>
-
<interfaceDefinition>
<node name="show">
<children>
<node name="dns">
+ <properties>
+ <help>Show DNS information</help>
+ </properties>
<children>
<node name="forwarding">
<properties>
@@ -35,7 +37,7 @@
</properties>
<command>sudo ${vyos_op_scripts_dir}/dns_forwarding_restart.sh</command>
</leafNode>
- </children>
+ </children>
</node>
</children>
</node>
diff --git a/op-mode-definitions/dynamic-dns.xml b/op-mode-definitions/dynamic-dns.xml
index c67769a83..6ea6482e1 100644
--- a/op-mode-definitions/dynamic-dns.xml
+++ b/op-mode-definitions/dynamic-dns.xml
@@ -1,9 +1,11 @@
<?xml version="1.0"?>
-
<interfaceDefinition>
<node name="show">
<children>
<node name="dns">
+ <properties>
+ <help>Show DNS information</help>
+ </properties>
<children>
<node name="dynamic">
<properties>
@@ -14,7 +16,7 @@
<properties>
<help>Show Dynamic DNS status</help>
</properties>
- <command>sudo ${vyos_op_scripts_dir}/dynamic_dns_status.py</command>
+ <command>sudo ${vyos_op_scripts_dir}/dynamic_dns.py --status</command>
</leafNode>
</children>
</node>
@@ -22,4 +24,24 @@
</node>
</children>
</node>
+ <node name="update">
+ <properties>
+ <help>Update data for a service</help>
+ </properties>
+ <children>
+ <node name="dns">
+ <properties>
+ <help>Update DNS information</help>
+ </properties>
+ <children>
+ <node name="dynamic">
+ <properties>
+ <help>Update Dynamic DNS information</help>
+ </properties>
+ <command>sudo ${vyos_op_scripts_dir}/dynamic_dns.py --update</command>
+ </node>
+ </children>
+ </node>
+ </children>
+ </node>
</interfaceDefinition>
diff --git a/op-mode-definitions/force-arp.xml b/op-mode-definitions/force-arp.xml
new file mode 100644
index 000000000..3eadabf0a
--- /dev/null
+++ b/op-mode-definitions/force-arp.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0"?>
+<interfaceDefinition>
+ <node name="force">
+ <properties>
+ <help>Force an operation</help>
+ </properties>
+ <children>
+ <node name="arp">
+ <properties>
+ <help>Send gratuitous ARP request or reply</help>
+ </properties>
+ <children>
+ <node name="reply">
+ <properties>
+ <help>Send gratuitous ARP reply</help>
+ </properties>
+ <children>
+ <tagNode name="interface">
+ <properties>
+ <help>Send gratuitous ARP reply on specified interface</help>
+ <completionHelp>
+ <script>${vyos_completion_dir}/list_interfaces.py --broadcast</script>
+ </completionHelp>
+ </properties>
+ <children>
+ <tagNode name="address">
+ <properties>
+ <help>Send gratuitous ARP reply for specified address</help>
+ </properties>
+ <command>sudo arping -I $5 -c 1 -A $7</command>
+ <children>
+ <tagNode name="count">
+ <properties>
+ <help>Send specified number of ARP replies</help>
+ </properties>
+ <command>sudo arping -I $5 -c $9 -A $7</command>
+ </tagNode>
+ </children>
+ </tagNode>
+ </children>
+ </tagNode>
+ </children>
+ </node>
+ <node name="request">
+ <properties>
+ <help>Send gratuitous ARP request</help>
+ </properties>
+ <children>
+ <tagNode name="interface">
+ <properties>
+ <help>Send gratuitous ARP request on specified interface</help>
+ <completionHelp>
+ <script>${vyos_completion_dir}/list_interfaces.py --broadcast</script>
+ </completionHelp>
+ </properties>
+ <children>
+ <tagNode name="address">
+ <properties>
+ <help>Send gratuitous ARP request for specified address</help>
+ </properties>
+ <command>sudo arping -I $5 -c 1 -U $7</command>
+ <children>
+ <tagNode name="count">
+ <properties>
+ <help>Send specified number of ARP requests</help>
+ </properties>
+ <command>sudo arping -I $5 -c $9 -U $7</command>
+ </tagNode>
+ </children>
+ </tagNode>
+ </children>
+ </tagNode>
+ </children>
+ </node>
+ </children>
+ </node>
+ </children>
+ </node>
+</interfaceDefinition>
diff --git a/op-mode-definitions/poweroff.xml b/op-mode-definitions/poweroff.xml
index ff27f4f4d..b4163bcb9 100644
--- a/op-mode-definitions/poweroff.xml
+++ b/op-mode-definitions/poweroff.xml
@@ -4,55 +4,49 @@
<properties>
<help>Poweroff the system</help>
</properties>
- <command>sudo ${vyos_op_scripts_dir}/powerctrl.py --poweroff now</command>
-
+ <command>sudo ${vyos_op_scripts_dir}/powerctrl.py --poweroff</command>
<children>
<leafNode name="now">
<properties>
<help>Poweroff the system without confirmation</help>
</properties>
- <command>sudo ${vyos_op_scripts_dir}/powerctrl.py --yes --poweroff now</command>
+ <command>sudo ${vyos_op_scripts_dir}/powerctrl.py --yes --poweroff</command>
</leafNode>
-
<leafNode name="cancel">
<properties>
<help>Cancel a pending poweroff</help>
</properties>
<command>sudo ${vyos_op_scripts_dir}/powerctrl.py --cancel</command>
</leafNode>
-
- <tagNode name="in">
- <properties>
- <help>Poweroff in X minutes</help>
- <completionHelp>
- <list>&lt;Minutes&gt;</list>
- </completionHelp>
- </properties>
- <command>sudo ${vyos_op_scripts_dir}/powerctrl.py --yes --poweroff $3 $4</command>
-
- </tagNode>
-
- <tagNode name="at">
- <properties>
- <help>Poweroff at a specific time</help>
- <completionHelp>
- <list>&lt;HH:MM&gt;</list>
- </completionHelp>
- </properties>
- <command>sudo ${vyos_op_scripts_dir}/powerctrl.py --yes --poweroff $3</command>
- <children>
- <tagNode name="date">
- <properties>
- <help>Poweroff at a specific date</help>
- <completionHelp>
- <list>&lt;DDMMYYYY&gt; &lt;DD/MM/YYYY&gt; &lt;DD.MM.YYYY&gt; &lt;DD:MM:YYYY&gt;</list>
- </completionHelp>
- </properties>
- <command>sudo ${vyos_op_scripts_dir}/powerctrl.py --yes --poweroff $3 $5</command>
- </tagNode>
- </children>
- </tagNode>
-
+ <tagNode name="in">
+ <properties>
+ <help>Poweroff in X minutes</help>
+ <completionHelp>
+ <list>&lt;Minutes&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>sudo ${vyos_op_scripts_dir}/powerctrl.py --yes --poweroff $3 $4</command>
+ </tagNode>
+ <tagNode name="at">
+ <properties>
+ <help>Poweroff at a specific time</help>
+ <completionHelp>
+ <list>&lt;HH:MM&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>sudo ${vyos_op_scripts_dir}/powerctrl.py --yes --poweroff $3</command>
+ <children>
+ <tagNode name="date">
+ <properties>
+ <help>Poweroff at a specific date</help>
+ <completionHelp>
+ <list>&lt;DDMMYYYY&gt; &lt;DD/MM/YYYY&gt; &lt;DD.MM.YYYY&gt; &lt;DD:MM:YYYY&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>sudo ${vyos_op_scripts_dir}/powerctrl.py --yes --poweroff $3 $5</command>
+ </tagNode>
+ </children>
+ </tagNode>
</children>
</node>
</interfaceDefinition>
diff --git a/op-mode-definitions/pppoe-server.xml b/op-mode-definitions/pppoe-server.xml
new file mode 100644
index 000000000..d8a518573
--- /dev/null
+++ b/op-mode-definitions/pppoe-server.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+<interfaceDefinition>
+ <node name="show">
+ <children>
+ <node name="pppoe-server">
+ <properties>
+ <help>show pppoe-server status</help>
+ </properties>
+ <children>
+ <leafNode name="sessions">
+ <properties>
+ <help>Show active PPPoE server sessions</help>
+ </properties>
+ <command>/usr/bin/accel-cmd 'show sessions ifname,username,ip,calling-sid,rate-limit,state,uptime,rx-bytes,tx-bytes'</command>
+ </leafNode>
+ <leafNode name="statistics">
+ <properties>
+ <help>Show PPPoE server statistics</help>
+ </properties>
+ <command>/usr/bin/accel-cmd 'show stat'</command>
+ </leafNode>
+ <leafNode name="interfaces">
+ <properties>
+ <help>Show interfaces where pppoe-server listens on</help>
+ </properties>
+ <command>/usr/bin/accel-cmd 'pppoe interface show'</command>
+ </leafNode>
+ </children>
+ </node>
+ </children>
+ </node>
+</interfaceDefinition>
diff --git a/op-mode-definitions/pptp-server.xml b/op-mode-definitions/pptp-server.xml
new file mode 100644
index 000000000..7f141dc53
--- /dev/null
+++ b/op-mode-definitions/pptp-server.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0"?>
+<interfaceDefinition>
+ <node name="show">
+ <children>
+ <node name="pptp-server">
+ <properties>
+ <help>show pptp-server status</help>
+ </properties>
+ <children>
+ <leafNode name="sessions">
+ <properties>
+ <help>Show active PPPoE server sessions</help>
+ </properties>
+ <command>/usr/bin/accel-cmd -p 2003 'show sessions'</command>
+ </leafNode>
+ </children>
+ </node>
+ </children>
+ </node>
+</interfaceDefinition>
diff --git a/op-mode-definitions/reboot.xml b/op-mode-definitions/reboot.xml
index 340c8ca82..2c8daec5d 100644
--- a/op-mode-definitions/reboot.xml
+++ b/op-mode-definitions/reboot.xml
@@ -4,55 +4,49 @@
<properties>
<help>Reboot the system</help>
</properties>
- <command>sudo ${vyos_op_scripts_dir}/powerctrl.py --reboot now</command>
-
+ <command>sudo ${vyos_op_scripts_dir}/powerctrl.py --reboot</command>
<children>
<leafNode name="now">
<properties>
<help>Reboot the system without confirmation</help>
</properties>
- <command>sudo ${vyos_op_scripts_dir}/powerctrl.py --yes --reboot now</command>
+ <command>sudo ${vyos_op_scripts_dir}/powerctrl.py --yes --reboot</command>
</leafNode>
-
<leafNode name="cancel">
<properties>
<help>Cancel a pending reboot</help>
</properties>
<command>sudo ${vyos_op_scripts_dir}/powerctrl.py --cancel</command>
</leafNode>
-
- <tagNode name="in">
- <properties>
- <help>Reboot in X minutes</help>
- <completionHelp>
- <list>&lt;Minutes&gt;</list>
- </completionHelp>
- </properties>
- <command>sudo ${vyos_op_scripts_dir}/powerctrl.py --yes --reboot $3 $4</command>
-
- </tagNode>
-
- <tagNode name="at">
- <properties>
- <help>Reboot at a specific time</help>
- <completionHelp>
- <list>&lt;HH:MM&gt;</list>
- </completionHelp>
- </properties>
- <command>sudo ${vyos_op_scripts_dir}/powerctrl.py --yes --reboot $3</command>
- <children>
- <tagNode name="date">
- <properties>
- <help>Reboot at a specific date</help>
- <completionHelp>
- <list>&lt;DDMMYYYY&gt; &lt;DD/MM/YYYY&gt; &lt;DD.MM.YYYY&gt; &lt;DD:MM:YYYY&gt;</list>
- </completionHelp>
- </properties>
- <command>sudo ${vyos_op_scripts_dir}/powerctrl.py --yes --reboot $3 $5</command>
- </tagNode>
- </children>
- </tagNode>
-
+ <tagNode name="in">
+ <properties>
+ <help>Reboot in X minutes</help>
+ <completionHelp>
+ <list>&lt;Minutes&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>sudo ${vyos_op_scripts_dir}/powerctrl.py --yes --reboot $3 $4</command>
+ </tagNode>
+ <tagNode name="at">
+ <properties>
+ <help>Reboot at a specific time</help>
+ <completionHelp>
+ <list>&lt;HH:MM&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>sudo ${vyos_op_scripts_dir}/powerctrl.py --yes --reboot $3</command>
+ <children>
+ <tagNode name="date">
+ <properties>
+ <help>Reboot at a specific date</help>
+ <completionHelp>
+ <list>&lt;DDMMYYYY&gt; &lt;DD/MM/YYYY&gt; &lt;DD.MM.YYYY&gt; &lt;DD:MM:YYYY&gt;</list>
+ </completionHelp>
+ </properties>
+ <command>sudo ${vyos_op_scripts_dir}/powerctrl.py --yes --reboot $3 $5</command>
+ </tagNode>
+ </children>
+ </tagNode>
</children>
</node>
</interfaceDefinition>
diff --git a/op-mode-definitions/show-arp.xml b/op-mode-definitions/show-arp.xml
index 92c231c6f..1211a7fe5 100644
--- a/op-mode-definitions/show-arp.xml
+++ b/op-mode-definitions/show-arp.xml
@@ -2,24 +2,31 @@
<interfaceDefinition>
<node name="show">
<children>
- <node name="arp">
- <properties>
- <help>Show Address Resolution Protocol (ARP) information</help>
- </properties>
- <command>/usr/sbin/arp -e -n</command>
- <children>
- <tagNode name="interface">
- <properties>
- <help>Show Address Resolution Protocol (ARP) cache for specified interface</help>
- <completionHelp>
- <script>${vyos_completion_dir}/list_interfaces.py -b</script>
- </completionHelp>
- </properties>
- <command>/usr/sbin/arp -e -n -i '$4'</command>
- </tagNode>
- </children>
- </node>
-
+ <node name="protocols">
+ <children>
+ <node name="static">
+ <children>
+ <node name="arp">
+ <properties>
+ <help>Show Address Resolution Protocol (ARP) information</help>
+ </properties>
+ <command>/usr/sbin/arp -e -n</command>
+ <children>
+ <tagNode name="interface">
+ <properties>
+ <help>Show Address Resolution Protocol (ARP) cache for specified interface</help>
+ <completionHelp>
+ <script>${vyos_completion_dir}/list_interfaces.py -b</script>
+ </completionHelp>
+ </properties>
+ <command>/usr/sbin/arp -e -n -i "$6"</command>
+ </tagNode>
+ </children>
+ </node>
+ </children>
+ </node>
+ </children>
+ </node>
</children>
</node>
</interfaceDefinition>
diff --git a/op-mode-definitions/show-bridge.xml b/op-mode-definitions/show-bridge.xml
index a3241951a..8c1f7c398 100644
--- a/op-mode-definitions/show-bridge.xml
+++ b/op-mode-definitions/show-bridge.xml
@@ -15,23 +15,22 @@
<script>${vyos_completion_dir}/list_interfaces.py --type bridge</script>
</completionHelp>
</properties>
- <command>/sbin/brctl show '$3'</command>
+ <command>/sbin/brctl show $3</command>
<children>
<leafNode name="macs">
<properties>
<help>Show bridge Media Access Control (MAC) address table</help>
</properties>
- <command>/sbin/brctl showmacs '$3'</command>
+ <command>/sbin/brctl showmacs $3</command>
</leafNode>
<leafNode name="spanning-tree">
<properties>
<help>Show bridge spanning tree information</help>
</properties>
- <command>/sbin/brctl showstp '$3'</command>
+ <command>/sbin/brctl showstp $3</command>
</leafNode>
</children>
- </tagNode>
-
+ </tagNode>
</children>
</node>
</interfaceDefinition>
diff --git a/op-mode-definitions/show-configuration.xml b/op-mode-definitions/show-configuration.xml
index 90c1533fb..318942ab0 100644
--- a/op-mode-definitions/show-configuration.xml
+++ b/op-mode-definitions/show-configuration.xml
@@ -2,38 +2,36 @@
<interfaceDefinition>
<node name="show">
<children>
- <node name="configuration">
- <properties>
- <help>Show available saved configurations</help>
- </properties>
- <!-- no admin check -->
- <command>cli-shell-api showCfg --show-active-only --show-hide-secrets</command>
-
- <children>
- <node name="all">
- <properties>
- <help>Show running configuration (including default values)</help>
- </properties>
- <!-- no admin check -->
- <command>cli-shell-api showCfg --show-show-defaults --show-active-only --show-hide-secrets</command>
- </node>
- <node name="commands">
- <properties>
- <help> Show running configuration as set commands </help>
- </properties>
- <!-- no admin check -->
- <command>cli-shell-api showCfg --show-active-only | vyos-config-to-commands</command>
- </node>
- <node name="files">
- <properties>
- <help> Show available saved configurations </help>
- </properties>
- <!-- no admin check -->
- <command>${vyos_op_scripts_dir}/show_configuration_files.sh</command>
- </node>
- </children>
- </node>
-
+ <node name="configuration">
+ <properties>
+ <help>Show available saved configurations</help>
+ </properties>
+ <!-- no admin check -->
+ <command>cli-shell-api showCfg --show-active-only --show-hide-secrets</command>
+ <children>
+ <node name="all">
+ <properties>
+ <help>Show running configuration (including default values)</help>
+ </properties>
+ <!-- no admin check -->
+ <command>cli-shell-api showCfg --show-show-defaults --show-active-only --show-hide-secrets</command>
+ </node>
+ <node name="commands">
+ <properties>
+ <help> Show running configuration as set commands </help>
+ </properties>
+ <!-- no admin check -->
+ <command>cli-shell-api showCfg --show-active-only | vyos-config-to-commands</command>
+ </node>
+ <node name="files">
+ <properties>
+ <help> Show available saved configurations </help>
+ </properties>
+ <!-- no admin check -->
+ <command>${vyos_op_scripts_dir}/show_configuration_files.sh</command>
+ </node>
+ </children>
+ </node>
</children>
</node>
</interfaceDefinition>
diff --git a/op-mode-definitions/show-date.xml b/op-mode-definitions/show-date.xml
deleted file mode 100644
index 705172b39..000000000
--- a/op-mode-definitions/show-date.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0"?>
-<interfaceDefinition>
- <node name="show">
- <children>
- <node name="date">
- <properties>
- <help>Show system time and date</help>
- </properties>
- <command>/bin/date</command>
- <children>
- <node name="utc">
- <properties>
- <help>Show system date and time as Coordinated Universal Time</help>
- </properties>
- <command>/bin/date -u</command>
- <children>
- <leafNode name="maya">
- <properties>
- <help>Show UTC date in Maya calendar format</help>
- </properties>
- <command>${vyos_op_scripts_dir}/maya_date.py $(date +%s)</command>
- </leafNode>
- </children>
- </node>
- </children>
- </node>
-
- </children>
- </node>
-</interfaceDefinition>
diff --git a/op-mode-definitions/show-disk.xml b/op-mode-definitions/show-disk.xml
index 8a8e35515..37da07fbe 100644
--- a/op-mode-definitions/show-disk.xml
+++ b/op-mode-definitions/show-disk.xml
@@ -2,23 +2,22 @@
<interfaceDefinition>
<node name="show">
<children>
- <tagNode name="disk">
- <properties>
- <help>Show status of disk device</help>
- <completionHelp>
- <script>${vyos_completion_dir}/list_disks.sh</script>
- </completionHelp>
- </properties>
- <children>
- <leafNode name="format">
- <properties>
- <help>Show disk drive formatting</help>
- </properties>
- <command>${vyos_op_scripts_dir}/show_disk_format.sh $3</command>
- </leafNode>
- </children>
- </tagNode>
-
+ <tagNode name="disk">
+ <properties>
+ <help>Show status of disk device</help>
+ <completionHelp>
+ <script>${vyos_completion_dir}/list_disks.sh</script>
+ </completionHelp>
+ </properties>
+ <children>
+ <leafNode name="format">
+ <properties>
+ <help>Show disk drive formatting</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/show_disk_format.sh $3</command>
+ </leafNode>
+ </children>
+ </tagNode>
</children>
</node>
</interfaceDefinition>
diff --git a/op-mode-definitions/show-hardware.xml b/op-mode-definitions/show-hardware.xml
index 6cd912aea..a49036397 100644
--- a/op-mode-definitions/show-hardware.xml
+++ b/op-mode-definitions/show-hardware.xml
@@ -27,21 +27,18 @@
</node>
</children>
</node>
-
<node name="dmi">
<properties>
<help>Show system DMI details</help>
</properties>
<command>${vyatta_bindir}/vyatta-show-dmi</command>
</node>
-
<node name="mem">
<properties>
<help>Show system RAM details</help>
</properties>
<command>cat /proc/meminfo</command>
</node>
-
<node name="pci">
<properties>
<help>Show system PCI bus details</help>
@@ -56,8 +53,6 @@
</node>
</children>
</node>
-
-
<node name="scsi">
<properties>
<help>Show SCSI device information</help>
@@ -72,7 +67,6 @@
</node>
</children>
</node>
-
<node name="usb">
<properties>
<help>Show peripherals connected to the USB bus</help>
@@ -87,7 +81,6 @@
</node>
</children>
</node>
-
</children>
</node>
</children>
diff --git a/op-mode-definitions/show-host.xml b/op-mode-definitions/show-host.xml
index b3ea129a2..d7f8104aa 100644
--- a/op-mode-definitions/show-host.xml
+++ b/op-mode-definitions/show-host.xml
@@ -2,36 +2,31 @@
<interfaceDefinition>
<node name="show">
<children>
- <node name="host">
- <properties>
- <help>Show host information</help>
- </properties>
- <children>
- <leafNode name="domain">
- <properties>
- <help>Show domain name</help>
- </properties>
- <command>/bin/domainname -d</command>
- </leafNode>
-
- <leafNode name="name">
- <properties>
- <help>Show host name</help>
- </properties>
- <command>/bin/hostname</command>
- </leafNode>
-
- <tagNode name="lookup">
- <properties>
- <help>Lookup host information for hostname|IPv4 address</help>
- </properties>
- <command>/usr/bin/host $4</command>
- </tagNode>
-
-
- </children>
- </node>
-
+ <node name="host">
+ <properties>
+ <help>Show host information</help>
+ </properties>
+ <children>
+ <leafNode name="domain">
+ <properties>
+ <help>Show domain name</help>
+ </properties>
+ <command>/bin/domainname -d</command>
+ </leafNode>
+ <leafNode name="name">
+ <properties>
+ <help>Show host name</help>
+ </properties>
+ <command>/bin/hostname</command>
+ </leafNode>
+ <tagNode name="lookup">
+ <properties>
+ <help>Lookup host information for hostname|IPv4 address</help>
+ </properties>
+ <command>/usr/bin/host $4</command>
+ </tagNode>
+ </children>
+ </node>
</children>
</node>
</interfaceDefinition>
diff --git a/op-mode-definitions/show-ip-multicast.xml b/op-mode-definitions/show-ip-multicast.xml
new file mode 100644
index 000000000..6ffe40436
--- /dev/null
+++ b/op-mode-definitions/show-ip-multicast.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<interfaceDefinition>
+ <node name="show">
+ <children>
+ <node name="ip">
+ <children>
+ <node name="multicast">
+ <properties>
+ <help>Show IP multicast</help>
+ </properties>
+ <children>
+ <leafNode name="interface">
+ <properties>
+ <help>Show multicast interfaces</help>
+ </properties>
+ <command>if ps -C igmpproxy &amp;&gt;/dev/null; then ${vyos_op_scripts_dir}/show_igmpproxy.py --interface; else echo IGMP proxy not configured; fi</command>
+ </leafNode>
+ <leafNode name="mfc">
+ <properties>
+ <help>Show multicast fowarding cache</help>
+ </properties>
+ <command>if ps -C igmpproxy &amp;&gt;/dev/null; then ${vyos_op_scripts_dir}/show_igmpproxy.py --mfc; else echo IGMP proxy not configured; fi</command>
+ </leafNode>
+ </children>
+ </node>
+ </children>
+ </node>
+ </children>
+ </node>
+</interfaceDefinition>
diff --git a/op-mode-definitions/show-ntp.xml b/op-mode-definitions/show-ntp.xml
new file mode 100644
index 000000000..48cee5bee
--- /dev/null
+++ b/op-mode-definitions/show-ntp.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<interfaceDefinition>
+ <node name="show">
+ <children>
+ <node name="ntp">
+ <properties>
+ <help>Show peer status of NTP daemon</help>
+ </properties>
+ <command>if ps -C ntpd &amp;&gt;/dev/null; then ntpdc -n -c peers; else echo NTP daemon disabled; fi</command>
+ <children>
+ <tagNode name="server">
+ <properties>
+ <help>Show date and time of specified NTP server</help>
+ <completionHelp>
+ <script>${vyos_completion_dir}/list_ntp_servers.sh</script>
+ </completionHelp>
+ </properties>
+ <command>/usr/sbin/ntpdate -q "$4"</command>
+ </tagNode>
+ <node name="info">
+ <properties>
+ <help>Show NTP operational summary</help>
+ </properties>
+ <command>if ps -C ntpd &amp;&gt;/dev/null; then ntpdc -n -c sysinfo; ntpdc -n -c kerninfo; else echo NTP daemon disabled; fi</command>
+ </node>
+
+ </children>
+ </node>
+ </children>
+ </node>
+</interfaceDefinition>
diff --git a/op-mode-definitions/show-raid.xml b/op-mode-definitions/show-raid.xml
index b0930742a..000fd4610 100644
--- a/op-mode-definitions/show-raid.xml
+++ b/op-mode-definitions/show-raid.xml
@@ -2,17 +2,15 @@
<interfaceDefinition>
<node name="show">
<children>
- <tagNode name="raid">
- <properties>
- <help>Show statis of RAID set</help>
- <completionHelp>
- <script>${vyos_completion_dir}/list_raidset.sh</script>
- </completionHelp>
- </properties>
- <command>${vyos_op_scripts_dir}/show_raid.sh $3</command>
-
- </tagNode>
-
+ <tagNode name="raid">
+ <properties>
+ <help>Show statis of RAID set</help>
+ <completionHelp>
+ <script>${vyos_completion_dir}/list_raidset.sh</script>
+ </completionHelp>
+ </properties>
+ <command>${vyos_op_scripts_dir}/show_raid.sh $3</command>
+ </tagNode>
</children>
</node>
</interfaceDefinition>
diff --git a/op-mode-definitions/show-systemintegrity.xml b/op-mode-definitions/show-systemintegrity.xml
new file mode 100644
index 000000000..44b5faf68
--- /dev/null
+++ b/op-mode-definitions/show-systemintegrity.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+
+<interfaceDefinition>
+ <node name="show">
+ <children>
+ <leafNode name= "system-integrity">
+ <properties>
+ <help>checks the integrity of the system</help>
+ </properties>
+ <command>sudo ${vyos_op_scripts_dir}/system_integrity.py</command>
+ </leafNode>
+ </children>
+ </node>
+</interfaceDefinition>
diff --git a/op-mode-definitions/terminal.xml b/op-mode-definitions/terminal.xml
new file mode 100644
index 000000000..db74f867e
--- /dev/null
+++ b/op-mode-definitions/terminal.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<interfaceDefinition>
+ <node name="clear">
+ <properties>
+ <help>Clear system information</help>
+ </properties>
+ <children>
+ <node name="console">
+ <properties>
+ <help>Clear screen</help>
+ </properties>
+ <command>/usr/bin/clear</command>
+ </node>
+ </children>
+ </node>
+ <node name="reset">
+ <properties>
+ <help>Reset a service</help>
+ </properties>
+ <children>
+ <node name="terminal">
+ <properties>
+ <help>Reset terminal</help>
+ </properties>
+ <command>/usr/bin/reset</command>
+ </node>
+ </children>
+ </node>
+</interfaceDefinition>
diff --git a/op-mode-definitions/traffic-dump.xml b/op-mode-definitions/traffic-dump.xml
index a6810644e..6d86f7423 100644
--- a/op-mode-definitions/traffic-dump.xml
+++ b/op-mode-definitions/traffic-dump.xml
@@ -8,7 +8,7 @@
</properties>
<children>
<tagNode name="interface">
- <command>tcpdump -i $4</command>
+ <command>sudo tcpdump -i $4</command>
<properties>
<help>Monitor traffic dump from an interface</help>
<completionHelp>
@@ -17,19 +17,19 @@
</properties>
<children>
<tagNode name="filter">
- <command>tcpdump -n -i $4 $6</command>
+ <command>sudo tcpdump -n -i $4 "${@:6}"</command>
<properties>
<help>Monitor traffic matching filter conditions</help>
</properties>
</tagNode>
<tagNode name="save">
- <command>tcpdump -n -i $4 -w $6</command>
+ <command>sudo tcpdump -n -i $4 -w $6</command>
<properties>
<help>Save traffic dump from an interface to a file</help>
</properties>
<children>
<tagNode name="filter">
- <command>tcpdump -n -i $4 -w $6 $8</command>
+ <command>sudo tcpdump -n -i $4 -w $6 "${@:8}"</command>
<properties>
<help>Save a dump of traffic matching filter conditions to a file</help>
</properties>
diff --git a/op-mode-definitions/wireguard.xml b/op-mode-definitions/wireguard.xml
new file mode 100644
index 000000000..681bb5f47
--- /dev/null
+++ b/op-mode-definitions/wireguard.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0"?>
+<!-- wireguard key management -->
+<interfaceDefinition>
+ <node name="generate">
+ <children>
+ <node name="wireguard">
+ <properties>
+ <help>wireguard key generation utility</help>
+ </properties>
+ <children>
+ <leafNode name="keypair">
+ <properties>
+ <help>generate a wireguard keypair</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/wireguard.py --genkey</command>
+ </leafNode>
+ <leafNode name="preshared-key">
+ <properties>
+ <help>generate a wireguard preshared key</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/wireguard.py --genpsk</command>
+ </leafNode>
+ </children>
+ </node>
+ </children>
+ </node>
+ <node name="show">
+ <children>
+ <node name="wireguard">
+ <properties>
+ <help>Show wireguard properties</help>
+ </properties>
+ <children>
+ <leafNode name="pubkey">
+ <properties>
+ <help>show wireguard public key</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/wireguard.py --showpub</command>
+ </leafNode>
+ <leafNode name="privkey">
+ <properties>
+ <help>show wireguard private key</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/wireguard.py --showpriv</command>
+ </leafNode>
+ </children>
+ </node>
+ <node name="interfaces">
+ <children>
+ <tagNode name="wireguard">
+ <properties>
+ <help>show wireguard interface information</help>
+ <completionHelp>
+ <script>${vyos_completion_dir}/list_interfaces.py -t wireguard</script>
+ </completionHelp>
+ </properties>
+ <command>sudo wg show "$4"</command>
+ <children>
+ <leafNode name="allowed-ips">
+ <properties>
+ <help>show all allowed-ips for the specified interface</help>
+ </properties>
+ <command>sudo wg show "$4" allowed-ips</command>
+ </leafNode>
+ <leafNode name="endpoints">
+ <properties>
+ <help>show all endpoints for the specified interface</help>
+ </properties>
+ <command>sudo wg show "$4" endpoints</command>
+ </leafNode>
+ <leafNode name="peers">
+ <properties>
+ <help>show all peer IDs for the specified interface</help>
+ </properties>
+ <command>sudo wg show "$4" peers</command>
+ </leafNode>
+ <!-- more commands upon request -->
+ </children>
+ </tagNode>
+ </children>
+ </node>
+ </children>
+ </node>
+</interfaceDefinition>
+