From 4bb9d26c6d4c475b095d944c3154ff4f0f92a205 Mon Sep 17 00:00:00 2001
From: Christian Poessinger <christian@poessinger.com>
Date: Sat, 7 Nov 2020 13:45:07 +0100
Subject: T2653: migrate "ip" and "ipv6" interface options to generic includes

This reduces duplicated #include statements as each interface type already
contained the individual includes.
---
 .../include/interface-ipv4-options.xml.i            | 17 +++++++++++++++++
 interface-definitions/include/interface-ipv4.xml.i  | 14 --------------
 .../include/interface-ipv6-options.xml.i            | 12 ++++++++++++
 interface-definitions/include/interface-ipv6.xml.i  | 12 ------------
 interface-definitions/interfaces-bonding.xml.in     | 21 ++-------------------
 interface-definitions/interfaces-bridge.xml.in      | 19 ++-----------------
 interface-definitions/interfaces-ethernet.xml.in    | 21 ++-------------------
 interface-definitions/interfaces-l2tpv3.xml.in      |  8 +-------
 .../interfaces-pseudo-ethernet.xml.in               | 21 ++-------------------
 interface-definitions/interfaces-tunnel.xml.in      |  4 ++--
 interface-definitions/interfaces-vxlan.xml.in       | 20 ++------------------
 interface-definitions/interfaces-wireless.xml.in    | 21 ++-------------------
 12 files changed, 44 insertions(+), 146 deletions(-)
 create mode 100644 interface-definitions/include/interface-ipv4-options.xml.i
 delete mode 100644 interface-definitions/include/interface-ipv4.xml.i
 create mode 100644 interface-definitions/include/interface-ipv6-options.xml.i
 delete mode 100644 interface-definitions/include/interface-ipv6.xml.i

diff --git a/interface-definitions/include/interface-ipv4-options.xml.i b/interface-definitions/include/interface-ipv4-options.xml.i
new file mode 100644
index 000000000..416e1adf5
--- /dev/null
+++ b/interface-definitions/include/interface-ipv4-options.xml.i
@@ -0,0 +1,17 @@
+<!-- included start from interface-ipv4-options.xml.i -->
+<node name="ip">
+  <properties>
+    <help>IPv4 routing parameters</help>
+  </properties>
+  <children>
+    #include <include/interface-arp-cache-timeout.xml.i>
+    #include <include/interface-disable-arp-filter.xml.i>
+    #include <include/interface-disable-forwarding.xml.i>
+    #include <include/interface-enable-arp-accept.xml.i>
+    #include <include/interface-enable-arp-announce.xml.i>
+    #include <include/interface-enable-arp-ignore.xml.i>
+    #include <include/interface-enable-proxy-arp.xml.i>
+    #include <include/interface-proxy-arp-pvlan.xml.i>
+  </children>
+</node>
+<!-- included end -->
diff --git a/interface-definitions/include/interface-ipv4.xml.i b/interface-definitions/include/interface-ipv4.xml.i
deleted file mode 100644
index 66842ab9b..000000000
--- a/interface-definitions/include/interface-ipv4.xml.i
+++ /dev/null
@@ -1,14 +0,0 @@
-<!-- included start from interface-ipv4.xml.i -->
-<node name="ip">
-  <properties>
-    <help>IPv4 routing parameters</help>
-  </properties>
-  <children>
-    #include <include/interface-disable-arp-filter.xml.i>
-    #include <include/interface-disable-forwarding.xml.i>
-    #include <include/interface-enable-arp-accept.xml.i>
-    #include <include/interface-enable-arp-announce.xml.i>
-    #include <include/interface-enable-arp-ignore.xml.i>
-  </children>
-</node>
-<!-- included end -->
diff --git a/interface-definitions/include/interface-ipv6-options.xml.i b/interface-definitions/include/interface-ipv6-options.xml.i
new file mode 100644
index 000000000..a94c6572b
--- /dev/null
+++ b/interface-definitions/include/interface-ipv6-options.xml.i
@@ -0,0 +1,12 @@
+<!-- included start from interface-ipv6-options.xml.i -->
+<node name="ipv6">
+  <properties>
+    <help>IPv6 routing parameters</help>
+  </properties>
+  <children>
+    #include <include/ipv6-address.xml.i>
+    #include <include/ipv6-disable-forwarding.xml.i>
+    #include <include/ipv6-dup-addr-detect-transmits.xml.i>
+  </children>
+</node>
+<!-- included end -->
diff --git a/interface-definitions/include/interface-ipv6.xml.i b/interface-definitions/include/interface-ipv6.xml.i
deleted file mode 100644
index c9299890b..000000000
--- a/interface-definitions/include/interface-ipv6.xml.i
+++ /dev/null
@@ -1,12 +0,0 @@
-<!-- included start from interface-ipv6.xml.i -->
-<node name="ipv6">
-  <properties>
-    <help>IPv6 routing parameters</help>
-  </properties>
-  <children>
-    #include <include/ipv6-address.xml.i>
-    #include <include/ipv6-disable-forwarding.xml.i>
-    #include <include/ipv6-dup-addr-detect-transmits.xml.i>
-  </children>
-</node>
-<!-- included end -->
diff --git a/interface-definitions/interfaces-bonding.xml.in b/interface-definitions/interfaces-bonding.xml.in
index a72ffa01e..66fc5f7a9 100644
--- a/interface-definitions/interfaces-bonding.xml.in
+++ b/interface-definitions/interfaces-bonding.xml.in
@@ -80,25 +80,8 @@
             </properties>
             <defaultValue>layer2</defaultValue>
           </leafNode>
