summaryrefslogtreecommitdiff
path: root/op-mode-definitions/include
diff options
context:
space:
mode:
authorOleksandr Kuchmystyi <o.kuchmystyi@vyos.io>2026-03-24 16:26:33 +0300
committerOleksandr Kuchmystyi <o.kuchmystyi@vyos.io>2026-04-01 11:30:15 +0300
commit54fc0e1199625c8b6223e5d034bf895cfbf57c77 (patch)
tree0dc3ba44371d966fde332bba7d60357d38c71cfc /op-mode-definitions/include
parent3823523c01e07ca010d035db7311b3c7f0e4e511 (diff)
downloadvyos-1x-54fc0e1199625c8b6223e5d034bf895cfbf57c77.tar.gz
vyos-1x-54fc0e1199625c8b6223e5d034bf895cfbf57c77.zip
config-sync: T7784: Add command to diff configuration with secondary node
Add a new operational command to compare configuration between nodes participating in config synchronization. New command: - `show configuration secondary sync [commands] [running|candidate|saved] [config-node-path]`. This allows operators to view configuration differences across secondary peer before applying or syncing changes. Supports: - displaying using raw diff and 'commands' format; - optional section filtering (subtree comparison); - selectable config source (running, candidate, saved).
Diffstat (limited to 'op-mode-definitions/include')
-rw-r--r--op-mode-definitions/include/show-config-sync-section-commands.xml.i449
-rw-r--r--op-mode-definitions/include/show-config-sync-section.xml.i449
2 files changed, 898 insertions, 0 deletions
diff --git a/op-mode-definitions/include/show-config-sync-section-commands.xml.i b/op-mode-definitions/include/show-config-sync-section-commands.xml.i
new file mode 100644
index 000000000..98ca435b7
--- /dev/null
+++ b/op-mode-definitions/include/show-config-sync-section-commands.xml.i
@@ -0,0 +1,449 @@
+<!-- included start from show-config-sync-section-commands.xml.i -->
+<leafNode name="firewall">
+ <properties>
+ <help>Firewall</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="firewall" --source="$6"</command>
+</leafNode>
+<node name="interfaces">
+ <properties>
+ <help>Interfaces</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="interfaces" --source="$6"</command>
+ <children>
+ <leafNode name="bonding">
+ <properties>
+ <help>Bonding interface</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="interfaces bonding" --source="$6"</command>
+ </leafNode>
+ <leafNode name="bridge">
+ <properties>
+ <help>Bridge interface</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="interfaces bridge" --source="$6"</command>
+ </leafNode>
+ <leafNode name="dummy">
+ <properties>
+ <help>Dummy interface</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="interfaces dummy" --source="$6"</command>
+ </leafNode>
+ <leafNode name="ethernet">
+ <properties>
+ <help>Ethernet interface</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="interfaces ethernet" --source="$6"</command>
+ </leafNode>
+ <leafNode name="geneve">
+ <properties>
+ <help>GENEVE interface</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="interfaces geneve" --source="$6"</command>
+ </leafNode>
+ <leafNode name="input">
+ <properties>
+ <help>Input interface</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="interfaces input" --source="$6"</command>
+ </leafNode>
+ <leafNode name="l2tpv3">
+ <properties>
+ <help>L2TPv3 interface</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="interfaces l2tpv3" --source="$6"</command>
+ </leafNode>
+ <leafNode name="loopback">
+ <properties>
+ <help>Loopback interface</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="interfaces loopback" --source="$6"</command>
+ </leafNode>
+ <leafNode name="macsec">
+ <properties>
+ <help>MACsec interface</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="interfaces macsec" --source="$6"</command>
+ </leafNode>
+ <leafNode name="openvpn">
+ <properties>
+ <help>OpenVPN interface</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="interfaces openvpn" --source="$6"</command>
+ </leafNode>
+ <leafNode name="pppoe">
+ <properties>
+ <help>PPPoE interface</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="interfaces pppoe" --source="$6"</command>
+ </leafNode>
+ <leafNode name="pseudo-ethernet">
+ <properties>
+ <help>Pseudo-Ethernet interface</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="interfaces pseudo-ethernet" --source="$6"</command>
+ </leafNode>
+ <leafNode name="sstpc">
+ <properties>
+ <help>SSTP client interface</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="interfaces sstpc" --source="$6"</command>
+ </leafNode>
+ <leafNode name="tunnel">
+ <properties>
+ <help>Tunnel interface</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="interfaces tunnel" --source="$6"</command>
+ </leafNode>
+ <leafNode name="virtual-ethernet">
+ <properties>
+ <help>Virtual Ethernet interface</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="interfaces virtual-ethernet" --source="$6"</command>
+ </leafNode>
+ <leafNode name="vti">
+ <properties>
+ <help>Virtual tunnel interface</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="interfaces vti" --source="$6"</command>
+ </leafNode>
+ <leafNode name="vxlan">
+ <properties>
+ <help>VXLAN interface</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="interfaces vxlan" --source="$6"</command>
+ </leafNode>
+ <leafNode name="wireguard">
+ <properties>
+ <help>Wireguard interface</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="interfaces wireguard" --source="$6"</command>
+ </leafNode>
+ <leafNode name="wireless">
+ <properties>
+ <help>Wireless interface</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="interfaces wireless" --source="$6"</command>
+ </leafNode>
+ <leafNode name="wwan">
+ <properties>
+ <help>WWAN interface</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="interfaces wwan" --source="$6"</command>
+ </leafNode>
+ </children>
+</node>
+<leafNode name="nat">
+ <properties>
+ <help>NAT</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="nat" --source="$6"</command>
+</leafNode>
+<leafNode name="nat66">
+ <properties>
+ <help>NAT66</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="nat66" --source="$6"</command>
+</leafNode>
+<leafNode name="pki">
+ <properties>
+ <help>Public key infrastructure (PKI)</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="pki" --source="$6"</command>
+</leafNode>
+<leafNode name="policy">
+ <properties>
+ <help>Routing policy</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="policy" --source="$6"</command>
+</leafNode>
+<node name="protocols">
+ <properties>
+ <help>Routing protocols</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="protocols" --source="$6"</command>
+ <children>
+ <leafNode name="babel">
+ <properties>
+ <help>Babel Routing Protocol</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="protocols babel" --source="$6"</command>
+ </leafNode>
+ <leafNode name="bfd">
+ <properties>
+ <help>Bidirectional Forwarding Detection (BFD)</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="protocols bfd" --source="$6"</command>
+ </leafNode>
+ <leafNode name="bgp">
+ <properties>
+ <help>Border Gateway Protocol (BGP)</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="protocols bgp" --source="$6"</command>
+ </leafNode>
+ <leafNode name="failover">
+ <properties>
+ <help>Failover route</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="protocols failover" --source="$6"</command>
+ </leafNode>
+ <leafNode name="igmp-proxy">
+ <properties>
+ <help>Internet Group Management Protocol (IGMP) proxy</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="protocols igmp-proxy" --source="$6"</command>
+ </leafNode>
+ <leafNode name="isis">
+ <properties>
+ <help>Intermediate System to Intermediate System (IS-IS)</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="protocols isis" --source="$6"</command>
+ </leafNode>
+ <leafNode name="mpls">
+ <properties>
+ <help>Multiprotocol Label Switching (MPLS)</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="protocols mpls" --source="$6"</command>
+ </leafNode>
+ <leafNode name="nhrp">
+ <properties>
+ <help>Next Hop Resolution Protocol (NHRP) parameters</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="protocols nhrp" --source="$6"</command>
+ </leafNode>
+ <leafNode name="ospf">
+ <properties>
+ <help>Open Shortest Path First (OSPF)</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="protocols ospf" --source="$6"</command>
+ </leafNode>
+ <leafNode name="ospfv3">
+ <properties>
+ <help>Open Shortest Path First (OSPF) for IPv6</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="protocols ospfv3" --source="$6"</command>
+ </leafNode>
+ <leafNode name="pim">
+ <properties>
+ <help>Protocol Independent Multicast (PIM) and IGMP</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="protocols pim" --source="$6"</command>
+ </leafNode>
+ <leafNode name="pim6">
+ <properties>
+ <help>Protocol Independent Multicast for IPv6 (PIMv6) and MLD</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="protocols pim6" --source="$6"</command>
+ </leafNode>
+ <leafNode name="rip">
+ <properties>
+ <help>Routing Information Protocol (RIP) parameters</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="protocols rip" --source="$6"</command>
+ </leafNode>
+ <leafNode name="ripng">
+ <properties>
+ <help>Routing Information Protocol (RIPng) parameters</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="protocols ripng" --source="$6"</command>
+ </leafNode>
+ <leafNode name="rpki">
+ <properties>
+ <help>Resource Public Key Infrastructure (RPKI)</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="protocols rpki" --source="$6"</command>
+ </leafNode>
+ <leafNode name="segment-routing">
+ <properties>
+ <help>Segment-Routing (SR) parameters</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="protocols segment-routing" --source="$6"</command>
+ </leafNode>
+ <leafNode name="static">
+ <properties>
+ <help>Static Routing</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="protocols static" --source="$6"</command>
+ </leafNode>
+ </children>
+</node>
+<node name="qos">
+ <properties>
+ <help>Quality of Service (QoS)</help>
+ </properties>
+ <children>
+ <leafNode name="interface">
+ <properties>
+ <help>Interface to apply QoS policy</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="qos interface" --source="$6"</command>
+ </leafNode>
+ <leafNode name="policy">
+ <properties>
+ <help>Service Policy definitions</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="qos policy" --source="$6"</command>
+ </leafNode>
+ </children>
+</node>
+<node name="service">
+ <properties>
+ <help>System services</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="service" --source="$6"</command>
+ <children>
+ <leafNode name="console-server">
+ <properties>
+ <help>Serial Console Server</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="service console-server" --source="$6"</command>
+ </leafNode>
+ <leafNode name="dhcp-relay">
+ <properties>
+ <help>Host Configuration Protocol (DHCP) relay agent</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="service dhcp-relay" --source="$6"</command>
+ </leafNode>
+ <leafNode name="dhcp-server">
+ <properties>
+ <help>Dynamic Host Configuration Protocol (DHCP) for DHCP server</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="service dhcp-server" --source="$6"</command>
+ </leafNode>
+ <leafNode name="dhcpv6-relay">
+ <properties>
+ <help>DHCPv6 Relay Agent parameters</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="service dhcpv6-relay" --source="$6"</command>
+ </leafNode>
+ <leafNode name="dhcpv6-server">
+ <properties>
+ <help>DHCP for IPv6 (DHCPv6) server</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="service dhcpv6-server" --source="$6"</command>
+ </leafNode>
+ <leafNode name="dns">
+ <properties>
+ <help>Domain Name System (DNS) related services</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="service dns" --source="$6"</command>
+ </leafNode>
+ <leafNode name="lldp">
+ <properties>
+ <help>LLDP settings</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="service lldp" --source="$6"</command>
+ </leafNode>
+ <leafNode name="mdns">
+ <properties>
+ <help>Multicast DNS (mDNS) parameters</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="service mdns" --source="$6"</command>
+ </leafNode>
+ <leafNode name="monitoring">
+ <properties>
+ <help>Monitoring services</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="service monitoring" --source="$6"</command>
+ </leafNode>
+ <leafNode name="ndp-proxy">
+ <properties>
+ <help>Neighbor Discovery Protocol (NDP) Proxy</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="service ndp-proxy" --source="$6"</command>
+ </leafNode>
+ <leafNode name="ntp">
+ <properties>
+ <help>Network Time Protocol (NTP) configuration</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="service ntp" --source="$6"</command>
+ </leafNode>
+ <leafNode name="snmp">
+ <properties>
+ <help>Simple Network Management Protocol (SNMP)</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="service snmp" --source="$6"</command>
+ </leafNode>
+ <leafNode name="tftp-server">
+ <properties>
+ <help>Trivial File Transfer Protocol (TFTP) server</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="service tftp-server" --source="$6"</command>
+ </leafNode>
+ <leafNode name="webproxy">
+ <properties>
+ <help>Webproxy service settings</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="service webproxy" --source="$6"</command>
+ </leafNode>
+ </children>
+</node>
+<node name="system">
+ <properties>
+ <help>System parameters</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="system" --source="$6"</command>
+ <children>
+ <leafNode name="conntrack">
+ <properties>
+ <help>Connection Tracking</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="system conntrack" --source="$6"</command>
+ </leafNode>
+ <leafNode name="flow-accounting">
+ <properties>
+ <help>Flow accounting</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="system flow-accounting" --source="$6"</command>
+ </leafNode>
+ <leafNode name="login">
+ <properties>
+ <help>System User Login</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="system login" --source="$6"</command>
+ </leafNode>
+ <leafNode name="option">
+ <properties>
+ <help>System Options</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="system option" --source="$6"</command>
+ </leafNode>
+ <leafNode name="sflow">
+ <properties>
+ <help>sFlow</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="system sflow" --source="$6"</command>
+ </leafNode>
+ <leafNode name="static-host-mapping">
+ <properties>
+ <help>Map host names to addresses</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="system static-host-mapping" --source="$6"</command>
+ </leafNode>
+ <leafNode name="sysctl">
+ <properties>
+ <help>Configure kernel parameters at runtime</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="system sysctl" --source="$6"</command>
+ </leafNode>
+ <leafNode name="time-zone">
+ <properties>
+ <help>Local time zone</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="system time-zone" --source="$6"</command>
+ </leafNode>
+ </children>
+</node>
+<leafNode name="vpn">
+ <properties>
+ <help>Virtual Private Network (VPN)</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="vpn" --source="$6"</command>
+</leafNode>
+<leafNode name="vrf">
+ <properties>
+ <help>Virtual Routing and Forwarding</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --commands --section="vrf" --source="$6"</command>
+</leafNode>
+<!-- included end --> \ No newline at end of file
diff --git a/op-mode-definitions/include/show-config-sync-section.xml.i b/op-mode-definitions/include/show-config-sync-section.xml.i
new file mode 100644
index 000000000..456f9e2f6
--- /dev/null
+++ b/op-mode-definitions/include/show-config-sync-section.xml.i
@@ -0,0 +1,449 @@
+<!-- included start from show-config-sync-section.xml.i -->
+<leafNode name="firewall">
+ <properties>
+ <help>Firewall</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="firewall" --source="$5"</command>
+</leafNode>
+<node name="interfaces">
+ <properties>
+ <help>Interfaces</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="interfaces" --source="$5"</command>
+ <children>
+ <leafNode name="bonding">
+ <properties>
+ <help>Bonding interface</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="interfaces bonding" --source="$5"</command>
+ </leafNode>
+ <leafNode name="bridge">
+ <properties>
+ <help>Bridge interface</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="interfaces bridge" --source="$5"</command>
+ </leafNode>
+ <leafNode name="dummy">
+ <properties>
+ <help>Dummy interface</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="interfaces dummy" --source="$5"</command>
+ </leafNode>
+ <leafNode name="ethernet">
+ <properties>
+ <help>Ethernet interface</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="interfaces ethernet" --source="$5"</command>
+ </leafNode>
+ <leafNode name="geneve">
+ <properties>
+ <help>GENEVE interface</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="interfaces geneve" --source="$5"</command>
+ </leafNode>
+ <leafNode name="input">
+ <properties>
+ <help>Input interface</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="interfaces input" --source="$5"</command>
+ </leafNode>
+ <leafNode name="l2tpv3">
+ <properties>
+ <help>L2TPv3 interface</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="interfaces l2tpv3" --source="$5"</command>
+ </leafNode>
+ <leafNode name="loopback">
+ <properties>
+ <help>Loopback interface</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="interfaces loopback" --source="$5"</command>
+ </leafNode>
+ <leafNode name="macsec">
+ <properties>
+ <help>MACsec interface</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="interfaces macsec" --source="$5"</command>
+ </leafNode>
+ <leafNode name="openvpn">
+ <properties>
+ <help>OpenVPN interface</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="interfaces openvpn" --source="$5"</command>
+ </leafNode>
+ <leafNode name="pppoe">
+ <properties>
+ <help>PPPoE interface</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="interfaces pppoe" --source="$5"</command>
+ </leafNode>
+ <leafNode name="pseudo-ethernet">
+ <properties>
+ <help>Pseudo-Ethernet interface</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="interfaces pseudo-ethernet" --source="$5"</command>
+ </leafNode>
+ <leafNode name="sstpc">
+ <properties>
+ <help>SSTP client interface</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="interfaces sstpc" --source="$5"</command>
+ </leafNode>
+ <leafNode name="tunnel">
+ <properties>
+ <help>Tunnel interface</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="interfaces tunnel" --source="$5"</command>
+ </leafNode>
+ <leafNode name="virtual-ethernet">
+ <properties>
+ <help>Virtual Ethernet interface</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="interfaces virtual-ethernet" --source="$5"</command>
+ </leafNode>
+ <leafNode name="vti">
+ <properties>
+ <help>Virtual tunnel interface</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="interfaces vti" --source="$5"</command>
+ </leafNode>
+ <leafNode name="vxlan">
+ <properties>
+ <help>VXLAN interface</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="interfaces vxlan" --source="$5"</command>
+ </leafNode>
+ <leafNode name="wireguard">
+ <properties>
+ <help>Wireguard interface</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="interfaces wireguard" --source="$5"</command>
+ </leafNode>
+ <leafNode name="wireless">
+ <properties>
+ <help>Wireless interface</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="interfaces wireless" --source="$5"</command>
+ </leafNode>
+ <leafNode name="wwan">
+ <properties>
+ <help>WWAN interface</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="interfaces wwan" --source="$5"</command>
+ </leafNode>
+ </children>
+</node>
+<leafNode name="nat">
+ <properties>
+ <help>NAT</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="nat" --source="$5"</command>
+</leafNode>
+<leafNode name="nat66">
+ <properties>
+ <help>NAT66</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="nat66" --source="$5"</command>
+</leafNode>
+<leafNode name="pki">
+ <properties>
+ <help>Public key infrastructure (PKI)</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="pki" --source="$5"</command>
+</leafNode>
+<leafNode name="policy">
+ <properties>
+ <help>Routing policy</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="policy" --source="$5"</command>
+</leafNode>
+<node name="protocols">
+ <properties>
+ <help>Routing protocols</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="protocols" --source="$5"</command>
+ <children>
+ <leafNode name="babel">
+ <properties>
+ <help>Babel Routing Protocol</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="protocols babel" --source="$5"</command>
+ </leafNode>
+ <leafNode name="bfd">
+ <properties>
+ <help>Bidirectional Forwarding Detection (BFD)</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="protocols bfd" --source="$5"</command>
+ </leafNode>
+ <leafNode name="bgp">
+ <properties>
+ <help>Border Gateway Protocol (BGP)</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="protocols bgp" --source="$5"</command>
+ </leafNode>
+ <leafNode name="failover">
+ <properties>
+ <help>Failover route</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="protocols failover" --source="$5"</command>
+ </leafNode>
+ <leafNode name="igmp-proxy">
+ <properties>
+ <help>Internet Group Management Protocol (IGMP) proxy</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="protocols igmp-proxy" --source="$5"</command>
+ </leafNode>
+ <leafNode name="isis">
+ <properties>
+ <help>Intermediate System to Intermediate System (IS-IS)</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="protocols isis" --source="$5"</command>
+ </leafNode>
+ <leafNode name="mpls">
+ <properties>
+ <help>Multiprotocol Label Switching (MPLS)</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="protocols mpls" --source="$5"</command>
+ </leafNode>
+ <leafNode name="nhrp">
+ <properties>
+ <help>Next Hop Resolution Protocol (NHRP) parameters</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="protocols nhrp" --source="$5"</command>
+ </leafNode>
+ <leafNode name="ospf">
+ <properties>
+ <help>Open Shortest Path First (OSPF)</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="protocols ospf" --source="$5"</command>
+ </leafNode>
+ <leafNode name="ospfv3">
+ <properties>
+ <help>Open Shortest Path First (OSPF) for IPv6</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="protocols ospfv3" --source="$5"</command>
+ </leafNode>
+ <leafNode name="pim">
+ <properties>
+ <help>Protocol Independent Multicast (PIM) and IGMP</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="protocols pim" --source="$5"</command>
+ </leafNode>
+ <leafNode name="pim6">
+ <properties>
+ <help>Protocol Independent Multicast for IPv6 (PIMv6) and MLD</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="protocols pim6" --source="$5"</command>
+ </leafNode>
+ <leafNode name="rip">
+ <properties>
+ <help>Routing Information Protocol (RIP) parameters</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="protocols rip" --source="$5"</command>
+ </leafNode>
+ <leafNode name="ripng">
+ <properties>
+ <help>Routing Information Protocol (RIPng) parameters</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="protocols ripng" --source="$5"</command>
+ </leafNode>
+ <leafNode name="rpki">
+ <properties>
+ <help>Resource Public Key Infrastructure (RPKI)</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="protocols rpki" --source="$5"</command>
+ </leafNode>
+ <leafNode name="segment-routing">
+ <properties>
+ <help>Segment-Routing (SR) parameters</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="protocols segment-routing" --source="$5"</command>
+ </leafNode>
+ <leafNode name="static">
+ <properties>
+ <help>Static Routing</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="protocols static" --source="$5"</command>
+ </leafNode>
+ </children>
+</node>
+<node name="qos">
+ <properties>
+ <help>Quality of Service (QoS)</help>
+ </properties>
+ <children>
+ <leafNode name="interface">
+ <properties>
+ <help>Interface to apply QoS policy</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="qos interface" --source="$5"</command>
+ </leafNode>
+ <leafNode name="policy">
+ <properties>
+ <help>Service Policy definitions</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="qos policy" --source="$5"</command>
+ </leafNode>
+ </children>
+</node>
+<node name="service">
+ <properties>
+ <help>System services</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="service" --source="$5"</command>
+ <children>
+ <leafNode name="console-server">
+ <properties>
+ <help>Serial Console Server</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="service console-server" --source="$5"</command>
+ </leafNode>
+ <leafNode name="dhcp-relay">
+ <properties>
+ <help>Host Configuration Protocol (DHCP) relay agent</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="service dhcp-relay" --source="$5"</command>
+ </leafNode>
+ <leafNode name="dhcp-server">
+ <properties>
+ <help>Dynamic Host Configuration Protocol (DHCP) for DHCP server</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="service dhcp-server" --source="$5"</command>
+ </leafNode>
+ <leafNode name="dhcpv6-relay">
+ <properties>
+ <help>DHCPv6 Relay Agent parameters</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="service dhcpv6-relay" --source="$5"</command>
+ </leafNode>
+ <leafNode name="dhcpv6-server">
+ <properties>
+ <help>DHCP for IPv6 (DHCPv6) server</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="service dhcpv6-server" --source="$5"</command>
+ </leafNode>
+ <leafNode name="dns">
+ <properties>
+ <help>Domain Name System (DNS) related services</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="service dns" --source="$5"</command>
+ </leafNode>
+ <leafNode name="lldp">
+ <properties>
+ <help>LLDP settings</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="service lldp" --source="$5"</command>
+ </leafNode>
+ <leafNode name="mdns">
+ <properties>
+ <help>Multicast DNS (mDNS) parameters</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="service mdns" --source="$5"</command>
+ </leafNode>
+ <leafNode name="monitoring">
+ <properties>
+ <help>Monitoring services</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="service monitoring" --source="$5"</command>
+ </leafNode>
+ <leafNode name="ndp-proxy">
+ <properties>
+ <help>Neighbor Discovery Protocol (NDP) Proxy</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="service ndp-proxy" --source="$5"</command>
+ </leafNode>
+ <leafNode name="ntp">
+ <properties>
+ <help>Network Time Protocol (NTP) configuration</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="service ntp" --source="$5"</command>
+ </leafNode>
+ <leafNode name="snmp">
+ <properties>
+ <help>Simple Network Management Protocol (SNMP)</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="service snmp" --source="$5"</command>
+ </leafNode>
+ <leafNode name="tftp-server">
+ <properties>
+ <help>Trivial File Transfer Protocol (TFTP) server</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="service tftp-server" --source="$5"</command>
+ </leafNode>
+ <leafNode name="webproxy">
+ <properties>
+ <help>Webproxy service settings</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="service webproxy" --source="$5"</command>
+ </leafNode>
+ </children>
+</node>
+<node name="system">
+ <properties>
+ <help>System parameters</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="system" --source="$5"</command>
+ <children>
+ <leafNode name="conntrack">
+ <properties>
+ <help>Connection Tracking</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="system conntrack" --source="$5"</command>
+ </leafNode>
+ <leafNode name="flow-accounting">
+ <properties>
+ <help>Flow accounting</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="system flow-accounting" --source="$5"</command>
+ </leafNode>
+ <leafNode name="login">
+ <properties>
+ <help>System User Login</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="system login" --source="$5"</command>
+ </leafNode>
+ <leafNode name="option">
+ <properties>
+ <help>System Options</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="system option" --source="$5"</command>
+ </leafNode>
+ <leafNode name="sflow">
+ <properties>
+ <help>sFlow</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="system sflow" --source="$5"</command>
+ </leafNode>
+ <leafNode name="static-host-mapping">
+ <properties>
+ <help>Map host names to addresses</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="system static-host-mapping" --source="$5"</command>
+ </leafNode>
+ <leafNode name="sysctl">
+ <properties>
+ <help>Configure kernel parameters at runtime</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="system sysctl" --source="$5"</command>
+ </leafNode>
+ <leafNode name="time-zone">
+ <properties>
+ <help>Local time zone</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="system time-zone" --source="$5"</command>
+ </leafNode>
+ </children>
+</node>
+<leafNode name="vpn">
+ <properties>
+ <help>Virtual Private Network (VPN)</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="vpn" --source="$5"</command>
+</leafNode>
+<leafNode name="vrf">
+ <properties>
+ <help>Virtual Routing and Forwarding</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/config_sync.py show_sync_diff --section="vrf" --source="$5"</command>
+</leafNode>
+<!-- included end --> \ No newline at end of file