From 022631524da4ccd03a22085fce88f04154ff5a2e Mon Sep 17 00:00:00 2001
From: DmitriyEshenko <dmitriy.eshenko@vyos.io>
Date: Tue, 21 Apr 2020 20:00:53 +0000
Subject: mroute: T2364: Implement CLI commands for mroute

---
 interface-definitions/protocols-multicast.xml.in | 95 ++++++++++++++++++++++++
 1 file changed, 95 insertions(+)
 create mode 100644 interface-definitions/protocols-multicast.xml.in

(limited to 'interface-definitions')

diff --git a/interface-definitions/protocols-multicast.xml.in b/interface-definitions/protocols-multicast.xml.in
new file mode 100644
index 000000000..a06f2b287
--- /dev/null
+++ b/interface-definitions/protocols-multicast.xml.in
@@ -0,0 +1,95 @@
+<?xml version="1.0"?>
+<!-- Multicast static routing configuration -->
+<interfaceDefinition>
+  <node name="protocols">
+    <children>
+      <node name="static">
+        <children>
+          <node name="multicast" owner="${vyos_conf_scripts_dir}/protocols_static_multicast.py">
+            <properties>
+              <help>Multicast static route</help>
+            </properties>
+            <children>
+              <tagNode name="route">
+                <properties>
+                  <help>Configure static unicast route into MRIB for multicast RPF lookup</help>
+                  <valueHelp>
+                    <format>ipv4net</format>
+                    <description>Network</description>
+                  </valueHelp>
+                  <constraint>
+                    <validator name="ip-prefix"/>
+                  </constraint>
+                </properties>
+                <children>
+                  <tagNode name="next-hop">
+                    <properties>
+                      <help>Nexthop IPv4 address</help>
+                      <valueHelp>
+                        <format>ipv4</format>
+                        <description>Nexthop IPv4 address</description>
+                      </valueHelp>
+                      <constraint>
+                        <validator name="ipv4-address"/>
+                      </constraint>
+                    </properties>
+                    <children>
+                      <leafNode name="distance">
+                        <properties>
+                          <help>Distance value for this route</help>
+                          <valueHelp>
+                            <format>1-255</format>
+                            <description>Distance for this route</description>
+                          </valueHelp>
+                          <constraint>
+                            <validator name="numeric" argument="--range 1-255"/>
+                          </constraint>
+                        </properties>
+                      </leafNode>
+                    </children>
+                  </tagNode>
+                </children>
+              </tagNode>
+              <tagNode name="interface-route">
+                <properties>
+                  <help>Multicast interface based route</help>
+                  <valueHelp>
+                    <format>ipv4net</format>
+                    <description>Network</description>
+                  </valueHelp>
+                  <constraint>
+                    <validator name="ip-prefix"/>
+                  </constraint>
+                </properties>
+                <children>
+                  <tagNode name="next-hop-interface">
+                    <properties>
+                      <help>Next-hop interface</help>
+                      <completionHelp>
+                        <script>${vyos_completion_dir}/list_interfaces.py</script>
+                      </completionHelp>
+                    </properties>
+                    <children>
+                      <leafNode name="distance">
+                        <properties>
+                          <help>Distance value for this route</help>
+                          <valueHelp>
+                            <format>1-255</format>
+                            <description>Distance for this route</description>
+                          </valueHelp>
+                          <constraint>
+                            <validator name="numeric" argument="--range 1-255"/>
+                          </constraint>
+                        </properties>
+                      </leafNode>
+                    </children>
+                  </tagNode>
+                </children>
+              </tagNode>
+            </children>
+          </node>
+        </children>
+      </node>
+    </children>
+  </node>
+</interfaceDefinition>
-- 
cgit v1.2.3