-          <node name="ip">
-            <children>
-              #include <include/interface-arp-cache-timeout.xml.i>
-              #include <include/interface-disable-arp-filter.xml.i>
-              #include <include/interface-disable-forwarding.xml.i>
-              #include <include/interface-enable-arp-accept.xml.i>
-              #include <include/interface-enable-arp-announce.xml.i>
-              #include <include/interface-enable-arp-ignore.xml.i>
-              #include <include/interface-enable-proxy-arp.xml.i>
-              #include <include/interface-proxy-arp-pvlan.xml.i>
-            </children>
-          </node>
-          <node name="ipv6">
-            <children>
-              #include <include/ipv6-address.xml.i>
-              #include <include/ipv6-disable-forwarding.xml.i>
-              #include <include/ipv6-dup-addr-detect-transmits.xml.i>
-            </children>
-          </node>
+          #include <include/interface-ipv4-options.xml.i>
+          #include <include/interface-ipv6-options.xml.i>
           #include <include/interface-mac.xml.i>
           <leafNode name="min-links">
             <properties>
diff --git a/interface-definitions/interfaces-bridge.xml.in b/interface-definitions/interfaces-bridge.xml.in
index 0a777865b..ccd6db9e4 100644
--- a/interface-definitions/interfaces-bridge.xml.in
+++ b/interface-definitions/interfaces-bridge.xml.in
@@ -81,23 +81,8 @@
               </leafNode>
             </children>
           </node>
-          <node name="ip">
-            <children>
-              #include <include/interface-arp-cache-timeout.xml.i>
-              #include <include/interface-enable-arp-accept.xml.i>
-              #include <include/interface-disable-forwarding.xml.i>
-              #include <include/interface-enable-arp-announce.xml.i>
-              #include <include/interface-enable-arp-ignore.xml.i>
-              #include <include/interface-disable-arp-filter.xml.i>
-            </children>
-          </node>
-          <node name="ipv6">
-            <children>
-              #include <include/ipv6-address.xml.i>
-              #include <include/ipv6-disable-forwarding.xml.i>
-              #include <include/ipv6-dup-addr-detect-transmits.xml.i>
-            </children>
-          </node>
+          #include <include/interface-ipv4-options.xml.i>
+          #include <include/interface-ipv6-options.xml.i>
           #include <include/interface-mac.xml.i>
           <leafNode name="max-age">
             <properties>
