diff --git a/docs/schemas/interface.rng b/docs/schemas/interface.rng
new file mode 100644
index 0000000000000000000000000000000000000000..bed2f0a27e9b5d5f7f04dde38686825f375ab3a9
--- /dev/null
+++ b/docs/schemas/interface.rng
@@ -0,0 +1,385 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ethernet
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ vlan
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bridge
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bond
+
+
+
+
+
+
+
+
+
+ balance-rr
+
+ active-backup
+ balance-xor
+ broadcast
+ 802.3ad
+ balance-tlb
+ balance-alb
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ioctl
+
+ netif
+
+
+
+
+
+
+
+
+
+
+ none
+ active
+ backup
+ all
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ onboot
+ none
+ hotplug
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ipv4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ on
+ off
+
+
+
+
+
+ yes
+ no
+
+
+
+
+
+
+
+ [0-9]+
+
+
+
+
+
+ [a-zA-Z0-9_\.\-:/]+
+
+
+
+
+
+
+ [a-fA-F0-9]{32}
+
+
+ [a-fA-F0-9]{8}\-([a-fA-F0-9]{4}\-){3}[a-fA-F0-9]{12}
+
+
+
+
+
+
+ ([a-fA-F0-9]{2}:){5}[a-fA-F0-9]{2}
+
+
+
+
+
+ ([0-2]?[0-9]?[0-9]\.){3}[0-2]?[0-9]?[0-9]
+
+
+
+
+
+ [1-9]|[12][0-9]|3[0-2]
+
+
+
+
+
+ 4096
+
+
+
diff --git a/tests/interfaceschemadata/bond-arp.xml b/tests/interfaceschemadata/bond-arp.xml
new file mode 100644
index 0000000000000000000000000000000000000000..7b4ed6fc1a7c560c0562ca10f32e585fcdc61ff1
--- /dev/null
+++ b/tests/interfaceschemadata/bond-arp.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/interfaceschemadata/bond.xml b/tests/interfaceschemadata/bond.xml
new file mode 100644
index 0000000000000000000000000000000000000000..81b92e35e33cd3c72f9c0b1838065bc4093cc2da
--- /dev/null
+++ b/tests/interfaceschemadata/bond.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/interfaceschemadata/bridge-no-address.xml b/tests/interfaceschemadata/bridge-no-address.xml
new file mode 100644
index 0000000000000000000000000000000000000000..cddafb1692a9f2739ac4591c569e97fa729a4e47
--- /dev/null
+++ b/tests/interfaceschemadata/bridge-no-address.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/interfaceschemadata/bridge-vlan.xml b/tests/interfaceschemadata/bridge-vlan.xml
new file mode 100644
index 0000000000000000000000000000000000000000..77f992d1a5d39c03b077fd8a216d228e4c8ac346
--- /dev/null
+++ b/tests/interfaceschemadata/bridge-vlan.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/interfaceschemadata/bridge.xml b/tests/interfaceschemadata/bridge.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1f171140816585100e018af6cb118b59e0005245
--- /dev/null
+++ b/tests/interfaceschemadata/bridge.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/interfaceschemadata/bridge42.xml b/tests/interfaceschemadata/bridge42.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c6639ab801b758c6e0391838b250f684d5a0aade
--- /dev/null
+++ b/tests/interfaceschemadata/bridge42.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/tests/interfaceschemadata/ethernet-dhcp.xml b/tests/interfaceschemadata/ethernet-dhcp.xml
new file mode 100644
index 0000000000000000000000000000000000000000..fe969dfd6c4b61a6351230ab4c11660babc0b7d9
--- /dev/null
+++ b/tests/interfaceschemadata/ethernet-dhcp.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/tests/interfaceschemadata/ethernet-static-no-prefix.xml b/tests/interfaceschemadata/ethernet-static-no-prefix.xml
new file mode 100644
index 0000000000000000000000000000000000000000..891f9fe1064283e0c3a95bde107172a3e474540c
--- /dev/null
+++ b/tests/interfaceschemadata/ethernet-static-no-prefix.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/tests/interfaceschemadata/ethernet-static.xml b/tests/interfaceschemadata/ethernet-static.xml
new file mode 100644
index 0000000000000000000000000000000000000000..2c50e444bcf8f9c94eb8da5d4f67b8c191097cc2
--- /dev/null
+++ b/tests/interfaceschemadata/ethernet-static.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/tests/interfaceschemadata/vlan.xml b/tests/interfaceschemadata/vlan.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a9570e336177f681c7f893bfdd06f3382fb3c963
--- /dev/null
+++ b/tests/interfaceschemadata/vlan.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+