This module contains a collection of YANG definitions for Cisco IOS-XR router-ospfv3 package configuration. This YANG module au...
Version: 2021-03-11
module Cisco-IOS-XR-um-router-ospfv3-cfg { yang-version 1; namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-ospfv3-cfg"; prefix um-router-ospfv3-cfg; import cisco-semver { prefix semver; } import Cisco-IOS-XR-types { prefix xr; } import ietf-inet-types { prefix inet; } import Cisco-IOS-XR-um-snmp-server-cfg { prefix a1; } organization "Cisco Systems, Inc."; contact "Cisco Systems, Inc. Customer Service Postal: 170 West Tasman Drive San Jose, CA 95134 Tel: +1 800 553-NETS E-mail: cs-yang@cisco.com"; description "This module contains a collection of YANG definitions for Cisco IOS-XR router-ospfv3 package configuration. This YANG module augments the modules with configuration data. Copyright (c) 2019-2021 by Cisco Systems, Inc. All rights reserved."; revision "2021-03-11" { description "Added container strict-lsa-checking under graceful-restart 2021-02-12 Added leaf disable under (1) area/database-filter, (2) area/interface/database-filter (3) vrf/area/database-filter (4) vrf/area/interface/database-filter 2021-01-20 Added leaf route-policy under default-information"; } revision "2020-05-26" { description "(1) Added container advertise and its child nodes under area/interface (2) Removed container include-stub from stub-router/router-lsa/r-bit|v6-bit 2020-04-14 Moved translate out of nssa into the new node nssa-translate"; } revision "2019-06-10" { description "Establish semantic version baseline."; } revision "2019-03-30" { description "Initial version"; } semver:module-version "2.1.0"; semver:module-version "2.0.0"; semver:module-version "1.0.0"; container router { description "Enable a routing process"; container ospfv3 { description "IPv6 Open Shortest Path First protocol (OSPFv3)"; container processes { description "IPv6 Open Shortest Path First protocol (OSPFv3)"; list process { key "process-name"; description "IPv6 Open Shortest Path First protocol (OSPFv3)"; leaf process-name { type xr:Cisco-ios-xr-string { length "1..32"; } description "IPv6 Open Shortest Path First protocol (OSPFv3)"; } container capability { description "Enable specific OSPFv3 feature"; container type7 { description "NSSA capability"; container prefer { presence "Indicates a prefer node is configured."; description "Prefer type7 externals over type5"; } // container prefer container translate { description "Translate type7 to type5"; container zero-forward-addr { presence "Indicates a zero-forward-addr node is configured."; description "Translate Type 7 LSAs without forwarding address"; } // container zero-forward-addr } // container translate } // container type7 } // container capability container areas { description "Enter the OSPFv3 area configuration submode"; list area { key "area-id"; description "Enter the OSPFv3 area configuration submode"; leaf area-id { type xr:Ospf-area-id; description "Enter the OSPFv3 area configuration submode"; } leaf default-cost { type uint32 { range "0..16777215"; } description "Set the summary default-cost of a NSSA/stub area"; } container nssa { presence "Indicates a nssa node is configured."; description "Specify area as an NSSA area"; container no-redistribution { presence "Indicates a no-redistribution node is configured."; description "No redistribution into this NSSA area"; } // container no-redistribution container default-information-originate { presence "Indicates a default-information-originate node is configured."; description "Originate Type 7 default into NSSA area"; leaf metric { type uint32 { range "0..16777214"; } description "OSPFv3 default metric"; } leaf metric-type { type uint32 { range "1..2"; } description "OSPFv3 metric type for default routes"; } } // container default-information-originate container no-summary { presence "Indicates a no-summary node is configured."; description "Do not send summary LSA into NSSA"; } // container no-summary } // container nssa container nssa-translate { description "Translate NSSA LSA"; container type7 { description "Translate type 7 to type 5"; container always { presence "Indicates a always node is configured."; description "Always translate NSSA LSAs on this ABR"; } // container always } // container type7 } // container nssa-translate container ranges { description "Summarize inter-area routes matching prefix/length"; list range { must "advertise or not-advertise"; key "prefix prefix-length"; description "Summarize inter-area routes matching prefix/length"; leaf prefix { type inet:ipv6-address-no-zone; description "Summarize inter-area routes matching prefix/length"; } leaf prefix-length { type xr:Ipv6-prefix-length; description "Summarize inter-area routes matching prefix/length"; } leaf cost { type uint32 { range "1..16777214"; } description "User specified metric for this range"; } container advertise { presence "Indicates a advertise node is configured."; description "Advertise this range (default)"; } // container advertise container not-advertise { presence "Indicates a not-advertise node is configured."; description "Do not advertise this range"; } // container not-advertise } // list range } // container ranges container stub { presence "Indicates a stub node is configured."; description "Specify area as a stub area"; container no-summary { presence "Indicates a no-summary node is configured."; description "Do not send summary LSAs into stub area"; } // container no-summary } // container stub container interfaces { description "Enable OSPFv3 on an interface"; list interface { key "interface-name"; description "Enable OSPFv3 on an interface"; leaf interface-name { type xr:Interface-name; description "Enable OSPFv3 on an interface"; } container authentication { must "disable or ipsec/spi"; presence "Indicates a authentication node is configured."; description "Authenticate OSPFv3 packets"; container disable { must "not(../ipsec/spi)"; presence "Indicates a disable node is configured."; description "Do not authenticate OSPFv3 packets"; } // container disable container ipsec { description "Use IPSec AH authentication"; container spi { must "not(../../disable) and ((md5/password/encrypted and not(sha1/password/encrypted)) or (sha1/password/encrypted and not(md5/password/encrypted)))"; presence "Indicates a spi node is configured."; description "Specify the Security Parameter Index value"; leaf spi-index { type uint32 { range "256..4294967295"; } mandatory true; description "Specify the Security Parameter Index value"; } container md5 { description "Use the MD5 algorithim"; container password { description "Enter MD5 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; description "Encrypted key"; } } // container password } // container md5 container sha1 { description "Use the SHA1 algorithim"; container password { description "Enter SHA1 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; description "Encrypted key"; } } // container password } // container sha1 } // container spi } // container ipsec } // container authentication container encryption { must "disable or ipsec/spi"; presence "Indicates a encryption node is configured."; description "Encrypt and authenticate OSPFv3 packets"; container disable { must "not(../ipsec/spi)"; presence "Indicates a disable node is configured."; description "Do not encrypt OSPFv3 packets"; } // container disable container ipsec { description "Use IPSec ESP encryption and authentication"; container spi { must "not(../../disable) and (esp/null or esp/des/password/encrypted or esp/triple-des/password/encrypted or esp/aes/password/encrypted or esp/aes/aes-192/password/encrypted or esp/aes/aes-256/password/encrypted)"; presence "Indicates a spi node is configured."; description "Specify the Security Parameter Index value"; leaf spi-index { type uint32 { range "256..4294967295"; } mandatory true; description "Specify the Security Parameter Index value"; } container esp { description "Specify encryption parameters"; container null { must "../authentication and not(../des/password/encrypted or ../triple-des/password/encrypted or ../aes/password/encrypted or ../aes/aes-192/password/encrypted or ../aes/aes-256/password/encrypted)"; presence "Indicates a null node is configured."; description "Use NULL encryption"; } // container null container des { description "Use the DES algorithim. Encrypted DES key (34 hex digits)"; container password { description "Enter DES key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../null or ../../../triple-des/password/encrypted or ../../../aes/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; } } // container password } // container des container triple-des { description "Use the triple DES algorithim. Encrypted 3DES key (48 hex digits)"; container password { description "Enter 3DES key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../null or ../../../des/password/encrypted or ../../../aes/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; } } // container password } // container triple-des container aes { description "Use the AES algorithim. Encrypted AES key (32 hex digits)"; container password { description "Enter AES key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../null or ../../../des/password/encrypted or ../../../triple-des/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; } } // container password container aes-192 { description "Use the 192-bit AES algorithim. Encrypted AES-192 key (48 hex digits)"; container password { description "Enter AES-192 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../../null or ../../../../des/password/encrypted or ../../../../triple-des/password/encrypted or ../../../../aes/password/encrypted or ../../../../aes/aes-256/password/encrypted)"; } } // container password } // container aes-192 container aes-256 { description "Use the 256-bit AES algorithim. Encrypted AES-256 key (64 hex digits)"; container password { description "Enter AES-256 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../../null or ../../../../des/password/encrypted or ../../../../triple-des/password/encrypted or ../../../../aes/password/encrypted or ../../../../aes/aes-192/password/encrypted)"; } } // container password } // container aes-256 } // container aes container authentication { must "(../null or ../des/password/encrypted or ../triple-des/password/encrypted or ../aes/password/encrypted or ../aes/aes-192/password/encrypted or ../aes/aes-256/password/encrypted) and ((md5/password/encrypted and not(sha1/password/encrypted or null)) or (sha1/password/encrypted and not(md5/password/encrypted or null)) or (null and not(md5/password/encrypted or sha1/password/encrypted)))"; presence "Indicates a authentication node is configured."; description "Specify authentication parameters"; container md5 { description "Use the MD5 algorithim. Encrypted MD5 key (32 hex digits)"; container password { description "Enter MD5 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; description "Enter key in encrypted form"; } } // container password } // container md5 container sha1 { description "Use the SHA1 algorithim. Encrypted SHA1 key (40 hex digits)"; container password { description "Enter SHA1 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; description "Enter key in encrypted form"; } } // container password } // container sha1 container null { must "not(../../null)"; presence "Indicates a null node is configured."; description "Use NULL authentication"; } // container null } // container authentication } // container esp } // container spi } // container ipsec } // container encryption container network { description "Network type"; container broadcast { presence "Indicates a broadcast node is configured."; description "Specify OSPFv3 broadcast multi-access network"; } // container broadcast container non-broadcast { presence "Indicates a non-broadcast node is configured."; description "Specify OSPFv3 NBMA network"; } // container non-broadcast container point-to-point { presence "Indicates a point-to-point node is configured."; description "Specify OSPFv3 point-to-point network"; } // container point-to-point container point-to-multipoint { presence "Indicates a point-to-multipoint node is configured."; description "Specify OSPFv3 point-to-multipoint network"; } // container point-to-multipoint } // container network container cost { description "Interface cost"; leaf cost { type uint32 { range "0..65535"; } description "Cost"; } } // container cost leaf hello-interval { type uint32 { range "1..65535"; } description "Time between HELLO packets"; } leaf dead-interval { type uint32 { range "1..65535"; } description "Interval after which a neighbor is declared dead"; } leaf priority { type uint32 { range "0..255"; } description "Router priority"; } leaf retransmit-interval { type uint32 { range "1..65535"; } description "Delay between LSA retransmissions"; } leaf transmit-delay { type uint32 { range "1..65535"; } description "Link state transmit delay"; } container flood-reduction { presence "Indicates a flood-reduction node is configured."; description "Enable/Disable flood reduction"; container disable { presence "Indicates a disable node is configured."; description "Disable flood reduction"; } // container disable } // container flood-reduction container demand-circuit { presence "Indicates a demand-circuit node is configured."; description "Enable/Disable demand circuit operation"; container disable { presence "Indicates a disable node is configured."; description "Disable demand circuit operation"; } // container disable } // container demand-circuit container mtu-ignore { presence "Indicates a mtu-ignore node is configured."; description "Enable/Disable ignoring of MTU in DBD packets"; container disable { presence "Indicates a disable node is configured."; description "Validate the MTU in DBD packets"; } // container disable } // container mtu-ignore leaf instance { type uint32 { range "0..255"; } description "Instance ID"; } container database-filter { description "Filter LSAs during synchronization and flooding"; container all { description "Filter all LSA"; container out { presence "Indicates a out node is configured."; description "Outgoing LSA"; container disable { presence "Indicates a disable node is configured."; description "Disable filtering"; } // container disable } // container out } // container all } // container database-filter container passive { presence "Indicates a passive node is configured."; description "Enable/Disable routing updates on an interface"; container disable { presence "Indicates a disable node is configured."; description "Disable routing updates on an interface"; } // container disable } // container passive container distribute-list { description "Filter prefixes to/from RIB"; leaf prefix-list { type string { length "1..1024"; } description "Filter prefixes based on an IPv6 prefix-list"; } } // container distribute-list leaf packet-size { type uint32 { range "256..10000"; } description "Limit size of OSPFv3 packets"; } container fast-reroute { description "IP Fast Reroute"; container per-link { description "Per-link Computation"; container enable { must "not(../../per-prefix/enable)"; presence "Indicates a per-link node is configured."; description "Enable per-link Computation"; } // container enable container exclude { description "Per-link LFA exclusion information"; container interfaces { description "Exclude an interface from Per-link LFA"; list interface { key "interface-name"; description "Exclude an interface from Per-link LFA"; leaf interface-name { type xr:Interface-name; description "Exclude an interface from Per-link LFA"; } } // list interface } // container interfaces } // container exclude container lfa-candidate { description "FRR LFA candidate information"; container interfaces { description "Include an interface to LFA candidate in computation"; list interface { key "interface-name"; description "Include an interface to LFA candidate in computation"; leaf interface-name { type xr:Interface-name; description "Include an interface to LFA candidate in computation"; } } // list interface } // container interfaces } // container lfa-candidate container use-candidate-only { description "Enable/Disable backup selection from candidate-list only"; container enable { must "not(../disable)"; presence "Indicates a enable node is configured."; description "Enable backup selection from candidate-list only"; } // container enable container disable { must "not(../enable)"; presence "Indicates a disable node is configured."; description "Disable backup selection from candidate-list only"; } // container disable } // container use-candidate-only } // container per-link container per-prefix { description "Per-prefix Computation"; container enable { must "not(../../per-link/enable)"; presence "Indicates a per-prefix node is configured."; description "Enable per-prefix Computation"; } // container enable container exclude { description "Per-prefix LFA exclusion information"; container interfaces { description "Exclude an interface from Per-prefix LFA"; list interface { key "interface-name"; description "Exclude an interface from Per-prefix LFA"; leaf interface-name { type xr:Interface-name; description "Exclude an interface from Per-prefix LFA"; } } // list interface } // container interfaces } // container exclude container lfa-candidate { description "FRR LFA candidate information"; container interfaces { description "Include an interface to LFA candidate in computation"; list interface { key "interface-name"; description "Include an interface to LFA candidate in computation"; leaf interface-name { type xr:Interface-name; description "Include an interface to LFA candidate in computation"; } } // list interface } // container interfaces } // container lfa-candidate container use-candidate-only { description "Enable/Disable backup selection from candidate-list only"; container enable { must "not(../disable)"; presence "Indicates a enable node is configured."; description "Enable backup selection from candidate-list only"; } // container enable container disable { must "not(../enable)"; presence "Indicates a disable node is configured."; description "Disable backup selection from candidate-list only"; } // container disable } // container use-candidate-only } // container per-prefix container disable { presence "Indicates a disable node is configured."; description "Disable IP Fast Reroute"; } // container disable } // container fast-reroute container mpls { description "Configure MPLS routing protocol parameters"; container ldp { description "Configure LDP parameters"; container sync { presence "Indicates a sync node is configured."; description "Enable LDP IGP synchronization on interfaces"; container disable { presence "Indicates a disable node is configured."; description "Disable MPLS LDP sync"; } // container disable } // container sync } // container ldp } // container mpls container prefix-suppression { presence "Indicates a prefix-suppression node is configured."; description "Hide all transit addresses on this interface"; container disable { presence "Indicates a disable node is configured."; description "Disable prefix suppression on this interface"; } // container disable } // container prefix-suppression container bfd { description "Configure BFD parameters"; container fast-detect { presence "Indicates a fast-detect node is configured."; description "Enable Fast detection"; container strict-mode { presence "Indicates a strict-mode node is configured."; description "Hold down neighbor session until BFD session is up"; } // container strict-mode container disable { presence "Indicates a disable node is configured."; description "Prevent bfd settings from being inherited from the parent"; } // container disable } // container fast-detect leaf minimum-interval { type uint32 { range "3..30000"; } description "Minimum interval"; } leaf multiplier { type uint32 { range "2..50"; } description "Detect multiplier"; } } // container bfd container advertise { description "Conditionally advertise"; container prefix { description "Conditionally advertise this prefix"; leaf route-policy { type xr:Route-policy-name; description "Specify the route-policy for conditional advertising"; } } // container prefix } // container advertise container neighbors { description "Specify a neighbor router"; list neighbor { key "neighbor-address"; description "Specify a neighbor router"; leaf neighbor-address { type inet:ipv6-address-no-zone; description "Specify a neighbor router"; } leaf zone { type string; default "0"; description "IPv6 address zone"; } leaf priority { type uint32 { range "0..255"; } description "OSPFv3 priority of non-broadcast neighbor"; } leaf poll-interval { type uint32 { range "0..65535"; } description "OSPFv3 dead-router polling interval"; } leaf cost { type uint32 { range "1..65535"; } description "OSPFv3 cost for point-to-multipoint neighbor"; } container database-filter { description "Filter OSPFv3 LSA during synchronization and flooding for point-to-multipoint neighbor"; container all { description "Filter all LSA"; container out { presence "Indicates a out node is configured."; description "Outgoing LSA"; } // container out } // container all } // container database-filter } // list neighbor } // container neighbors } // list interface } // container interfaces container authentication { must "disable or ipsec/spi"; presence "Indicates a authentication node is configured."; description "Authenticate OSPFv3 packets"; container disable { must "not(../ipsec/spi)"; presence "Indicates a disable node is configured."; description "Do not authenticate OSPFv3 packets"; } // container disable container ipsec { description "Use IPSec AH authentication"; container spi { must "not(../../disable) and ((md5/password/encrypted and not(sha1/password/encrypted)) or (sha1/password/encrypted and not(md5/password/encrypted)))"; presence "Indicates a spi node is configured."; description "Specify the Security Parameter Index value"; leaf spi-index { type uint32 { range "256..4294967295"; } mandatory true; description "Specify the Security Parameter Index value"; } container md5 { description "Use the MD5 algorithim"; container password { description "Enter MD5 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; description "Encrypted key"; } } // container password } // container md5 container sha1 { description "Use the SHA1 algorithim"; container password { description "Enter SHA1 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; description "Encrypted key"; } } // container password } // container sha1 } // container spi } // container ipsec } // container authentication container encryption { must "disable or ipsec/spi"; presence "Indicates a encryption node is configured."; description "Encrypt and authenticate OSPFv3 packets"; container disable { must "not(../ipsec/spi)"; presence "Indicates a disable node is configured."; description "Do not encrypt OSPFv3 packets"; } // container disable container ipsec { description "Use IPSec ESP encryption and authentication"; container spi { must "not(../../disable) and (esp/null or esp/des/password/encrypted or esp/triple-des/password/encrypted or esp/aes/password/encrypted or esp/aes/aes-192/password/encrypted or esp/aes/aes-256/password/encrypted)"; presence "Indicates a spi node is configured."; description "Specify the Security Parameter Index value"; leaf spi-index { type uint32 { range "256..4294967295"; } mandatory true; description "Specify the Security Parameter Index value"; } container esp { description "Specify encryption parameters"; container null { must "../authentication and not(../des/password/encrypted or ../triple-des/password/encrypted or ../aes/password/encrypted or ../aes/aes-192/password/encrypted or ../aes/aes-256/password/encrypted)"; presence "Indicates a null node is configured."; description "Use NULL encryption"; } // container null container des { description "Use the DES algorithim. Encrypted DES key (34 hex digits)"; container password { description "Enter DES key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../null or ../../../triple-des/password/encrypted or ../../../aes/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; } } // container password } // container des container triple-des { description "Use the triple DES algorithim. Encrypted 3DES key (48 hex digits)"; container password { description "Enter 3DES key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../null or ../../../des/password/encrypted or ../../../aes/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; } } // container password } // container triple-des container aes { description "Use the AES algorithim. Encrypted AES key (32 hex digits)"; container password { description "Enter AES key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../null or ../../../des/password/encrypted or ../../../triple-des/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; } } // container password container aes-192 { description "Use the 192-bit AES algorithim. Encrypted AES-192 key (48 hex digits)"; container password { description "Enter AES-192 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../../null or ../../../../des/password/encrypted or ../../../../triple-des/password/encrypted or ../../../../aes/password/encrypted or ../../../../aes/aes-256/password/encrypted)"; } } // container password } // container aes-192 container aes-256 { description "Use the 256-bit AES algorithim. Encrypted AES-256 key (64 hex digits)"; container password { description "Enter AES-256 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../../null or ../../../../des/password/encrypted or ../../../../triple-des/password/encrypted or ../../../../aes/password/encrypted or ../../../../aes/aes-192/password/encrypted)"; } } // container password } // container aes-256 } // container aes container authentication { must "(../null or ../des/password/encrypted or ../triple-des/password/encrypted or ../aes/password/encrypted or ../aes/aes-192/password/encrypted or ../aes/aes-256/password/encrypted) and ((md5/password/encrypted and not(sha1/password/encrypted or null)) or (sha1/password/encrypted and not(md5/password/encrypted or null)) or (null and not(md5/password/encrypted or sha1/password/encrypted)))"; presence "Indicates a authentication node is configured."; description "Specify authentication parameters"; container md5 { description "Use the MD5 algorithim. Encrypted MD5 key (32 hex digits)"; container password { description "Enter MD5 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; description "Enter key in encrypted form"; } } // container password } // container md5 container sha1 { description "Use the SHA1 algorithim. Encrypted SHA1 key (40 hex digits)"; container password { description "Enter SHA1 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; description "Enter key in encrypted form"; } } // container password } // container sha1 container null { must "not(../../null)"; presence "Indicates a null node is configured."; description "Use NULL authentication"; } // container null } // container authentication } // container esp } // container spi } // container ipsec } // container encryption container network { description "Network type"; container broadcast { presence "Indicates a broadcast node is configured."; description "Specify OSPFv3 broadcast multi-access network"; } // container broadcast container non-broadcast { presence "Indicates a non-broadcast node is configured."; description "Specify OSPFv3 NBMA network"; } // container non-broadcast container point-to-point { presence "Indicates a point-to-point node is configured."; description "Specify OSPFv3 point-to-point network"; } // container point-to-point container point-to-multipoint { presence "Indicates a point-to-multipoint node is configured."; description "Specify OSPFv3 point-to-multipoint network"; } // container point-to-multipoint } // container network leaf cost { type uint32 { range "1..65535"; } description "Interface cost"; } leaf hello-interval { type uint32 { range "1..65535"; } description "Time between HELLO packets"; } leaf dead-interval { type uint32 { range "1..65535"; } description "Interval after which a neighbor is declared dead"; } leaf priority { type uint32 { range "0..255"; } description "Router priority"; } leaf retransmit-interval { type uint32 { range "1..65535"; } description "Delay between LSA retransmissions"; } leaf transmit-delay { type uint32 { range "1..65535"; } description "Link state transmit delay"; } container flood-reduction { presence "Indicates a flood-reduction node is configured."; description "Enable/Disable flood reduction"; container disable { presence "Indicates a disable node is configured."; description "Disable flood reduction"; } // container disable } // container flood-reduction container demand-circuit { presence "Indicates a demand-circuit node is configured."; description "Enable/Disable demand circuit operation"; container disable { presence "Indicates a disable node is configured."; description "Disable demand circuit operation"; } // container disable } // container demand-circuit container mtu-ignore { presence "Indicates a mtu-ignore node is configured."; description "Enable/Disable ignoring of MTU in DBD packets"; container disable { presence "Indicates a disable node is configured."; description "Validate the MTU in DBD packets"; } // container disable } // container mtu-ignore leaf instance { type uint32 { range "0..255"; } description "Instance ID"; } container database-filter { description "Filter LSAs during synchronization and flooding"; container all { description "Filter all LSA"; container out { presence "Indicates a out node is configured."; description "Outgoing LSA"; container disable { presence "Indicates a disable node is configured."; description "Disable filtering"; } // container disable } // container out } // container all } // container database-filter container passive { presence "Indicates a passive node is configured."; description "Enable/Disable routing updates on an interface"; container disable { presence "Indicates a disable node is configured."; description "Disable routing updates on an interface"; } // container disable } // container passive container distribute-list { description "Filter prefixes to/from RIB"; leaf prefix-list { type string { length "1..1024"; } description "Filter prefixes based on an IPv6 prefix-list"; } } // container distribute-list leaf packet-size { type uint32 { range "256..10000"; } description "Limit size of OSPFv3 packets"; } container fast-reroute { description "IP Fast Reroute"; container per-link { description "Per-link Computation"; container enable { must "not(../../per-prefix/enable)"; presence "Indicates a per-link node is configured."; description "Enable per-link Computation"; } // container enable container exclude { description "Per-link LFA exclusion information"; container interfaces { description "Exclude an interface from Per-link LFA"; list interface { key "interface-name"; description "Exclude an interface from Per-link LFA"; leaf interface-name { type xr:Interface-name; description "Exclude an interface from Per-link LFA"; } } // list interface } // container interfaces } // container exclude container lfa-candidate { description "FRR LFA candidate information"; container interfaces { description "Include an interface to LFA candidate in computation"; list interface { key "interface-name"; description "Include an interface to LFA candidate in computation"; leaf interface-name { type xr:Interface-name; description "Include an interface to LFA candidate in computation"; } } // list interface } // container interfaces } // container lfa-candidate container use-candidate-only { description "Enable/Disable backup selection from candidate-list only"; container enable { must "not(../disable)"; presence "Indicates a enable node is configured."; description "Enable backup selection from candidate-list only"; } // container enable container disable { must "not(../enable)"; presence "Indicates a disable node is configured."; description "Disable backup selection from candidate-list only"; } // container disable } // container use-candidate-only } // container per-link container per-prefix { description "Per-prefix Computation"; container enable { must "not(../../per-link/enable)"; presence "Indicates a per-prefix node is configured."; description "Enable per-prefix Computation"; } // container enable container exclude { description "Per-prefix LFA exclusion information"; container interfaces { description "Exclude an interface from Per-prefix LFA"; list interface { key "interface-name"; description "Exclude an interface from Per-prefix LFA"; leaf interface-name { type xr:Interface-name; description "Exclude an interface from Per-prefix LFA"; } } // list interface } // container interfaces } // container exclude container lfa-candidate { description "FRR LFA candidate information"; container interfaces { description "Include an interface to LFA candidate in computation"; list interface { key "interface-name"; description "Include an interface to LFA candidate in computation"; leaf interface-name { type xr:Interface-name; description "Include an interface to LFA candidate in computation"; } } // list interface } // container interfaces } // container lfa-candidate container use-candidate-only { description "Enable/Disable backup selection from candidate-list only"; container enable { must "not(../disable)"; presence "Indicates a enable node is configured."; description "Enable backup selection from candidate-list only"; } // container enable container disable { must "not(../enable)"; presence "Indicates a disable node is configured."; description "Disable backup selection from candidate-list only"; } // container disable } // container use-candidate-only } // container per-prefix container disable { presence "Indicates a disable node is configured."; description "Disable IP Fast Reroute"; } // container disable } // container fast-reroute container prefix-suppression { presence "Indicates a prefix-suppression node is configured."; description "Hide all transit addresses on this interface"; container disable { presence "Indicates a disable node is configured."; description "Disable prefix suppression on this interface"; } // container disable } // container prefix-suppression container bfd { description "Configure BFD parameters"; container fast-detect { presence "Indicates a fast-detect node is configured."; description "Enable Fast detection"; container strict-mode { presence "Indicates a strict-mode node is configured."; description "Hold down neighbor session until BFD session is up"; } // container strict-mode container disable { presence "Indicates a disable node is configured."; description "Prevent bfd settings from being inherited from the parent"; } // container disable } // container fast-detect leaf minimum-interval { type uint32 { range "3..30000"; } description "Minimum interval"; } leaf multiplier { type uint32 { range "2..50"; } description "Detect multiplier"; } } // container bfd container mpls { description "Configure MPLS routing protocol parameters"; container ldp { description "Configure LDP parameters"; container sync { presence "Indicates a sync node is configured."; description "Enable LDP IGP synchronization"; container disable { presence "Indicates a disable node is configured."; description "Disable MPLS LDP sync"; } // container disable } // container sync } // container ldp } // container mpls container virtual-links { description "Define a virtual link"; list virtual-link { key "virtual-link-address"; description "Define a virtual link"; leaf virtual-link-address { type inet:ipv4-address-no-zone; description "Define a virtual link"; } container authentication { must "disable or ipsec/spi"; presence "Indicates a authentication node is configured."; description "Authenticate OSPFv3 packets"; container disable { must "not(../ipsec/spi)"; presence "Indicates a disable node is configured."; description "Do not authenticate OSPFv3 packets"; } // container disable container ipsec { description "Use IPSec AH authentication"; container spi { must "not(../../disable) and ((md5/password/encrypted and not(sha1/password/encrypted)) or (sha1/password/encrypted and not(md5/password/encrypted)))"; presence "Indicates a spi node is configured."; description "Specify the Security Parameter Index value"; leaf spi-index { type uint32 { range "256..4294967295"; } mandatory true; description "Specify the Security Parameter Index value"; } container md5 { description "Use the MD5 algorithim"; container password { description "Enter MD5 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; description "Encrypted key"; } } // container password } // container md5 container sha1 { description "Use the SHA1 algorithim"; container password { description "Enter SHA1 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; description "Encrypted key"; } } // container password } // container sha1 } // container spi } // container ipsec } // container authentication container encryption { must "disable or ipsec/spi"; presence "Indicates a encryption node is configured."; description "Encrypt and authenticate OSPFv3 packets"; container disable { must "not(../ipsec/spi)"; presence "Indicates a disable node is configured."; description "Do not encrypt OSPFv3 packets"; } // container disable container ipsec { description "Use IPSec ESP encryption and authentication"; container spi { must "not(../../disable) and (esp/null or esp/des/password/encrypted or esp/triple-des/password/encrypted or esp/aes/password/encrypted or esp/aes/aes-192/password/encrypted or esp/aes/aes-256/password/encrypted)"; presence "Indicates a spi node is configured."; description "Specify the Security Parameter Index value"; leaf spi-index { type uint32 { range "256..4294967295"; } mandatory true; description "Specify the Security Parameter Index value"; } container esp { description "Specify encryption parameters"; container null { must "../authentication and not(../des/password/encrypted or ../triple-des/password/encrypted or ../aes/password/encrypted or ../aes/aes-192/password/encrypted or ../aes/aes-256/password/encrypted)"; presence "Indicates a null node is configured."; description "Use NULL encryption"; } // container null container des { description "Use the DES algorithim. Encrypted DES key (34 hex digits)"; container password { description "Enter DES key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../null or ../../../triple-des/password/encrypted or ../../../aes/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; } } // container password } // container des container triple-des { description "Use the triple DES algorithim. Encrypted 3DES key (48 hex digits)"; container password { description "Enter 3DES key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../null or ../../../des/password/encrypted or ../../../aes/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; } } // container password } // container triple-des container aes { description "Use the AES algorithim. Encrypted AES key (32 hex digits)"; container password { description "Enter AES key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../null or ../../../des/password/encrypted or ../../../triple-des/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; } } // container password container aes-192 { description "Use the 192-bit AES algorithim. Encrypted AES-192 key (48 hex digits)"; container password { description "Enter AES-192 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../../null or ../../../../des/password/encrypted or ../../../../triple-des/password/encrypted or ../../../../aes/password/encrypted or ../../../../aes/aes-256/password/encrypted)"; } } // container password } // container aes-192 container aes-256 { description "Use the 256-bit AES algorithim. Encrypted AES-256 key (64 hex digits)"; container password { description "Enter AES-256 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../../null or ../../../../des/password/encrypted or ../../../../triple-des/password/encrypted or ../../../../aes/password/encrypted or ../../../../aes/aes-192/password/encrypted)"; } } // container password } // container aes-256 } // container aes container authentication { must "(../null or ../des/password/encrypted or ../triple-des/password/encrypted or ../aes/password/encrypted or ../aes/aes-192/password/encrypted or ../aes/aes-256/password/encrypted) and ((md5/password/encrypted and not(sha1/password/encrypted or null)) or (sha1/password/encrypted and not(md5/password/encrypted or null)) or (null and not(md5/password/encrypted or sha1/password/encrypted)))"; presence "Indicates a authentication node is configured."; description "Specify authentication parameters"; container md5 { description "Use the MD5 algorithim. Encrypted MD5 key (32 hex digits)"; container password { description "Enter MD5 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; description "Enter key in encrypted form"; } } // container password } // container md5 container sha1 { description "Use the SHA1 algorithim. Encrypted SHA1 key (40 hex digits)"; container password { description "Enter SHA1 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; description "Enter key in encrypted form"; } } // container password } // container sha1 container null { must "not(../../null)"; presence "Indicates a null node is configured."; description "Use NULL authentication"; } // container null } // container authentication } // container esp } // container spi } // container ipsec } // container encryption leaf hello-interval { type uint32 { range "1..65535"; } description "Time between HELLO packets"; } leaf dead-interval { type uint32 { range "1..65535"; } description "Interval after which a neighbor is declared dead"; } leaf retransmit-interval { type uint32 { range "1..65535"; } description "Delay between LSA retransmissions"; } leaf transmit-delay { type uint32 { range "1..65535"; } description "Link state transmit delay"; } } // list virtual-link } // container virtual-links } // list area } // container areas container auto-cost { presence "Indicates a auto-cost node is configured."; description "Calculate interface cost according to bandwidth"; leaf reference-bandwidth { type uint32 { range "1..4294967"; } description "Specify reference bandwidth for cost computations"; } container disable { presence "Indicates a disable node is configured."; description "Assign cost based on interface type"; } // container disable } // container auto-cost container default-information { description "Control distribution of default information"; container originate { presence "Indicates a originate node is configured."; description "Distribute a default route"; container always { presence "Indicates a always node is configured."; description "Always advertise default route"; } // container always leaf metric { type uint32 { range "0..16777214"; } description "OSPFv3 default metric"; } leaf metric-type { type uint32 { range "1..2"; } description "OSPFv3 metric type for default routes"; } leaf tag { type uint32 { range "0..4294967295"; } description "Set tag for default route"; } leaf route-policy { type xr:Route-policy-name; description "Apply route policy to default-information origination"; } } // container originate } // container default-information leaf default-metric { type uint32 { range "1..16777214"; } description "Set metric of redistributed routes"; } container distance { description "Define an administrative distance"; leaf administrative-distance { type uint32 { range "1..255"; } description "Define an administrative distance"; } container ospfv3 { description "OSPFv3 administrative distance"; leaf intra-area { type uint32 { range "1..255"; } description "Intra-area routes"; } leaf inter-area { type uint32 { range "1..255"; } description "Inter-area routes"; } leaf external { type uint32 { range "1..255"; } description "External type 5 and type 7 routes"; } } // container ospfv3 } // container distance container distribute-list { description "Filter prefixes to/from RIB"; container prefix-list { description "Filter prefixes based on an IPv6 prefix-list"; container in { presence "Indicates a prefix-list-name node is configured."; description "Filter prefixes installed to RIB"; leaf prefix-list-name { type string { length "1..1024"; } mandatory true; description "Prefix-list name"; } } // container in container out { description "Filter prefixes redistributed from RIB "; leaf prefix-list-name { type string { length "1..1024"; } description "Prefix-list name"; } container connected { presence "Indicates a connected node is configured."; description "Connected routes"; leaf prefix-list-name { type string { length "1..1024"; } mandatory true; description "Prefix-list name"; } } // container connected container static { presence "Indicates a static node is configured."; description "Static routes"; leaf prefix-list-name { type string { length "1..1024"; } mandatory true; description "Prefix-list name"; } } // container static container bgp { description "BGP routes"; list as { key "as-number"; description "bgp as-number"; leaf as-number { type xr:Bgp-as-number; description "bgp as-number"; } leaf prefix-list-name { type string { length "1..1024"; } mandatory true; description "Prefix-list name"; } } // list as } // container bgp list ospfv3 { key "instance-name"; description "OSPFv3 routes"; leaf instance-name { type string { length "1..1024"; } description "OSPFv3 routes"; } leaf prefix-list-name { type string { length "1..1024"; } mandatory true; description "Prefix-list name"; } } // list ospfv3 list isis { key "instance-name"; description "IS-IS routes"; leaf instance-name { type string { length "1..1024"; } description "IS-IS routes"; } leaf prefix-list-name { type string { length "1..1024"; } mandatory true; description "Prefix-list name"; } } // list isis list eigrp { key "as-number"; description "EIGRP routes"; leaf as-number { type uint32 { range "1..65535"; } description "EIGRP routes"; } leaf prefix-list-name { type string { length "1..1024"; } mandatory true; description "Prefix-list name"; } } // list eigrp } // container out } // container prefix-list } // container distribute-list leaf packet-size { type uint32 { range "256..10000"; } description "Limit size of OSPFv3 packets"; } container fast-reroute { description "IP Fast Reroute"; container per-link { description "Per-link Computation"; container enable { must "not(../../per-prefix/enable)"; presence "Indicates a per-link node is configured."; description "Enable per-link Computation"; } // container enable container exclude { description "Per-link LFA exclusion information"; container interfaces { description "Exclude an interface from Per-link LFA"; list interface { key "interface-name"; description "Exclude an interface from Per-link LFA"; leaf interface-name { type xr:Interface-name; description "Exclude an interface from Per-link LFA"; } } // list interface } // container interfaces } // container exclude container lfa-candidate { description "FRR LFA candidate information"; container interfaces { description "Include an interface to LFA candidate in computation"; list interface { key "interface-name"; description "Include an interface to LFA candidate in computation"; leaf interface-name { type xr:Interface-name; description "Include an interface to LFA candidate in computation"; } } // list interface } // container interfaces } // container lfa-candidate container use-candidate-only { description "Enable/Disable backup selection from candidate-list only"; container enable { must "not(../disable)"; presence "Indicates a enable node is configured."; description "Enable backup selection from candidate-list only"; } // container enable container disable { must "not(../enable)"; presence "Indicates a disable node is configured."; description "Disable backup selection from candidate-list only"; } // container disable } // container use-candidate-only container priority-limit { description "Limit backup computation upto the prefix priority"; container critical { presence "Indicates a critical node is configured."; description "Compute for critical priority prefixes only"; } // container critical container high { presence "Indicates a high node is configured."; description "Compute for critical & high priority prefixes "; } // container high container medium { presence "Indicates a medium node is configured."; description "Compute for critical, high & medium priority prefixes "; } // container medium } // container priority-limit } // container per-link container per-prefix { description "Per-prefix Computation"; container enable { must "not(../../per-link/enable)"; presence "Indicates a per-prefix node is configured."; description "Enable per-prefix Computation"; } // container enable container exclude { description "Per-prefix LFA exclusion information"; container interfaces { description "Exclude an interface from Per-prefix LFA"; list interface { key "interface-name"; description "Exclude an interface from Per-prefix LFA"; leaf interface-name { type xr:Interface-name; description "Exclude an interface from Per-prefix LFA"; } } // list interface } // container interfaces } // container exclude container lfa-candidate { description "FRR LFA candidate information"; container interfaces { description "Include an interface to LFA candidate in computation"; list interface { key "interface-name"; description "Include an interface to LFA candidate in computation"; leaf interface-name { type xr:Interface-name; description "Include an interface to LFA candidate in computation"; } } // list interface } // container interfaces } // container lfa-candidate container use-candidate-only { description "Enable/Disable backup selection from candidate-list only"; container enable { must "not(../disable)"; presence "Indicates a enable node is configured."; description "Enable backup selection from candidate-list only"; } // container enable container disable { must "not(../enable)"; presence "Indicates a disable node is configured."; description "Disable backup selection from candidate-list only"; } // container disable } // container use-candidate-only container priority-limit { description "Limit backup computation upto the prefix priority"; container critical { presence "Indicates a critical node is configured."; description "Compute for critical priority prefixes only"; } // container critical container high { presence "Indicates a high node is configured."; description "Compute for critical & high priority prefixes "; } // container high container medium { presence "Indicates a medium node is configured."; description "Compute for critical, high & medium priority prefixes "; } // container medium } // container priority-limit container tiebreaker { description "Configure tiebreaker for multiple backups"; container downstream { description "Prefer backup path via downstream node"; leaf index { type uint32 { range "1..255"; } description "Set preference order among tiebreakers"; } } // container downstream container lc-disjoint { description "Prefer line card disjoint backup path"; leaf index { type uint32 { range "1..255"; } description "Set preference order among tiebreakers"; } } // container lc-disjoint container lowest-backup-metric { description "Prefer backup path with lowest total metric"; leaf index { type uint32 { range "1..255"; } description "Set preference order among tiebreakers"; } } // container lowest-backup-metric container node-protecting { description "Prefer node protecting backup path"; leaf index { type uint32 { range "1..255"; } description "Set preference order among tiebreakers"; } } // container node-protecting container primary-path { description "Prefer backup path from ECMP set"; leaf index { type uint32 { range "1..255"; } description "Set preference order among tiebreakers"; } } // container primary-path container secondary-path { description "Prefer non-ECMP backup path"; leaf index { type uint32 { range "1..255"; } description "Set preference order among tiebreakers"; } } // container secondary-path container srlg-disjoint { description "Prefer SRLG disjoint backup path"; leaf index { type uint32 { range "1..255"; } description "Set preference order among tiebreakers"; } } // container srlg-disjoint } // container tiebreaker container load-sharing { description "Load share prefixes across multiple backups"; container disable { presence "Indicates a disable node is configured."; description "Disable load sharing"; } // container disable } // container load-sharing } // container per-prefix container disable { presence "Indicates a disable node is configured."; description "Disable IP Fast Reroute"; } // container disable } // container fast-reroute container prefix-suppression { presence "Indicates a prefix-suppression node is configured."; description "Hide all transit addresses on this interface"; } // container prefix-suppression container bfd { description "Configure BFD parameters"; container fast-detect { presence "Indicates a fast-detect node is configured."; description "Enable Fast detection"; container strict-mode { presence "Indicates a strict-mode node is configured."; description "Hold down neighbor session until BFD session is up"; } // container strict-mode } // container fast-detect leaf minimum-interval { type uint32 { range "3..30000"; } description "Minimum interval"; } leaf multiplier { type uint32 { range "2..50"; } description "Detect multiplier"; } } // container bfd container mpls { description "Configure MPLS routing protocol parameters"; container ldp { description "Configure LDP parameters"; container sync { presence "Indicates a sync node is configured."; description "Enable LDP IGP synchronization"; } // container sync } // container ldp } // container mpls container graceful-restart { description "Enable Graceful-Restart"; container enable { presence "Indicates a enable node is configured."; description "Enable Graceful-Restart"; } // container enable leaf interval { type uint32 { range "90..3600"; } description "Minimum interval between Graceful Restarts (seconds)"; } leaf lifetime { type uint32 { range "90..1800"; } description "Maximum route lifetime following restart (seconds)"; } container helper { description "router's helper support level"; container disable { presence "Indicates a disable node is configured."; description "router's helper support disabled"; } // container disable } // container helper container strict-lsa-checking { presence "Indicates a strict-lsa-checking node is configured."; description "terminate graceful restart helper mode if lsa changed"; } // container strict-lsa-checking } // container graceful-restart container ignore { description "Do not complain about a specified event"; container lsa { description "Do not complain upon receiving LSA of the specified type"; container mospf { presence "Indicates a mospf node is configured."; description "MOSPF Type 6 LSA"; } // container mospf } // container lsa } // container ignore container authentication { must "disable or ipsec/spi"; presence "Indicates a authentication node is configured."; description "Authenticate OSPFv3 packets"; container disable { must "not(../ipsec/spi)"; presence "Indicates a disable node is configured."; description "Do not authenticate OSPFv3 packets"; } // container disable container ipsec { description "Use IPSec AH authentication"; container spi { must "not(../../disable) and ((md5/password/encrypted and not(sha1/password/encrypted)) or (sha1/password/encrypted and not(md5/password/encrypted)))"; presence "Indicates a spi node is configured."; description "Specify the Security Parameter Index value"; leaf spi-index { type uint32 { range "256..4294967295"; } mandatory true; description "Specify the Security Parameter Index value"; } container md5 { description "Use the MD5 algorithim"; container password { description "Enter MD5 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; description "Encrypted key"; } } // container password } // container md5 container sha1 { description "Use the SHA1 algorithim"; container password { description "Enter SHA1 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; description "Encrypted key"; } } // container password } // container sha1 } // container spi } // container ipsec } // container authentication container encryption { must "disable or ipsec/spi"; presence "Indicates a encryption node is configured."; description "Encrypt and authenticate OSPFv3 packets"; container disable { must "not(../ipsec/spi)"; presence "Indicates a disable node is configured."; description "Do not encrypt OSPFv3 packets"; } // container disable container ipsec { description "Use IPSec ESP encryption and authentication"; container spi { must "not(../../disable) and (esp/null or esp/des/password/encrypted or esp/triple-des/password/encrypted or esp/aes/password/encrypted or esp/aes/aes-192/password/encrypted or esp/aes/aes-256/password/encrypted)"; presence "Indicates a spi node is configured."; description "Specify the Security Parameter Index value"; leaf spi-index { type uint32 { range "256..4294967295"; } mandatory true; description "Specify the Security Parameter Index value"; } container esp { description "Specify encryption parameters"; container null { must "../authentication and not(../des/password/encrypted or ../triple-des/password/encrypted or ../aes/password/encrypted or ../aes/aes-192/password/encrypted or ../aes/aes-256/password/encrypted)"; presence "Indicates a null node is configured."; description "Use NULL encryption"; } // container null container des { description "Use the DES algorithim. Encrypted DES key (34 hex digits)"; container password { description "Enter DES key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../null or ../../../triple-des/password/encrypted or ../../../aes/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; } } // container password } // container des container triple-des { description "Use the triple DES algorithim. Encrypted 3DES key (48 hex digits)"; container password { description "Enter 3DES key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../null or ../../../des/password/encrypted or ../../../aes/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; } } // container password } // container triple-des container aes { description "Use the AES algorithim. Encrypted AES key (32 hex digits)"; container password { description "Enter AES key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../null or ../../../des/password/encrypted or ../../../triple-des/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; } } // container password container aes-192 { description "Use the 192-bit AES algorithim. Encrypted AES-192 key (48 hex digits)"; container password { description "Enter AES-192 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../../null or ../../../../des/password/encrypted or ../../../../triple-des/password/encrypted or ../../../../aes/password/encrypted or ../../../../aes/aes-256/password/encrypted)"; } } // container password } // container aes-192 container aes-256 { description "Use the 256-bit AES algorithim. Encrypted AES-256 key (64 hex digits)"; container password { description "Enter AES-256 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../../null or ../../../../des/password/encrypted or ../../../../triple-des/password/encrypted or ../../../../aes/password/encrypted or ../../../../aes/aes-192/password/encrypted)"; } } // container password } // container aes-256 } // container aes container authentication { must "(../null or ../des/password/encrypted or ../triple-des/password/encrypted or ../aes/password/encrypted or ../aes/aes-192/password/encrypted or ../aes/aes-256/password/encrypted) and ((md5/password/encrypted and not(sha1/password/encrypted or null)) or (sha1/password/encrypted and not(md5/password/encrypted or null)) or (null and not(md5/password/encrypted or sha1/password/encrypted)))"; presence "Indicates a authentication node is configured."; description "Specify authentication parameters"; container md5 { description "Use the MD5 algorithim. Encrypted MD5 key (32 hex digits)"; container password { description "Enter MD5 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; description "Enter key in encrypted form"; } } // container password } // container md5 container sha1 { description "Use the SHA1 algorithim. Encrypted SHA1 key (40 hex digits)"; container password { description "Enter SHA1 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; description "Enter key in encrypted form"; } } // container password } // container sha1 container null { must "not(../../null)"; presence "Indicates a null node is configured."; description "Use NULL authentication"; } // container null } // container authentication } // container esp } // container spi } // container ipsec } // container encryption container network { description "Network type"; container broadcast { presence "Indicates a broadcast node is configured."; description "Specify OSPFv3 broadcast multi-access network"; } // container broadcast container non-broadcast { presence "Indicates a non-broadcast node is configured."; description "Specify OSPFv3 NBMA network"; } // container non-broadcast container point-to-point { presence "Indicates a point-to-point node is configured."; description "Specify OSPFv3 point-to-point network"; } // container point-to-point container point-to-multipoint { presence "Indicates a point-to-multipoint node is configured."; description "Specify OSPFv3 point-to-multipoint network"; } // container point-to-multipoint } // container network leaf cost { type uint32 { range "1..65535"; } description "Interface cost"; } leaf hello-interval { type uint32 { range "1..65535"; } description "Time between HELLO packets"; } leaf dead-interval { type uint32 { range "1..65535"; } description "Interval after which a neighbor is declared dead"; } leaf priority { type uint32 { range "0..255"; } description "Router priority"; } leaf retransmit-interval { type uint32 { range "1..65535"; } description "Delay between LSA retransmissions"; } leaf transmit-delay { type uint32 { range "1..65535"; } description "Link state transmit delay"; } container flood-reduction { presence "Indicates a flood-reduction node is configured."; description "Enable/Disable flood reduction"; } // container flood-reduction container demand-circuit { presence "Indicates a demand-circuit node is configured."; description "Enable/Disable demand circuit operation"; } // container demand-circuit container mtu-ignore { presence "Indicates a mtu-ignore node is configured."; description "Enable/Disable ignoring of MTU in DBD packets"; } // container mtu-ignore leaf instance { type uint32 { range "0..255"; } description "Instance ID"; } container database-filter { description "Filter LSAs during synchronization and flooding"; container all { description "Filter all LSA"; container out { presence "Indicates a out node is configured."; description "Outgoing LSA"; } // container out } // container all } // container database-filter container passive { presence "Indicates a passive node is configured."; description "Enable/Disable routing updates on an interface"; } // container passive container log { description "Control OSPFv3 console logging"; container adjacency { description "Log adjacency state changes"; container changes { description "Log changes"; container detail { presence "Indicates a detail node is configured."; description "Log all state changes"; } // container detail container disable { presence "Indicates a disable node is configured."; description "Disable logging"; } // container disable } // container changes } // container adjacency } // container log container maximum { description "Set OSPFv3 limits"; leaf interfaces { type uint32 { range "1..4294967295"; } description "Limit number of interfaces"; } leaf paths { type uint32 { range "1..64"; } description "Limit number of paths"; } container redistributed-prefixes { presence "Indicates a redistributed-prefixes node is configured."; description "Limit number of redistributed prefixes"; leaf prefixes { type uint32 { range "1..4294967295"; } mandatory true; description "Limit number of redistributed prefixes"; } leaf threshold { type uint32 { range "1..100"; } description "Threshold value (%) at which to generate a warning msg"; } container warning-only { presence "Indicates a warning-only node is configured."; description "Only give warning message when limit is exceeded"; } // container warning-only } // container redistributed-prefixes } // container maximum container redistribute { description "Redistribute information from another routing protocol"; container connected { presence "Indicates a connected node is configured."; description "Connected routes"; container metric { description "Metric for redistributed routes"; leaf default-metric { type uint32 { range "0..16777214"; } description "OSPFv3 default metric"; } container use-rib-metric { presence "Indicates a use-rib-metric node is configured."; description "Use metric from RIB"; } // container use-rib-metric } // container metric leaf metric-type { type enumeration { enum "1" { value 1; description "Set OSPFv3 External Type 1 metrics"; } enum "2" { value 2; description "Set OSPFv3 External Type 2 metrics"; } } description "OSPFv3 exterior metric type for redistributed routes"; } leaf tag { type uint32 { range "0..4294967295"; } description "Set tag for routes redistributed into OSPFv3"; } leaf route-policy { type xr:Route-policy-name; description "Apply route-policy to redistribution"; } } // container connected container static { presence "Indicates a static node is configured."; description "Static routes"; container metric { description "Metric for redistributed routes"; leaf default-metric { type uint32 { range "0..16777214"; } description "OSPFv3 default metric"; } container use-rib-metric { presence "Indicates a use-rib-metric node is configured."; description "Use metric from RIB"; } // container use-rib-metric } // container metric leaf metric-type { type enumeration { enum "1" { value 1; description "Set OSPFv3 External Type 1 metrics"; } enum "2" { value 2; description "Set OSPFv3 External Type 2 metrics"; } } description "OSPFv3 exterior metric type for redistributed routes"; } leaf tag { type uint32 { range "0..4294967295"; } description "Set tag for routes redistributed into OSPFv3"; } leaf route-policy { type xr:Route-policy-name; description "Apply route-policy to redistribution"; } } // container static container subscriber { presence "Indicates a subscriber node is configured."; description "Subscriber routes"; container metric { description "Metric for redistributed routes"; leaf default-metric { type uint32 { range "0..16777214"; } description "OSPFv3 default metric"; } container use-rib-metric { presence "Indicates a use-rib-metric node is configured."; description "Use metric from RIB"; } // container use-rib-metric } // container metric leaf metric-type { type enumeration { enum "1" { value 1; description "Set OSPFv3 External Type 1 metrics"; } enum "2" { value 2; description "Set OSPFv3 External Type 2 metrics"; } } description "OSPFv3 exterior metric type for redistributed routes"; } leaf tag { type uint32 { range "0..4294967295"; } description "Set tag for routes redistributed into OSPFv3"; } leaf route-policy { type xr:Route-policy-name; description "Apply route-policy to redistribution"; } } // container subscriber container mobile { presence "Indicates a mobile node is configured."; description "Mobile routes"; container metric { description "Metric for redistributed routes"; leaf default-metric { type uint32 { range "0..16777214"; } description "OSPFv3 default metric"; } container use-rib-metric { presence "Indicates a use-rib-metric node is configured."; description "Use metric from RIB"; } // container use-rib-metric } // container metric leaf metric-type { type enumeration { enum "1" { value 1; description "Set OSPFv3 External Type 1 metrics"; } enum "2" { value 2; description "Set OSPFv3 External Type 2 metrics"; } } description "OSPFv3 exterior metric type for redistributed routes"; } leaf tag { type uint32 { range "0..4294967295"; } description "Set tag for routes redistributed into OSPFv3"; } leaf route-policy { type xr:Route-policy-name; description "Apply route-policy to redistribution"; } } // container mobile container bgp { description "BGP routes"; list as { key "as-number"; description "bgp as-number"; leaf as-number { type xr:Bgp-as-number; description "bgp as-number"; } container preserve-med { presence "Indicates a preserve-med node is configured."; description "Preserve med of BGP routes"; } // container preserve-med container metric { description "Metric for redistributed routes"; leaf default-metric { type uint32 { range "0..16777214"; } description "OSPFv3 default metric"; } container use-rib-metric { presence "Indicates a use-rib-metric node is configured."; description "Use metric from RIB"; } // container use-rib-metric } // container metric leaf metric-type { type enumeration { enum "1" { value 1; description "Set OSPFv3 External Type 1 metrics"; } enum "2" { value 2; description "Set OSPFv3 External Type 2 metrics"; } } description "OSPFv3 exterior metric type for redistributed routes"; } leaf tag { type uint32 { range "0..4294967295"; } description "Set tag for routes redistributed into OSPFv3"; } leaf route-policy { type xr:Route-policy-name; description "Apply route-policy to redistribution"; } } // list as } // container bgp list eigrp { key "as-number"; description "Enhanced Interior Gateway Routing Protocol (EIGRP)"; leaf as-number { type uint32 { range "1..65535"; } description "Enhanced Interior Gateway Routing Protocol (EIGRP)"; } container match { description "Redistribution of EIGRP routes"; container internal { presence "Indicates a internal node is configured."; description "Redistribute EIGRP internal routes"; } // container internal container external { presence "Indicates a external node is configured."; description "Redistribute EIGRP external routes"; } // container external } // container match container metric { description "Metric for redistributed routes"; leaf default-metric { type uint32 { range "0..16777214"; } description "OSPFv3 default metric"; } container use-rib-metric { presence "Indicates a use-rib-metric node is configured."; description "Use metric from RIB"; } // container use-rib-metric } // container metric leaf metric-type { type enumeration { enum "1" { value 1; description "Set OSPFv3 External Type 1 metrics"; } enum "2" { value 2; description "Set OSPFv3 External Type 2 metrics"; } } description "OSPFv3 exterior metric type for redistributed routes"; } leaf tag { type uint32 { range "0..4294967295"; } description "Set tag for routes redistributed into OSPFv3"; } leaf route-policy { type xr:Route-policy-name; description "Apply route-policy to redistribution"; } } // list eigrp list isis { key "instance-name"; description "IS-IS routes"; leaf instance-name { type string { length "1..1024"; } description "IS-IS routes"; } container level-1 { presence "Indicates a level-1 node is configured."; description "IS-IS level-1 routes only"; } // container level-1 container level-1-2 { presence "Indicates a level-1-2 node is configured."; description "IS-IS level-1 and level-2 routes"; } // container level-1-2 container level-2 { presence "Indicates a level-2 node is configured."; description "IS-IS level-2 routes only"; } // container level-2 container metric { description "Metric for redistributed routes"; leaf default-metric { type uint32 { range "0..16777214"; } description "OSPFv3 default metric"; } container use-rib-metric { presence "Indicates a use-rib-metric node is configured."; description "Use metric from RIB"; } // container use-rib-metric } // container metric leaf metric-type { type enumeration { enum "1" { value 1; description "Set OSPFv3 External Type 1 metrics"; } enum "2" { value 2; description "Set OSPFv3 External Type 2 metrics"; } } description "OSPFv3 exterior metric type for redistributed routes"; } leaf tag { type uint32 { range "0..4294967295"; } description "Set tag for routes redistributed into OSPFv3"; } leaf route-policy { type xr:Route-policy-name; description "Apply route-policy to redistribution"; } } // list isis container applications { description "Application routes"; list application { key "application-name"; description "Application routes"; leaf application-name { type string { length "1..1024"; } description "Application routes"; } container metric { description "Metric for redistributed routes"; leaf default-metric { type uint32 { range "0..16777214"; } description "OSPFv3 default metric"; } container use-rib-metric { presence "Indicates a use-rib-metric node is configured."; description "Use metric from RIB"; } // container use-rib-metric } // container metric leaf metric-type { type enumeration { enum "1" { value 1; description "Set OSPFv3 External Type 1 metrics"; } enum "2" { value 2; description "Set OSPFv3 External Type 2 metrics"; } } description "OSPFv3 exterior metric type for redistributed routes"; } leaf tag { type uint32 { range "0..4294967295"; } description "Set tag for routes redistributed into OSPFv3"; } leaf route-policy { type xr:Route-policy-name; description "Apply route-policy to redistribution"; } } // list application } // container applications list ospfv3 { key "process-name"; description "OSPFv3 routes"; leaf process-name { type string { length "1..1024"; } description "OSPFv3 routes"; } container match { description "Redistribution of OSPFv3 routes"; container internal { presence "Indicates a internal node is configured."; description "Redistribute OSPFv3 internal routes"; } // container internal container external { presence "Indicates a external node is configured."; description "Redistribute OSPFv3 external routes"; container one { presence "Indicates a one node is configured."; description "Redistribute external type 1 routes"; } // container one container two { presence "Indicates a two node is configured."; description "Redistribute external type 2 routes"; } // container two } // container external container nssa-external { presence "Indicates a nssa-external node is configured."; description "Redistribute OSPFv3 NSSA external routes"; container one { presence "Indicates a one node is configured."; description "Redistribute NSSA external type 1 routes"; } // container one container two { presence "Indicates a two node is configured."; description "Redistribute NSSA external type 2 routes"; } // container two } // container nssa-external } // container match container metric { description "Metric for redistributed routes"; leaf default-metric { type uint32 { range "0..16777214"; } description "OSPFv3 default metric"; } container use-rib-metric { presence "Indicates a use-rib-metric node is configured."; description "Use metric from RIB"; } // container use-rib-metric } // container metric leaf metric-type { type enumeration { enum "1" { value 1; description "Set OSPFv3 External Type 1 metrics"; } enum "2" { value 2; description "Set OSPFv3 External Type 2 metrics"; } } description "OSPFv3 exterior metric type for redistributed routes"; } leaf tag { type uint32 { range "0..4294967295"; } description "Set tag for routes redistributed into OSPFv3"; } leaf route-policy { type xr:Route-policy-name; description "Apply route-policy to redistribution"; } } // list ospfv3 } // container redistribute leaf router-id { type inet:ipv4-address-no-zone; description "Specify the router-id for this OSPFv3 process"; } container spf { description "SPF configuration"; container prefix-priority { description "Configure SPF prefix priority route policy"; leaf route-policy { type xr:Route-policy-name; description "Specify the route-policy to prioritize route install"; } container disable { presence "Indicates a disable node is configured."; description "Disable SPF prefix priority"; } // container disable } // container prefix-priority } // container spf container stub-router { description "Enter stub router configuration submode"; container router-lsa { description "Modify self originated router LSAs"; container r-bit { presence "Indicates a r-bit node is configured."; description "advertise LSAs with R-bit cleared"; container always { presence "Indicates a always node is configured."; description "Force ospfv3 stub router mode unconditionally"; } // container always leaf on-proc-restart { type uint32 { range "5..86400"; } description "Enter stub router mode on ospfv3 process restart"; } leaf on-proc-migration { type uint32 { range "5..86400"; } description "Enter stub router mode on ospfv3 process migration"; } container on-startup { description "Enter stub router mode on startup"; container wait-for-bgp { must "not(../stay-in-time)"; presence "Indicates a wait-for-bgp node is configured."; description "Exit stub router mode when BGP converges"; } // container wait-for-bgp leaf stay-in-time { type uint32 { range "5..86400"; } must "not(../wait-for-bgp)"; description "Time in seconds to stay in stub router mode"; } } // container on-startup leaf on-switchover { type uint32 { range "5..86400"; } description "Enter stub router mode on RP switchover"; } } // container r-bit container v6-bit { presence "Indicates a v6-bit node is configured."; description "advertise LSAs with V6-bit cleared"; container always { presence "Indicates a always node is configured."; description "Force ospfv3 stub router mode unconditionally"; } // container always leaf on-proc-restart { type uint32 { range "5..86400"; } description "Enter stub router mode on ospfv3 process restart"; } leaf on-proc-migration { type uint32 { range "5..86400"; } description "Enter stub router mode on ospfv3 process migration"; } container on-startup { description "Enter stub router mode on startup"; container wait-for-bgp { must "not(../stay-in-time)"; presence "Indicates a wait-for-bgp node is configured."; description "Exit stub router mode when BGP converges"; } // container wait-for-bgp leaf stay-in-time { type uint32 { range "5..86400"; } must "not(../wait-for-bgp)"; description "Time in seconds to stay in stub router mode"; } } // container on-startup leaf on-switchover { type uint32 { range "5..86400"; } description "Enter stub router mode on RP switchover"; } } // container v6-bit container max-metric { presence "Indicates a max-metric node is configured."; description "advertise LSAs with maximum metric"; container always { presence "Indicates a always node is configured."; description "Force ospfv3 stub router mode unconditionally"; } // container always leaf on-proc-restart { type uint32 { range "5..86400"; } description "Enter stub router mode on ospfv3 process restart"; } leaf on-proc-migration { type uint32 { range "5..86400"; } description "Enter stub router mode on ospfv3 process migration"; } container on-startup { description "Enter stub router mode on startup"; container wait-for-bgp { must "not(../stay-in-time)"; presence "Indicates a wait-for-bgp node is configured."; description "Exit stub router mode when BGP converges"; } // container wait-for-bgp leaf stay-in-time { type uint32 { range "5..86400"; } must "not(../wait-for-bgp)"; description "Time in seconds to stay in stub router mode"; } } // container on-startup leaf on-switchover { type uint32 { range "5..86400"; } description "Enter stub router mode on RP switchover"; } leaf external-lsa { type union { type uint32 { range "16711680"; } type uint32 { range "1..16777214"; } } description "Override External LSA metric in stub router mode"; } leaf summary-lsa { type union { type uint32 { range "16711680"; } type uint32 { range "1..16777214"; } } description "Override Summary LSA metric in stub router mode"; } container include-stub { presence "Indicates a include-stub node is configured."; description "Set maximum metric for stub links in stub router mode"; } // container include-stub } // container max-metric } // container router-lsa } // container stub-router container summary-prefixes { description "Summarize redistributed routes matching prefix/length"; list summary-prefix { key "prefix prefix-length"; description "Summarize redistributed routes matching prefix/length"; leaf prefix { type inet:ipv6-address-no-zone; description "Summarize redistributed routes matching prefix/length"; } leaf prefix-length { type xr:Ipv6-prefix-length; description "Summarize redistributed routes matching prefix/length"; } container not-advertise { presence "Indicates a not-advertise node is configured."; description "Suppress routes matching prefix/length"; } // container not-advertise leaf tag { type uint32 { range "1..4294967295"; } description "32-bit tag value"; } } // list summary-prefix } // container summary-prefixes container timers { description "Adjust routing timers"; container lsa { description "LSA timers"; leaf arrival { type uint32 { range "0..60000"; } description "LSA arrival timer"; } } // container lsa container pacing { description "Pacing timers"; leaf flood { type uint32 { range "5..100"; } description "Flood pacing timer"; } leaf lsa-group { type uint32 { range "10..1800"; } description "LSA group pacing timer"; } leaf retransmission { type uint32 { range "5..100"; } description "Retransmission pacing timer"; } } // container pacing container throttle { description "Throttle timers"; container lsa { description "LSA throttle timers"; container all { presence "Indicates a all node is configured."; description "For all types of OSPF LSAs"; leaf initial-delay { type uint32 { range "0..600000"; } mandatory true; description "For all types of OSPF LSAs"; } leaf minimum-delay { type uint32 { range "1..600000"; } mandatory true; description "Minimum delay between originating the same LSA in milliseconds"; } leaf maximum-delay { type uint32 { range "1..600000"; } mandatory true; description "Maximum delay between originating the same LSA in milliseconds"; } } // container all } // container lsa container spf { presence "Indicates a spf node is configured."; description "SPF throttle timers"; leaf initial-delay { type uint32 { range "1..600000"; } mandatory true; description "SPF throttle timers"; } leaf minimum-hold-time { type uint32 { range "1..600000"; } mandatory true; description "Minimum hold time between consecutive SPF calculations in ms"; } leaf maximum-wait-time { type uint32 { range "1..600000"; } mandatory true; description "Maximum wait time between consecutive SPF calculations in ms"; } } // container spf } // container throttle } // container timers container snmp { description "SNMP configuration"; leaf context { type string { length "1..32"; } description "Specified SNMP context for OSPFv3 instance"; } container trap { presence "Indicates a trap node is configured."; description "Enable SNMP trap for OSPFv3 instance"; leaf rate-limit { type uint32 { range "2..60"; } mandatory true; description "Adjust trap rate-limit parameters"; } leaf max-traps { type uint32 { range "0..300"; } mandatory true; description "Max number of traps sent in window time"; } } // container trap } // container snmp container vrfs { description "Enter the OSPFv3 vrf configuration submode"; list vrf { key "vrf-name"; description "Name for this OSPFV3 vrf"; leaf vrf-name { type xr:Cisco-ios-xr-string { length "1..32"; } description "Name for this OSPFV3 vrf"; } container domain-id { description "Specify domain id"; leaf type { type enumeration { enum "0005" { value 5; description " Type 0x0005"; } enum "0105" { value 261; description " Type 0x0105"; } enum "0205" { value 517; description " Type 0x0205"; } } description "Primary OSPF domain ID type in Hex format"; } leaf value { type string { length "1..1024"; } description "OSPF domain ID value in Hex format"; } container secondaries { description "OSPF secondary domain-id"; list secondary { key "type value"; description "OSPF secondary domain-id"; leaf type { type enumeration { enum "0005" { value 5; description " Type 0x0005"; } enum "0105" { value 261; description " Type 0x0105"; } enum "0205" { value 517; description " Type 0x0205"; } } description "OSPF domain ID type in Hex format"; } leaf value { type xr:Cisco-ios-xr-string { length "1..1024"; } description "OSPF domain ID value in Hex format"; } } // list secondary } // container secondaries } // container domain-id container capability { description "Enable specific OSPFv3 feature"; container vrf-lite { presence "Indicates a vrf-lite node is configured."; description "Enable VRF-lite support"; } // container vrf-lite container type7 { description "NSSA capability"; container prefer { presence "Indicates a prefer node is configured."; description "Prefer type7 externals over type5"; } // container prefer container translate { description "Translate type7 to type5"; container zero-forward-addr { presence "Indicates a zero-forward-addr node is configured."; description "Translate Type 7 LSAs without forwarding address"; } // container zero-forward-addr } // container translate } // container type7 } // container capability container areas { description "Enter the OSPFv3 area configuration submode"; list area { key "area-id"; description "Enter the OSPFv3 area configuration submode"; leaf area-id { type xr:Ospf-area-id; description "Enter the OSPFv3 area configuration submode"; } leaf default-cost { type uint32 { range "0..16777215"; } description "Set the summary default-cost of a NSSA/stub area"; } container nssa { presence "Indicates a nssa node is configured."; description "Specify area as an NSSA area"; container no-redistribution { presence "Indicates a no-redistribution node is configured."; description "No redistribution into this NSSA area"; } // container no-redistribution container default-information-originate { presence "Indicates a default-information-originate node is configured."; description "Originate Type 7 default into NSSA area"; leaf metric { type uint32 { range "0..16777214"; } description "OSPFv3 default metric"; } leaf metric-type { type uint32 { range "1..2"; } description "OSPFv3 metric type for default routes"; } } // container default-information-originate container no-summary { presence "Indicates a no-summary node is configured."; description "Do not send summary LSA into NSSA"; } // container no-summary } // container nssa container nssa-translate { description "Translate NSSA LSA"; container type7 { description "Translate type 7 to type 5"; container always { presence "Indicates a always node is configured."; description "Always translate NSSA LSAs on this ABR"; } // container always } // container type7 } // container nssa-translate container ranges { description "Summarize inter-area routes matching prefix/length"; list range { must "advertise or not-advertise"; key "prefix prefix-length"; description "Summarize inter-area routes matching prefix/length"; leaf prefix { type inet:ipv6-address-no-zone; description "Summarize inter-area routes matching prefix/length"; } leaf prefix-length { type xr:Ipv6-prefix-length; description "Summarize inter-area routes matching prefix/length"; } leaf cost { type uint32 { range "1..16777214"; } description "User specified metric for this range"; } container advertise { presence "Indicates a advertise node is configured."; description "Advertise this range (default)"; } // container advertise container not-advertise { presence "Indicates a not-advertise node is configured."; description "Do not advertise this range"; } // container not-advertise } // list range } // container ranges container stub { presence "Indicates a stub node is configured."; description "Specify area as a stub area"; container no-summary { presence "Indicates a no-summary node is configured."; description "Do not send summary LSAs into stub area"; } // container no-summary } // container stub container interfaces { description "Enable OSPFv3 on an interface"; list interface { key "interface-name"; description "Enable OSPFv3 on an interface"; leaf interface-name { type xr:Interface-name; description "Enable OSPFv3 on an interface"; } container authentication { must "disable or ipsec/spi"; presence "Indicates a authentication node is configured."; description "Authenticate OSPFv3 packets"; container disable { must "not(../ipsec/spi)"; presence "Indicates a disable node is configured."; description "Do not authenticate OSPFv3 packets"; } // container disable container ipsec { description "Use IPSec AH authentication"; container spi { must "not(../../disable) and ((md5/password/encrypted and not(sha1/password/encrypted)) or (sha1/password/encrypted and not(md5/password/encrypted)))"; presence "Indicates a spi node is configured."; description "Specify the Security Parameter Index value"; leaf spi-index { type uint32 { range "256..4294967295"; } mandatory true; description "Specify the Security Parameter Index value"; } container md5 { description "Use the MD5 algorithim"; container password { description "Enter MD5 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; description "Encrypted key"; } } // container password } // container md5 container sha1 { description "Use the SHA1 algorithim"; container password { description "Enter SHA1 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; description "Encrypted key"; } } // container password } // container sha1 } // container spi } // container ipsec } // container authentication container encryption { must "disable or ipsec/spi"; presence "Indicates a encryption node is configured."; description "Encrypt and authenticate OSPFv3 packets"; container disable { must "not(../ipsec/spi)"; presence "Indicates a disable node is configured."; description "Do not encrypt OSPFv3 packets"; } // container disable container ipsec { description "Use IPSec ESP encryption and authentication"; container spi { must "not(../../disable) and (esp/null or esp/des/password/encrypted or esp/triple-des/password/encrypted or esp/aes/password/encrypted or esp/aes/aes-192/password/encrypted or esp/aes/aes-256/password/encrypted)"; presence "Indicates a spi node is configured."; description "Specify the Security Parameter Index value"; leaf spi-index { type uint32 { range "256..4294967295"; } mandatory true; description "Specify the Security Parameter Index value"; } container esp { description "Specify encryption parameters"; container null { must "../authentication and not(../des/password/encrypted or ../triple-des/password/encrypted or ../aes/password/encrypted or ../aes/aes-192/password/encrypted or ../aes/aes-256/password/encrypted)"; presence "Indicates a null node is configured."; description "Use NULL encryption"; } // container null container des { description "Use the DES algorithim. Encrypted DES key (34 hex digits)"; container password { description "Enter DES key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../null or ../../../triple-des/password/encrypted or ../../../aes/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; } } // container password } // container des container triple-des { description "Use the triple DES algorithim. Encrypted 3DES key (48 hex digits)"; container password { description "Enter 3DES key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../null or ../../../des/password/encrypted or ../../../aes/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; } } // container password } // container triple-des container aes { description "Use the AES algorithim. Encrypted AES key (32 hex digits)"; container password { description "Enter AES key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../null or ../../../des/password/encrypted or ../../../triple-des/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; } } // container password container aes-192 { description "Use the 192-bit AES algorithim. Encrypted AES-192 key (48 hex digits)"; container password { description "Enter AES-192 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../../null or ../../../../des/password/encrypted or ../../../../triple-des/password/encrypted or ../../../../aes/password/encrypted or ../../../../aes/aes-256/password/encrypted)"; } } // container password } // container aes-192 container aes-256 { description "Use the 256-bit AES algorithim. Encrypted AES-256 key (64 hex digits)"; container password { description "Enter AES-256 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../../null or ../../../../des/password/encrypted or ../../../../triple-des/password/encrypted or ../../../../aes/password/encrypted or ../../../../aes/aes-192/password/encrypted)"; } } // container password } // container aes-256 } // container aes container authentication { must "(../null or ../des/password/encrypted or ../triple-des/password/encrypted or ../aes/password/encrypted or ../aes/aes-192/password/encrypted or ../aes/aes-256/password/encrypted) and ((md5/password/encrypted and not(sha1/password/encrypted or null)) or (sha1/password/encrypted and not(md5/password/encrypted or null)) or (null and not(md5/password/encrypted or sha1/password/encrypted)))"; presence "Indicates a authentication node is configured."; description "Specify authentication parameters"; container md5 { description "Use the MD5 algorithim. Encrypted MD5 key (32 hex digits)"; container password { description "Enter MD5 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; description "Enter key in encrypted form"; } } // container password } // container md5 container sha1 { description "Use the SHA1 algorithim. Encrypted SHA1 key (40 hex digits)"; container password { description "Enter SHA1 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; description "Enter key in encrypted form"; } } // container password } // container sha1 container null { must "not(../../null)"; presence "Indicates a null node is configured."; description "Use NULL authentication"; } // container null } // container authentication } // container esp } // container spi } // container ipsec } // container encryption container network { description "Network type"; container broadcast { presence "Indicates a broadcast node is configured."; description "Specify OSPFv3 broadcast multi-access network"; } // container broadcast container non-broadcast { presence "Indicates a non-broadcast node is configured."; description "Specify OSPFv3 NBMA network"; } // container non-broadcast container point-to-point { presence "Indicates a point-to-point node is configured."; description "Specify OSPFv3 point-to-point network"; } // container point-to-point container point-to-multipoint { presence "Indicates a point-to-multipoint node is configured."; description "Specify OSPFv3 point-to-multipoint network"; } // container point-to-multipoint } // container network container cost { description "Interface cost"; leaf cost { type uint32 { range "0..65535"; } description "Cost"; } } // container cost leaf hello-interval { type uint32 { range "1..65535"; } description "Time between HELLO packets"; } leaf dead-interval { type uint32 { range "1..65535"; } description "Interval after which a neighbor is declared dead"; } leaf priority { type uint32 { range "0..255"; } description "Router priority"; } leaf retransmit-interval { type uint32 { range "1..65535"; } description "Delay between LSA retransmissions"; } leaf transmit-delay { type uint32 { range "1..65535"; } description "Link state transmit delay"; } container flood-reduction { presence "Indicates a flood-reduction node is configured."; description "Enable/Disable flood reduction"; container disable { presence "Indicates a disable node is configured."; description "Disable flood reduction"; } // container disable } // container flood-reduction container demand-circuit { presence "Indicates a demand-circuit node is configured."; description "Enable/Disable demand circuit operation"; container disable { presence "Indicates a disable node is configured."; description "Disable demand circuit operation"; } // container disable } // container demand-circuit container mtu-ignore { presence "Indicates a mtu-ignore node is configured."; description "Enable/Disable ignoring of MTU in DBD packets"; container disable { presence "Indicates a disable node is configured."; description "Validate the MTU in DBD packets"; } // container disable } // container mtu-ignore leaf instance { type uint32 { range "0..255"; } description "Instance ID"; } container database-filter { description "Filter LSAs during synchronization and flooding"; container all { description "Filter all LSA"; container out { presence "Indicates a out node is configured."; description "Outgoing LSA"; container disable { presence "Indicates a disable node is configured."; description "Disable filtering"; } // container disable } // container out } // container all } // container database-filter container passive { presence "Indicates a passive node is configured."; description "Enable/Disable routing updates on an interface"; container disable { presence "Indicates a disable node is configured."; description "Disable routing updates on an interface"; } // container disable } // container passive container distribute-list { description "Filter prefixes to/from RIB"; leaf prefix-list { type string { length "1..1024"; } description "Prefix-list name"; } } // container distribute-list leaf packet-size { type uint32 { range "256..10000"; } description "Limit size of OSPFv3 packets"; } container fast-reroute { description "IP Fast Reroute"; container per-link { description "Per-link Computation"; container enable { must "not(../../per-prefix/enable)"; presence "Indicates a per-link node is configured."; description "Enable per-link Computation"; } // container enable container exclude { description "Per-link LFA exclusion information"; container interfaces { description "Exclude an interface from Per-link LFA"; list interface { key "interface-name"; description "Exclude an interface from Per-link LFA"; leaf interface-name { type xr:Interface-name; description "Exclude an interface from Per-link LFA"; } } // list interface } // container interfaces } // container exclude container lfa-candidate { description "FRR LFA candidate information"; container interfaces { description "Include an interface to LFA candidate in computation"; list interface { key "interface-name"; description "Include an interface to LFA candidate in computation"; leaf interface-name { type xr:Interface-name; description "Include an interface to LFA candidate in computation"; } } // list interface } // container interfaces } // container lfa-candidate container use-candidate-only { description "Enable/Disable backup selection from candidate-list only"; container enable { must "not(../disable)"; presence "Indicates a enable node is configured."; description "Enable backup selection from candidate-list only"; } // container enable container disable { must "not(../enable)"; presence "Indicates a disable node is configured."; description "Disable backup selection from candidate-list only"; } // container disable } // container use-candidate-only } // container per-link container per-prefix { description "Per-prefix Computation"; container enable { must "not(../../per-link/enable)"; presence "Indicates a per-prefix node is configured."; description "Enable per-prefix Computation"; } // container enable container exclude { description "Per-prefix LFA exclusion information"; container interfaces { description "Exclude an interface from Per-prefix LFA"; list interface { key "interface-name"; description "Exclude an interface from Per-prefix LFA"; leaf interface-name { type xr:Interface-name; description "Exclude an interface from Per-prefix LFA"; } } // list interface } // container interfaces } // container exclude container lfa-candidate { description "FRR LFA candidate information"; container interfaces { description "Include an interface to LFA candidate in computation"; list interface { key "interface-name"; description "Include an interface to LFA candidate in computation"; leaf interface-name { type xr:Interface-name; description "Include an interface to LFA candidate in computation"; } } // list interface } // container interfaces } // container lfa-candidate container use-candidate-only { description "Enable/Disable backup selection from candidate-list only"; container enable { must "not(../disable)"; presence "Indicates a enable node is configured."; description "Enable backup selection from candidate-list only"; } // container enable container disable { must "not(../enable)"; presence "Indicates a disable node is configured."; description "Disable backup selection from candidate-list only"; } // container disable } // container use-candidate-only } // container per-prefix container disable { presence "Indicates a disable node is configured."; description "Disable IP Fast Reroute"; } // container disable } // container fast-reroute container prefix-suppression { presence "Indicates a prefix-suppression node is configured."; description "Hide all transit addresses on this interface"; container disable { presence "Indicates a disable node is configured."; description "Disable prefix suppression on this interface"; } // container disable } // container prefix-suppression container bfd { description "Configure BFD parameters"; container fast-detect { presence "Indicates a fast-detect node is configured."; description "Enable Fast detection"; container strict-mode { presence "Indicates a strict-mode node is configured."; description "Hold down neighbor session until BFD session is up"; } // container strict-mode container disable { presence "Indicates a disable node is configured."; description "Prevent bfd settings from being inherited from the parent"; } // container disable } // container fast-detect leaf minimum-interval { type uint32 { range "3..30000"; } description "Minimum interval"; } leaf multiplier { type uint32 { range "2..50"; } description "Detect multiplier"; } } // container bfd container advertise { description "Conditionally advertise"; container prefix { description "Conditionally advertise this prefix"; leaf route-policy { type xr:Route-policy-name; description "Specify the route-policy for conditional advertising"; } } // container prefix } // container advertise container neighbors { description "Specify a neighbor router"; list neighbor { key "neighbor-address"; description "Specify a neighbor router"; leaf neighbor-address { type inet:ipv6-address-no-zone; description "Specify a neighbor router"; } leaf zone { type string; default "0"; description "IPv6 address zone"; } leaf priority { type uint32 { range "0..255"; } description "OSPFv3 priority of non-broadcast neighbor"; } leaf poll-interval { type uint32 { range "0..65535"; } description "OSPFv3 dead-router polling interval"; } leaf cost { type uint32 { range "1..65535"; } description "OSPFv3 cost for point-to-multipoint neighbor"; } container database-filter { description "Filter OSPFv3 LSA during synchronization and flooding for point-to-multipoint neighbor"; container all { description "Filter all LSA"; container out { presence "Indicates a out node is configured."; description "Outgoing LSA"; } // container out } // container all } // container database-filter } // list neighbor } // container neighbors } // list interface } // container interfaces container authentication { must "disable or ipsec/spi"; presence "Indicates a authentication node is configured."; description "Authenticate OSPFv3 packets"; container disable { must "not(../ipsec/spi)"; presence "Indicates a disable node is configured."; description "Do not authenticate OSPFv3 packets"; } // container disable container ipsec { description "Use IPSec AH authentication"; container spi { must "not(../../disable) and ((md5/password/encrypted and not(sha1/password/encrypted)) or (sha1/password/encrypted and not(md5/password/encrypted)))"; presence "Indicates a spi node is configured."; description "Specify the Security Parameter Index value"; leaf spi-index { type uint32 { range "256..4294967295"; } mandatory true; description "Specify the Security Parameter Index value"; } container md5 { description "Use the MD5 algorithim"; container password { description "Enter MD5 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; description "Encrypted key"; } } // container password } // container md5 container sha1 { description "Use the SHA1 algorithim"; container password { description "Enter SHA1 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; description "Encrypted key"; } } // container password } // container sha1 } // container spi } // container ipsec } // container authentication container encryption { must "disable or ipsec/spi"; presence "Indicates a encryption node is configured."; description "Encrypt and authenticate OSPFv3 packets"; container disable { must "not(../ipsec/spi)"; presence "Indicates a disable node is configured."; description "Do not encrypt OSPFv3 packets"; } // container disable container ipsec { description "Use IPSec ESP encryption and authentication"; container spi { must "not(../../disable) and (esp/null or esp/des/password/encrypted or esp/triple-des/password/encrypted or esp/aes/password/encrypted or esp/aes/aes-192/password/encrypted or esp/aes/aes-256/password/encrypted)"; presence "Indicates a spi node is configured."; description "Specify the Security Parameter Index value"; leaf spi-index { type uint32 { range "256..4294967295"; } mandatory true; description "Specify the Security Parameter Index value"; } container esp { description "Specify encryption parameters"; container null { must "../authentication and not(../des/password/encrypted or ../triple-des/password/encrypted or ../aes/password/encrypted or ../aes/aes-192/password/encrypted or ../aes/aes-256/password/encrypted)"; presence "Indicates a null node is configured."; description "Use NULL encryption"; } // container null container des { description "Use the DES algorithim. Encrypted DES key (34 hex digits)"; container password { description "Enter DES key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../null or ../../../triple-des/password/encrypted or ../../../aes/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; } } // container password } // container des container triple-des { description "Use the triple DES algorithim. Encrypted 3DES key (48 hex digits)"; container password { description "Enter 3DES key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../null or ../../../des/password/encrypted or ../../../aes/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; } } // container password } // container triple-des container aes { description "Use the AES algorithim. Encrypted AES key (32 hex digits)"; container password { description "Enter AES key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../null or ../../../des/password/encrypted or ../../../triple-des/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; } } // container password container aes-192 { description "Use the 192-bit AES algorithim. Encrypted AES-192 key (48 hex digits)"; container password { description "Enter AES-192 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../../null or ../../../../des/password/encrypted or ../../../../triple-des/password/encrypted or ../../../../aes/password/encrypted or ../../../../aes/aes-256/password/encrypted)"; } } // container password } // container aes-192 container aes-256 { description "Use the 256-bit AES algorithim. Encrypted AES-256 key (64 hex digits)"; container password { description "Enter AES-256 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../../null or ../../../../des/password/encrypted or ../../../../triple-des/password/encrypted or ../../../../aes/password/encrypted or ../../../../aes/aes-192/password/encrypted)"; } } // container password } // container aes-256 } // container aes container authentication { must "(../null or ../des/password/encrypted or ../triple-des/password/encrypted or ../aes/password/encrypted or ../aes/aes-192/password/encrypted or ../aes/aes-256/password/encrypted) and ((md5/password/encrypted and not(sha1/password/encrypted or null)) or (sha1/password/encrypted and not(md5/password/encrypted or null)) or (null and not(md5/password/encrypted or sha1/password/encrypted)))"; presence "Indicates a authentication node is configured."; description "Specify authentication parameters"; container md5 { description "Use the MD5 algorithim. Encrypted MD5 key (32 hex digits)"; container password { description "Enter MD5 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; description "Enter key in encrypted form"; } } // container password } // container md5 container sha1 { description "Use the SHA1 algorithim. Encrypted SHA1 key (40 hex digits)"; container password { description "Enter SHA1 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; description "Enter key in encrypted form"; } } // container password } // container sha1 container null { must "not(../../null)"; presence "Indicates a null node is configured."; description "Use NULL authentication"; } // container null } // container authentication } // container esp } // container spi } // container ipsec } // container encryption container network { description "Network type"; container broadcast { presence "Indicates a broadcast node is configured."; description "Specify OSPFv3 broadcast multi-access network"; } // container broadcast container non-broadcast { presence "Indicates a non-broadcast node is configured."; description "Specify OSPFv3 NBMA network"; } // container non-broadcast container point-to-point { presence "Indicates a point-to-point node is configured."; description "Specify OSPFv3 point-to-point network"; } // container point-to-point container point-to-multipoint { presence "Indicates a point-to-multipoint node is configured."; description "Specify OSPFv3 point-to-multipoint network"; } // container point-to-multipoint } // container network leaf cost { type uint32 { range "1..65535"; } description "Interface cost"; } leaf hello-interval { type uint32 { range "1..65535"; } description "Time between HELLO packets"; } leaf dead-interval { type uint32 { range "1..65535"; } description "Interval after which a neighbor is declared dead"; } leaf priority { type uint32 { range "0..255"; } description "Router priority"; } leaf retransmit-interval { type uint32 { range "1..65535"; } description "Delay between LSA retransmissions"; } leaf transmit-delay { type uint32 { range "1..65535"; } description "Link state transmit delay"; } container flood-reduction { presence "Indicates a flood-reduction node is configured."; description "Enable/Disable flood reduction"; container disable { presence "Indicates a disable node is configured."; description "Disable flood reduction"; } // container disable } // container flood-reduction container demand-circuit { presence "Indicates a demand-circuit node is configured."; description "Enable/Disable demand circuit operation"; container disable { presence "Indicates a disable node is configured."; description "Disable demand circuit operation"; } // container disable } // container demand-circuit container mtu-ignore { presence "Indicates a mtu-ignore node is configured."; description "Enable/Disable ignoring of MTU in DBD packets"; container disable { presence "Indicates a disable node is configured."; description "Validate the MTU in DBD packets"; } // container disable } // container mtu-ignore leaf instance { type uint32 { range "0..255"; } description "Instance ID"; } container database-filter { description "Filter LSAs during synchronization and flooding"; container all { description "Filter all LSA"; container out { presence "Indicates a out node is configured."; description "Outgoing LSA"; container disable { presence "Indicates a disable node is configured."; description "Disable filtering"; } // container disable } // container out } // container all } // container database-filter container passive { presence "Indicates a passive node is configured."; description "Enable/Disable routing updates on an interface"; container disable { presence "Indicates a disable node is configured."; description "Disable routing updates on an interface"; } // container disable } // container passive container distribute-list { description "Filter prefixes to/from RIB"; leaf prefix-list { type string { length "1..1024"; } description "Prefix-list name"; } } // container distribute-list leaf packet-size { type uint32 { range "256..10000"; } description "Limit size of OSPFv3 packets"; } container fast-reroute { description "IP Fast Reroute"; container per-link { description "Per-link Computation"; container enable { must "not(../../per-prefix/enable)"; presence "Indicates a per-link node is configured."; description "Enable per-link Computation"; } // container enable container exclude { description "Per-link LFA exclusion information"; container interfaces { description "Exclude an interface from Per-link LFA"; list interface { key "interface-name"; description "Exclude an interface from Per-link LFA"; leaf interface-name { type xr:Interface-name; description "Exclude an interface from Per-link LFA"; } } // list interface } // container interfaces } // container exclude container lfa-candidate { description "FRR LFA candidate information"; container interfaces { description "Include an interface to LFA candidate in computation"; list interface { key "interface-name"; description "Include an interface to LFA candidate in computation"; leaf interface-name { type xr:Interface-name; description "Include an interface to LFA candidate in computation"; } } // list interface } // container interfaces } // container lfa-candidate container use-candidate-only { description "Enable/Disable backup selection from candidate-list only"; container enable { must "not(../disable)"; presence "Indicates a enable node is configured."; description "Enable backup selection from candidate-list only"; } // container enable container disable { must "not(../enable)"; presence "Indicates a disable node is configured."; description "Disable backup selection from candidate-list only"; } // container disable } // container use-candidate-only } // container per-link container per-prefix { description "Per-prefix Computation"; container enable { must "not(../../per-link/enable)"; presence "Indicates a per-prefix node is configured."; description "Enable per-prefix Computation"; } // container enable container exclude { description "Per-prefix LFA exclusion information"; container interfaces { description "Exclude an interface from Per-prefix LFA"; list interface { key "interface-name"; description "Exclude an interface from Per-prefix LFA"; leaf interface-name { type xr:Interface-name; description "Exclude an interface from Per-prefix LFA"; } } // list interface } // container interfaces } // container exclude container lfa-candidate { description "FRR LFA candidate information"; container interfaces { description "Include an interface to LFA candidate in computation"; list interface { key "interface-name"; description "Include an interface to LFA candidate in computation"; leaf interface-name { type xr:Interface-name; description "Include an interface to LFA candidate in computation"; } } // list interface } // container interfaces } // container lfa-candidate container use-candidate-only { description "Enable/Disable backup selection from candidate-list only"; container enable { must "not(../disable)"; presence "Indicates a enable node is configured."; description "Enable backup selection from candidate-list only"; } // container enable container disable { must "not(../enable)"; presence "Indicates a disable node is configured."; description "Disable backup selection from candidate-list only"; } // container disable } // container use-candidate-only } // container per-prefix container disable { presence "Indicates a disable node is configured."; description "Disable IP Fast Reroute"; } // container disable } // container fast-reroute container prefix-suppression { presence "Indicates a prefix-suppression node is configured."; description "Hide all transit addresses on this interface"; container disable { presence "Indicates a disable node is configured."; description "Disable prefix suppression on this interface"; } // container disable } // container prefix-suppression container bfd { description "Configure BFD parameters"; container fast-detect { presence "Indicates a fast-detect node is configured."; description "Enable Fast detection"; container strict-mode { presence "Indicates a strict-mode node is configured."; description "Hold down neighbor session until BFD session is up"; } // container strict-mode container disable { presence "Indicates a disable node is configured."; description "Prevent bfd settings from being inherited from the parent"; } // container disable } // container fast-detect leaf minimum-interval { type uint32 { range "3..30000"; } description "Minimum interval"; } leaf multiplier { type uint32 { range "2..50"; } description "Detect multiplier"; } } // container bfd container virtual-links { description "Define a virtual link"; list virtual-link { key "virtual-link-address"; description "Define a virtual link"; leaf virtual-link-address { type inet:ipv4-address-no-zone; description "Define a virtual link"; } container authentication { must "disable or ipsec/spi"; presence "Indicates a authentication node is configured."; description "Authenticate OSPFv3 packets"; container disable { must "not(../ipsec/spi)"; presence "Indicates a disable node is configured."; description "Do not authenticate OSPFv3 packets"; } // container disable container ipsec { description "Use IPSec AH authentication"; container spi { must "not(../../disable) and ((md5/password/encrypted and not(sha1/password/encrypted)) or (sha1/password/encrypted and not(md5/password/encrypted)))"; presence "Indicates a spi node is configured."; description "Specify the Security Parameter Index value"; leaf spi-index { type uint32 { range "256..4294967295"; } mandatory true; description "Specify the Security Parameter Index value"; } container md5 { description "Use the MD5 algorithim"; container password { description "Enter MD5 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; description "Encrypted key"; } } // container password } // container md5 container sha1 { description "Use the SHA1 algorithim"; container password { description "Enter SHA1 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; description "Encrypted key"; } } // container password } // container sha1 } // container spi } // container ipsec } // container authentication container encryption { must "disable or ipsec/spi"; presence "Indicates a encryption node is configured."; description "Encrypt and authenticate OSPFv3 packets"; container disable { must "not(../ipsec/spi)"; presence "Indicates a disable node is configured."; description "Do not encrypt OSPFv3 packets"; } // container disable container ipsec { description "Use IPSec ESP encryption and authentication"; container spi { must "not(../../disable) and (esp/null or esp/des/password/encrypted or esp/triple-des/password/encrypted or esp/aes/password/encrypted or esp/aes/aes-192/password/encrypted or esp/aes/aes-256/password/encrypted)"; presence "Indicates a spi node is configured."; description "Specify the Security Parameter Index value"; leaf spi-index { type uint32 { range "256..4294967295"; } mandatory true; description "Specify the Security Parameter Index value"; } container esp { description "Specify encryption parameters"; container null { must "../authentication and not(../des/password/encrypted or ../triple-des/password/encrypted or ../aes/password/encrypted or ../aes/aes-192/password/encrypted or ../aes/aes-256/password/encrypted)"; presence "Indicates a null node is configured."; description "Use NULL encryption"; } // container null container des { description "Use the DES algorithim. Encrypted DES key (34 hex digits)"; container password { description "Enter DES key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../null or ../../../triple-des/password/encrypted or ../../../aes/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; } } // container password } // container des container triple-des { description "Use the triple DES algorithim. Encrypted 3DES key (48 hex digits)"; container password { description "Enter 3DES key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../null or ../../../des/password/encrypted or ../../../aes/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; } } // container password } // container triple-des container aes { description "Use the AES algorithim. Encrypted AES key (32 hex digits)"; container password { description "Enter AES key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../null or ../../../des/password/encrypted or ../../../triple-des/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; } } // container password container aes-192 { description "Use the 192-bit AES algorithim. Encrypted AES-192 key (48 hex digits)"; container password { description "Enter AES-192 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../../null or ../../../../des/password/encrypted or ../../../../triple-des/password/encrypted or ../../../../aes/password/encrypted or ../../../../aes/aes-256/password/encrypted)"; } } // container password } // container aes-192 container aes-256 { description "Use the 256-bit AES algorithim. Encrypted AES-256 key (64 hex digits)"; container password { description "Enter AES-256 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../../null or ../../../../des/password/encrypted or ../../../../triple-des/password/encrypted or ../../../../aes/password/encrypted or ../../../../aes/aes-192/password/encrypted)"; } } // container password } // container aes-256 } // container aes container authentication { must "(../null or ../des/password/encrypted or ../triple-des/password/encrypted or ../aes/password/encrypted or ../aes/aes-192/password/encrypted or ../aes/aes-256/password/encrypted) and ((md5/password/encrypted and not(sha1/password/encrypted or null)) or (sha1/password/encrypted and not(md5/password/encrypted or null)) or (null and not(md5/password/encrypted or sha1/password/encrypted)))"; presence "Indicates a authentication node is configured."; description "Specify authentication parameters"; container md5 { description "Use the MD5 algorithim. Encrypted MD5 key (32 hex digits)"; container password { description "Enter MD5 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; description "Enter key in encrypted form"; } } // container password } // container md5 container sha1 { description "Use the SHA1 algorithim. Encrypted SHA1 key (40 hex digits)"; container password { description "Enter SHA1 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; description "Enter key in encrypted form"; } } // container password } // container sha1 container null { must "not(../../null)"; presence "Indicates a null node is configured."; description "Use NULL authentication"; } // container null } // container authentication } // container esp } // container spi } // container ipsec } // container encryption leaf hello-interval { type uint32 { range "1..65535"; } description "Time between HELLO packets"; } leaf dead-interval { type uint32 { range "1..65535"; } description "Interval after which a neighbor is declared dead"; } leaf retransmit-interval { type uint32 { range "1..65535"; } description "Delay between LSA retransmissions"; } leaf transmit-delay { type uint32 { range "1..65535"; } description "Link state transmit delay"; } } // list virtual-link } // container virtual-links container sham-links { description "Define a sham link"; list sham-link { key "local-address remote-address"; description "Define a sham link"; leaf local-address { type inet:ipv6-address-no-zone; description "Address of the local sham-link end-point"; } leaf remote-address { type inet:ipv6-address-no-zone; description "Address of the remote sham-link endpoint"; } container authentication { must "disable or ipsec/spi"; presence "Indicates a authentication node is configured."; description "Authenticate OSPFv3 packets"; container disable { must "not(../ipsec/spi)"; presence "Indicates a disable node is configured."; description "Do not authenticate OSPFv3 packets"; } // container disable container ipsec { description "Use IPSec AH authentication"; container spi { must "not(../../disable) and ((md5/password/encrypted and not(sha1/password/encrypted)) or (sha1/password/encrypted and not(md5/password/encrypted)))"; presence "Indicates a spi node is configured."; description "Specify the Security Parameter Index value"; leaf spi-index { type uint32 { range "256..4294967295"; } mandatory true; description "Specify the Security Parameter Index value"; } container md5 { description "Use the MD5 algorithim"; container password { description "Enter MD5 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; description "Encrypted key"; } } // container password } // container md5 container sha1 { description "Use the SHA1 algorithim"; container password { description "Enter SHA1 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; description "Encrypted key"; } } // container password } // container sha1 } // container spi } // container ipsec } // container authentication container encryption { must "disable or ipsec/spi"; presence "Indicates a encryption node is configured."; description "Encrypt and authenticate OSPFv3 packets"; container disable { must "not(../ipsec/spi)"; presence "Indicates a disable node is configured."; description "Do not encrypt OSPFv3 packets"; } // container disable container ipsec { description "Use IPSec ESP encryption and authentication"; container spi { must "not(../../disable) and (esp/null or esp/des/password/encrypted or esp/triple-des/password/encrypted or esp/aes/password/encrypted or esp/aes/aes-192/password/encrypted or esp/aes/aes-256/password/encrypted)"; presence "Indicates a spi node is configured."; description "Specify the Security Parameter Index value"; leaf spi-index { type uint32 { range "256..4294967295"; } mandatory true; description "Specify the Security Parameter Index value"; } container esp { description "Specify encryption parameters"; container null { must "../authentication and not(../des/password/encrypted or ../triple-des/password/encrypted or ../aes/password/encrypted or ../aes/aes-192/password/encrypted or ../aes/aes-256/password/encrypted)"; presence "Indicates a null node is configured."; description "Use NULL encryption"; } // container null container des { description "Use the DES algorithim. Encrypted DES key (34 hex digits)"; container password { description "Enter DES key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../null or ../../../triple-des/password/encrypted or ../../../aes/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; } } // container password } // container des container triple-des { description "Use the triple DES algorithim. Encrypted 3DES key (48 hex digits)"; container password { description "Enter 3DES key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../null or ../../../des/password/encrypted or ../../../aes/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; } } // container password } // container triple-des container aes { description "Use the AES algorithim. Encrypted AES key (32 hex digits)"; container password { description "Enter AES key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../null or ../../../des/password/encrypted or ../../../triple-des/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; } } // container password container aes-192 { description "Use the 192-bit AES algorithim. Encrypted AES-192 key (48 hex digits)"; container password { description "Enter AES-192 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../../null or ../../../../des/password/encrypted or ../../../../triple-des/password/encrypted or ../../../../aes/password/encrypted or ../../../../aes/aes-256/password/encrypted)"; } } // container password } // container aes-192 container aes-256 { description "Use the 256-bit AES algorithim. Encrypted AES-256 key (64 hex digits)"; container password { description "Enter AES-256 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../../null or ../../../../des/password/encrypted or ../../../../triple-des/password/encrypted or ../../../../aes/password/encrypted or ../../../../aes/aes-192/password/encrypted)"; } } // container password } // container aes-256 } // container aes container authentication { must "(../null or ../des/password/encrypted or ../triple-des/password/encrypted or ../aes/password/encrypted or ../aes/aes-192/password/encrypted or ../aes/aes-256/password/encrypted) and ((md5/password/encrypted and not(sha1/password/encrypted or null)) or (sha1/password/encrypted and not(md5/password/encrypted or null)) or (null and not(md5/password/encrypted or sha1/password/encrypted)))"; presence "Indicates a authentication node is configured."; description "Specify authentication parameters"; container md5 { description "Use the MD5 algorithim. Encrypted MD5 key (32 hex digits)"; container password { description "Enter MD5 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; description "Enter key in encrypted form"; } } // container password } // container md5 container sha1 { description "Use the SHA1 algorithim. Encrypted SHA1 key (40 hex digits)"; container password { description "Enter SHA1 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; description "Enter key in encrypted form"; } } // container password } // container sha1 container null { must "not(../../null)"; presence "Indicates a null node is configured."; description "Use NULL authentication"; } // container null } // container authentication } // container esp } // container spi } // container ipsec } // container encryption leaf cost { type uint32 { range "1..65535"; } description "Sham-link cost"; } leaf hello-interval { type uint32 { range "1..65535"; } description "Time between HELLO packets"; } leaf dead-interval { type uint32 { range "1..65535"; } description "Interval after which a neighbor is declared dead"; } leaf retransmit-interval { type uint32 { range "1..65535"; } description "Delay between LSA retransmissions"; } leaf transmit-delay { type uint32 { range "1..65535"; } description "Link state transmit delay"; } } // list sham-link } // container sham-links } // list area } // container areas container auto-cost { presence "Indicates a auto-cost node is configured."; description "Calculate interface cost according to bandwidth"; leaf reference-bandwidth { type uint32 { range "1..4294967"; } description "Specify reference bandwidth for cost computations"; } container disable { presence "Indicates a disable node is configured."; description "Assign cost based on interface type"; } // container disable } // container auto-cost container default-information { description "Control distribution of default information"; container originate { presence "Indicates a originate node is configured."; description "Distribute a default route"; container always { presence "Indicates a always node is configured."; description "Always advertise default route"; } // container always leaf metric { type uint32 { range "0..16777214"; } description "OSPFv3 default metric"; } leaf metric-type { type uint32 { range "1..2"; } description "OSPFv3 metric type for default routes"; } leaf tag { type uint32 { range "0..4294967295"; } description "Set tag for default route"; } leaf route-policy { type xr:Route-policy-name; description "Apply route policy to default-information origination"; } } // container originate } // container default-information leaf default-metric { type uint32 { range "1..16777214"; } description "Set metric of redistributed routes"; } container distance { description "Define an administrative distance"; leaf administrative-distance { type uint32 { range "1..255"; } description "Define an administrative distance"; } container ospfv3 { description "OSPFv3 administrative distance"; leaf intra-area { type uint32 { range "1..255"; } description "Intra-area routes"; } leaf inter-area { type uint32 { range "1..255"; } description "Inter-area routes"; } leaf external { type uint32 { range "1..255"; } description "External type 5 and type 7 routes"; } } // container ospfv3 } // container distance container distribute-list { description "Filter prefixes to/from RIB"; container prefix-list { description "Filter prefixes based on an IPv6 prefix-list"; container in { presence "Indicates a prefix-list-name node is configured."; description "Filter prefixes installed to RIB"; leaf prefix-list-name { type string { length "1..1024"; } mandatory true; description "Prefix-list name"; } } // container in container out { description "Filter prefixes redistributed from RIB "; leaf prefix-list-name { type xr:Cisco-ios-xr-string { length "1..1024"; } description "Prefix-list name"; } container connected { presence "Indicates a connected node is configured."; description "Connected routes"; leaf prefix-list-name { type string { length "1..1024"; } mandatory true; description "Prefix-list name"; } } // container connected container static { presence "Indicates a static node is configured."; description "Static routes"; leaf prefix-list-name { type string { length "1..1024"; } mandatory true; description "Prefix-list name"; } } // container static container bgp { description "BGP routes"; list as { key "as-number"; description "bgp as-number"; leaf as-number { type xr:Bgp-as-number; description "bgp as-number"; } leaf prefix-list-name { type string { length "1..1024"; } mandatory true; description "Prefix-list name"; } } // list as } // container bgp list ospfv3 { key "instance-name"; description "OSPFv3 routes"; leaf instance-name { type string { length "1..1024"; } description "OSPFv3 routes"; } leaf prefix-list-name { type string { length "1..1024"; } mandatory true; description "Prefix-list name"; } } // list ospfv3 list isis { key "instance-name"; description "IS-IS routes"; leaf instance-name { type string { length "1..1024"; } description "IS-IS routes"; } leaf prefix-list-name { type string { length "1..1024"; } mandatory true; description "Prefix-list name"; } } // list isis list eigrp { key "as-number"; description "EIGRP routes"; leaf as-number { type uint32 { range "1..65535"; } description "EIGRP routes"; } leaf prefix-list-name { type string { length "1..1024"; } mandatory true; description "Prefix-list name"; } } // list eigrp } // container out } // container prefix-list } // container distribute-list leaf packet-size { type uint32 { range "256..10000"; } description "Limit size of OSPFv3 packets"; } container fast-reroute { description "IP Fast Reroute"; container per-link { description "Per-link Computation"; container enable { must "not(../../per-prefix/enable)"; presence "Indicates a per-link node is configured."; description "Enable per-link Computation"; } // container enable container exclude { description "Per-link LFA exclusion information"; container interfaces { description "Exclude an interface from Per-link LFA"; list interface { key "interface-name"; description "Exclude an interface from Per-link LFA"; leaf interface-name { type xr:Interface-name; description "Exclude an interface from Per-link LFA"; } } // list interface } // container interfaces } // container exclude container lfa-candidate { description "FRR LFA candidate information"; container interfaces { description "Include an interface to LFA candidate in computation"; list interface { key "interface-name"; description "Include an interface to LFA candidate in computation"; leaf interface-name { type xr:Interface-name; description "Include an interface to LFA candidate in computation"; } } // list interface } // container interfaces } // container lfa-candidate container use-candidate-only { description "Enable/Disable backup selection from candidate-list only"; container enable { must "not(../disable)"; presence "Indicates a enable node is configured."; description "Enable backup selection from candidate-list only"; } // container enable container disable { must "not(../enable)"; presence "Indicates a disable node is configured."; description "Disable backup selection from candidate-list only"; } // container disable } // container use-candidate-only container priority-limit { description "Limit backup computation upto the prefix priority"; container critical { presence "Indicates a critical node is configured."; description "Compute for critical priority prefixes only"; } // container critical container high { presence "Indicates a high node is configured."; description "Compute for critical & high priority prefixes "; } // container high container medium { presence "Indicates a medium node is configured."; description "Compute for critical, high & medium priority prefixes "; } // container medium } // container priority-limit } // container per-link container per-prefix { description "Per-prefix Computation"; container enable { must "not(../../per-link/enable)"; presence "Indicates a per-prefix node is configured."; description "Enable per-prefix Computation"; } // container enable container exclude { description "Per-prefix LFA exclusion information"; container interfaces { description "Exclude an interface from Per-prefix LFA"; list interface { key "interface-name"; description "Exclude an interface from Per-prefix LFA"; leaf interface-name { type xr:Interface-name; description "Exclude an interface from Per-prefix LFA"; } } // list interface } // container interfaces } // container exclude container lfa-candidate { description "FRR LFA candidate information"; container interfaces { description "Include an interface to LFA candidate in computation"; list interface { key "interface-name"; description "Include an interface to LFA candidate in computation"; leaf interface-name { type xr:Interface-name; description "Include an interface to LFA candidate in computation"; } } // list interface } // container interfaces } // container lfa-candidate container use-candidate-only { description "Enable/Disable backup selection from candidate-list only"; container enable { must "not(../disable)"; presence "Indicates a enable node is configured."; description "Enable backup selection from candidate-list only"; } // container enable container disable { must "not(../enable)"; presence "Indicates a disable node is configured."; description "Disable backup selection from candidate-list only"; } // container disable } // container use-candidate-only container priority-limit { description "Limit backup computation upto the prefix priority"; container critical { presence "Indicates a critical node is configured."; description "Compute for critical priority prefixes only"; } // container critical container high { presence "Indicates a high node is configured."; description "Compute for critical & high priority prefixes "; } // container high container medium { presence "Indicates a medium node is configured."; description "Compute for critical, high & medium priority prefixes "; } // container medium } // container priority-limit container tiebreaker { description "Configure tiebreaker for multiple backups"; container downstream { description "Prefer backup path via downstream node"; leaf index { type uint32 { range "1..255"; } description "Set preference order among tiebreakers"; } } // container downstream container lc-disjoint { description "Prefer line card disjoint backup path"; leaf index { type uint32 { range "1..255"; } description "Set preference order among tiebreakers"; } } // container lc-disjoint container lowest-backup-metric { description "Prefer backup path with lowest total metric"; leaf index { type uint32 { range "1..255"; } description "Set preference order among tiebreakers"; } } // container lowest-backup-metric container node-protecting { description "Prefer node protecting backup path"; leaf index { type uint32 { range "1..255"; } description "Set preference order among tiebreakers"; } } // container node-protecting container primary-path { description "Prefer backup path from ECMP set"; leaf index { type uint32 { range "1..255"; } description "Set preference order among tiebreakers"; } } // container primary-path container secondary-path { description "Prefer non-ECMP backup path"; leaf index { type uint32 { range "1..255"; } description "Set preference order among tiebreakers"; } } // container secondary-path container srlg-disjoint { description "Prefer SRLG disjoint backup path"; leaf index { type uint32 { range "1..255"; } description "Set preference order among tiebreakers"; } } // container srlg-disjoint } // container tiebreaker container load-sharing { description "Load share prefixes across multiple backups"; container disable { presence "Indicates a disable node is configured."; description "Disable load sharing"; } // container disable } // container load-sharing } // container per-prefix container disable { presence "Indicates a disable node is configured."; description "Disable IP Fast Reroute"; } // container disable } // container fast-reroute container prefix-suppression { presence "Indicates a prefix-suppression node is configured."; description "Hide all transit addresses on this interface"; } // container prefix-suppression container bfd { description "Configure BFD parameters"; container fast-detect { presence "Indicates a fast-detect node is configured."; description "Enable Fast detection"; container strict-mode { presence "Indicates a strict-mode node is configured."; description "Hold down neighbor session until BFD session is up"; } // container strict-mode } // container fast-detect leaf minimum-interval { type uint32 { range "3..30000"; } description "Minimum interval"; } leaf multiplier { type uint32 { range "2..50"; } description "Detect multiplier"; } } // container bfd container graceful-restart { description "Enable Graceful-Restart"; container enable { presence "Indicates a enable node is configured."; description "Enable Graceful-Restart"; } // container enable leaf interval { type uint32 { range "90..3600"; } description "Minimum interval between Graceful Restarts (seconds)"; } leaf lifetime { type uint32 { range "90..1800"; } description "Maximum route lifetime following restart (seconds)"; } container helper { description "router's helper support level"; container disable { presence "Indicates a disable node is configured."; description "router's helper support disabled"; } // container disable } // container helper container strict-lsa-checking { presence "Indicates a strict-lsa-checking node is configured."; description "terminate graceful restart helper mode if lsa changed"; } // container strict-lsa-checking } // container graceful-restart container ignore { description "Do not complain about a specified event"; container lsa { description "Do not complain upon receiving LSA of the specified type"; container mospf { presence "Indicates a mospf node is configured."; description "MOSPF Type 6 LSA"; } // container mospf } // container lsa } // container ignore container authentication { must "disable or ipsec/spi"; presence "Indicates a authentication node is configured."; description "Authenticate OSPFv3 packets"; container disable { must "not(../ipsec/spi)"; presence "Indicates a disable node is configured."; description "Do not authenticate OSPFv3 packets"; } // container disable container ipsec { description "Use IPSec AH authentication"; container spi { must "not(../../disable) and ((md5/password/encrypted and not(sha1/password/encrypted)) or (sha1/password/encrypted and not(md5/password/encrypted)))"; presence "Indicates a spi node is configured."; description "Specify the Security Parameter Index value"; leaf spi-index { type uint32 { range "256..4294967295"; } mandatory true; description "Specify the Security Parameter Index value"; } container md5 { description "Use the MD5 algorithim"; container password { description "Enter MD5 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; description "Encrypted key"; } } // container password } // container md5 container sha1 { description "Use the SHA1 algorithim"; container password { description "Enter SHA1 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; description "Encrypted key"; } } // container password } // container sha1 } // container spi } // container ipsec } // container authentication container encryption { must "disable or ipsec/spi"; presence "Indicates a encryption node is configured."; description "Encrypt and authenticate OSPFv3 packets"; container disable { must "not(../ipsec/spi)"; presence "Indicates a disable node is configured."; description "Do not encrypt OSPFv3 packets"; } // container disable container ipsec { description "Use IPSec ESP encryption and authentication"; container spi { must "not(../../disable) and (esp/null or esp/des/password/encrypted or esp/triple-des/password/encrypted or esp/aes/password/encrypted or esp/aes/aes-192/password/encrypted or esp/aes/aes-256/password/encrypted)"; presence "Indicates a spi node is configured."; description "Specify the Security Parameter Index value"; leaf spi-index { type uint32 { range "256..4294967295"; } mandatory true; description "Specify the Security Parameter Index value"; } container esp { description "Specify encryption parameters"; container null { must "../authentication and not(../des/password/encrypted or ../triple-des/password/encrypted or ../aes/password/encrypted or ../aes/aes-192/password/encrypted or ../aes/aes-256/password/encrypted)"; presence "Indicates a null node is configured."; description "Use NULL encryption"; } // container null container des { description "Use the DES algorithim. Encrypted DES key (34 hex digits)"; container password { description "Enter DES key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../null or ../../../triple-des/password/encrypted or ../../../aes/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; } } // container password } // container des container triple-des { description "Use the triple DES algorithim. Encrypted 3DES key (48 hex digits)"; container password { description "Enter 3DES key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../null or ../../../des/password/encrypted or ../../../aes/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; } } // container password } // container triple-des container aes { description "Use the AES algorithim. Encrypted AES key (32 hex digits)"; container password { description "Enter AES key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../null or ../../../des/password/encrypted or ../../../triple-des/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; } } // container password container aes-192 { description "Use the 192-bit AES algorithim. Encrypted AES-192 key (48 hex digits)"; container password { description "Enter AES-192 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../../null or ../../../../des/password/encrypted or ../../../../triple-des/password/encrypted or ../../../../aes/password/encrypted or ../../../../aes/aes-256/password/encrypted)"; } } // container password } // container aes-192 container aes-256 { description "Use the 256-bit AES algorithim. Encrypted AES-256 key (64 hex digits)"; container password { description "Enter AES-256 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; must "not(../../../../null or ../../../../des/password/encrypted or ../../../../triple-des/password/encrypted or ../../../../aes/password/encrypted or ../../../../aes/aes-192/password/encrypted)"; } } // container password } // container aes-256 } // container aes container authentication { must "(../null or ../des/password/encrypted or ../triple-des/password/encrypted or ../aes/password/encrypted or ../aes/aes-192/password/encrypted or ../aes/aes-256/password/encrypted) and ((md5/password/encrypted and not(sha1/password/encrypted or null)) or (sha1/password/encrypted and not(md5/password/encrypted or null)) or (null and not(md5/password/encrypted or sha1/password/encrypted)))"; presence "Indicates a authentication node is configured."; description "Specify authentication parameters"; container md5 { description "Use the MD5 algorithim. Encrypted MD5 key (32 hex digits)"; container password { description "Enter MD5 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; description "Enter key in encrypted form"; } } // container password } // container md5 container sha1 { description "Use the SHA1 algorithim. Encrypted SHA1 key (40 hex digits)"; container password { description "Enter SHA1 key in encrypted form"; leaf encrypted { type xr:Proprietary-password; description "Enter key in encrypted form"; } } // container password } // container sha1 container null { must "not(../../null)"; presence "Indicates a null node is configured."; description "Use NULL authentication"; } // container null } // container authentication } // container esp } // container spi } // container ipsec } // container encryption container network { description "Network type"; container broadcast { presence "Indicates a broadcast node is configured."; description "Specify OSPFv3 broadcast multi-access network"; } // container broadcast container non-broadcast { presence "Indicates a non-broadcast node is configured."; description "Specify OSPFv3 NBMA network"; } // container non-broadcast container point-to-point { presence "Indicates a point-to-point node is configured."; description "Specify OSPFv3 point-to-point network"; } // container point-to-point container point-to-multipoint { presence "Indicates a point-to-multipoint node is configured."; description "Specify OSPFv3 point-to-multipoint network"; } // container point-to-multipoint } // container network leaf cost { type uint32 { range "1..65535"; } description "Interface cost"; } leaf hello-interval { type uint32 { range "1..65535"; } description "Time between HELLO packets"; } leaf dead-interval { type uint32 { range "1..65535"; } description "Interval after which a neighbor is declared dead"; } leaf priority { type uint32 { range "0..255"; } description "Router priority"; } leaf retransmit-interval { type uint32 { range "1..65535"; } description "Delay between LSA retransmissions"; } leaf transmit-delay { type uint32 { range "1..65535"; } description "Link state transmit delay"; } container flood-reduction { presence "Indicates a flood-reduction node is configured."; description "Enable/Disable flood reduction"; } // container flood-reduction container demand-circuit { presence "Indicates a demand-circuit node is configured."; description "Enable/Disable demand circuit operation"; } // container demand-circuit container mtu-ignore { presence "Indicates a mtu-ignore node is configured."; description "Enable/Disable ignoring of MTU in DBD packets"; } // container mtu-ignore leaf instance { type uint32 { range "0..255"; } description "Instance ID"; } container database-filter { description "Filter LSAs during synchronization and flooding"; container all { description "Filter all LSA"; container out { presence "Indicates a out node is configured."; description "Outgoing LSA"; } // container out } // container all } // container database-filter container passive { presence "Indicates a passive node is configured."; description "Enable/Disable routing updates on an interface"; } // container passive container log { description "Control OSPFv3 console logging"; container adjacency { description "Log adjacency state changes"; container changes { description "Log changes"; container detail { presence "Indicates a detail node is configured."; description "Log all state changes"; } // container detail container disable { presence "Indicates a disable node is configured."; description "Disable logging"; } // container disable } // container changes } // container adjacency } // container log container maximum { description "Set OSPFv3 limits"; leaf interfaces { type uint32 { range "1..4294967295"; } description "Limit number of interfaces"; } leaf paths { type uint32 { range "1..64"; } description "Limit number of paths"; } container redistributed-prefixes { presence "Indicates a redistributed-prefixes node is configured."; description "Limit number of redistributed prefixes"; leaf prefixes { type uint32 { range "1..4294967295"; } mandatory true; description "Limit number of redistributed prefixes"; } leaf threshold { type uint32 { range "1..100"; } description "Threshold value (%) at which to generate a warning msg"; } container warning-only { presence "Indicates a warning-only node is configured."; description "Only give warning message when limit is exceeded"; } // container warning-only } // container redistributed-prefixes } // container maximum container redistribute { description "Redistribute information from another routing protocol"; container connected { presence "Indicates a connected node is configured."; description "Connected routes"; container metric { description "Metric for redistributed routes"; leaf default-metric { type uint32 { range "0..16777214"; } description "OSPFv3 default metric"; } container use-rib-metric { presence "Indicates a use-rib-metric node is configured."; description "Use metric from RIB"; } // container use-rib-metric } // container metric leaf metric-type { type enumeration { enum "1" { value 1; description "Set OSPFv3 External Type 1 metrics"; } enum "2" { value 2; description "Set OSPFv3 External Type 2 metrics"; } } description "OSPFv3 exterior metric type for redistributed routes"; } leaf tag { type uint32 { range "0..4294967295"; } description "Set tag for routes redistributed into OSPFv3"; } leaf route-policy { type xr:Route-policy-name; description "Apply route-policy to redistribution"; } } // container connected container static { presence "Indicates a static node is configured."; description "Static routes"; container metric { description "Metric for redistributed routes"; leaf default-metric { type uint32 { range "0..16777214"; } description "OSPFv3 default metric"; } container use-rib-metric { presence "Indicates a use-rib-metric node is configured."; description "Use metric from RIB"; } // container use-rib-metric } // container metric leaf metric-type { type enumeration { enum "1" { value 1; description "Set OSPFv3 External Type 1 metrics"; } enum "2" { value 2; description "Set OSPFv3 External Type 2 metrics"; } } description "OSPFv3 exterior metric type for redistributed routes"; } leaf tag { type uint32 { range "0..4294967295"; } description "Set tag for routes redistributed into OSPFv3"; } leaf route-policy { type xr:Route-policy-name; description "Apply route-policy to redistribution"; } } // container static container subscriber { presence "Indicates a subscriber node is configured."; description "Subscriber routes"; container metric { description "Metric for redistributed routes"; leaf ospfv3-default-metric { type uint32 { range "0..16777214"; } description "OSPFv3 default metric"; } container use-rib-metric { presence "Indicates a use-rib-metric node is configured."; description "Use metric from RIB"; } // container use-rib-metric } // container metric leaf metric-type { type enumeration { enum "1" { value 1; description "Set OSPFv3 External Type 1 metrics"; } enum "2" { value 2; description "Set OSPFv3 External Type 2 metrics"; } } description "OSPFv3 exterior metric type for redistributed routes"; } leaf tag { type uint32 { range "0..4294967295"; } description "Set tag for routes redistributed into OSPFv3"; } leaf route-policy { type xr:Route-policy-name; description "Apply route-policy to redistribution"; } } // container subscriber container mobile { presence "Indicates a mobile node is configured."; description "Mobile routes"; container metric { description "Metric for redistributed routes"; leaf default-metric { type uint32 { range "0..16777214"; } description "OSPFv3 default metric"; } container use-rib-metric { presence "Indicates a use-rib-metric node is configured."; description "Use metric from RIB"; } // container use-rib-metric } // container metric leaf metric-type { type enumeration { enum "1" { value 1; description "Set OSPFv3 External Type 1 metrics"; } enum "2" { value 2; description "Set OSPFv3 External Type 2 metrics"; } } description "OSPFv3 exterior metric type for redistributed routes"; } leaf tag { type uint32 { range "0..4294967295"; } description "Set tag for routes redistributed into OSPFv3"; } leaf route-policy { type xr:Route-policy-name; description "Apply route-policy to redistribution"; } } // container mobile container applications { description "Application routes"; list application { key "application-name"; description "Application routes"; leaf application-name { type string { length "1..1024"; } description "Application routes"; } container metric { description "Metric for redistributed routes"; leaf default-metric { type uint32 { range "0..16777214"; } description "OSPFv3 default metric"; } container use-rib-metric { presence "Indicates a use-rib-metric node is configured."; description "Use metric from RIB"; } // container use-rib-metric } // container metric leaf metric-type { type enumeration { enum "1" { value 1; description "Set OSPFv3 External Type 1 metrics"; } enum "2" { value 2; description "Set OSPFv3 External Type 2 metrics"; } } description "OSPFv3 exterior metric type for redistributed routes"; } leaf tag { type uint32 { range "0..4294967295"; } description "Set tag for routes redistributed into OSPFv3"; } leaf route-policy { type xr:Route-policy-name; description "Apply route-policy to redistribution"; } } // list application } // container applications container bgp { description "BGP routes"; list as { key "as-number"; description "bgp as-number"; leaf as-number { type xr:Bgp-as-number; description "bgp as-number"; } container preserve-med { presence "Indicates a preserve-med node is configured."; description "Preserve med of BGP routes"; } // container preserve-med container preserve-bgp-default-info { presence "Indicates a preserve-bgp-default-info node is configured."; description "Preserve metric and metric-type of BGP default route"; } // container preserve-bgp-default-info container metric { description "Metric for redistributed routes"; leaf default-metric { type uint32 { range "0..16777214"; } description "OSPFv3 default metric"; } container use-rib-metric { presence "Indicates a use-rib-metric node is configured."; description "Use metric from RIB"; } // container use-rib-metric } // container metric leaf metric-type { type enumeration { enum "1" { value 1; description "Set OSPFv3 External Type 1 metrics"; } enum "2" { value 2; description "Set OSPFv3 External Type 2 metrics"; } } description "OSPFv3 exterior metric type for redistributed routes"; } leaf tag { type uint32 { range "0..4294967295"; } description "Set tag for routes redistributed into OSPFv3"; } leaf route-policy { type xr:Route-policy-name; description "Apply route-policy to redistribution"; } } // list as } // container bgp list eigrp { key "as-number"; description "Enhanced Interior Gateway Routing Protocol (EIGRP)"; leaf as-number { type uint32 { range "1..65535"; } description "Enhanced Interior Gateway Routing Protocol (EIGRP)"; } container match { description "Redistribution of EIGRP routes"; container internal { presence "Indicates a internal node is configured."; description "Redistribute EIGRP internal routes"; } // container internal container external { presence "Indicates a external node is configured."; description "Redistribute EIGRP external routes"; } // container external } // container match container metric { description "Metric for redistributed routes"; leaf default-metric { type uint32 { range "0..16777214"; } description "OSPFv3 default metric"; } container use-rib-metric { presence "Indicates a use-rib-metric node is configured."; description "Use metric from RIB"; } // container use-rib-metric } // container metric leaf metric-type { type enumeration { enum "1" { value 1; description "Set OSPFv3 External Type 1 metrics"; } enum "2" { value 2; description "Set OSPFv3 External Type 2 metrics"; } } description "OSPFv3 exterior metric type for redistributed routes"; } leaf tag { type uint32 { range "0..4294967295"; } description "Set tag for routes redistributed into OSPFv3"; } leaf route-policy { type xr:Route-policy-name; description "Apply route-policy to redistribution"; } } // list eigrp list isis { key "instance-name"; description "IS-IS routes"; leaf instance-name { type string { length "1..1024"; } description "IS-IS routes"; } container level-1 { presence "Indicates a level-1 node is configured."; description "IS-IS level-1 routes only"; } // container level-1 container level-1-2 { presence "Indicates a level-1-2 node is configured."; description "IS-IS level-1 and level-2 routes"; } // container level-1-2 container level-2 { presence "Indicates a level-2 node is configured."; description "IS-IS level-2 routes only"; } // container level-2 container metric { description "Metric for redistributed routes"; leaf default-metric { type uint32 { range "0..16777214"; } description "OSPFv3 default metric"; } container use-rib-metric { presence "Indicates a use-rib-metric node is configured."; description "Use metric from RIB"; } // container use-rib-metric } // container metric leaf metric-type { type enumeration { enum "1" { value 1; description "Set OSPFv3 External Type 1 metrics"; } enum "2" { value 2; description "Set OSPFv3 External Type 2 metrics"; } } description "OSPFv3 exterior metric type for redistributed routes"; } leaf tag { type uint32 { range "0..4294967295"; } description "Set tag for routes redistributed into OSPFv3"; } leaf route-policy { type xr:Route-policy-name; description "Apply route-policy to redistribution"; } } // list isis list ospfv3 { key "process-name"; description "OSPFv3 routes"; leaf process-name { type string { length "1..1024"; } description "OSPFv3 routes"; } container match { description "Redistribution of OSPFv3 routes"; container internal { presence "Indicates a internal node is configured."; description "Redistribute OSPFv3 internal routes"; } // container internal container external { presence "Indicates a external node is configured."; description "Redistribute OSPFv3 external routes"; container one { presence "Indicates a two node is configured."; description "Redistribute external type 1 routes"; } // container one container two { presence "Indicates a two node is configured."; description "Redistribute external type 2 routes"; } // container two } // container external container nssa-external { presence "Indicates a nssa-external node is configured."; description "Redistribute OSPFv3 NSSA external routes"; container one { presence "Indicates a one node is configured."; description "Redistribute NSSA external type 1 routes"; } // container one container two { presence "Indicates a two node is configured."; description "Redistribute NSSA external type 2 routes"; } // container two } // container nssa-external } // container match container metric { description "Metric for redistributed routes"; leaf default-metric { type uint32 { range "0..16777214"; } description "OSPFv3 default metric"; } container use-rib-metric { presence "Indicates a use-rib-metric node is configured."; description "Use metric from RIB"; } // container use-rib-metric } // container metric leaf metric-type { type enumeration { enum "1" { value 1; description "Set OSPFv3 External Type 1 metrics"; } enum "2" { value 2; description "Set OSPFv3 External Type 2 metrics"; } } description "OSPFv3 exterior metric type for redistributed routes"; } leaf tag { type uint32 { range "0..4294967295"; } description "Set tag for routes redistributed into OSPFv3"; } leaf route-policy { type xr:Route-policy-name; description "Apply route-policy to redistribution"; } } // list ospfv3 } // container redistribute leaf router-id { type inet:ipv4-address-no-zone; description "Specify the router-id for this OSPFv3 process"; } container spf { description "SPF configuration"; container prefix-priority { description "Configure SPF prefix priority route policy"; leaf route-policy { type xr:Route-policy-name; description "Specify the route-policy to prioritize route install"; } container disable { presence "Indicates a disable node is configured."; description "Disable SPF prefix priority"; } // container disable } // container prefix-priority } // container spf container stub-router { description "Enter stub router configuration submode"; container router-lsa { description "Modify self originated router LSAs"; container r-bit { presence "Indicates a r-bit node is configured."; description "advertise LSAs with R-bit cleared"; container always { presence "Indicates a always node is configured."; description "Force ospfv3 stub router mode unconditionally"; } // container always leaf on-proc-restart { type uint32 { range "5..86400"; } description "Enter stub router mode on ospfv3 process restart"; } leaf on-proc-migration { type uint32 { range "5..86400"; } description "Enter stub router mode on ospfv3 process migration"; } container on-startup { description "Enter stub router mode on startup"; leaf stay-in-time { type uint32 { range "5..86400"; } description "Time in seconds to stay in stub router mode"; } } // container on-startup leaf on-switchover { type uint32 { range "5..86400"; } description "Enter stub router mode on RP switchover"; } } // container r-bit container v6-bit { presence "Indicates a v6-bit node is configured."; description "advertise LSAs with V6-bit cleared"; container always { presence "Indicates a always node is configured."; description "Force ospfv3 stub router mode unconditionally"; } // container always leaf on-proc-restart { type uint32 { range "5..86400"; } description "Enter stub router mode on ospfv3 process restart"; } leaf on-proc-migration { type uint32 { range "5..86400"; } description "Enter stub router mode on ospfv3 process migration"; } container on-startup { description "Enter stub router mode on startup"; leaf stay-in-time { type uint32 { range "5..86400"; } description "Time in seconds to stay in stub router mode"; } } // container on-startup leaf on-switchover { type uint32 { range "5..86400"; } description "Enter stub router mode on RP switchover"; } } // container v6-bit container max-metric { presence "Indicates a max-metric node is configured."; description "advertise LSAs with maximum metric"; container always { presence "Indicates a always node is configured."; description "Force ospfv3 stub router mode unconditionally"; } // container always leaf on-proc-restart { type uint32 { range "5..86400"; } description "Enter stub router mode on ospfv3 process restart"; } leaf on-proc-migration { type uint32 { range "5..86400"; } description "Enter stub router mode on ospfv3 process migration"; } container on-startup { description "Enter stub router mode on startup"; leaf stay-in-time { type uint32 { range "5..86400"; } description "Time in seconds to stay in stub router mode"; } } // container on-startup leaf on-switchover { type uint32 { range "5..86400"; } description "Enter stub router mode on RP switchover"; } leaf external-lsa { type union { type uint32 { range "16711680"; } type uint32 { range "1..16777214"; } } description "Override External LSA metric in stub router mode"; } leaf summary-lsa { type union { type uint32 { range "16711680"; } type uint32 { range "1..16777214"; } } description "Override Summary LSA metric in stub router mode"; } container include-stub { presence "Indicates a include-stub node is configured."; description "Set maximum metric for stub links in stub router mode"; } // container include-stub } // container max-metric } // container router-lsa } // container stub-router container summary-prefixes { description "Summarize redistributed routes matching prefix/length"; list summary-prefix { key "prefix prefix-length"; description "Summarize redistributed routes matching prefix/length"; leaf prefix { type inet:ipv6-address-no-zone; description "Summarize redistributed routes matching prefix/length"; } leaf prefix-length { type xr:Ipv6-prefix-length; description "Summarize redistributed routes matching prefix/length"; } container not-advertise { presence "Indicates a not-advertise node is configured."; description "Suppress routes matching prefix/length"; } // container not-advertise leaf tag { type uint32 { range "1..4294967295"; } description "32-bit tag value"; } } // list summary-prefix } // container summary-prefixes container timers { description "Adjust routing timers"; container lsa { description "LSA timers"; leaf arrival { type uint32 { range "0..60000"; } description "LSA arrival timer"; } } // container lsa container pacing { description "Pacing timers"; leaf flood { type uint32 { range "5..100"; } description "Flood pacing timer"; } leaf lsa-group { type uint32 { range "10..1800"; } description "LSA group pacing timer"; } leaf retransmission { type uint32 { range "5..100"; } description "Retransmission pacing timer"; } } // container pacing container throttle { description "Throttle timers"; container lsa { description "LSA throttle timers"; container all { presence "Indicates a all node is configured."; description "For all types of OSPF LSAs"; leaf initial-delay { type uint32 { range "0..600000"; } mandatory true; description "For all types of OSPF LSAs"; } leaf minimum-delay { type uint32 { range "1..600000"; } mandatory true; description "Minimum delay between originating the same LSA in milliseconds"; } leaf maximum-delay { type uint32 { range "1..600000"; } mandatory true; description "Maximum delay between originating the same LSA in milliseconds"; } } // container all } // container lsa container spf { presence "Indicates a spf node is configured."; description "SPF throttle timers"; leaf initial-delay { type uint32 { range "1..600000"; } mandatory true; description "SPF throttle timers"; } leaf minimum-hold-time { type uint32 { range "1..600000"; } mandatory true; description "Minimum hold time between consecutive SPF calculations in ms"; } leaf maximum-wait-time { type uint32 { range "1..600000"; } mandatory true; description "Maximum wait time between consecutive SPF calculations in ms"; } } // container spf } // container throttle } // container timers container snmp { description "SNMP configuration"; leaf context { type string { length "1..32"; } description "Specified SNMP context for OSPFv3 instance"; } container trap-enable { presence "Indicates a trap-enable node is configured."; description "Enable SNMP trap for OSPFv3 instance"; } // container trap-enable container trap { presence "Indicates a trap node is configured."; leaf rate-limit { type uint32 { range "2..60"; } mandatory true; description "Adjust trap rate-limit parameters"; } leaf max-traps { type uint32 { range "0..300"; } mandatory true; description "Max number of traps sent in window time"; } } // container trap } // container snmp } // list vrf } // container vrfs container nsr { presence "Indicates a nsr node is configured."; description "Enable NSR for all VRFs in this process"; container disable { presence "Indicates a disable node is configured."; description "Disable NSR for all VRFs in this process"; } // container disable } // container nsr container address-family { description "OSPFv3 address family"; container ipv6 { presence "Indicates a ipv6 node is configured."; description "IPV6 address family"; container unicast { presence "Indicates a unicast node is configured."; description "unicast topology"; } // container unicast } // container ipv6 } // container address-family container protocol { description "Protocol specific configuration"; container shutdown { presence "Indicates a shutdown node is configured."; description "Gracefully shutdown the OSPFv3 protocol"; } // container shutdown } // container protocol container trace { description "OSPF tracing options"; container sizes { description "Delete existing buffer and create one with N entries"; list size { key "trace-buffer-name"; description "Delete existing buffer and create one with N entries"; leaf trace-buffer-name { type xr:Cisco-ios-xr-string { length "1..1024"; } description "Delete existing buffer and create one with N entries"; } leaf trace-entry-size { type enumeration { enum "0" { value 0; description "disable trace"; } enum "256" { value 256; description "trace entries"; } enum "512" { value 512; description "trace entries"; } enum "1024" { value 1024; description "trace entries"; } enum "2048" { value 2048; description "trace entries"; } enum "4096" { value 4096; description "trace entries"; } enum "8192" { value 8192; description "trace entries"; } enum "16384" { value 16384; description "trace entries"; } enum "32768" { value 32768; description "trace entries"; } enum "65536" { value 65536; description "trace entries"; } } description "Number of trece entries"; } } // list size } // container sizes } // container trace } // list process } // container processes } // container ospfv3 } // container router container ospfv3 { description "Global OSPFv3 configuration commands"; container name-lookup { presence "Indicates a name-lookup node is configured."; description "Display OSPFv3 router ids as DNS names"; } // container name-lookup } // container ospfv3 } // module Cisco-IOS-XR-um-router-ospfv3-cfg
© 2023 YumaWorks, Inc. All rights reserved.