summaryrefslogtreecommitdiff
path: root/op-mode-definitions
diff options
context:
space:
mode:
Diffstat (limited to 'op-mode-definitions')
-rw-r--r--op-mode-definitions/dhcp.xml111
-rw-r--r--op-mode-definitions/force-arp.xml79
-rw-r--r--op-mode-definitions/traffic-dump.xml8
-rw-r--r--op-mode-definitions/wireguard.xml46
4 files changed, 237 insertions, 7 deletions
diff --git a/op-mode-definitions/dhcp.xml b/op-mode-definitions/dhcp.xml
new file mode 100644
index 000000000..eb57f8f1f
--- /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 /opt/vyatta/sbin/dhcrelay-starter.pl --op-mode --init='/opt/vyatta/sbin/dhcrelay.init'</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 /opt/vyatta/sbin/dhcv6relay-starter.pl --op_mode --config_action ACTIVE</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/traffic-dump.xml b/op-mode-definitions/traffic-dump.xml
index a6810644e..00a809a7c 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
index 29fce33b6..dd62f0f2f 100644
--- a/op-mode-definitions/wireguard.xml
+++ b/op-mode-definitions/wireguard.xml
@@ -12,8 +12,14 @@
<properties>
<help>generate a wireguard keypair</help>
</properties>
- <command>${vyos_op_scripts_dir}/wireguard_key.py --genkey</command>
+ <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>
@@ -26,16 +32,50 @@
<properties>
<help>show wireguard public key</help>
</properties>
- <command>${vyos_op_scripts_dir}/wireguard_key.py --showpub</command>
+ <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_key.py --showpriv</command>
+ <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>