From 952c52ef012504f17f09234ab1f7608ceb4002b1 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Thu, 11 Mar 2021 19:28:06 +0100 Subject: 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. --- .../include/ospf/ospf-authentication.xml.i | 56 ++ .../include/ospf/ospf-common-config.xml.i | 818 +++++++++++++++++++++ .../include/ospf/ospf-interface-common.xml.i | 39 + .../include/ospf/ospf-intervals.xml.i | 54 ++ .../include/ospf/ospf-metric-type.xml.i | 15 + .../include/ospf/ospf-metric.xml.i | 14 + .../include/ospf/ospf-route-map.xml.i | 14 + 7 files changed, 1010 insertions(+) create mode 100644 interface-definitions/include/ospf/ospf-authentication.xml.i create mode 100644 interface-definitions/include/ospf/ospf-common-config.xml.i create mode 100644 interface-definitions/include/ospf/ospf-interface-common.xml.i create mode 100644 interface-definitions/include/ospf/ospf-intervals.xml.i create mode 100644 interface-definitions/include/ospf/ospf-metric-type.xml.i create mode 100644 interface-definitions/include/ospf/ospf-metric.xml.i create mode 100644 interface-definitions/include/ospf/ospf-route-map.xml.i (limited to 'interface-definitions/include/ospf') diff --git a/interface-definitions/include/ospf/ospf-authentication.xml.i b/interface-definitions/include/ospf/ospf-authentication.xml.i new file mode 100644 index 000000000..5ade318de --- /dev/null +++ b/interface-definitions/include/ospf/ospf-authentication.xml.i @@ -0,0 +1,56 @@ + + + + Authentication + + + + + MD5 key id + + + + + MD5 key id + + u32:1-255 + MD5 key id + + + + + + + + + MD5 authentication type + + txt + MD5 Key (16 characters or less) + + + ^[^[:space:]]{1,16}$ + + Password must be 16 characters or less + + + + + + + + + Plain text password + + txt + Plain text password (8 characters or less) + + + ^[^[:space:]]{1,8}$ + + Password must be 8 characters or less + + + + + 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 @@ + + + + Access list to filter networks in routing updates + + policy access-list + + + u32 + Access-list number + + + + + + + + + Filter for outgoing routing update [REQUIRED] + + bgp connected kernel rip static + + + bgp + Filter BGP routes + + + connected + Filter connected routes + + + isis + Filter IS-IS routes + + + kernel + Filter Kernel routes + + + rip + Filter RIP routes + + + static + Filter static routes + + + ^(bgp|connected|isis|kernel|rip|static)$ + + Must be bgp, connected, kernel, rip, or static + + + + + + + + OSPF Area + + u32 + OSPF area in decimal notation + + + ipv4 + OSPF area in dotted decimal notation + + + + + + + + + + Area type + + + + + Normal OSPF area + + + + + + Nssa OSPF area + + + + + Summary-default cost of nssa area + + u32:0-16777215 + Summary default cost + + + + + + + + + Do not inject inter-area routes into stub + + + + + + Configure NSSA-ABR (default: candidate) + + always candidate never + + + always + NSSA-ABR to always translate + + + candidate + NSSA-ABR for translate election (default) + + + never + NSSA-ABR to never translate + + + ^(always|candidate|never)$ + + + candidate + + + + + + Stub OSPF area + + + + + Summary-default cost of nssa area + + u32:0-16777215 + Summary default cost + + + + + + + + + Do not inject inter-area routes into stub + + + + + + + + + + OSPF area authentication type + + plaintext-password md5 + + + plaintext-password + Use plain-text authentication + + + md5 + Use md5 authentication + + + ^(plaintext-password|md5)$ + + + + + + OSPF network [REQUIRED] + + ipv4net + OSPF network [REQUIRED] + + + + + + + + + + Summarize routes matching prefix (border routers only) + + ipv4net + Area range prefix + + + + + + + + + Metric for this range + + u32:0-16777215 + Metric for this range + + + + + + + + + Do not advertise this range + + + + + + Announce area range as another prefix + + ipv4net + Announce area range as another prefix + + + + + + + + + + + Area shortcut mode + + default disable enable + + + default + Set default + + + disable + Disable shortcutting mode + + + enable + Enable shortcutting mode + + + ^(default|disable|enable)$ + + + + + + Virtual link + + ipv4 + OSPF area in dotted decimal notation + + + + + + + + #include + #include + + + + + + + Calculate OSPF interface cost according to bandwidth (default: 100) + + + + + Reference bandwidth method to assign OSPF cost + + u32:1-4294967 + Reference bandwidth cost in Mbits/sec + + + + + + 100 + + + + + + Control distribution of default information + + + + + Distribute a default route + + + + + Always advertise default route + + + + #include + #include + #include + + + + + + + Metric of redistributed routes + + u32:0-16777214 + Metric of redistributed routes + + + + + + + + + Administrative distance + + + + + OSPF administrative distance + + u32:1-255 + Administrative distance + + + + + + + + + OSPF administrative distance + + + + + Distance for external routes + + u32:1-255 + Distance for external routes + + + + + + + + + Distance for inter-area routes + + u32:1-255 + Distance for inter-area routes + + + + + + + + + Distance for intra-area routes + + u32:1-255 + Distance for intra-area routes + + + + + + + + + + + + + Interface related configuration + + + + + txt + Interface name + + + + + + + #include + #include + #include + + + Bandwidth of interface (Megabit/sec) + + u32:1-100000 + Bandwidth in Megabit/sec (for calculating OSPF cost) + + + + + + + + + Hello multiplier factor + + u32:1-10 + Number of Hellos to send each second + + + + + + + + + Network type + + broadcast non-broadcast point-to-multipoint point-to-point + + + broadcast + Broadcast network type + + + non-broadcast + Non-broadcast network type + + + point-to-multipoint + Point-to-multipoint network type + + + point-to-point + Point-to-point network type + + + ^(broadcast|non-broadcast|point-to-multipoint|point-to-point)$ + + Must be broadcast, non-broadcast, point-to-multipoint or point-to-point + + + + + + + Log changes in adjacency state + + + + + Log all state changes + + + + + + + + OSPF maximum and infinite-distance metric + + + + + Advertise own Router-LSA with infinite distance (stub router) + + + + + Administratively apply, for an indefinite period + + + + + + Advertise stub-router prior to full shutdown of OSPF + + u32:5-100 + Time (seconds) to advertise self as stub-router + + + + + + + + + Automatically advertise stub Router-LSA on startup of OSPF + + u32:5-86400 + Time (seconds) to advertise self as stub-router + + + + + + + + + + + + + MultiProtocol Label Switching-Traffic Engineering (MPLS-TE) parameters + + + + + Enable MPLS-TE functionality + + + + + + Stable IP address of the advertising router + + ipv4 + Stable IP address of the advertising router + + + + + + 0.0.0.0 + + + + + + Specify neighbor router + + ipv4 + Neighbor IP address + + + + + + + + + Dead neighbor polling interval (default: 60) + + u32:1-65535 + Seconds between dead neighbor polling interval + + + + + + 60 + + + + Neighbor priority in seconds (default: 0) + + u32:0-255 + Neighbor priority + + + + + + 0 + + + + + + OSPF specific parameters + + + + + OSPF ABR type (default: cisco) + + cisco ibm shortcut standard + + + cisco + Cisco ABR type (default) + + + ibm + Ibm ABR type + + + shortcut + Shortcut ABR type + + + standard + Standard ABR type + + + ^(cisco|ibm|shortcut|standard)$ + + + cisco + + + + Enable the Opaque-LSA capability (rfc2370) + + + + + + Enable rfc1583 criteria for handling AS external routes + + + + + + Override the default router identifier + + ipv4 + Override the default router identifier + + + + + + + + +#include + + + Interface to exclude when using 'passive-interface default' + + + + + txt + Interface to exclude when suppressing routing updates + + + vlinkN + Virtual-link interface to exclude when suppressing routing updates + + + + ^(vlink[0-9]+)$ + + + + + + + Redistribute information from another routing protocol + + + + + Redistribute BGP routes + + + #include + #include + #include + + + + + Redistribute connected routes + + + #include + #include + #include + + + + + Redistribute IS-IS routes + + + #include + #include + #include + + + + + Redistribute kernel routes + + + #include + #include + #include + + + + + Redistribute rip routes + + + #include + #include + #include + + + + + Redistribute static routes + + + #include + #include + #include + + + + + + + Adjust refresh parameters + + + + + Refresh timer + + u32:10-1800 + Timer value in seconds + + + + + + + + +#include + + + Adjust routing timers + + + + + Throttling adaptive timers + + + + + OSPF SPF timers + + + + + Delay from first change received till SPF calculation (default: 200) + + u32:0-600000 + Delay in milliseconds + + + + + + 200 + + + + Initial hold time between consecutive SPF calculations (default: 1000) + + u32:0-600000 + Initial hold time in milliseconds + + + + + + 1000 + + + + Maximum hold time (default: 10000) + + u32:0-600000 + Max hold time in milliseconds + + + + + + 10000 + + + + + + + + diff --git a/interface-definitions/include/ospf/ospf-interface-common.xml.i b/interface-definitions/include/ospf/ospf-interface-common.xml.i new file mode 100644 index 000000000..a34795cd5 --- /dev/null +++ b/interface-definitions/include/ospf/ospf-interface-common.xml.i @@ -0,0 +1,39 @@ + + + + Enable Bidirectional Forwarding Detection (BFD) support + + + + + + Interface cost + + u32:1-65535 + OSPF interface cost + + + + + + + + + Disable Maximum Transmission Unit (MTU) mismatch detection + + + + + + Router priority (default: 1) + + u32:0-255 + OSPF router priority cost + + + + + + 1 + + diff --git a/interface-definitions/include/ospf/ospf-intervals.xml.i b/interface-definitions/include/ospf/ospf-intervals.xml.i new file mode 100644 index 000000000..62a4a58e1 --- /dev/null +++ b/interface-definitions/include/ospf/ospf-intervals.xml.i @@ -0,0 +1,54 @@ + + + + Interval after which a neighbor is declared dead (default: 40) + + u32:1-65535 + Neighbor dead interval (seconds) + + + + + + 40 + + + + Interval between hello packets (default: 10) + + u32:1-65535 + Hello interval (seconds) + + + + + + 10 + + + + Interval between retransmitting lost link state advertisements (default: 5) + + u32:1-65535 + Retransmit interval (seconds) + + + + + + 5 + + + + Link state transmit delay (default: 1) + + u32:1-65535 + Link state transmit delay (seconds) + + + + + + 1 + + diff --git a/interface-definitions/include/ospf/ospf-metric-type.xml.i b/interface-definitions/include/ospf/ospf-metric-type.xml.i new file mode 100644 index 000000000..b354e3661 --- /dev/null +++ b/interface-definitions/include/ospf/ospf-metric-type.xml.i @@ -0,0 +1,15 @@ + + + + OSPF metric type for default routes (default: 2) + + u32:1-2 + Metric type for default routes + + + + + + 2 + + diff --git a/interface-definitions/include/ospf/ospf-metric.xml.i b/interface-definitions/include/ospf/ospf-metric.xml.i new file mode 100644 index 000000000..8d06bb159 --- /dev/null +++ b/interface-definitions/include/ospf/ospf-metric.xml.i @@ -0,0 +1,14 @@ + + + + OSPF default metric + + u32:0-16777214 + Default metric + + + + + + + diff --git a/interface-definitions/include/ospf/ospf-route-map.xml.i b/interface-definitions/include/ospf/ospf-route-map.xml.i new file mode 100644 index 000000000..943a477c0 --- /dev/null +++ b/interface-definitions/include/ospf/ospf-route-map.xml.i @@ -0,0 +1,14 @@ + + + + Route map reference + + txt + Route map reference + + + policy route-map + + + + -- cgit v1.2.3