diff --git a/interface-definitions/interfaces-ethernet.xml.in b/interface-definitions/interfaces-ethernet.xml.in
index 431322b75..83f3d9e46 100644
--- a/interface-definitions/interfaces-ethernet.xml.in
+++ b/interface-definitions/interfaces-ethernet.xml.in
@@ -55,25 +55,8 @@
             <defaultValue>auto</defaultValue>
           </leafNode>
           #include <include/interface-hw-id.xml.i>
-          <node name="ip">
-            <children>
-              #include <include/interface-arp-cache-timeout.xml.i>
-              #include <include/interface-disable-arp-filter.xml.i>
-              #include <include/interface-disable-forwarding.xml.i>
-              #include <include/interface-enable-arp-accept.xml.i>
-              #include <include/interface-enable-arp-announce.xml.i>
-              #include <include/interface-enable-arp-ignore.xml.i>
-              #include <include/interface-enable-proxy-arp.xml.i>
-              #include <include/interface-proxy-arp-pvlan.xml.i>
-            </children>
-          </node>
-          <node name="ipv6">
-            <children>
-              #include <include/ipv6-address.xml.i>
-              #include <include/ipv6-disable-forwarding.xml.i>
-              #include <include/ipv6-dup-addr-detect-transmits.xml.i>
-            </children>
-          </node>
+          #include <include/interface-ipv4-options.xml.i>
+          #include <include/interface-ipv6-options.xml.i>
           #include <include/interface-mac.xml.i>
           #include <include/interface-mtu-68-16000.xml.i>
           <node name="offload-options">
diff --git a/interface-definitions/interfaces-l2tpv3.xml.in b/interface-definitions/interfaces-l2tpv3.xml.in
index c347e0926..6c971b5f4 100644
--- a/interface-definitions/interfaces-l2tpv3.xml.in
+++ b/interface-definitions/interfaces-l2tpv3.xml.in
@@ -53,13 +53,7 @@
             </properties>
             <defaultValue>udp</defaultValue>
           </leafNode>
-          <node name="ipv6">
-            <children>
-              #include <include/ipv6-address.xml.i>
-              #include <include/ipv6-disable-forwarding.xml.i>
-              #include <include/ipv6-dup-addr-detect-transmits.xml.i>
-            </children>
-          </node>
+          #include <include/interface-ipv6-options.xml.i>
           <leafNode name="local-ip">
             <properties>
               <help>Local IP address for L2TPv3 tunnel</help>
diff --git a/interface-definitions/interfaces-pseudo-ethernet.xml.in b/interface-definitions/interfaces-pseudo-ethernet.xml.in
index cebc244db..32ba5ea01 100644
--- a/interface-definitions/interfaces-pseudo-ethernet.xml.in
+++ b/interface-definitions/interfaces-pseudo-ethernet.xml.in
@@ -23,25 +23,8 @@
           #include <include/interface-disable-link-detect.xml.i>
           #include <include/interface-disable.xml.i>
           #include <include/interface-vrf.xml.i>
-          <node name="ip">
-            <children>
-              #include <include/interface-arp-cache-timeout.xml.i>
-              #include <include/interface-disable-arp-filter.xml.i>
-              #include <include/interface-disable-forwarding.xml.i>
-              #include <include/interface-enable-arp-accept.xml.i>
-              #include <include/interface-enable-arp-announce.xml.i>
-              #include <include/interface-enable-arp-ignore.xml.i>
-              #include <include/interface-enable-proxy-arp.xml.i>
-              #include <include/interface-proxy-arp-pvlan.xml.i>
-            </children>
-          </node>
-          <node name="ipv6">
-            <children>
-              #include <include/ipv6-address.xml.i>
-              #include <include/ipv6-disable-forwarding.xml.i>
-              #include <include/ipv6-dup-addr-detect-transmits.xml.i>
-            </children>
-          </node>
+          #include <include/interface-ipv4-options.xml.i>
+          #include <include/interface-ipv6-options.xml.i>
           #include <include/source-interface-ethernet.xml.i>
           #include <include/interface-mac.xml.i>
           <leafNode name="mode">
