diff options
author | Christian Poessinger <christian@poessinger.com> | 2021-03-11 19:28:06 +0100 |
---|---|---|
committer | Christian Poessinger <christian@poessinger.com> | 2021-03-13 21:54:50 +0100 |
commit | 952c52ef012504f17f09234ab1f7608ceb4002b1 (patch) | |
tree | 9c643ee4f6a7b452d3133d32341f9ae29aa5ef0d | |
parent | 894a5d6daee5f785834a2f360d66eb9b8e112465 (diff) | |
download | vyos-1x-952c52ef012504f17f09234ab1f7608ceb4002b1.tar.gz vyos-1x-952c52ef012504f17f09234ab1f7608ceb4002b1.zip |
vrf: ospf: T2271: re-arrange xml include building blocks
In order to fully re-use the XML based OSPF CLI definition for per-VRF routing,
the file structure needs to be reorganized and the common OSPF definition is
moved to its dedicated ospf-common-config.xml.i file, which can then be fully
re-included at the VRF level.
As the amount of include files now has reached a certain amount, this also
introduces "per topic" subdirectories on the filesystem to keep a clean
structure.
11 files changed, 834 insertions, 832 deletions
diff --git a/interface-definitions/include/ospf-authentication.xml.i b/interface-definitions/include/ospf/ospf-authentication.xml.i index efb29c1f0..5ade318de 100644 --- a/interface-definitions/include/ospf-authentication.xml.i +++ b/interface-definitions/include/ospf/ospf-authentication.xml.i @@ -1,4 +1,4 @@ -<!-- included start from ospf-authentication.xml.i --> +<!-- included start from ospf/ospf-authentication.xml.i --> <node name="authentication"> <properties> <help>Authentication</help> diff --git a/interface-definitions/include/ospf/ospf-common-config.xml.i b/interface-definitions/include/ospf/ospf-common-config.xml.i new file mode 100644 index 000000000..590da36b2 --- /dev/null +++ b/interface-definitions/include/ospf/ospf-common-config.xml.i @@ -0,0 +1,818 @@ +<!-- included start from ospf/ospf-common-config.xml.i --> +<tagNode name="access-list"> + <properties> + <help>Access list to filter networks in routing updates</help> + <completionHelp> + <path>policy access-list</path> + </completionHelp> + <valueHelp> + <format>u32</format> + <description>Access-list number</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-4294967295"/> + </constraint> + </properties> + <children> + <leafNode name="export"> + <properties> + <help>Filter for outgoing routing update [REQUIRED]</help> + <completionHelp> + <list>bgp connected kernel rip static</list> + </completionHelp> + <valueHelp> + <format>bgp</format> + <description>Filter BGP routes</description> + </valueHelp> + <valueHelp> + <format>connected</format> + <description>Filter connected routes</description> + </valueHelp> + <valueHelp> + <format>isis</format> + <description>Filter IS-IS routes</description> + </valueHelp> + <valueHelp> + <format>kernel</format> + <description>Filter Kernel routes</description> + </valueHelp> + <valueHelp> + <format>rip</format> + <description>Filter RIP routes</description> + </valueHelp> + <valueHelp> + <format>static</format> + <description>Filter static routes</description> + </valueHelp> + <constraint> + <regex>^(bgp|connected|isis|kernel|rip|static)$</regex> + </constraint> + <constraintErrorMessage>Must be bgp, connected, kernel, rip, or static</constraintErrorMessage> + <multi/> + </properties> + </leafNode> + </children> +</tagNode> +<tagNode name="area"> + <properties> + <help>OSPF Area</help> + <valueHelp> + <format>u32</format> + <description>OSPF area in decimal notation</description> + </valueHelp> + <valueHelp> + <format>ipv4</format> + <description>OSPF area in dotted decimal notation</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-4294967295"/> + <validator name="ip-address"/> + </constraint> + </properties> + <children> + <node name="area-type"> + <properties> + <help>Area type</help> + </properties> + <children> + <leafNode name="normal"> + <properties> + <help>Normal OSPF area</help> + <valueless/> + </properties> + </leafNode> + <node name="nssa"> + <properties> + <help>Nssa OSPF area</help> + </properties> + <children> + <leafNode name="default-cost"> + <properties> + <help>Summary-default cost of nssa area</help> + <valueHelp> + <format>u32:0-16777215</format> + <description>Summary default cost</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-16777215"/> + </constraint> + </properties> + </leafNode> + <leafNode name="no-summary"> + <properties> + <help>Do not inject inter-area routes into stub</help> + <valueless/> + </properties> + </leafNode> + <leafNode name="translate"> + <properties> + <help>Configure NSSA-ABR (default: candidate)</help> + <completionHelp> + <list>always candidate never</list> + </completionHelp> + <valueHelp> + <format>always</format> + <description>NSSA-ABR to always translate</description> + </valueHelp> + <valueHelp> + <format>candidate</format> + <description>NSSA-ABR for translate election (default)</description> + </valueHelp> + <valueHelp> + <format>never</format> + <description>NSSA-ABR to never translate</description> + </valueHelp> + <constraint> + <regex>^(always|candidate|never)$</regex> + </constraint> + </properties> + <defaultValue>candidate</defaultValue> + </leafNode> + </children> + </node> + <node name="stub"> + <properties> + <help>Stub OSPF area</help> + </properties> + <children> + <leafNode name="default-cost"> + <properties> + <help>Summary-default cost of nssa area</help> + <valueHelp> + <format>u32:0-16777215</format> + <description>Summary default cost</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-16777215"/> + </constraint> + </properties> + </leafNode> + <leafNode name="no-summary"> + <properties> + <help>Do not inject inter-area routes into stub</help> + <valueless/> + </properties> + </leafNode> + </children> + </node> + </children> + </node> + <leafNode name="authentication"> + <properties> + <help>OSPF area authentication type</help> + <completionHelp> + <list>plaintext-password md5</list> + </completionHelp> + <valueHelp> + <format>plaintext-password</format> + <description>Use plain-text authentication</description> + </valueHelp> + <valueHelp> + <format>md5</format> + <description>Use md5 authentication</description> + </valueHelp> + <constraint> + <regex>^(plaintext-password|md5)$</regex> + </constraint> + </properties> + </leafNode> + <leafNode name="network"> + <properties> + <help>OSPF network [REQUIRED]</help> + <valueHelp> + <format>ipv4net</format> + <description>OSPF network [REQUIRED]</description> + </valueHelp> + <constraint> + <validator name="ipv4-prefix"/> + </constraint> + <multi/> + </properties> + </leafNode> + <tagNode name="range"> + <properties> + <help>Summarize routes matching prefix (border routers only)</help> + <valueHelp> + <format>ipv4net</format> + <description>Area range prefix</description> + </valueHelp> + <constraint> + <validator name="ipv4-prefix"/> + </constraint> + </properties> + <children> + <leafNode name="cost"> + <properties> + <help>Metric for this range</help> + <valueHelp> + <format>u32:0-16777215</format> + <description>Metric for this range</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-16777215"/> + </constraint> + </properties> + </leafNode> + <leafNode name="not-advertise"> + <properties> + <help>Do not advertise this range</help> + <valueless/> + </properties> + </leafNode> + <leafNode name="substitute"> + <properties> + <help>Announce area range as another prefix</help> + <valueHelp> + <format>ipv4net</format> + <description>Announce area range as another prefix</description> + </valueHelp> + <constraint> + <validator name="ipv4-prefix"/> + </constraint> + </properties> + </leafNode> + </children> + </tagNode> + <leafNode name="shortcut"> + <properties> + <help>Area shortcut mode</help> + <completionHelp> + <list>default disable enable</list> + </completionHelp> + <valueHelp> + <format>default</format> + <description>Set default</description> + </valueHelp> + <valueHelp> + <format>disable</format> + <description>Disable shortcutting mode</description> + </valueHelp> + <valueHelp> + <format>enable</format> + <description>Enable shortcutting mode</description> + </valueHelp> + <constraint> + <regex>^(default|disable|enable)$</regex> + </constraint> + </properties> + </leafNode> + <tagNode name="virtual-link"> + <properties> + <help>Virtual link</help> + <valueHelp> + <format>ipv4</format> + <description>OSPF area in dotted decimal notation</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-4294967295"/> + <validator name="ip-address"/> + </constraint> + </properties> + <children> + #include <include/ospf/ospf-authentication.xml.i> + #include <include/ospf/ospf-intervals.xml.i> + </children> + </tagNode> + </children> +</tagNode> +<node name="auto-cost"> + <properties> + <help>Calculate OSPF interface cost according to bandwidth (default: 100)</help> + </properties> + <children> + <leafNode name="reference-bandwidth"> + <properties> + <help>Reference bandwidth method to assign OSPF cost</help> + <valueHelp> + <format>u32:1-4294967</format> + <description>Reference bandwidth cost in Mbits/sec</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-4294967"/> + </constraint> + </properties> + <defaultValue>100</defaultValue> + </leafNode> + </children> +</node> +<node name="default-information"> + <properties> + <help>Control distribution of default information</help> + </properties> + <children> + <node name="originate"> + <properties> + <help>Distribute a default route</help> + </properties> + <children> + <leafNode name="always"> + <properties> + <help>Always advertise default route</help> + <valueless/> + </properties> + </leafNode> + #include <include/ospf/ospf-metric.xml.i> + #include <include/ospf/ospf-metric-type.xml.i> + #include <include/ospf/ospf-route-map.xml.i> + </children> + </node> + </children> +</node> +<leafNode name="default-metric"> + <properties> + <help>Metric of redistributed routes</help> + <valueHelp> + <format>u32:0-16777214</format> + <description>Metric of redistributed routes</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-16777214"/> + </constraint> + </properties> +</leafNode> +<node name="distance"> + <properties> + <help>Administrative distance</help> + </properties> + <children> + <leafNode name="global"> + <properties> + <help>OSPF administrative distance</help> + <valueHelp> + <format>u32:1-255</format> + <description>Administrative distance</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-255"/> + </constraint> + </properties> + </leafNode> + <node name="ospf"> + <properties> + <help>OSPF administrative distance</help> + </properties> + <children> + <leafNode name="external"> + <properties> + <help>Distance for external routes</help> + <valueHelp> + <format>u32:1-255</format> + <description>Distance for external routes</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-255"/> + </constraint> + </properties> + </leafNode> + <leafNode name="inter-area"> + <properties> + <help>Distance for inter-area routes</help> + <valueHelp> + <format>u32:1-255</format> + <description>Distance for inter-area routes</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-255"/> + </constraint> + </properties> + </leafNode> + <leafNode name="intra-area"> + <properties> + <help>Distance for intra-area routes</help> + <valueHelp> + <format>u32:1-255</format> + <description>Distance for intra-area routes</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-255"/> + </constraint> + </properties> + </leafNode> + </children> + </node> + </children> +</node> +<tagNode name="interface"> + <properties> + <help>Interface related configuration</help> + <completionHelp> + <script>${vyos_completion_dir}/list_interfaces.py</script> + </completionHelp> + <valueHelp> + <format>txt</format> + <description>Interface name</description> + </valueHelp> + <constraint> + <validator name="interface-name"/> + </constraint> + </properties> + <children> + #include <include/ospf/ospf-authentication.xml.i> + #include <include/ospf/ospf-intervals.xml.i> + #include <include/ospf/ospf-interface-common.xml.i> + <leafNode name="bandwidth"> + <properties> + <help>Bandwidth of interface (Megabit/sec)</help> + <valueHelp> + <format>u32:1-100000</format> + <description>Bandwidth in Megabit/sec (for calculating OSPF cost)</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-100000"/> + </constraint> + </properties> + </leafNode> + <leafNode name="hello-multiplier"> + <properties> + <help>Hello multiplier factor</help> + <valueHelp> + <format>u32:1-10</format> + <description>Number of Hellos to send each second</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-10"/> + </constraint> + </properties> + </leafNode> + <leafNode name="network"> + <properties> + <help>Network type</help> + <completionHelp> + <list>broadcast non-broadcast point-to-multipoint point-to-point</list> + </completionHelp> + <valueHelp> + <format>broadcast</format> + <description>Broadcast network type</description> + </valueHelp> + <valueHelp> + <format>non-broadcast</format> + <description>Non-broadcast network type</description> + </valueHelp> + <valueHelp> + <format>point-to-multipoint</format> + <description>Point-to-multipoint network type</description> + </valueHelp> + <valueHelp> + <format>point-to-point</format> + <description>Point-to-point network type</description> + </valueHelp> + <constraint> + <regex>^(broadcast|non-broadcast|point-to-multipoint|point-to-point)$</regex> + </constraint> + <constraintErrorMessage>Must be broadcast, non-broadcast, point-to-multipoint or point-to-point</constraintErrorMessage> + </properties> + </leafNode> + </children> +</tagNode> +<node name="log-adjacency-changes"> + <properties> + <help>Log changes in adjacency state</help> + </properties> + <children> + <leafNode name="detail"> + <properties> + <help>Log all state changes</help> + <valueless/> + </properties> + </leafNode> + </children> +</node> +<node name="max-metric"> + <properties> + <help>OSPF maximum and infinite-distance metric</help> + </properties> + <children> + <node name="router-lsa"> + <properties> + <help>Advertise own Router-LSA with infinite distance (stub router)</help> + </properties> + <children> + <leafNode name="administrative"> + <properties> + <help>Administratively apply, for an indefinite period</help> + <valueless/> + </properties> + </leafNode> + <leafNode name="on-shutdown"> + <properties> + <help>Advertise stub-router prior to full shutdown of OSPF</help> + <valueHelp> + <format>u32:5-100</format> + <description>Time (seconds) to advertise self as stub-router</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 5-100"/> + </constraint> + </properties> + </leafNode> + <leafNode name="on-startup"> + <properties> + <help>Automatically advertise stub Router-LSA on startup of OSPF</help> + <valueHelp> + <format>u32:5-86400</format> + <description>Time (seconds) to advertise self as stub-router</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 5-86400"/> + </constraint> + </properties> + </leafNode> + </children> + </node> + </children> +</node> +<node name="mpls-te"> + <properties> + <help>MultiProtocol Label Switching-Traffic Engineering (MPLS-TE) parameters</help> + </properties> + <children> + <leafNode name="enable"> + <properties> + <help>Enable MPLS-TE functionality</help> + <valueless/> + </properties> + </leafNode> + <leafNode name="router-address"> + <properties> + <help>Stable IP address of the advertising router</help> + <valueHelp> + <format>ipv4</format> + <description>Stable IP address of the advertising router</description> + </valueHelp> + <constraint> + <validator name="ipv4-address"/> + </constraint> + </properties> + <defaultValue>0.0.0.0</defaultValue> + </leafNode> + </children> +</node> +<tagNode name="neighbor"> + <properties> + <help>Specify neighbor router</help> + <valueHelp> + <format>ipv4</format> + <description>Neighbor IP address</description> + </valueHelp> + <constraint> + <validator name="ipv4-address"/> + </constraint> + </properties> + <children> + <leafNode name="poll-interval"> + <properties> + <help>Dead neighbor polling interval (default: 60)</help> + <valueHelp> + <format>u32:1-65535</format> + <description>Seconds between dead neighbor polling interval</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-65535"/> + </constraint> + </properties> + <defaultValue>60</defaultValue> + </leafNode> + <leafNode name="priority"> + <properties> + <help>Neighbor priority in seconds (default: 0)</help> + <valueHelp> + <format>u32:0-255</format> + <description>Neighbor priority</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-255"/> + </constraint> + </properties> + <defaultValue>0</defaultValue> + </leafNode> + </children> +</tagNode> +<node name="parameters"> + <properties> + <help>OSPF specific parameters</help> + </properties> + <children> + <leafNode name="abr-type"> + <properties> + <help>OSPF ABR type (default: cisco)</help> + <completionHelp> + <list>cisco ibm shortcut standard</list> + </completionHelp> + <valueHelp> + <format>cisco</format> + <description>Cisco ABR type (default)</description> + </valueHelp> + <valueHelp> + <format>ibm</format> + <description>Ibm ABR type</description> + </valueHelp> + <valueHelp> + <format>shortcut</format> + <description>Shortcut ABR type</description> + </valueHelp> + <valueHelp> + <format>standard</format> + <description>Standard ABR type</description> + </valueHelp> + <constraint> + <regex>^(cisco|ibm|shortcut|standard)$</regex> + </constraint> + </properties> + <defaultValue>cisco</defaultValue> + </leafNode> + <leafNode name="opaque-lsa"> + <properties> + <help>Enable the Opaque-LSA capability (rfc2370)</help> + <valueless/> + </properties> + </leafNode> + <leafNode name="rfc1583-compatibility"> + <properties> + <help>Enable rfc1583 criteria for handling AS external routes</help> + <valueless/> + </properties> + </leafNode> + <leafNode name="router-id"> + <properties> + <help>Override the default router identifier</help> + <valueHelp> + <format>ipv4</format> + <description>Override the default router identifier</description> + </valueHelp> + <constraint> + <validator name="ipv4-address"/> + </constraint> + </properties> + </leafNode> + </children> +</node> +#include <include/routing-passive-interface-xml.i> +<leafNode name="passive-interface-exclude"> + <properties> + <help>Interface to exclude when using 'passive-interface default'</help> + <completionHelp> + <script>${vyos_completion_dir}/list_interfaces.py</script> + </completionHelp> + <valueHelp> + <format>txt</format> + <description>Interface to exclude when suppressing routing updates</description> + </valueHelp> + <valueHelp> + <format>vlinkN</format> + <description>Virtual-link interface to exclude when suppressing routing updates</description> + </valueHelp> + <constraint> + <validator name="interface-name"/> + <regex>^(vlink[0-9]+)$</regex> + </constraint> + <multi/> + </properties> +</leafNode> +<node name="redistribute"> + <properties> + <help>Redistribute information from another routing protocol</help> + </properties> + <children> + <node name="bgp"> + <properties> + <help>Redistribute BGP routes</help> + </properties> + <children> + #include <include/ospf/ospf-metric.xml.i> + #include <include/ospf/ospf-metric-type.xml.i> + #include <include/ospf/ospf-route-map.xml.i> + </children> + </node> + <node name="connected"> + <properties> + <help>Redistribute connected routes</help> + </properties> + <children> + #include <include/ospf/ospf-metric.xml.i> + #include <include/ospf/ospf-metric-type.xml.i> + #include <include/ospf/ospf-route-map.xml.i> + </children> + </node> + <node name="isis"> + <properties> + <help>Redistribute IS-IS routes</help> + </properties> + <children> + #include <include/ospf/ospf-metric.xml.i> + #include <include/ospf/ospf-metric-type.xml.i> + #include <include/ospf/ospf-route-map.xml.i> + </children> + </node> + <node name="kernel"> + <properties> + <help>Redistribute kernel routes</help> + </properties> + <children> + #include <include/ospf/ospf-metric.xml.i> + #include <include/ospf/ospf-metric-type.xml.i> + #include <include/ospf/ospf-route-map.xml.i> + </children> + </node> + <node name="rip"> + <properties> + <help>Redistribute rip routes</help> + </properties> + <children> + #include <include/ospf/ospf-metric.xml.i> + #include <include/ospf/ospf-metric-type.xml.i> + #include <include/ospf/ospf-route-map.xml.i> + </children> + </node> + <node name="static"> + <properties> + <help>Redistribute static routes</help> + </properties> + <children> + #include <include/ospf/ospf-metric.xml.i> + #include <include/ospf/ospf-metric-type.xml.i> + #include <include/ospf/ospf-route-map.xml.i> + </children> + </node> + </children> +</node> +<node name="refresh"> + <properties> + <help>Adjust refresh parameters</help> + </properties> + <children> + <leafNode name="timers"> + <properties> + <help>Refresh timer</help> + <valueHelp> + <format>u32:10-1800</format> + <description>Timer value in seconds</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 10-1800"/> + </constraint> + </properties> + </leafNode> + </children> +</node> +#include <include/ospf/ospf-route-map.xml.i> +<node name="timers"> + <properties> + <help>Adjust routing timers</help> + </properties> + <children> + <node name="throttle"> + <properties> + <help>Throttling adaptive timers</help> + </properties> + <children> + <node name="spf"> + <properties> + <help>OSPF SPF timers</help> + </properties> + <children> + <leafNode name="delay"> + <properties> + <help>Delay from first change received till SPF calculation (default: 200)</help> + <valueHelp> + <format>u32:0-600000</format> + <description>Delay in milliseconds</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-600000"/> + </constraint> + </properties> + <defaultValue>200</defaultValue> + </leafNode> + <leafNode name="initial-holdtime"> + <properties> + <help>Initial hold time between consecutive SPF calculations (default: 1000)</help> + <valueHelp> + <format>u32:0-600000</format> + <description>Initial hold time in milliseconds</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-600000"/> + </constraint> + </properties> + <defaultValue>1000</defaultValue> + </leafNode> + <leafNode name="max-holdtime"> + <properties> + <help>Maximum hold time (default: 10000)</help> + <valueHelp> + <format>u32:0-600000</format> + <description>Max hold time in milliseconds</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 0-600000"/> + </constraint> + </properties> + <defaultValue>10000</defaultValue> + </leafNode> + </children> + </node> + </children> + </node> + </children> +</node> +<!-- included end --> diff --git a/interface-definitions/include/ospf-interface-common.xml.i b/interface-definitions/include/ospf/ospf-interface-common.xml.i index c3493faa3..a34795cd5 100644 --- a/interface-definitions/include/ospf-interface-common.xml.i +++ b/interface-definitions/include/ospf/ospf-interface-common.xml.i @@ -1,4 +1,4 @@ -<!-- included start from ospf-interface-common.xml.i --> +<!-- included start from ospf/ospf-interface-common.xml.i --> <leafNode name="bfd"> <properties> <help>Enable Bidirectional Forwarding Detection (BFD) support</help> diff --git a/interface-definitions/include/ospf-intervals.xml.i b/interface-definitions/include/ospf/ospf-intervals.xml.i index e532bd14b..62a4a58e1 100644 --- a/interface-definitions/include/ospf-intervals.xml.i +++ b/interface-definitions/include/ospf/ospf-intervals.xml.i @@ -1,4 +1,4 @@ -<!-- included start from ospf-intervals.xml.i --> +<!-- included start from ospf/ospf-intervals.xml.i --> <leafNode name="dead-interval"> <properties> <help>Interval after which a neighbor is declared dead (default: 40)</help> diff --git a/interface-definitions/include/ospf-metric-type.xml.i b/interface-definitions/include/ospf/ospf-metric-type.xml.i index 50f11960c..b354e3661 100644 --- a/interface-definitions/include/ospf-metric-type.xml.i +++ b/interface-definitions/include/ospf/ospf-metric-type.xml.i @@ -1,4 +1,4 @@ -<!-- included start from ospf-metric-type.xml.i --> +<!-- included start from ospf/ospf-metric-type.xml.i --> <leafNode name="metric-type"> <properties> <help>OSPF metric type for default routes (default: 2)</help> diff --git a/interface-definitions/include/ospf-metric.xml.i b/interface-definitions/include/ospf/ospf-metric.xml.i index 3ce12e877..8d06bb159 100644 --- a/interface-definitions/include/ospf-metric.xml.i +++ b/interface-definitions/include/ospf/ospf-metric.xml.i @@ -1,4 +1,4 @@ -<!-- included start from ospf-metric.xml.i --> +<!-- included start from ospf/ospf-metric.xml.i --> <leafNode name="metric"> <properties> <help>OSPF default metric</help> diff --git a/interface-definitions/include/ospf-route-map.xml.i b/interface-definitions/include/ospf/ospf-route-map.xml.i index 943a477c0..943a477c0 100644 --- a/interface-definitions/include/ospf-route-map.xml.i +++ b/interface-definitions/include/ospf/ospf-route-map.xml.i diff --git a/interface-definitions/include/rip-redistribute.xml.i b/interface-definitions/include/rip-redistribute.xml.i index c7b9d2c09..123d78fb3 100644 --- a/interface-definitions/include/rip-redistribute.xml.i +++ b/interface-definitions/include/rip-redistribute.xml.i @@ -11,5 +11,5 @@ </constraint> </properties> </leafNode> -#include <include/ospf-route-map.xml.i> +#include <include/ospf/ospf-route-map.xml.i> <!-- included end --> diff --git a/interface-definitions/protocols-ospf.xml.in b/interface-definitions/protocols-ospf.xml.in index b9c9fcc04..d9c3325ec 100644 --- a/interface-definitions/protocols-ospf.xml.in +++ b/interface-definitions/protocols-ospf.xml.in @@ -1,5 +1,4 @@ <?xml version="1.0" encoding="utf-8"?> -<!-- Protocol OSPF configuration --> <interfaceDefinition> <node name="protocols"> <children> @@ -9,822 +8,7 @@ <priority>620</priority> </properties> <children> - <tagNode name="access-list"> - <properties> - <help>Access list to filter networks in routing updates</help> - <completionHelp> - <path>policy access-list</path> - </completionHelp> - <valueHelp> - <format>u32</format> - <description>Access-list number</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 0-4294967295"/> - </constraint> - </properties> - <children> - <leafNode name="export"> - <properties> - <help>Filter for outgoing routing update [REQUIRED]</help> - <completionHelp> - <list>bgp connected kernel rip static</list> - </completionHelp> - <valueHelp> - <format>bgp</format> - <description>Filter BGP routes</description> - </valueHelp> - <valueHelp> - <format>connected</format> - <description>Filter connected routes</description> - </valueHelp> - <valueHelp> - <format>isis</format> - <description>Filter IS-IS routes</description> - </valueHelp> - <valueHelp> - <format>kernel</format> - <description>Filter Kernel routes</description> - </valueHelp> - <valueHelp> - <format>rip</format> - <description>Filter RIP routes</description> - </valueHelp> - <valueHelp> - <format>static</format> - <description>Filter static routes</description> - </valueHelp> - <constraint> - <regex>^(bgp|connected|isis|kernel|rip|static)$</regex> - </constraint> - <constraintErrorMessage>Must be bgp, connected, kernel, rip, or static</constraintErrorMessage> - <multi/> - </properties> - </leafNode> - </children> - </tagNode> - <tagNode name="area"> - <properties> - <help>OSPF Area</help> - <valueHelp> - <format>u32</format> - <description>OSPF area in decimal notation</description> - </valueHelp> - <valueHelp> - <format>ipv4</format> - <description>OSPF area in dotted decimal notation</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 0-4294967295"/> - <validator name="ip-address"/> - </constraint> - </properties> - <children> - <node name="area-type"> - <properties> - <help>Area type</help> - </properties> - <children> - <leafNode name="normal"> - <properties> - <help>Normal OSPF area</help> - <valueless/> - </properties> - </leafNode> - <node name="nssa"> - <properties> - <help>Nssa OSPF area</help> - </properties> - <children> - <leafNode name="default-cost"> - <properties> - <help>Summary-default cost of nssa area</help> - <valueHelp> - <format>u32:0-16777215</format> - <description>Summary default cost</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 0-16777215"/> - </constraint> - </properties> - </leafNode> - <leafNode name="no-summary"> - <properties> - <help>Do not inject inter-area routes into stub</help> - <valueless/> - </properties> - </leafNode> - <leafNode name="translate"> - <properties> - <help>Configure NSSA-ABR (default: candidate)</help> - <completionHelp> - <list>always candidate never</list> - </completionHelp> - <valueHelp> - <format>always</format> - <description>NSSA-ABR to always translate</description> - </valueHelp> - <valueHelp> - <format>candidate</format> - <description>NSSA-ABR for translate election (default)</description> - </valueHelp> - <valueHelp> - <format>never</format> - <description>NSSA-ABR to never translate</description> - </valueHelp> - <constraint> - <regex>^(always|candidate|never)$</regex> - </constraint> - </properties> - <defaultValue>candidate</defaultValue> - </leafNode> - </children> - </node> - <node name="stub"> - <properties> - <help>Stub OSPF area</help> - </properties> - <children> - <leafNode name="default-cost"> - <properties> - <help>Summary-default cost of nssa area</help> - <valueHelp> - <format>u32:0-16777215</format> - <description>Summary default cost</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 0-16777215"/> - </constraint> - </properties> - </leafNode> - <leafNode name="no-summary"> - <properties> - <help>Do not inject inter-area routes into stub</help> - <valueless/> - </properties> - </leafNode> - </children> - </node> - </children> - </node> - <leafNode name="authentication"> - <properties> - <help>OSPF area authentication type</help> - <completionHelp> - <list>plaintext-password md5</list> - </completionHelp> - <valueHelp> - <format>plaintext-password</format> - <description>Use plain-text authentication</description> - </valueHelp> - <valueHelp> - <format>md5</format> - <description>Use md5 authentication</description> - </valueHelp> - <constraint> - <regex>^(plaintext-password|md5)$</regex> - </constraint> - </properties> - </leafNode> - <leafNode name="network"> - <properties> - <help>OSPF network [REQUIRED]</help> - <valueHelp> - <format>ipv4net</format> - <description>OSPF network [REQUIRED]</description> - </valueHelp> - <constraint> - <validator name="ipv4-prefix"/> - </constraint> - <multi/> - </properties> - </leafNode> - <tagNode name="range"> - <properties> - <help>Summarize routes matching prefix (border routers only)</help> - <valueHelp> - <format>ipv4net</format> - <description>Area range prefix</description> - </valueHelp> - <constraint> - <validator name="ipv4-prefix"/> - </constraint> - </properties> - <children> - <leafNode name="cost"> - <properties> - <help>Metric for this range</help> - <valueHelp> - <format>u32:0-16777215</format> - <description>Metric for this range</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 0-16777215"/> - </constraint> - </properties> - </leafNode> - <leafNode name="not-advertise"> - <properties> - <help>Do not advertise this range</help> - <valueless/> - </properties> - </leafNode> - <leafNode name="substitute"> - <properties> - <help>Announce area range as another prefix</help> - <valueHelp> - <format>ipv4net</format> - <description>Announce area range as another prefix</description> - </valueHelp> - <constraint> - <validator name="ipv4-prefix"/> - </constraint> - </properties> - </leafNode> - </children> - </tagNode> - <leafNode name="shortcut"> - <properties> - <help>Area shortcut mode</help> - <completionHelp> - <list>default disable enable</list> - </completionHelp> - <valueHelp> - <format>default</format> - <description>Set default</description> - </valueHelp> - <valueHelp> - <format>disable</format> - <description>Disable shortcutting mode</description> - </valueHelp> - <valueHelp> - <format>enable</format> - <description>Enable shortcutting mode</description> - </valueHelp> - <constraint> - <regex>^(default|disable|enable)$</regex> - </constraint> - </properties> - </leafNode> - <tagNode name="virtual-link"> - <properties> - <help>Virtual link</help> - <valueHelp> - <format>ipv4</format> - <description>OSPF area in dotted decimal notation</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 0-4294967295"/> - <validator name="ip-address"/> - </constraint> - </properties> - <children> - #include <include/ospf-authentication.xml.i> - #include <include/ospf-intervals.xml.i> - </children> - </tagNode> - </children> - </tagNode> - <node name="auto-cost"> - <properties> - <help>Calculate OSPF interface cost according to bandwidth (default: 100)</help> - </properties> - <children> - <leafNode name="reference-bandwidth"> - <properties> - <help>Reference bandwidth method to assign OSPF cost</help> - <valueHelp> - <format>u32:1-4294967</format> - <description>Reference bandwidth cost in Mbits/sec</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 1-4294967"/> - </constraint> - </properties> - <defaultValue>100</defaultValue> - </leafNode> - </children> - </node> - <node name="default-information"> - <properties> - <help>Control distribution of default information</help> - </properties> - <children> - <node name="originate"> - <properties> - <help>Distribute a default route</help> - </properties> - <children> - <leafNode name="always"> - <properties> - <help>Always advertise default route</help> - <valueless/> - </properties> - </leafNode> - #include <include/ospf-metric.xml.i> - #include <include/ospf-metric-type.xml.i> - #include <include/ospf-route-map.xml.i> - </children> - </node> - </children> - </node> - <leafNode name="default-metric"> - <properties> - <help>Metric of redistributed routes</help> - <valueHelp> - <format>u32:0-16777214</format> - <description>Metric of redistributed routes</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 0-16777214"/> - </constraint> - </properties> - </leafNode> - <node name="distance"> - <properties> - <help>Administrative distance</help> - </properties> - <children> - <leafNode name="global"> - <properties> - <help>OSPF administrative distance</help> - <valueHelp> - <format>u32:1-255</format> - <description>Administrative distance</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 1-255"/> - </constraint> - </properties> - </leafNode> - <node name="ospf"> - <properties> - <help>OSPF administrative distance</help> - </properties> - <children> - <leafNode name="external"> - <properties> - <help>Distance for external routes</help> - <valueHelp> - <format>u32:1-255</format> - <description>Distance for external routes</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 1-255"/> - </constraint> - </properties> - </leafNode> - <leafNode name="inter-area"> - <properties> - <help>Distance for inter-area routes</help> - <valueHelp> - <format>u32:1-255</format> - <description>Distance for inter-area routes</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 1-255"/> - </constraint> - </properties> - </leafNode> - <leafNode name="intra-area"> - <properties> - <help>Distance for intra-area routes</help> - <valueHelp> - <format>u32:1-255</format> - <description>Distance for intra-area routes</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 1-255"/> - </constraint> - </properties> - </leafNode> - </children> - </node> - </children> - </node> - <tagNode name="interface"> - <properties> - <help>Interface related configuration</help> - <completionHelp> - <script>${vyos_completion_dir}/list_interfaces.py</script> - </completionHelp> - <valueHelp> - <format>txt</format> - <description>Interface name</description> - </valueHelp> - <constraint> - <validator name="interface-name"/> - </constraint> - </properties> - <children> - #include <include/ospf-authentication.xml.i> - #include <include/ospf-intervals.xml.i> - #include <include/ospf-interface-common.xml.i> - <leafNode name="bandwidth"> - <properties> - <help>Bandwidth of interface (Megabit/sec)</help> - <valueHelp> - <format>u32:1-100000</format> - <description>Bandwidth in Megabit/sec (for calculating OSPF cost)</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 1-100000"/> - </constraint> - </properties> - </leafNode> - <leafNode name="hello-multiplier"> - <properties> - <help>Hello multiplier factor</help> - <valueHelp> - <format>u32:1-10</format> - <description>Number of Hellos to send each second</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 1-10"/> - </constraint> - </properties> - </leafNode> - <leafNode name="network"> - <properties> - <help>Network type</help> - <completionHelp> - <list>broadcast non-broadcast point-to-multipoint point-to-point</list> - </completionHelp> - <valueHelp> - <format>broadcast</format> - <description>Broadcast network type</description> - </valueHelp> - <valueHelp> - <format>non-broadcast</format> - <description>Non-broadcast network type</description> - </valueHelp> - <valueHelp> - <format>point-to-multipoint</format> - <description>Point-to-multipoint network type</description> - </valueHelp> - <valueHelp> - <format>point-to-point</format> - <description>Point-to-point network type</description> - </valueHelp> - <constraint> - <regex>^(broadcast|non-broadcast|point-to-multipoint|point-to-point)$</regex> - </constraint> - <constraintErrorMessage>Must be broadcast, non-broadcast, point-to-multipoint or point-to-point</constraintErrorMessage> - </properties> - </leafNode> - </children> - </tagNode> - <node name="log-adjacency-changes"> - <properties> - <help>Log changes in adjacency state</help> - </properties> - <children> - <leafNode name="detail"> - <properties> - <help>Log all state changes</help> - <valueless/> - </properties> - </leafNode> - </children> - </node> - <node name="max-metric"> - <properties> - <help>OSPF maximum and infinite-distance metric</help> - </properties> - <children> - <node name="router-lsa"> - <properties> - <help>Advertise own Router-LSA with infinite distance (stub router)</help> - </properties> - <children> - <leafNode name="administrative"> - <properties> - <help>Administratively apply, for an indefinite period</help> - <valueless/> - </properties> - </leafNode> - <leafNode name="on-shutdown"> - <properties> - <help>Advertise stub-router prior to full shutdown of OSPF</help> - <valueHelp> - <format>u32:5-100</format> - <description>Time (seconds) to advertise self as stub-router</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 5-100"/> - </constraint> - </properties> - </leafNode> - <leafNode name="on-startup"> - <properties> - <help>Automatically advertise stub Router-LSA on startup of OSPF</help> - <valueHelp> - <format>u32:5-86400</format> - <description>Time (seconds) to advertise self as stub-router</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 5-86400"/> - </constraint> - </properties> - </leafNode> - </children> - </node> - </children> - </node> - <node name="mpls-te"> - <properties> - <help>MultiProtocol Label Switching-Traffic Engineering (MPLS-TE) parameters</help> - </properties> - <children> - <leafNode name="enable"> - <properties> - <help>Enable MPLS-TE functionality</help> - <valueless/> - </properties> - </leafNode> - <leafNode name="router-address"> - <properties> - <help>Stable IP address of the advertising router</help> - <valueHelp> - <format>ipv4</format> - <description>Stable IP address of the advertising router</description> - </valueHelp> - <constraint> - <validator name="ipv4-address"/> - </constraint> - </properties> - <defaultValue>0.0.0.0</defaultValue> - </leafNode> - </children> - </node> - <tagNode name="neighbor"> - <properties> - <help>Specify neighbor router</help> - <valueHelp> - <format>ipv4</format> - <description>Neighbor IP address</description> - </valueHelp> - <constraint> - <validator name="ipv4-address"/> - </constraint> - </properties> - <children> - <leafNode name="poll-interval"> - <properties> - <help>Dead neighbor polling interval (default: 60)</help> - <valueHelp> - <format>u32:1-65535</format> - <description>Seconds between dead neighbor polling interval</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 1-65535"/> - </constraint> - </properties> - <defaultValue>60</defaultValue> - </leafNode> - <leafNode name="priority"> - <properties> - <help>Neighbor priority in seconds (default: 0)</help> - <valueHelp> - <format>u32:0-255</format> - <description>Neighbor priority</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 0-255"/> - </constraint> - </properties> - <defaultValue>0</defaultValue> - </leafNode> - </children> - </tagNode> - <node name="parameters"> - <properties> - <help>OSPF specific parameters</help> - </properties> - <children> - <leafNode name="abr-type"> - <properties> - <help>OSPF ABR type (default: cisco)</help> - <completionHelp> - <list>cisco ibm shortcut standard</list> - </completionHelp> - <valueHelp> - <format>cisco</format> - <description>Cisco ABR type (default)</description> - </valueHelp> - <valueHelp> - <format>ibm</format> - <description>Ibm ABR type</description> - </valueHelp> - <valueHelp> - <format>shortcut</format> - <description>Shortcut ABR type</description> - </valueHelp> - <valueHelp> - <format>standard</format> - <description>Standard ABR type</description> - </valueHelp> - <constraint> - <regex>^(cisco|ibm|shortcut|standard)$</regex> - </constraint> - </properties> - <defaultValue>cisco</defaultValue> - </leafNode> - <leafNode name="opaque-lsa"> - <properties> - <help>Enable the Opaque-LSA capability (rfc2370)</help> - <valueless/> - </properties> - </leafNode> - <leafNode name="rfc1583-compatibility"> - <properties> - <help>Enable rfc1583 criteria for handling AS external routes</help> - <valueless/> - </properties> - </leafNode> - <leafNode name="router-id"> - <properties> - <help>Override the default router identifier</help> - <valueHelp> - <format>ipv4</format> - <description>Override the default router identifier</description> - </valueHelp> - <constraint> - <validator name="ipv4-address"/> - </constraint> - </properties> - </leafNode> - </children> - </node> - #include <include/routing-passive-interface-xml.i> - <leafNode name="passive-interface-exclude"> - <properties> - <help>Interface to exclude when using 'passive-interface default'</help> - <completionHelp> - <script>${vyos_completion_dir}/list_interfaces.py</script> - </completionHelp> - <valueHelp> - <format>txt</format> - <description>Interface to exclude when suppressing routing updates</description> - </valueHelp> - <valueHelp> - <format>vlinkN</format> - <description>Virtual-link interface to exclude when suppressing routing updates</description> - </valueHelp> - <constraint> - <validator name="interface-name"/> - <regex>^(vlink[0-9]+)$</regex> - </constraint> - <multi/> - </properties> - </leafNode> - <node name="redistribute"> - <properties> - <help>Redistribute information from another routing protocol</help> - </properties> - <children> - <node name="bgp"> - <properties> - <help>Redistribute BGP routes</help> - </properties> - <children> - #include <include/ospf-metric.xml.i> - #include <include/ospf-metric-type.xml.i> - #include <include/ospf-route-map.xml.i> - </children> - </node> - <node name="connected"> - <properties> - <help>Redistribute connected routes</help> - </properties> - <children> - #include <include/ospf-metric.xml.i> - #include <include/ospf-metric-type.xml.i> - #include <include/ospf-route-map.xml.i> - </children> - </node> - <node name="isis"> - <properties> - <help>Redistribute IS-IS routes</help> - </properties> - <children> - #include <include/ospf-metric.xml.i> - #include <include/ospf-metric-type.xml.i> - #include <include/ospf-route-map.xml.i> - </children> - </node> - <node name="kernel"> - <properties> - <help>Redistribute kernel routes</help> - </properties> - <children> - #include <include/ospf-metric.xml.i> - #include <include/ospf-metric-type.xml.i> - #include <include/ospf-route-map.xml.i> - </children> - </node> - <node name="rip"> - <properties> - <help>Redistribute rip routes</help> - </properties> - <children> - #include <include/ospf-metric.xml.i> - #include <include/ospf-metric-type.xml.i> - #include <include/ospf-route-map.xml.i> - </children> - </node> - <node name="static"> - <properties> - <help>Redistribute static routes</help> - </properties> - <children> - #include <include/ospf-metric.xml.i> - #include <include/ospf-metric-type.xml.i> - #include <include/ospf-route-map.xml.i> - </children> - </node> - </children> - </node> - <node name="refresh"> - <properties> - <help>Adjust refresh parameters</help> - </properties> - <children> - <leafNode name="timers"> - <properties> - <help>Refresh timer</help> - <valueHelp> - <format>u32:10-1800</format> - <description>Timer value in seconds</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 10-1800"/> - </constraint> - </properties> - </leafNode> - </children> - </node> - #include <include/ospf-route-map.xml.i> - <node name="timers"> - <properties> - <help>Adjust routing timers</help> - </properties> - <children> - <node name="throttle"> - <properties> - <help>Throttling adaptive timers</help> - </properties> - <children> - <node name="spf"> - <properties> - <help>OSPF SPF timers</help> - </properties> - <children> - <leafNode name="delay"> - <properties> - <help>Delay from first change received till SPF calculation (default: 200)</help> - <valueHelp> - <format>u32:0-600000</format> - <description>Delay in milliseconds</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 0-600000"/> - </constraint> - </properties> - <defaultValue>200</defaultValue> - </leafNode> - <leafNode name="initial-holdtime"> - <properties> - <help>Initial hold time between consecutive SPF calculations (default: 1000)</help> - <valueHelp> - <format>u32:0-600000</format> - <description>Initial hold time in milliseconds</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 0-600000"/> - </constraint> - </properties> - <defaultValue>1000</defaultValue> - </leafNode> - <leafNode name="max-holdtime"> - <properties> - <help>Maximum hold time (default: 10000)</help> - <valueHelp> - <format>u32:0-600000</format> - <description>Max hold time in milliseconds</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 0-600000"/> - </constraint> - </properties> - <defaultValue>10000</defaultValue> - </leafNode> - </children> - </node> - </children> - </node> - </children> - </node> + #include <include/ospf/ospf-common-config.xml.i> </children> </node> </children> diff --git a/interface-definitions/protocols-ospfv3.xml.in b/interface-definitions/protocols-ospfv3.xml.in index 2559e2b03..1868ff34d 100644 --- a/interface-definitions/protocols-ospfv3.xml.in +++ b/interface-definitions/protocols-ospfv3.xml.in @@ -162,8 +162,8 @@ </constraint> </properties> <children> - #include <include/ospf-intervals.xml.i> - #include <include/ospf-interface-common.xml.i> + #include <include/ospf/ospf-intervals.xml.i> + #include <include/ospf/ospf-interface-common.xml.i> <leafNode name="ifmtu"> <properties> <help>Interface MTU</help> @@ -246,7 +246,7 @@ <help>Redistribute BGP routes</help> </properties> <children> - #include <include/ospf-route-map.xml.i> + #include <include/ospf/ospf-route-map.xml.i> </children> </node> <node name="connected"> @@ -254,7 +254,7 @@ <help>Redistribute connected routes</help> </properties> <children> - #include <include/ospf-route-map.xml.i> + #include <include/ospf/ospf-route-map.xml.i> </children> </node> <node name="kernel"> @@ -262,7 +262,7 @@ <help>Redistribute kernel routes</help> </properties> <children> - #include <include/ospf-route-map.xml.i> + #include <include/ospf/ospf-route-map.xml.i> </children> </node> <node name="ripng"> @@ -270,7 +270,7 @@ <help>Redistribute RIPNG routes</help> </properties> <children> - #include <include/ospf-route-map.xml.i> + #include <include/ospf/ospf-route-map.xml.i> </children> </node> <node name="static"> @@ -278,12 +278,12 @@ <help>Redistribute static routes</help> </properties> <children> - #include <include/ospf-route-map.xml.i> + #include <include/ospf/ospf-route-map.xml.i> </children> </node> </children> </node> - #include <include/ospf-route-map.xml.i> + #include <include/ospf/ospf-route-map.xml.i> </children> </node> </children> diff --git a/interface-definitions/protocols-ripng.xml.in b/interface-definitions/protocols-ripng.xml.in index e456c3f3b..1b77b40c8 100644 --- a/interface-definitions/protocols-ripng.xml.in +++ b/interface-definitions/protocols-ripng.xml.in @@ -137,7 +137,7 @@ <multi/> </properties> </leafNode> - #include <include/ospf-route-map.xml.i> + #include <include/ospf/ospf-route-map.xml.i> #include <include/rip-timers.xml.i> </children> </node> |