diff options
| author | Christian Breunig <christian@breunig.cc> | 2023-07-20 21:07:40 +0200 | 
|---|---|---|
| committer | Christian Breunig <christian@breunig.cc> | 2023-07-20 22:12:54 +0200 | 
| commit | 9cdfbd77f7414ea8a13ae66df41035d2f6edef32 (patch) | |
| tree | 16f26da38ea40893e37f72f4ee4e0b67a7fedc24 /interface-definitions/include | |
| parent | 8160aa1f90d93ceda2417f703344698a2e2ccbfc (diff) | |
| download | vyos-1x-9cdfbd77f7414ea8a13ae66df41035d2f6edef32.tar.gz vyos-1x-9cdfbd77f7414ea8a13ae66df41035d2f6edef32.zip | |
ospf: T5377: add graceful restart FRR feature (RFC 3623)
New CLI commands:
* set protocols ospf graceful-restart grace-period 300
* set protocols ospf graceful-restart helper planned-only
* set protocols ospf graceful-restart helper no-strict-lsa-checking
* set protocols ospf graceful-restart helper supported-grace-time 400
* set protocols ospf graceful-restart helper enable router-id 192.0.2.1
* set protocols ospf graceful-restart helper enable router-id 192.0.2.2
* set protocols ospfv3 graceful-restart grace-period 300
* set protocols ospfv3 graceful-restart helper planned-only
* set protocols ospfv3 graceful-restart helper lsa-check-disable
* set protocols ospfv3 graceful-restart helper supported-grace-time 400
* set protocols ospfv3 graceful-restart helper enable router-id 192.0.2.1
* set protocols ospfv3 graceful-restart helper enable router-id 192.0.2.2
Diffstat (limited to 'interface-definitions/include')
3 files changed, 98 insertions, 1 deletions
| diff --git a/interface-definitions/include/ospf/graceful-restart.xml.i b/interface-definitions/include/ospf/graceful-restart.xml.i new file mode 100644 index 000000000..37d9a7f13 --- /dev/null +++ b/interface-definitions/include/ospf/graceful-restart.xml.i @@ -0,0 +1,67 @@ +<!-- include start from ospf/graceful-restart.xml.i --> +<node name="graceful-restart"> +  <properties> +    <help>Graceful Restart</help> +  </properties> +  <children> +    <leafNode name="grace-period"> +      <properties> +        <help>Maximum length of the grace period</help> +        <valueHelp> +          <format>u32:1-1800</format> +          <description>Maximum length of the grace period in seconds</description> +        </valueHelp> +        <constraint> +          <validator name="numeric" argument="--range 5-1800"/> +        </constraint> +      </properties> +      <defaultValue>120</defaultValue> +    </leafNode> +    <node name="helper"> +      <properties> +        <help>OSPF graceful-restart helpers</help> +      </properties> +      <children> +        <node name="enable"> +          <properties> +            <help>Enable helper support</help> +          </properties> +          <children> +            <leafNode name="router-id"> +              <properties> +                <help>Advertising Router-ID</help> +                <valueHelp> +                  <format>ipv4</format> +                  <description>Router-ID in IP address format</description> +                </valueHelp> +                <constraint> +                  <validator name="ipv4-address"/> +                </constraint> +                <multi/> +              </properties> +            </leafNode> +          </children> +        </node> +        <leafNode name="planned-only"> +          <properties> +            <help>Supported only planned restart</help> +            <valueless/> +          </properties> +        </leafNode> +        <leafNode name="supported-grace-time"> +          <properties> +            <help>Supported grace timer</help> +            <valueHelp> +              <format>u32:10-1800</format> +              <description>Grace interval in seconds</description> +            </valueHelp> +            <constraint> +              <validator name="numeric" argument="--range 10-1800"/> +            </constraint> +          </properties> +        </leafNode> +      </children> +    </node> +  </children> +</node> +<!-- include end --> diff --git a/interface-definitions/include/ospf/protocol-common-config.xml.i b/interface-definitions/include/ospf/protocol-common-config.xml.i index 3492b873f..438093222 100644 --- a/interface-definitions/include/ospf/protocol-common-config.xml.i +++ b/interface-definitions/include/ospf/protocol-common-config.xml.i @@ -339,6 +339,21 @@      </constraint>    </properties>  </leafNode> +#include <include/ospf/graceful-restart.xml.i> +<node name="graceful-restart"> +  <children> +    <node name="helper"> +      <children> +        <leafNode name="no-strict-lsa-checking"> +          <properties> +            <help>Disable strict LSA check</help> +            <valueless/> +          </properties> +        </leafNode> +      </children> +    </node> +  </children> +</node>  <leafNode name="maximum-paths">    <properties>      <help>Maximum multiple paths (ECMP)</help> @@ -928,4 +943,4 @@      </node>    </children>  </node> -<!-- include end -->
\ No newline at end of file +<!-- include end --> diff --git a/interface-definitions/include/ospfv3/protocol-common-config.xml.i b/interface-definitions/include/ospfv3/protocol-common-config.xml.i index a7de50638..4c3ca68e1 100644 --- a/interface-definitions/include/ospfv3/protocol-common-config.xml.i +++ b/interface-definitions/include/ospfv3/protocol-common-config.xml.i @@ -107,6 +107,21 @@      </node>    </children>  </node> +#include <include/ospf/graceful-restart.xml.i> +<node name="graceful-restart"> +  <children> +    <node name="helper"> +      <children> +        <leafNode name="lsa-check-disable"> +          <properties> +            <help>Disable strict LSA check</help> +            <valueless/> +          </properties> +        </leafNode> +      </children> +    </node> +  </children> +</node>  <tagNode name="interface">    <properties>      <help>Enable routing on an IPv6 interface</help> | 