diff --git a/interface-definitions/interfaces-tunnel.xml.in b/interface-definitions/interfaces-tunnel.xml.in
index 64520ce99..c3f178d59 100644
--- a/interface-definitions/interfaces-tunnel.xml.in
+++ b/interface-definitions/interfaces-tunnel.xml.in
@@ -22,8 +22,8 @@
           #include <include/interface-disable-link-detect.xml.i>
           #include <include/interface-vrf.xml.i>
           #include <include/interface-mtu-64-8024.xml.i>
-          #include <include/interface-ipv4.xml.i>
-          #include <include/interface-ipv6.xml.i>
+          #include <include/interface-ipv4-options.xml.i>
+          #include <include/interface-ipv6-options.xml.i>
           <leafNode name="local-ip">
             <properties>
               <help>Local IP address for this tunnel</help>
diff --git a/interface-definitions/interfaces-vxlan.xml.in b/interface-definitions/interfaces-vxlan.xml.in
index 37a35a1f7..c7725fed3 100644
--- a/interface-definitions/interfaces-vxlan.xml.in
+++ b/interface-definitions/interfaces-vxlan.xml.in
@@ -35,24 +35,8 @@
               </constraint>
             </properties>
           </leafNode>
-          <node name="ip">
-            <children>
-              #include <include/interface-arp-cache-timeout.xml.i>
-              #include <include/interface-disable-arp-filter.xml.i>
-              #include <include/interface-disable-forwarding.xml.i>
-              #include <include/interface-enable-arp-accept.xml.i>
-              #include <include/interface-enable-arp-announce.xml.i>
-              #include <include/interface-enable-arp-ignore.xml.i>
-              #include <include/interface-enable-proxy-arp.xml.i>
-            </children>
-          </node>
-          <node name="ipv6">
-            <children>
-              #include <include/ipv6-address.xml.i>
-              #include <include/ipv6-disable-forwarding.xml.i>
-              #include <include/ipv6-dup-addr-detect-transmits.xml.i>
-            </children>
-          </node>
+          #include <include/interface-ipv4-options.xml.i>
+          #include <include/interface-ipv6-options.xml.i>
           <leafNode name="source-address">
             <properties>
               <help>VXLAN source address</help>
diff --git a/interface-definitions/interfaces-wireless.xml.in b/interface-definitions/interfaces-wireless.xml.in
index 78c40d876..fdea1e3ab 100644
--- a/interface-definitions/interfaces-wireless.xml.in
+++ b/interface-definitions/interfaces-wireless.xml.in
@@ -477,25 +477,8 @@
               <valueless/>
             </properties>
           </leafNode>
-          <node name="ip">
-            <children>
-              #include <include/interface-arp-cache-timeout.xml.i>
-              #include <include/interface-disable-arp-filter.xml.i>
-              #include <include/interface-disable-forwarding.xml.i>
-              #include <include/interface-enable-arp-accept.xml.i>
-              #include <include/interface-enable-arp-announce.xml.i>
-              #include <include/interface-enable-arp-ignore.xml.i>
-              #include <include/interface-enable-proxy-arp.xml.i>
-              #include <include/interface-proxy-arp-pvlan.xml.i>
-            </children>
-          </node>
-          <node name="ipv6">
-            <children>
-              #include <include/ipv6-address.xml.i>
-              #include <include/ipv6-disable-forwarding.xml.i>
-              #include <include/ipv6-dup-addr-detect-transmits.xml.i>
-            </children>
-          </node>
+          #include <include/interface-ipv4-options.xml.i>
+          #include <include/interface-ipv6-options.xml.i>
           #include <include/interface-hw-id.xml.i>
           <leafNode name="isolate-stations">
             <properties>
-- 
cgit v1.2.3