OSPFv3.
Version: 2020-06-17
module huawei-ospfv3 { yang-version 1; namespace "urn:huawei:yang:huawei-ospfv3"; prefix ospfv3; import huawei-network-instance { prefix ni; } import huawei-l3vpn { prefix l3vpn; } import huawei-routing-policy { prefix rtp; } import huawei-ifm { prefix ifm; } import huawei-acl { prefix acl; } import huawei-xpl { prefix xpl; } import huawei-ip { prefix ip; } import huawei-pub-type { prefix pub-type; } import huawei-extension { prefix ext; } import ietf-inet-types { prefix inet; } import ietf-yang-types { prefix yang; } include huawei-ospfv3-type; organization "Huawei Technologies Co., Ltd."; contact "Huawei Industrial Base Bantian, Longgang Shenzhen 518129 People's Republic of China Website: http://www.huawei.com Email: support@huawei.com"; description "OSPFv3."; revision "2020-06-17" { description "Modity the description and leaf units."; reference "Huawei private."; } revision "2020-03-28" { description "Add cost-binding and case."; reference "Huawei private."; } revision "2020-03-13" { description "Modify the format specification."; reference "Huawei private."; } revision "2020-03-09" { description "Modity the description."; reference "Huawei private."; } revision "2020-03-04" { description "Modity the description."; reference "Huawei private."; } revision "2020-03-03" { description "Modity the description."; reference "Huawei private."; } revision "2020-02-27" { description "Modify session-car and case."; reference "Huawei private."; } revision "2020-02-17" { description "Add link-cost."; reference "Huawei private."; } revision "2020-02-04" { description "Add session-car and case."; reference "Huawei private."; } revision "2019-12-19" { description "Reconstructing Yang file by yin mechanism."; reference "Huawei private."; } revision "2019-12-16" { description "Reconstructing Yang file by yin mechanism."; reference "Huawei private."; } revision "2019-11-22" { description "Reconstructing Yang file by yin mechanism."; reference "Huawei private."; } revision "2019-11-15" { description "Reconstructing Yang file by yin mechanism."; reference "Huawei private."; } revision "2019-10-26" { description "Reconstructing Yang file by yin mechanism."; reference "Huawei private."; } revision "2019-10-22" { description "Reconstructing Yang file by yin mechanism."; reference "Huawei private."; } revision "2019-04-04" { description "Initial revision."; reference "Huawei private."; } ext:task-name "ospf"; grouping policy-type { description "Type of a filtering rule. The available options are ACL Name or ACL Number or IP Prefix List or Route policy."; choice policy-type { mandatory true; description "Type of a filtering rule."; case basic-acl { description "Apply basic ACL Name or ACL Number."; leaf name-or-num { type leafref { path "/acl:acl/acl:group6s/acl:group6/acl:identity"; } must "/acl:acl/acl:group6s/acl:group6[acl:identity=current()]/acl:type='basic'"; description "Apply basic ACL Name or ACL Number."; } } // case basic-acl case ipv6-prefix { description "Set the name of an IPv6 prefix list."; leaf ipv6-prefix { type leafref { path "/rtp:routing-policy/rtp:ipv6-prefix-filters/rtp:ipv6-prefix-filter/rtp:name"; } description "Set the name of an IPv6 prefix list."; } } // case ipv6-prefix case route-policy { description "Set a route policy name."; leaf route-policy { type leafref { path "/rtp:routing-policy/rtp:policy-definitions/rtp:policy-definition/rtp:name"; } description "Set a route policy name."; } } // case route-policy case route-filter { description "Set a route filter name."; leaf route-filter { type leafref { path "/xpl:xpl/xpl:route-filters/xpl:route-filter/xpl:name"; } description "Set a route filter name."; } } // case route-filter } // choice policy-type } // grouping policy-type container ospfv3 { description "Configure OSPFv3 config."; container check-rt-id { description "Configure automatic modification of conflicted router IDs. If enable, check and resolve OSPF router ID conflict."; leaf conflict-flag { type boolean; default "true"; description "Enable/disable automatic modification of conflicted router IDs. If enable, check and resolve OSPF router ID conflict."; } } // container check-rt-id container advertise-max-cost { description "Configure OSPF LSA advertise max cost globally."; leaf enable { type boolean; default "false"; description "Enable/disable OSPF LSAs to advertise max cost globally."; } } // container advertise-max-cost container session-car { must 'pir-interval>=cir-interval'; must 'pbs-interval>=cbs-interval'; description "Configure OSPFv3 Session CAR."; leaf enable { type boolean; default "true"; description "Enable/disable OSPFv3 Session CAR."; } leaf cir-interval { type uint32 { range "0..1000000"; } units "kbit/s"; default "8"; description "Specify the Session CAR CIR interval."; } leaf cbs-interval { type uint32 { range "0..1000000"; } units "Byte"; default "100000"; description "Specify the Session CAR CBS interval."; } leaf pir-interval { type uint32 { range "0..1000000"; } units "kbit/s"; default "16000"; description "Specify the Session CAR PIR interval."; } leaf pbs-interval { type uint32 { range "0..10000000"; } units "Byte"; default "9000000"; description "Specify the Session CAR PBS interval."; } } // container session-car container micro-isolation-car { must 'pir>=cir'; must 'pbs>=cbs'; description "Configure OSPFv3 Micro Isolation CAR."; leaf enable { type boolean; default "true"; description "Enable/disable OSPFv3 Micro Isolation CAR."; } leaf cir { type uint32 { range "0..1000000"; } units "kbit/s"; default "8"; description "Specify the Micro Isolation CAR CIR interval."; } leaf cbs { type uint32 { range "0..1000000"; } units "Byte"; default "100000"; description "Specify the Micro Isolation CAR CBS interval."; } leaf pir { type uint32 { range "0..1000000"; } units "kbit/s"; default "16000"; description "Specify the Micro Isolation CAR PIR interval."; } leaf pbs { type uint32 { range "0..10000000"; } units "Byte"; default "9000000"; description "Specify the Micro Isolation CAR PBS interval."; } } // container micro-isolation-car container mib-binding { description "Configure MIB binding an OSPF process."; leaf process-id { type leafref { path "/ni:network-instance/ni:instances/ni:instance/ospfv3:ospfv3/ospfv3:sites/ospfv3:site/ospfv3:process-id"; } description "Process ID."; } } // container mib-binding container flush-source-trace { description "Configure OSPF flush source trace globally."; leaf enable { type boolean; default "true"; description "Enable/disable OSPF flush source trace globally."; } leaf port { type uint16 { range "1025..65535"; } default "50122"; description "Set OSPF flush source trace port allocated by huawei-pp4.The related CLI is 'display ip port info | inc UDP'."; } } // container flush-source-trace } // container ospfv3 rpc reset-redistribution { description "To re-import routes."; input { leaf process-id { type uint32 { range "1..4294967295"; } description "Process ID."; } } } // rpc reset-redistribution rpc reset-counter { description "To clear the counter."; input { leaf process-id { type uint32 { range "1..4294967295"; } description "Process ID."; } leaf router-id { type inet:ipv4-address-no-zone; description "Neighbor router ID."; } leaf if-name { type leafref { path "/ifm:ifm/ifm:interfaces/ifm:interface/ifm:name"; } description "Interface name."; } } } // rpc reset-counter rpc reset-process { description "To restart an OSPF process."; input { leaf process-id { type uint32 { range "1..4294967295"; } description "Process ID."; } } } // rpc reset-process rpc reset-peer { description "To re-establish a neighbor."; input { leaf process-id { type uint32 { range "1..4294967295"; } description "Process ID."; } leaf router-id { type inet:ipv4-address-no-zone; description "Neighbor router ID."; } leaf if-name { type leafref { path "/ifm:ifm/ifm:interfaces/ifm:interface/ifm:name"; } description "Interface name."; } } } // rpc reset-peer rpc reset-frr { description "Restart FRR."; input { leaf process-id { type uint32 { range "1..4294967295"; } description "Process ID."; } } } // rpc reset-frr rpc reset-suppress-peer { description "Restart OSPF peer flapping suppress."; input { leaf process-id { type uint32 { range "1..4294967295"; } description "Process ID."; } leaf if-name { type leafref { path "/ifm:ifm/ifm:interfaces/ifm:interface/ifm:name"; } description "Interface name."; } leaf notify-peer-flag { type boolean; default "false"; description "Enable/disable notification neighbor quit peer flapping suppress flag."; } } } // rpc reset-suppress-peer augment /ni:network-instance/ni:instances/ni:instance { description "OSPFv3 augment to L3VPN."; container ospfv3 { description "Configure OSPFv3."; container gtsm { when "../../l3vpn:afs/l3vpn:af[l3vpn:type='ipv6-unicast']"; presence "Enable gtsm."; description "Configure the OSPFv3 GTSM."; leaf hops { type uint8 { range "1..255"; } mandatory true; description "Specifies the number of TTL hops to be detected."; } } // container gtsm container sites { when "../../l3vpn:afs/l3vpn:af[l3vpn:type='ipv6-unicast']"; description "List of OSPFv3 instance."; list site { key "process-id"; description "Configure OSPFv3 instance."; leaf process-id { type uint32 { range "1..4294967295"; } description "Process ID."; } leaf router-id { type inet:ipv4-address-no-zone; description "Router ID. It is used to set the OSPFv3 private ID."; } leaf fa-mode { type forwarding-address-type; default "disable"; description "Forwarding address mode."; } leaf description { type string { length "1..80"; pattern '([^?]*)'; } description "Description of an OSPFv3 process."; } leaf rfc1583-compatible { type boolean; default "false"; description "Enable/disable the route selection rule that is compatible with RFC 1583."; } leaf silent-all-interface { type boolean; default "false"; description "Enable/disable to suppress all interfaces in an OSPF process from sending or receiving OSPF packets."; } leaf retransmission-limit { type boolean; default "false"; description "Enable/disable maximum retransmission times enable."; } leaf retransmission-limit-value { when "../retransmission-limit='true'"; type uint32 { range "2..255"; } default "30"; description "Maximum retransmission times."; } leaf lsa-refresh { type boolean; default "true"; description "Enable/disable refresh the age of LSA with greater lsa age."; } leaf peer-flapping-suppress { type boolean; default "true"; description "Enable/disable peer flapping suppress feature."; } leaf qppb-enable { type boolean; default "false"; description "Enable/disable QPPB on this process."; } leaf sham-hello { type boolean; default "false"; description "Enable/disable peers keep alive by receiving any valid OSPF packet."; } leaf max-link-cost { type uint16 { range "1..65534"; } description "Set OSPFv3 maximum link cost value."; } leaf maxage-lsa { type uint32 { range "0..65535"; } units "s"; default "20"; description "Calculation of route delay when the OSPF LSA frequently flaps."; } container private-net { when "../../../../ni:name!='_public_'"; description "Configure private network configuration of OSPFv3."; choice route-tag { description "To set route tag value."; case value { description "Tag of an imported VPN route."; leaf value { type uint32 { range "0..4294967295"; } description "Tag of an imported VPN route. By default, the first two bytes of the tag value are fixed to be 0xD000, and the last two bytes are the local AS number of the local BGP. For example, if the AS number of BGP is 100, the default tag value in decimal notation is 3489661028.If not configed, the default is 0."; } } // case value } // choice route-tag leaf vpn-capability { type boolean; default "false"; description "Enable/disable route loop detection and directly calculate routes. When VPN multi instance is supported on the Multi VPN Instance CE (MCE) router, loop detection must be cancelled. It is applicable to only OSPF VPN instances."; } container domain-id { presence "ID of an OSPF domain."; description "Configure ID of an OSPF domain."; leaf domain-id { type inet:ipv4-address-no-zone; mandatory true; description "ID of an OSPF domain."; } leaf type { type domain-id-type; default "0x0005"; description "Type of an OSPF domain ID."; } leaf value { type pub-type:hex-binary { length "1..6"; pattern '((0x|0X)?[0-9a-fA-F]{0,4})'; } default "0x0"; description "Value of an OSPF domain ID type."; } } // container domain-id container domain-id-secondarys { when "../domain-id"; description "List of the ID of a secondary domain."; list domain-id-secondary { key "domain-id type value"; description "Configure the ID of a secondary domain."; leaf domain-id { type inet:ipv4-address-no-zone; description "ID of an OSPF domain."; } leaf type { type domain-id-type; description "Type of an OSPF domain ID."; } leaf value { type pub-type:hex-binary { length "1..6"; pattern '((0x|0X)?[0-9a-fA-F]{0,4})'; } description "Value of an OSPF domain ID type."; } } // list domain-id-secondary } // container domain-id-secondarys } // container private-net container bandwidth { description "Configure bandwidth."; leaf reference-value { type uint32 { range "1..2147483648"; } default "100"; description "Reference to the calculation of link costs."; } } // container bandwidth container timer { description "Configure OSPFv3 timer."; container lsa-arrival { must "((start-interval<=max-interval) and (hold-interval<=max-interval)) or (not(max-interval) and not(start-interval)and not(hold-interval))"; description "Configure interval between acceptance for two new instances of the same LSA."; choice timer-type { default "intelligent-timer"; description "Interval between acceptance for two new instances of the same LSA."; case timer { description "Specify an interval."; leaf interval { type uint32 { range "0..10000"; } units "ms"; description "Interval for receiving LSAs."; } } // case timer case intelligent-timer { description "Specify an intelligent timer."; leaf max-interval { type uint32 { range "1..120000"; } units "ms"; default "1000"; description "Maximum interval for receiving OSPFv3 LSAs."; } leaf start-interval { type uint32 { range "0..60000"; } units "ms"; default "500"; description "Initial interval for receiving OSPFv3 LSAs."; } leaf hold-interval { type uint32 { range "1..60000"; } units "ms"; default "500"; description "Hold interval for receiving OSPFv3 LSAs."; } } // case intelligent-timer } // choice timer-type } // container lsa-arrival container lsa-arr-supp-flap { description "Configure the delay timer for LSA acceptance."; leaf interval { type uint32 { range "0..600"; } units "s"; default "10"; description "Specifies an interval for suppressing LSA advertising in case of route flapping. The value 0 indicates that LSA advertising is not suppressed."; } leaf threshold-count { type uint32 { range "3..100"; } default "30"; description "Value of the threshold of LSAs to be suppressed."; } } // container lsa-arr-supp-flap container lsa-originate { must "((start-interval<=max-interval) and (hold-interval<=max-interval)) or (not(max-interval) and not(start-interval)and not(hold-interval))"; description "Configure interval for receiving LSAs either through an intelligent timer or timer."; leaf other-type-interval { type uint32 { range "0..10"; } units "s"; default "5"; description "Specify an updating/originating interval for Type 3, Type 4 and Type 10 LSAs. Interval for updating the LSAs except OSPF router LSAs and network LSAs."; } choice timer-type { default "interval"; description "Specify an updating/originating interval for Type 3, Type 4 and Type 10 LSAs."; case interval { description "Specify an intelligent timer for router LSA, network LSA, external LSA and NSSA LSA."; leaf max-interval { type uint32 { range "1..120000"; } default "5000"; description "Maximum interval for updating OSPFv3 LSAs."; } leaf start-interval { type uint32 { range "0..60000"; } default "500"; description "Initial interval for updating OSPFv3 LSAs."; } leaf hold-interval { type uint32 { range "1..60000"; } default "1000"; description "Hold interval for updating OSPFv3 LSAs."; } } // case interval } // choice timer-type } // container lsa-originate container lsa-org-supp-flap { description "Configure the delay timer for LSA generation."; leaf interval { type uint32 { range "0..600"; } units "s"; default "10"; description "Specifies an interval for suppressing LSA advertising in case of route flapping. The value 0 indicates that LSA advertising is not suppressed."; } leaf threshold-count { type uint32 { range "3..100"; } default "30"; description "Value of the threshold of LSAs to be suppressed."; } } // container lsa-org-supp-flap container spf-schedule { must "((start-interval<=max-interval) and (hold-interval<=max-interval)) or (not(max-interval) and not(start-interval)and not(hold-interval))"; description "Configure the interval for SPF calculation."; choice schedule-type { default "intelligent-timer"; description "Set the interval for SPF calculation."; case timer { description "Specify an updating/originating interval for Type 3, Type 4 and Type 10 LSAs."; leaf type { type spf-timer-type; mandatory true; description "SPF timer type."; } leaf delay-interval { type uint32 { range "0..65535"; } units "s"; default "5"; description "SPF delay between receiving a change to SPF calculation."; } leaf hold-interval-timer { type uint32 { range "0..65535"; } units "s"; default "10"; description "SPF hold time between consecutive SPF calculations."; } } // case timer case intelligent-timer { description "Specify an intelligent timer."; leaf max-interval { type uint32 { range "1..120000"; } units "ms"; must '../start-interval<=../max-interval and ../hold-interval<=../max-interval'; default "5000"; description "Maximum interval for OSPF SPF calculation set through an intelligent timer. By adjusting the interval for SPF calculation, you can prevent the occupation of too many bandwidths and device resources caused by frequent network changes."; } leaf start-interval { type uint32 { range "1..60000"; } units "ms"; must '../start-interval<=../max-interval'; default "50"; description "Initial interval for OSPF SPF calculation set through an intelligent timer. By adjusting the interval for SPF calculation, you can prevent the occupation of too many bandwidth and router resources caused by frequent network changes."; } leaf hold-interval { type uint32 { range "1..60000"; } units "ms"; must '../hold-interval<=../max-interval'; default "200"; description "Hold interval for OSPF SPF calculation set through an intelligent timer. By adjusting the interval for calculating SPF, you can prevent the occupation of too many bandwidth and router resources caused by frequent network changes."; } } // case intelligent-timer case millisecond { description "Specify an interval."; leaf millisecond { type uint32 { range "1..10000"; } units "ms"; description "Interval for OSPF SPF calculation. By adjusting the interval for SPF calculation, you can prevent the occupation of too many bandwidths and device resources caused by frequent network changes."; } } // case millisecond } // choice schedule-type } // container spf-schedule } // container timer container bfd { description "Configure BFD in a OSPFv3 process."; leaf enable { type boolean; default "false"; description "Enable/disable BFD in an OSPFv3 process."; } leaf min-rx { type uint32 { range "3..20000"; } units "ms"; description "Minimum interval for receiving BFD packets from the peer end. The value range and default value are controlled by the PAF."; } leaf min-tx { type uint32 { range "3..20000"; } units "ms"; description "Minimum interval for sending BFD packets to the peer end. The value range and default value are controlled by the PAF."; } leaf detect-multiplier { type uint32 { range "3..50"; } default "3"; description "Local detection multiplier."; } leaf incr-cost { type uint32 { range "1..65535"; } description "BFD sync cost."; } leaf frr-binding { type boolean; default "false"; description "Enable/disable bind FRR with BFD."; } } // container bfd container stub-router { description "Configure stub router is used to configure the router as stub router."; leaf flag { type stub-router-flag; default "no-config"; description "Stub router. The router configured with the stub router command notifies other OSPF routers of not using the stub router to forward data by increasing the metric greater than 65535 of the links in the LSA that is generated by the router."; } leaf interval { when "../flag='stub-on-boot'"; type uint32 { range "5..65535"; } default "500"; description "Interval for remaining as the stub router during the active/standby switchover of a router."; } leaf include-stub { when "../flag!='no-config'"; type boolean; default "false"; description "Enable/disable maximum cost for router lsa stub link."; } leaf external-lsa { when "../flag!='no-config'"; type boolean; default "false"; description "Enable/disable maximum cost for external lsa."; } leaf external-cost { when "../external-lsa='true'"; type uint32 { range "1..16777215"; } default "16711680"; description "Advertise external LSAs with configured/default overriding metric."; } leaf summary-lsa { when "../flag!='no-config'"; type boolean; default "false"; description "Enable/disable maximum cost for summary lsa."; } leaf summary-cost { when "../summary-lsa='true'"; type uint32 { range "1..16777215"; } default "16711680"; description "Advertise summary LSAs with configured/default overriding metric."; } } // container stub-router container bgp-ls { description "Configure BGP LS."; leaf enable { type boolean; must "../enable='false' or ../../../../../ni:name='_public_'"; default "false"; description "Enable/disable BGP LS."; } leaf identifier { when "../enable='true'"; type uint32 { range "2..65535"; } description "TOPO identifier."; } } // container bgp-ls container import-limit { presence "Enable import-limit"; description "Configure limits the maximum number of routes to be imported."; leaf max-number { type uint32 { range "1..4294967295"; } mandatory true; description "Maximum number of external routes that can be imported."; } leaf threshold-upper { type uint32 { range "1..100"; } must '../threshold-upper>=../threshold-lower'; default "80"; description "Upper threshold of the maximum number of routes that can be imported."; } leaf threshold-lower { type uint32 { range "1..100"; } must '../threshold-upper>=../threshold-lower'; default "70"; description "Lower threshold of the maximum number of routes that can be imported."; } } // container import-limit container spf-control { description "Configure SPF calculation control."; leaf max-load-balancing { ext:dynamic-default; type uint32 { range "1..128"; } description "Maximum number of the equal cost routes of the destination address in the routing table. The range and default are based on PAF."; } } // container spf-control container default-para { description "Configure multiple topologies in a process."; leaf cost { type uint32 { range "0..16777214"; } default "1"; description "Default metric of the external routes imported by OSPFv3."; } leaf tag { type uint32 { range "0..4294967295"; } default "1"; description "Tag of an external route."; } leaf type { type external-route-type; default "type2"; description "Type of an external route."; } } // container default-para container asbr-summary-prefixs { description "List of aggregate addresses for OSPF (only for ASBR)."; list asbr-summary-prefix { key "prefix network-mask"; description "Configure aggregate addresses for OSPF (only for ASBR)."; leaf prefix { type inet:ipv6-address-no-zone; description "IP address."; } leaf network-mask { type uint32 { range "1..128"; } description "IP address mask."; } leaf cost { type uint32 { range "1..16777214"; } description "Specifies the cost of the aggregated route. By default, the maximal cost in that of all the routes which are aggregated serves as the cost of the aggregated route."; } leaf tag { type uint32 { range "0..4294967295"; } description "Specifies that the tag is mainly used to control advertisement of routes through the routing policy."; } leaf distribute-delay { type uint32 { range "1..65535"; } units "s"; description "Distribute delay interval."; } leaf advertise { type boolean; default "true"; description "Enable/disable the aggregated route is not advertised."; } } // list asbr-summary-prefix } // container asbr-summary-prefixs container default-route { presence "Enable default-route-advertise."; description "Configure default routes to the OSPFv3 routing area."; leaf cost { type uint32 { range "0..16777214"; } description "Metric of an ASE LSA."; } leaf tag { type uint32 { range "0..4294967295"; } description "Route tag for default imported routes."; } leaf type { type external-route-type; description "Metric type of an ASE LSA for the default routes."; } leaf distribute-delay { type uint32 { range "1..65535"; } description "Distribute delay timer used for the local router to calculate the default routes advertised by other routers."; } choice mode { description "Mode for default route."; case permit-calculate-other { description "Set permit calculate other."; leaf permit-calculate-other { type empty; description "To generate and advertise an ASE LSA that describes the default route only when there are valid default routes of other protocols in the routing table of the host. The router configured with permit calculate other still calculates the default routes of other routers."; } } // case permit-calculate-other case always { description "Set always."; leaf always { type empty; description "The router configured with the always parameter does not calculate the default routes of other routers."; } } // case always } // choice mode choice policy-type { description "Mode of the policy used for default route."; case route-policy-name { description "Set a route policy name."; leaf route-policy-name { type leafref { path "/rtp:routing-policy/rtp:policy-definitions/rtp:policy-definition/rtp:name"; } description "Name of a routing policy. Through the routing policy, the device matches the default routing entry generated by the device that does not run OSPF in the routing table, and advertises the default route according to the parameters set through the routing policy."; } } // case route-policy-name case route-filter-name { description "Set a route filter name."; leaf route-filter-name { type leafref { path "/xpl:xpl/xpl:route-filters/xpl:route-filter/xpl:name"; } description "Name of a routing Filter."; } } // case route-filter-name } // choice policy-type } // container default-route container route-preferences { description "List of preference of an OSPF route."; list route-preference { ext:generated-by "system" { ext:filter "route-type='default' or route-type='ase'"; } key "route-type"; max-elements 2; description "Configure preference of an OSPF route."; leaf route-type { type ospf-route-type; description "Router type."; } leaf preference { ext:dynamic-default { ext:default-value "10" { when "../route-type = 'default'"; description "The default value is 10 when route type is default."; } ext:default-value "150" { when "../route-type = 'ase'"; description "The default value is 150 when route type is ase."; } } type uint32 { range "1..255"; } description "Preference of an OSPF route. The default of intra and inter area is 10.And The default of external is 150."; } choice policy-type { description "Type of a filtering rule."; case route-policy-name { description "Name of a routing policy."; leaf route-policy-name { type leafref { path "/rtp:routing-policy/rtp:policy-definitions/rtp:policy-definition/rtp:name"; } description "Name of a routing policy."; } } // case route-policy-name case route-filter-name { description "Name of a routing Filter."; leaf route-filter-name { type leafref { path "/xpl:xpl/xpl:route-filters/xpl:route-filter/xpl:name"; } description "Name of a routing Filter."; } } // case route-filter-name } // choice policy-type } // list route-preference } // container route-preferences container nexthop-weights { description "List of preference of an equal cost route."; list nexthop-weight { key "ip-address if-name"; description "Configure preference of an equal cost route."; leaf ip-address { type inet:ipv4-address-no-zone; description "The Router ID of the next hop."; } leaf if-name { type leafref { path "/ifm:ifm/ifm:interfaces/ifm:interface/ifm:name"; } must "/ifm:ifm/ifm:interfaces/ifm:interface[ifm:name=current()]/ip:ipv6"; description "Next Hop Interface Name. Only Ethernet, NULL and Pos are used for nexthop."; } leaf weight { type uint32 { range "1..254"; } mandatory true; description "Weight of the next hop. After OSPFv3 calculates the equal cost routes, the next hop is chosen from these equal-cost routes based on the value of weight. The smaller the value is, the higher the preference is. By default, the weight is 255. This indicates that load balancing is carried out among equal cost routes and packets are forwarded at the same time without the preference being set."; } } // list nexthop-weight } // container nexthop-weights container prefix-prioritys { description "List of priority of OSPF route."; list prefix-priority { key "priority"; description "Configure priority of OSPF route."; leaf priority { type prefix-priority; description "Convergence priority of OSPF routes."; } leaf ip-prefix { type leafref { path "/rtp:routing-policy/rtp:ipv6-prefix-filters/rtp:ipv6-prefix-filter/rtp:name"; } mandatory true; description "IPv6 Prefix List Name in String."; } } // list prefix-priority } // container prefix-prioritys container authentication { description "Configure authentication."; leaf mode { type authen-mode; default "none"; description "Set authentication type."; } leaf key-id { when "../mode='hmac-sha256' or ../mode='hmac-sm3'"; type uint32 { range "1..65535"; } mandatory true; description "Authentication identifier."; } leaf text { when "../mode='hmac-sha256' or ../mode='hmac-sm3'"; type pub-type:password-extend; mandatory true; description "Encrypted password."; } leaf key-chain-name { ext:case-sensitivity "lower-only"; when "../mode='keychain'"; type string { length "1..47"; pattern "[^A-Z]+"; } mandatory true; description "Keychain name."; } } // container authentication container helper-role { presence "Enable OSPFv3 GR Helper."; description "Configure OSPFv3 GR Helper."; leaf planned-only { type empty; description "To support only planned GR on routers."; } leaf ignore-external-lsa { type empty; description "Ignore external lsa check (Type5 and Type7 LSAs)."; } leaf period { type uint32 { range "1..1800"; } default "1800"; description "Maximum grace period."; } choice filter-type { description "Basic ACl name or ACL number or IP prefix List."; case acl-name-or-num { description "Specify the basic ACL number or ACL name for filtering peer."; leaf acl-name-or-num { type leafref { path "/acl:acl/acl:group6s/acl:group6/acl:identity"; } must "/acl:acl/acl:group6s/acl:group6[acl:identity=current()]/acl:type='basic'"; description "Specify the basic ACL number or ACL name for filtering peer."; } } // case acl-name-or-num case ip-prefix-name { description "Specify the IP prefix name for filtering peers."; leaf ip-prefix-name { type leafref { path "/rtp:routing-policy/rtp:ipv6-prefix-filters/rtp:ipv6-prefix-filter/rtp:name"; } description "Specify the IP prefix name for filtering peers."; } } // case ip-prefix-name } // choice filter-type } // container helper-role container filter-import { presence "filter policy import"; description "Configure the filter policy import command, you can set the rules for filtering intra area, inter area, and AS external routes of an OSPF process."; choice policy-type { mandatory true; description "Type of a filtering rule."; case basic-acl6 { description "Apply basic ACL6 name or ACL6 number."; leaf name-or-num { type leafref { path "/acl:acl/acl:group6s/acl:group6/acl:identity"; } must "/acl:acl/acl:group6s/acl:group6[acl:identity=current()]/acl:type='basic'"; description "Apply basic ACL6 name or ACL6 number."; } } // case basic-acl6 case ip-prefix6 { description "Set the name of an IP prefix list."; leaf ip-prefix6 { type leafref { path "/rtp:routing-policy/rtp:ipv6-prefix-filters/rtp:ipv6-prefix-filter/rtp:name"; } description "Set the name of an IP prefix list."; } } // case ip-prefix6 case route-policy { description "Set a route policy name."; leaf route-policy { type leafref { path "/rtp:routing-policy/rtp:policy-definitions/rtp:policy-definition/rtp:name"; } description "Set a route policy name."; } } // case route-policy case route-filter { description "Set a route filter name."; leaf route-filter { type leafref { path "/xpl:xpl/xpl:route-filters/xpl:route-filter/xpl:name"; } description "Set a route filter name."; } } // case route-filter } // choice policy-type } // container filter-import container filter-exports { description "List of the filter policy export command. You can set the rules for filtering the routes imported through the import route (OSPF) command when the routes are advertised in type5 LSAs to the OSPF AS."; list filter-export { key "protocol protocol-id"; description "Configure the filter policy export command. You can set the rules for filtering the routes imported through the import route (OSPF) command when the routes are advertised in type5 LSAs to the OSPF AS."; leaf protocol { type filter-rt-protocol; description "Protocol that advertises routes."; } leaf protocol-id { type uint32 { range "1..4294967295"; } must "../protocol-id=1 or ../protocol='ospfv3' or ../protocol='isis' or ../protocol='ripng'"; description "Process ID when the advertised protocol is RIPng, ISIS, or OSPFv3."; } choice policy-type { mandatory true; description "Type of a filtering rule."; case basic-acl6 { description "Apply basic ACL6 name or ACL6 number."; leaf name-or-num { type leafref { path "/acl:acl/acl:group6s/acl:group6/acl:identity"; } must "/acl:acl/acl:group6s/acl:group6[acl:identity=current()]/acl:type='basic'"; description "Apply basic ACL6 name or ACL6 number."; } } // case basic-acl6 case ip-prefix6 { description "Set the name of an IP prefix list."; leaf ip-prefix6 { type leafref { path "/rtp:routing-policy/rtp:ipv6-prefix-filters/rtp:ipv6-prefix-filter/rtp:name"; } description "Set the name of an IP prefix list."; } } // case ip-prefix6 } // choice policy-type } // list filter-export } // container filter-exports container import-routes { description "List of import the routes learned from other routing protocols."; list import-route { key "protocol process-id"; description "Configure import the routes learned from other routing protocols."; leaf protocol { type import-rt-protocol; description "Routing protocol whose routes are imported."; } leaf process-id { type uint32 { range "0..4294967295"; } must "(../process-id=0 and (../protocol='direct' or ../protocol='static' or ../protocol='bgp' or ../protocol='unr' or ../protocol='opr')) or (../process-id>0 and (../protocol='ospfv3' or ../protocol='isis' or ../protocol='ripng'))"; description "Process ID of the routing protocol whose routes are imported. It needs to be set only when the protocol is RIPng, OSPFv3, or ISIS."; } leaf tag { type uint32 { range "0..4294967295"; } description "Route tag of an external LSA."; } leaf type { type external-route-type; description "Metric type of an external LSA."; } leaf permit-ibgp { type boolean; must "../permit-ibgp='false' or (../permit-ibgp='true' and ../protocol='bgp')"; default "false"; description "Enable/disable to import IBGP routes."; } choice cost { description "Route cost."; case inherit-cost { description "Import the routes with the original cost."; leaf inherit-cost { type empty; description "Import the routes with the original cost."; } } // case inherit-cost case cost-value { description "Route cost."; leaf cost-value { type uint32 { range "0..16777214"; } description "Route cost."; } } // case cost-value } // choice cost choice policy-type { description "Type of a filtering rule."; case route-policy-name { description "Name of a routing policy."; leaf route-policy-name { type leafref { path "/rtp:routing-policy/rtp:policy-definitions/rtp:policy-definition/rtp:name"; } description "Name of a routing policy."; } } // case route-policy-name case route-filter-name { description "Name of a routing filter."; leaf route-filter-name { type leafref { path "/xpl:xpl/xpl:route-filters/xpl:route-filter/xpl:name"; } description "Name of a routing Filter."; } } // case route-filter-name } // choice policy-type } // list import-route } // container import-routes container frr { description "Configure OSPFv3 FRR."; leaf enable { type boolean; default "false"; description "Enable/disable FRR for this particular process."; } leaf lfa-enable { type boolean; must "../lfa-enable='false' or ../enable='true'"; default "false"; description "Enable/disable loop free alternate."; } container tiebreaker { when "../lfa-enable='true'"; description "Configure tiebreaker for multiple backups."; leaf node-protect { type uint8 { range "1..255"; } default "40"; description "Set the value of node protect preference."; } leaf lowest-cost { type uint8 { range "1..255"; } default "20"; description "Set the value of lowcost preference."; } } // container tiebreaker container route-policy { when "../enable='true'"; description "Configure FRR route policy."; choice policy-type { description "Type of a filtering rule."; case route-policy-name { description "Name of a routing policy."; leaf route-policy-name { type leafref { path "/rtp:routing-policy/rtp:policy-definitions/rtp:policy-definition/rtp:name"; } description "Name of a routing policy."; } } // case route-policy-name case route-filter-name { description "Name of a routing filter."; leaf route-filter-name { type leafref { path "/xpl:xpl/xpl:route-filters/xpl:route-filter/xpl:name"; } description "Name of a routing filter."; } } // case route-filter-name } // choice policy-type } // container route-policy } // container frr container silent-interfaces { when "../silent-all-interface='false'"; description "List of interface. To prevent the OSPF routing information from being received by routers in a network segment and forbid the local router to receive the routing update information that is advertised by other routers in the network segment, you can use the silent interface command to suppress the interface to receive or send the OSPF packets."; list silent-interface { key "if-name"; description "Configure interface. To prevent the OSPF routing information from being received by routers in a network segment and forbid the local router to receive the routing update information that is advertised by other routers in the network segment, you can use the silent interface command to suppress the interface to receive or send the OSPF packets."; leaf if-name { type leafref { path "/ifm:ifm/ifm:interfaces/ifm:interface/ifm:name"; } must "/ifm:ifm/ifm:interfaces/ifm:interface[ifm:name=current()]/ip:ipv6"; description "Interface name."; } } // list silent-interface } // container silent-interfaces container undo-silent-interfaces { when "../silent-all-interface='true'"; description "List of interface. Enables sending and receiving packet on this interface when true. This information is useful when sending and receiving packet is suppressed on all interface on process level and user want it to be enabled on certain interface."; list undo-silent-interface { key "if-name"; description "Configure interface. Enables sending and receiving packet on this interface when true. This information is useful when sending and receiving packet is suppressed on all interface on process level and user want it to be enabled on certain interface."; leaf if-name { type leafref { path "/ifm:ifm/ifm:interfaces/ifm:interface/ifm:name"; } must "/ifm:ifm/ifm:interfaces/ifm:interface[ifm:name=current()]/ip:ipv6"; description "Interface name."; } } // list undo-silent-interface } // container undo-silent-interfaces container host-name { description "Configure OSPFv3 host name."; leaf enable { type boolean; default "false"; description "Enable/disable host name."; } leaf name { when "(../enable='true')"; type string { length "1..255"; } description "Host name."; } } // container host-name container cost-bindings { description "List of cost-binding. Indicate cost of routing from indicated router source ID binding interface."; list cost-binding { key "router-id if-name"; description "Configure cost-binding. Indicate cost of routing from indicated router source ID binding interface."; leaf router-id { type inet:ipv4-address-no-zone; description "Source router ID."; } leaf if-name { type leafref { path "/ifm:ifm/ifm:interfaces/ifm:interface/ifm:name"; } description "Interface name."; } } // list cost-binding } // container cost-bindings container dn-bit { when "../../../../ni:name!='_public_'"; description "Configure VPN optionA feature will help PEs in inter AS exchange routes through OSPF. VPN optionA provide two ways to suppress DN bit so that so that inter AS can exchange routes through OSPF. First way dose not set DN bit while import routes from BGP, second way dose not check DN bit while learning the routes from neighbor router. In both the scenario PE will be able to learn route and propagate the route in the new VPN cloud."; leaf set-ase { type boolean; default "false"; description "Enable/disable setting of DN bit in all ASE LSA, applicable in private network."; } leaf set-nssa { type boolean; default "false"; description "Enable/disable setting of DN bit in all NSSA LSA, applicable in private network."; } leaf set-summary { type boolean; default "false"; description "Enable/disable setting of DN bit in all summary LSA, applicable in private network."; } leaf check-ase { type boolean; default "false"; description "Enable/disable checking of DN bit in all ASE LSA, applicable in private network."; } leaf check-nssa { type boolean; default "false"; description "Enable/disable checking of DN bit in all NSSA LSA, applicable in private network."; } leaf check-summary { type boolean; default "false"; description "Enable/disable checking of DN bit in all summary LSA, applicable in private network."; } container summary-router-ids { when "../check-summary='false'"; description "List of router ID for which checking for DN bit summary LSA is disabled, applicable in private network."; list summary-router-id { key "router-id"; description "Configure router ID for which checking for DN bit summary LSA is disabled, applicable in private network."; leaf router-id { type inet:ipv4-address-no-zone; description "Router ID for which checking for DN bit summary LSA is disabled, applicable in private network."; } } // list summary-router-id } // container summary-router-ids } // container dn-bit container areas { description "List of OSPFv3 area."; list area { key "area-id"; description "Configure OSPFv3 area."; leaf area-id { type inet:ipv4-address-no-zone; description "Area ID."; } leaf area-type { type area-type; default "normal"; description "Area type."; } leaf description { type string { length "1..80"; pattern '([^?]*)'; } description "Description of an OSPFv3 area."; } container stub { when "../area-type='stub'"; description "Configure stub area."; leaf backbone-peer-ignore { type boolean; default "false"; description "Enable/disable ignore backbone peer for Stub area."; } leaf no-summary { type boolean; default "false"; description "Enable/disable forbid an ABR to Send Summary LSAs to the Stub Area."; } leaf default-cost { type int32 { range "0..16777214"; } default "1"; description "Cost of the default Type3 routes that are sent by an OSPF process to a stub area or an NSSA area. The value is an integer ranging from 1 to 16777214. This parameter takes effect only when it is configured on the ABR connected to a stub area or an NSSA area. The default is 1."; } } // container stub container nssa { when "../area-type='nssa'"; description "Configure nssa area."; leaf no-summary { type boolean; default "false"; description "Enable/disable forbid an ABR to Send Summary LSAs to the NSSA Area."; } leaf translator-always { type boolean; default "false"; description "Enable/disable the router to act as translator always for NSSA Area."; } leaf default-route-advertise { type boolean; default "false"; description "Enable/disable originate Type 7 default into NSSA area."; } leaf backbone-peer-ignore { when "../default-route-advertise='true'"; type boolean; default "false"; description "Enable/disable ignore backbone peer for Nssa area."; } leaf no-import-route { type boolean; default "false"; description "Enable/disable redistribute type 7 LSA into this area."; } leaf set-n-bit { type boolean; default "false"; description "Enable/disable setting of 'N' bit in the DD packet."; } leaf suppress-fa { type boolean; default "false"; description "Enable/disable the forwarding address as 0 for all translated type 5 LSAs."; } leaf translator-interval { type uint32 { range "1..120"; } default "40"; description "Translator interval."; } leaf default-cost { type int32 { range "0..16777214"; } default "1"; description "Cost of the default Type3 routes that are sent by an OSPF process to a stub area or an NSSA area. This parameter takes effect only when it is configured on the ABR connected to a stub area or an NSSA area."; } } // container nssa container authentication { description "Configure area authentication."; leaf mode { type authen-mode; default "none"; description "Set authentication type."; } leaf key-id { when "../mode='hmac-sha256' or ../mode='hmac-sm3'"; type uint32 { range "1..65535"; } mandatory true; description "Authentication identifier."; } leaf auth-text { when "../mode='hmac-sha256' or ../mode='hmac-sm3'"; type pub-type:password-extend; mandatory true; description "Encrypted Password."; } leaf key-chain-name { ext:case-sensitivity "lower-only"; when "../mode='keychain'"; type string { length "1..47"; pattern "[^A-Z]+"; } mandatory true; description "Keychain name."; } } // container authentication container abr-summary-prefixs { description "List of abr-summary."; list abr-summary-prefix { key "prefix network-mask"; description "Configure abr-summary."; leaf prefix { type inet:ipv6-address-no-zone; description "Specifies the IP address in dotted decimal notation."; } leaf network-mask { type uint32 { range "1..128"; } description "Specifies the mask of the IP address. The mask address is in dotted decimal notation."; } choice cost { description "Set the cost. By default, the maximal cost in that of all the routes which are aggregated serves as the cost of the aggregated route."; case cost-value { description "Specifies the cost of the aggregated route."; leaf cost-value { type uint32 { range "0..16777214"; } description "Specifies the cost of the aggregated route."; } } // case cost-value } // choice cost leaf hold-max-cost { type uint32 { range "10..1800"; } description "Hold max cost duration."; } leaf advertise { type boolean; default "true"; description "Enable/disable the aggregated route is advertised."; } } // list abr-summary-prefix } // container abr-summary-prefixs container filters { description "List of an ABR to filter outgoing or incoming summary LSAs of the local area."; list filter { key "mode"; description "Configure an ABR to filter outgoing or incoming summary LSAs of the local area."; leaf mode { type area-filter-mode; description "Using the filter export command, you can configure an ABR to filter outgoing summary LSAs of the local area. Using the filter import command, you can configure an ABR to filter incoming summary LSAs of the local area."; } uses policy-type; } // list filter } // container filters container interfaces { description "List of the interface enabled with OSPFv3."; list interface { key "name instance-id"; description "Configure the interface enabled with OSPFv3."; leaf name { type leafref { path "/ifm:ifm/ifm:interfaces/ifm:interface/ifm:name"; } must "../../../../../../../../ni:name=/ifm:ifm/ifm:interfaces/ifm:interface[ifm:name=current()]/ifm:vrf-name"; must "/ifm:ifm/ifm:interfaces/ifm:interface[ifm:name=current()]/ip:ipv6"; description "Interface name. OSPFv3 does not support the configuration of a NULL/LMP/MTUNNEL/RPR/STACKPORT/SIP/ATMBUNDLE/IMAGROUP/Remote-Ap/VBridge interface types."; } leaf instance-id { type uint32 { range "0..255"; } description "Interface instance ID."; } leaf network-type { ext:dynamic-default; type network-type; description "Network type of an OSPFv3 interface. By default, the network type of an interface is determined by the physical interface. In the same network segment, if only two routers run OSPFv3, you can change the network type of an interface to P2P."; } leaf transmit-delay { type int32 { range "1..800"; } default "1"; description "Delay for transmitting LSAs on an interface."; } leaf mtu-enable { type boolean; default "false"; description "Enable/disable MTU filled in a DD packet when the packet is sent. The default MTU in the DD packet is 0. Using the command, you can manually configure the interface to fill in the MTU field (actual MTU of the interface) when the interface sends DD packets. After a virtual connection is established through the virtual template or tunnel, different vendors may use different MTUs as default settings. To ensure consistency, the MTU is set to 0 by default when the interface sends DD packets. Thus, the ospf mtu-enable command usually does not need to be configured. OSPF does not support the preceding configuration on a null interface."; } leaf dr-priority { type int32 { range "0..255"; } default "1"; description "Priority of the interface that participates in the DR and BDR election. The greater the value is, the higher the priority is. The router whose priority is 0 cannot be elected as a DR or a BDR."; } leaf peer-hold-max-timer { type uint32 { range "100..1000000"; } units "ms"; description "Config peer hold max cost interval."; } leaf cost { type uint32 { range "1..65535"; } description "To set the cost of an interface."; } leaf link-cost { type uint32 { range "1..65535"; } description "Link cost to be incremented when link quality is low."; } container frr { description "Configure FRR."; leaf frr-disable { type boolean; default "false"; description "Enable/disable not use this interface for FRR calculation."; } } // container frr container timer { description "Configure timer."; leaf hello-interval { ext:dynamic-default { ext:default-value "10" { when "../../network-type = 'p2p' or ../../network-type = 'broadcast'"; description "The default value is 10 when network-type is p2p or broadcast."; } ext:default-value "30" { when "../../network-type = 'p2mp' or ../../network-type = 'nbma'"; description "The default value is 30 when network-type is p2mp or nbma."; } } type int32 { range "1..65535"; } units "s"; description "Interval for sending Hello packets on an interface."; } leaf hello-conser { type boolean; default "false"; description "Enable/disable the compensation mechanism of controling the deadtimer to enable."; } leaf dead-interval { ext:dynamic-default { ext:default-value "4*(../hello-interval)" { description "The default value of dead interval is 4 times that of hello interval."; } } type int32 { range "1..65535"; } units "s"; must '(../hello-interval<../dead-interval) or (../hello-interval=65535 and ../dead-interval=65535)'; description "Dead interval of an OSPF neighbor."; } leaf wait-interval { ext:dynamic-default { ext:default-value "../dead-interval" { description "The default value of wait interval is equal to dead interval."; } } type uint32 { range "1..65535"; } description "Wait time."; } leaf poll-interval { type int32 { range "1..65535"; } default "120"; description "Poll interval for sending Hello packets. On the NBMA network, after the neighbor is invalid, the router sends Hello packets periodically according to the interval set through the ospf timer poll command. The poll interval should be at least four times of the interval for sending Hello packets."; } leaf retransmit-interval { type int32 { range "1..3600"; } default "5"; description "Interval for retransmitting LSAs on an interface."; } } // container timer container bfd { description "Configure BFD."; leaf enable { type boolean; must "../enable='false' or ../block='false'"; default "false"; description "Enable/disable BFD."; } leaf block { type boolean; must "../block='false' or ../enable='false'"; default "false"; description "Enable/disable to prevent the dynamic establishment of a BFD session on an interface."; } leaf detect-multiplier { type uint32 { range "3..50"; } default "3"; description "Local detection multiplier."; } leaf min-tx { type uint32 { range "3..20000"; } units "ms"; description "Minimum interval for sending BFD packets to the peer end. The value range and default value are controlled by the PAF."; } leaf min-rx { type uint32 { range "3..20000"; } units "ms"; description "Minimum interval for receiving BFD packets from the peer end. The value range and default value are controlled by the PAF."; } leaf frr-binding { type boolean; default "false"; description "Enable/disable bind FRR with BFD."; } choice incr-cost { description "Interface BFD sync cost."; case incr-cost-block { description "Interface BFD sync cost block."; leaf incr-cost-block { type empty; description "Interface BFD sync cost block."; } } // case incr-cost-block case incr-cost-value { description "Interface BFD sync cost."; leaf incr-cost-value { type uint32 { range "1..65535"; } description "Interface BFD sync cost."; } } // case incr-cost-value } // choice incr-cost leaf per-link-flag { type boolean; must "../one-arm-echo-flag=../per-link-flag and (../per-link-flag='false' or ../enable='true')"; default "false"; description "Enable/disable BFD session per link, support only VLANif interface."; } leaf one-arm-echo-flag { type boolean; must "../one-arm-echo-flag=../per-link-flag"; default "false"; description "Enable/disable echo detection mode, support only VLANif interface."; } } // container bfd container authentication { description "Configure interface authentication."; leaf mode { type authen-mode; default "none"; description "Set authentication type."; } leaf key-id { when "../mode='hmac-sha256' or ../mode='hmac-sm3'"; type uint32 { range "1..65535"; } mandatory true; description "Authentication identifier."; } leaf auth-text { when "../mode='hmac-sha256' or ../mode='hmac-sm3'"; type pub-type:password-extend; mandatory true; description "Encrypted Password."; } leaf key-chain-name { ext:case-sensitivity "lower-only"; when "../mode='keychain'"; type string { length "1..47"; pattern "[^A-Z]+"; } mandatory true; description "Keychain name."; } } // container authentication container suppress-flapping { description "Configure flapping suppression."; container peer { must 'resume-interval>detect-interval'; description "Configure flapping suppression peer. Not support Loopback."; leaf enable { type boolean; default "true"; description "Enable/disable interface peer flapping suppress."; } leaf detect-interval { type uint32 { range "1..300"; } default "60"; description "Detecting interval."; } leaf threshold { type uint32 { range "1..1000"; } default "10"; description "Threshold."; } leaf resume-interval { type uint32 { range "2..1000"; } default "120"; description "Resume interval."; } leaf hold-down-interval { type uint32 { range "1..86400"; } description "Hold down interval."; } leaf hold-max-cost { type boolean; default "true"; description "Enable/disable hold max cost."; } } // container peer } // container suppress-flapping container peers { description "List of the IP address and DR priority of the neighbor router on the NBMA network."; list peer { key "nbr-router-id"; unique "nbr-link-local-addr"; description "Configure the Link Local address and DR eligibility of the neighbor router on the NBMA network."; leaf nbr-router-id { type inet:ipv4-address-no-zone; description "Neighbor router ID."; } leaf nbr-link-local-addr { type inet:ipv6-address-no-zone; mandatory true; description "Link Local address of the neighbor router. Link Local Address should be in IPv6 format. Valid Link Local Address starts with FE80:"; } leaf cost { type uint32 { range "1..65535"; } description "Cost to reach P2MP non broadcast neighbor."; } leaf dr-eligible { type boolean; default "false"; description "Enable/disable DR Eligibility of the NBMA neighbor."; } leaf poll { type int32 { range "1..65535"; } description "Poll interval for NBMA neighbor."; } } // list peer } // container peers container flush-source-trace { description "Configure OSPF flush source trace function."; leaf block { type boolean; default "false"; description "Enable/disable OSPF flush source trace."; } } // container flush-source-trace container ipv6-prefixs { config false; description "List of the IPv6 prefixes."; list ipv6-prefix { key "ipv6-address ipv6-mask-len"; description "Statistics of the IPv6 prefixes."; leaf ipv6-address { type inet:ipv6-address-no-zone; description "IPv6 address."; } leaf ipv6-mask-len { type uint32; description "Mask length."; } } // list ipv6-prefix } // container ipv6-prefixs container attribute { config false; description "Statistics of interface attributes."; leaf prefix-len { type uint32; description "Prefix length."; } leaf link-protocol { type interface-state; description "OSPFv3 link protocol state."; } leaf mtu { type uint32; description "MTU of an interface."; } leaf link-local-addr { type inet:ipv6-address-no-zone; description "Link local address."; } leaf event { type uint32; description "Interface event."; } leaf lsa-count { type uint32; description "Interface Lsa Count."; } leaf lsa-checksum { type uint32; description "Interface Lsa Checksum."; } leaf effective-cost { type uint32; description "Valid cost value."; } leaf cost-type { type string { length "1..40"; } description "Cost type."; } leaf state { type interface-state; description "OSPFv3 interface state."; } leaf dr { type inet:ipv4-address-no-zone; description "Designated router."; } leaf dr-link-local-addr { type inet:ipv6-address-no-zone; description "DR link local address."; } leaf bdr { type inet:ipv4-address-no-zone; description "Backup designated router."; } leaf bdr-link-local-addr { type inet:ipv6-address-no-zone; description "BDR link local address."; } leaf hello-due-timer { type string { length "1..8"; } description "Hello due timer."; } leaf count { type uint32; description "Number of neighbors."; } leaf adjacent-count { type uint32; description "Number of adjacents."; } leaf bandwidth-high { type uint32; description "Higher order 32-bit of the interface bandwidth value."; } leaf bandwidth-low { type uint32; description "Lower order 32-bit of the interface bandwidth value."; } container bfd { description "Statistics of bfd attributes."; leaf enable { type boolean; default "false"; description "Enable/disable BFD in an OSPFv3 process."; } leaf frr-binding { type boolean; default "false"; description "Enable/disable bind FRR with BFD."; } leaf min-tx { type uint32 { range "3..20000"; } units "ms"; description "Minimum interval for sending BFD packets to the peer end. The value range and default value are controlled by the PAF."; } leaf min-rx { type uint32 { range "3..20000"; } units "ms"; description "Minimum interval for receiving BFD packets from the peer end. The value range and default value are controlled by the PAF."; } leaf detect-multiplier { type uint32 { range "3..50"; } default "3"; description "Local detection multiplier."; } } // container bfd leaf auth-flag { type auth-type; description "Authentication which can be configured using the ospf authentication-mode command."; } leaf auth-seq-high { type uint32; description "Higher order 32-bit of the sequence number of the sent packet."; } leaf auth-seq-low { type uint32; description "Lower order 32-bit of the sequence number of the sent packet."; } leaf sa-name-apply { type string { length "1..15"; } description "The name of iP security association applied."; } leaf sa-name { type string { length "1..15"; } description "The name of iP security association configured."; } leaf peer-flapping-suppress { type peer-flapping-suppress-type; description "OSPFv3 peer suppress-flapping status."; } leaf peer-flapping-count { type uint32; description "OSPFv3 peer suppress-flapping count."; } leaf peer-flapping-suppress-threshold { type uint32; description "OSPFv3 peer suppress-flapping threshold."; } leaf peer-flapping-suppress-time { type yang:date-and-time; description "OSPFv3 peer suppress-flapping start time."; } leaf peer-flapping-suppress-remain-interval { type uint32; description "OSPFv3 peer suppress-flapping remain interval."; } leaf link-quality-adjust-cost { type string { length "1..15"; } description "Whether bit-error-triggered interface cost adjustment is effective."; } leaf link-quality { type string { length "1..255"; } description "Link-quality."; } } // container attribute container request-queues { config false; description "List of the OSPFv3 request message."; list request-queue { key "nbr-router-id nbr-ip-addr lsa-type link-state-id adv-router-id"; description "Statistics of the OSPFv3 request message."; leaf nbr-router-id { type inet:ipv4-address-no-zone; description "ID of a neighbor router."; } leaf nbr-ip-addr { type inet:ipv4-address-no-zone; description "IP address of the neighbor interface."; } leaf lsa-type { type lsa-type; description "LSA type."; } leaf link-state-id { type inet:ipv4-address-no-zone; description "ID of the link state."; } leaf adv-router-id { type inet:ipv4-address-no-zone; description "Advertisement router ID."; } leaf router-id { type inet:ipv4-address-no-zone; description "ID of the local router."; } leaf lsa-sequence { type pub-type:hex-binary; description "LSA sequence number."; } leaf lsa-age { type uint32; description "LSA aging time."; } leaf lsa-count { type uint32; description "LSA count."; } } // list request-queue } // container request-queues container retrans-queues { config false; description "List of the OSPFv3 retrans message."; list retrans-queue { key "nbr-router-id nbr-ip-addr lsa-type link-state-id adv-router-id"; description "Statistics of the OSPFv3 retrans message."; leaf nbr-router-id { type inet:ipv4-address-no-zone; description "ID of a neighbor router."; } leaf nbr-ip-addr { type inet:ipv4-address-no-zone; description "IP address of the neighbor interface."; } leaf lsa-type { type lsa-type; description "LSA type."; } leaf link-state-id { type inet:ipv4-address-no-zone; description "ID of the link state."; } leaf adv-router-id { type inet:ipv4-address-no-zone; description "Advertisement router ID."; } leaf router-id { type inet:ipv4-address-no-zone; description "ID of the local router."; } leaf lsa-sequence { type pub-type:hex-binary; description "LSA sequence number."; } leaf lsa-age { type uint32; description "LSA aging time."; } leaf lsa-count { type uint32; description "LSA count."; } } // list retrans-queue } // container retrans-queues container bfd-statistics { config false; description "List of the neighbors enabled with BFD."; list bfd-statistic { key "local-ipv6-addr remote-ipv6-addr nbr-router-id"; description "Statistics of the neighbors enabled with BFD."; leaf local-ipv6-addr { type inet:ipv6-address-no-zone; description "Local IPv6 address."; } leaf remote-ipv6-addr { type inet:ipv6-address-no-zone; description "Remote IPv6 address."; } leaf nbr-router-id { type inet:ipv4-address-no-zone; description "ID of a neighbor router."; } leaf router-id { type inet:ipv4-address-no-zone; description "ID of the local router."; } leaf bfd-state { type bfd-state; description "BFD status."; } } // list bfd-statistic } // container bfd-statistics container neighbors { config false; description "List of interface OSPF neighbors."; list neighbor { key "router-id interface-address"; description "Statistics of neighbors for the interface."; leaf router-id { type inet:ipv4-address-no-zone; description "Router ID."; } leaf interface-address { type inet:ipv6-address-no-zone; description "IP address of the interface that connects to the neighbor."; } leaf host-name { ext:support-filter "true"; type string { length "1..255"; } description "Neighbor host name."; } leaf priority { type int32; description "Priority of a neighbor router."; } leaf state { type nbr-state; description "Neighbor status."; } leaf dead-due-timer { type uint32; description "Dead due timer."; } leaf dr { type inet:ipv4-address-no-zone; description "Designated router."; } leaf bdr { type inet:ipv4-address-no-zone; description "Backup designated router."; } leaf up-time { type string { length "1..16"; } description "Time when a neighbor goes up."; } leaf up-time-stamp { type yang:date-and-time; description "Neighbor up time stamp."; } leaf link-state-request-list-number { type uint32; description "Number of LSAs in the request list of the neighbor."; } leaf link-state-retransmission-list-number { type uint32; description "Number of LSAs in the retransmission list of the neighbor."; } leaf event { type uint32; description "Event of the neighbor."; } leaf if-id { type int32; description "Interface ID of the neighbor."; } leaf received-higher-sequence-number { type uint32; description "Received higher order sequence number."; } leaf received-low-sequence-number { type uint32; description "Received lower order sequence number."; } leaf adj-sid { type inet:ipv6-address-no-zone; description "Adjacency SID."; } leaf adj-weight { type uint32; description "Adjacency weight."; } leaf adj-flags { type string { length "1..20"; } description "Adjacency flags."; } } // list neighbor } // container neighbors container error-data { config false; description "Statistics of interface error data."; leaf same-ip-pkt { type uint32; description "Same IP packet count."; } leaf bad-pkt { type uint32; description "Bad packet count."; } leaf bad-version { type uint32; description "Bad version count."; } leaf bad-chksum-pkt { type uint32; description "Bad checksum count."; } leaf bad-area-pkt { type uint32; description "Bad area ID count."; } leaf bad-virt-link { type uint32; description "Bad virtual link count."; } leaf auth-type-fail { type uint32; description "Authentication failure count."; } leaf auth-key-fail { type uint32; description "Authentication keyId mismatch count."; } leaf short-pkt-cnt { type uint32; description "Packet too small count."; } leaf tx-err-cnt { type uint32; description "Transmit error count."; } leaf if-down-cnt { type uint32; description "Interface down count."; } leaf no-nbr { type uint32; description "Unknown neighbor count."; } leaf mis-hello-intl { type uint32; description "Hello timer mismatch count."; } leaf mis-dead-intl { type uint32; description "Dead timer mismatch count."; } leaf mis-ext-option { type uint32; description "Extern option mismatch count."; } leaf vlink-nbr-mis { type uint32; description "Virtual neighbor unknown count."; } leaf dd-mtu-mis { type uint32; description "MTU option mismatch count."; } leaf dd-opt-mis-cnt { type uint32; description "Extern option mismatch count."; } leaf dd-router-id { type uint32; description "DD router ID confusion count."; } leaf dd-unknown-lsa { type uint32; description "DD packet unknown LSA type count."; } leaf ack-bad-cnt { type uint32; description "Bad ACK count."; } leaf gr-invalid-lsa { type uint32; description "Invalid LSA count."; } leaf gr-invalid-pol { type uint32; description "Policy failed LSA count."; } leaf gr-invalid-prd { type uint32; description "Wrong period LSA count."; } leaf hello-dr-mis { type uint32; description "The DR or BDR in receiving hello packet is not same with the DR or BDR."; } leaf gen-ttl-err { type uint32; description "The TTL of the packet is error."; } leaf over-max-buf-len { type uint32; description "Number of packet that length is more than maximum buffer length."; } leaf long-pkt { type uint32; description "The packet length is greater than the IP packet length."; } leaf bad-link-local-addr-pkt { type uint32; description "Bad linklocal address packet count."; } leaf dest-ip-err-pkt { type uint32; description "Number of bad destination IP address packet."; } leaf pass-intf-pkt { type uint32; description "Number of packet that received from silent interface."; } leaf hello-nbr-limit { type uint32; description "Number of hello packet that discard because the number of neighbour reached the limit."; } leaf hello-hold-down { type uint32; description "Number of hello packet that discard because the neighbour is in hold down state."; } leaf hello-memory-over { type uint32; description "Number of hello packet that discard because memory is overload."; } leaf hello-cpu-over { type uint32; description "Number of hello packet that discard because cpu is overload."; } leaf ack-duplicate-cnt { type uint32; description "Duplicate ACK count."; } leaf ack-unknown-lsa { type uint32; description "LSAck packet unknown LSA type count."; } leaf req-empty-cnt { type uint32; description "Empty request count."; } leaf req-bad-cnt { type uint32; description "Bad request count."; } leaf upd-lsa-chksum { type uint32; description "Bad LSA checksum count."; } leaf upd-unknow-lsa { type uint32; description "LSUpdate packet unknown LSA type count."; } leaf upd-self-newer { type uint32; description "Newer self-generate LSA count."; } leaf upd-less-recent { type uint32; description "Received less recent LSA count."; } leaf bad-instance-id { type uint32; description "Bad instance ID count."; } leaf same-router-id-pkt { type uint32; description "Router ID confusion count."; } leaf dd-nbr-low { type uint32; description "Neighbour state low for DD count."; } leaf ack-nbr-low { type uint32; description "Neighbour state low for LS ACK count."; } leaf req-nbr-low { type uint32; description "Neighbour state low for LS REQ count."; } leaf upd-nbr-low { type uint32; description "Neighbour state low for LS UPD count."; } leaf upd-min-lsa-arr { type uint32; description "Received LSA within LSA arrival interval."; } leaf auth-seq-fail { type uint32; description "Authentication sequence mismatch count."; } } // container error-data } // list interface } // container interfaces container attribute { config false; description "Statistics of OSPF area."; leaf intf-cnt { type uint32; description "Number of interfaces."; } leaf unknown-lsa-cnt { type uint32; description "Number of unknown LSA."; } leaf status { type area-status; description "Area status."; } leaf lsa-cnt { type uint32; description "Number of LSA."; } leaf lsa-checksum { type pub-type:hex-binary; description "LSA checksum."; } leaf bdr-cnt { type uint32; description "Area BDR router count."; } leaf as-bdr-cnt { type uint32; description "Area AS BDR router count."; } leaf router-id-state { type router-id-state; description "Router ID conflict state."; } leaf next-spf-trig { type uint32; description "The next spf trigger timer when intelligent timer is configured. If spf timer delay hold is configured then this field is set to zero."; } leaf import-limit-status { type import-limit-status; description "Limit status of imported routes."; } leaf nssa-lsa-cnt { type uint32; description "Number of NSSA LSAs that are generated locally."; } leaf authen-mode { type authen-mode; description "Authentication mode."; } } // container attribute } // list area } // container areas container attribute { config false; description "Statistics of OSPF site."; leaf effective-router-id { type inet:ipv4-address-no-zone; description "Effective router ID."; } leaf spf-count { type uint32; description "SPF count."; } leaf area-count { type uint32; description "Number of areas."; } leaf exchange-and-loading-nbr { type uint32; description "Neighbor in exchange/loading state."; } leaf ase-lsa-chksum { type pub-type:hex-binary; description "AS-External LSA's checksum sum."; } leaf as-unknown-lsa-cnt { type uint32; description "Number of AS-scoped unknown LSA."; } leaf as-unknown-lsa-chksum { type pub-type:hex-binary; description "AS-scoped unknown LSA's checksum sum."; } leaf full-nbr-count { type uint32; description "Number of full neighbors."; } leaf non-refresh-lsa-cnt { type uint32; description "Non refresh LSA."; } leaf non-full-nbr-cnt { type uint32; description "Non full neighbor count."; } leaf lsa-org-cnt { type uint32; description "Number of LSA originated."; } leaf lsa-recvd-cnt { type uint32; description "Number of LSA received."; } leaf ase-lsa-count { type uint32; description "Number of AS-external LSA."; } leaf import-limit-status { type import-limit-status; description "Limit status of imported external routes."; } leaf self-ase-lsa-cnt { type uint32; description "Number of AS-external LSAs that are generated locally."; } leaf authen-mode { type authen-mode; description "Authentication mode."; } } // container attribute container dynamic-hostnames { config false; description "List of dynamic hostname."; list dynamic-hostname { key "scope area-id router-id"; description "Statistics of dynamic hostname."; leaf scope { type hostname-scope; description "Scope of the hostname."; } leaf area-id { type inet:ipv4-address-no-zone; description "Area ID to which hostname belongs."; } leaf router-id { type inet:ipv4-address-no-zone; description "Router ID to which hostname belongs."; } leaf host-name { type string { length "1..256"; } description "Hostname associated with the router ID."; } } // list dynamic-hostname } // container dynamic-hostnames container bfd-stat-datas { config false; description "List of BFD status data."; list bfd-stat-data { key "area-id nbr-router-id instance-id if-name"; description "Statistics of BFD status data."; leaf area-id { type inet:ipv4-address-no-zone; description "Area ID."; } leaf nbr-router-id { type inet:ipv4-address-no-zone; description "Neighbor router ID."; } leaf instance-id { type uint32; description "Instance ID."; } leaf if-name { type leafref { path "/ifm:ifm/ifm:interfaces/ifm:interface/ifm:name"; } description "Interface name."; } leaf state { type bfd-state; description "BFD status."; } leaf local-ipv6-addr { type inet:ipv6-address-no-zone; description "IPv6 local address."; } leaf remote-ipv6-addr { type inet:ipv6-address-no-zone; description "IPv6 remote address."; } } // list bfd-stat-data } // container bfd-stat-datas container neighbors { config false; description "List of neighbors."; list neighbor { key "area-id nbr-router-id if-name"; description "Statistics of neighbors."; leaf area-id { type inet:ipv4-address-no-zone; description "Area ID."; } leaf nbr-router-id { type inet:ipv4-address-no-zone; description "Neighbor router ID."; } leaf if-name { type leafref { path "/ifm:ifm/ifm:interfaces/ifm:interface/ifm:name"; } description "Interface name."; } leaf nbr-priority { type int32; description "Neighbor router priority."; } leaf nbr-state { type nbr-state-type; description "Neighbor state."; } leaf nbr-intf-status { type nbr-intf-status; description "Neighbor interface status."; } leaf dead-due-timer { type uint32; description "Dead due timer."; } leaf instance-id { type uint32; description "Instance ID."; } leaf host-name { type string { length "1..256"; } description "Host name."; } leaf dns-host-name { type string { length "1..256"; } description "DNS host name."; } container datas { config false; description "List of neighbor datas."; list data { key "nbr-ipv6-addr"; description "Statistics of neighbor datas."; leaf nbr-ipv6-addr { type inet:ipv6-address-no-zone; description "Neighbor IPv6 address."; } leaf nbr-dr { type inet:ipv4-address-no-zone; description "Designated router."; } leaf nbr-bdr { type inet:ipv4-address-no-zone; description "Backup designated router."; } leaf nbr-options { type pub-type:hex-binary; description "Neighbor options."; } leaf nbr-up-time { type string { length "1..17"; } description "Times when a neighbor goes up."; } leaf up-time-stamp { type yang:date-and-time; description "Neighbor up time stamp."; } leaf ls-request-num { type uint32; description "LS request list number."; } leaf ls-retrans-num { type uint32; description "Ls retransmit list number."; } leaf events { type uint32; description "Events."; } leaf nbr-if-id { type int32; description "Neighbor interface ID."; } leaf nbr-auth-seq-high { type uint32; description "Neighbor crypt high seq num."; } leaf nbr-auth-seq-low { type uint32; description "Neighbor crypt low seq num."; } } // list data } // container datas } // list neighbor } // container neighbors container graceful-restart-info { config false; description "Statistics of graceful restart informations."; leaf gr-capability { type helper-capabality; description "Helper capability."; } leaf help-role { type helper-support; description "Helper support."; } leaf max-grace-period { type uint32; description "Max rrace-period configured."; } leaf on-helper { type on-helper; description "Last helper-exit reason."; } leaf restart-nbr-num { type uint32; description "Restarting neighbor count."; } } // container graceful-restart-info container last-down-nbrs { config false; description "List of the OSPF neighbor that goes down for the last time."; list last-down-nbr { key "area-id nbr-router-id if-name instance-id list-index"; description "Statistics of the OSPF neighbor that goes Down for the last time."; leaf area-id { type inet:ipv4-address-no-zone; description "Neighbor area ID."; } leaf nbr-router-id { type inet:ipv4-address-no-zone; description "Router ID of the neighbor."; } leaf if-name { type string { length "0..64"; } description "Interface that connects to the neighbor."; } leaf instance-id { type uint8; description "Instance ID."; } leaf list-index { type uint32; description "The index of the node for the particular last down neighbor."; } leaf down-imm-reason { type nbr-down-imm-reason; description "Direct reason that the neighbor goes down."; } leaf down-pri-reason { type nbr-down-prim-reason; description "Primary reason that the neighbor goes down."; } leaf down-time { type yang:date-and-time; description "Time when the neighbor goes down."; } leaf router-id { type inet:ipv4-address-no-zone; description "ID of the local router."; } } // list last-down-nbr } // container last-down-nbrs container nexthop-paras { config false; description "List of the next hop of an OSPF process."; list nexthop-para { key "nbr-rtr-id nexthop-ipv6-addr if-name"; description "Statistics of the next hop of an OSPF process."; leaf nbr-rtr-id { type inet:ipv4-address-no-zone; description "Neighbor router ID."; } leaf nexthop-ipv6-addr { type inet:ipv6-address-no-zone; description "Nexthop IPv6 address."; } leaf if-name { type leafref { path "/ifm:ifm/ifm:interfaces/ifm:interface/ifm:name"; } description "Interface name."; } leaf router-id { type inet:ipv4-address-no-zone; description "Local router ID."; } leaf referece-count { type uint32; description "Number of OSPF routes using the nexthop."; } } // list nexthop-para } // container nexthop-paras container lsdb-statistics { config false; description "List of OSPF LSDBs."; list lsdb-statistic { key "area-id lsa-type link-state-id adv-router-id"; description "Statistics of OSPF LSDBs."; leaf area-id { type inet:ipv4-address-no-zone; description "Area ID."; } leaf lsa-type { type lsa-type; description "LSA type."; } leaf link-state-id { type inet:ipv4-address-no-zone; description "Link state ID in the LSA header."; } leaf adv-router-id { type inet:ipv4-address-no-zone; description "Router for advertising or generating LSAs."; } leaf lsa-age { type int32; description "LSA age."; } leaf options { type pub-type:hex-binary; description "LSA option."; } leaf lsa-length { type uint32; description "Lsa length."; } leaf option-flag { type pub-type:hex-binary; description "LSA option flag. The available options are V, B, and E."; } leaf lsa-seq-num { type string { length "1..13"; } description "LSA sequence number."; } leaf checksum { type pub-type:hex-binary; description "LSA checksum."; } leaf prefix-num { type uint32; description "Number of prefixes."; } leaf ref-ls-type { type ref-ls-type; description "Referenced LS type."; } leaf ref-ls-id { type inet:ipv4-address-no-zone; description "Reference LS ID."; } leaf ref-adv-router { type inet:ipv4-address-no-zone; description "Referenced originating router."; } leaf router-pri { type uint32; description "Router priority of the interface."; } leaf link-local-addr { type inet:ipv6-address-no-zone; description "Originating router link local address."; } leaf host-name { type string { length "1..256"; } description "Host name."; } container lsabodys { config false; description "List of LSA body."; list lsabody { key "nbr-intf-id nbr-router-id attach-router-id link-type fwd-ipv6-addr"; description "Statistics of LSA body."; leaf nbr-intf-id { type pub-type:hex-binary; description "Neighbor interface ID."; } leaf nbr-router-id { type inet:ipv4-address-no-zone; description "Neighbor router ID."; } leaf attach-router-id { type inet:ipv4-address-no-zone; description "Router ID of the routers attached to the link."; } leaf link-type { type lsdb-link-type; description "Link type of the router LSA."; } leaf fwd-ipv6-addr { type inet:ipv6-address-no-zone; description "Forwarding IPv6 address."; } leaf tos-metric { type uint32; description "ToS metric."; } leaf route-tag { type uint32; description "Route tag, which is used to prevent route loopback and applicable to Type5 or Type7 LSAs."; } leaf ext-metric-type { type uint8; description "External metric type."; } leaf intf-id { type pub-type:hex-binary; description "Interface ID."; } leaf prefix-len { type uint32; description "Prefix length."; } leaf prefix-options { type pub-type:hex-binary; description "Prefix options."; } leaf dest-router-id { type inet:ipv4-address-no-zone; description "Destination router ID."; } leaf ipv6-prefix { type inet:ipv6-address-no-zone; description "Interface IPv6 prefix."; } } // list lsabody } // container lsabodys } // list lsdb-statistic } // container lsdb-statistics container lsdb-briefs { config false; description "List of LSDB statistics."; list lsdb-brief { key "router-id"; description "Statistics of LSDB."; leaf router-id { type inet:ipv4-address-no-zone; description "Local router ID."; } leaf router { type uint32; description "Number of router LSAs."; } leaf network { type uint32; description "Number of network LSAs."; } leaf summary-net { type uint32; description "Number of inter area prefix LSAs."; } leaf asbr { type uint32; description "Number of inter area router LSAs."; } leaf type7 { type uint32; description "Number of NSSA external LSAs."; } leaf ase { type uint32; description "Number of ASE LSAs."; } leaf total { type uint32; description "Total number of LSAs."; } leaf link-lsa { type uint32; description "Number of link LSAs."; } leaf grace-lsa { type uint32; description "Number of grace LSAs."; } leaf unknown-lsa { type uint32; description "Number of unknown LSAs."; } leaf intra-prefix-lsa { type uint32; description "Number of intra area LSAs."; } leaf ri-link-lsa { type uint32; description "Number of router information link LSAs."; } leaf ri-area-lsa { type uint32; description "Number of router information area LSAs."; } leaf ri-as-lsa { type uint32; description "Number of router information ASE LSAs."; } } // list lsdb-brief } // container lsdb-briefs container routings { config false; description "List of the OSPF routing table."; list routing { key "dest-ipv6-addr ipv6-mask-len"; description "Statistics of the OSPF routing table."; leaf dest-ipv6-addr { type inet:ipv6-address-no-zone; description "Destination IPv6 address."; } leaf ipv6-mask-len { type uint32; description "Mask length."; } leaf cost { type uint32; description "Cost to the destination address."; } leaf path-type { type string { length "1..22"; } description "Path type."; } leaf prefix-priority { type pre-priority; description "Prefix priority."; } container nexthop-datas { config false; description "List of nexthop."; list nexthop-data { key "ipv6-addr if-name"; description "Statistics of nexthop."; leaf ipv6-addr { type inet:ipv6-address-no-zone; description "Nexthop IPv6 address."; } leaf if-name { type leafref { path "/ifm:ifm/ifm:interfaces/ifm:interface/ifm:name"; } description "Outgoing interface name."; } leaf bak-if-name { type string { length "1..64"; } description "Backup outgoing interface name."; } leaf bak-next-ipv6-addr { type inet:ipv6-address-no-zone; description "Backup nexthop IPv6 address."; } leaf backup-type { type routing-bak-type; description "Type of backup."; } leaf flags-disp { type string { length "1..9"; } description "Nexthop flags."; } } // list nexthop-data } // container nexthop-datas } // list routing } // container routings container error-process-data { config false; description "Statistics of error data."; leaf same-ip-pkt { type uint32; description "Same IP packet count."; } leaf bad-pkt { type uint32; description "Bad packet count."; } leaf bad-version { type uint32; description "Bad version count."; } leaf bad-chksum-pkt { type uint32; description "Bad checksum count."; } leaf bad-area-pkt { type uint32; description "Bad area ID count."; } leaf bad-virt-link { type uint32; description "Bad virtual link count."; } leaf auth-type-fail { type uint32; description "Authentication failure count."; } leaf auth-key-fail { type uint32; description "Authentication keyId mismatch count."; } leaf short-pkt-cnt { type uint32; description "Packet too small count."; } leaf tx-err-cnt { type uint32; description "Transmit error count."; } leaf if-down-cnt { type uint32; description "Interface down count."; } leaf no-nbr { type uint32; description "Unknown neighbor count."; } leaf mis-hello-intl { type uint32; description "Hello timer mismatch count."; } leaf mis-dead-intl { type uint32; description "Dead timer mismatch count."; } leaf mis-ext-option { type uint32; description "Extern option mismatch count."; } leaf vlink-nbr-mis { type uint32; description "Virtual neighbor unknown count."; } leaf router-id { type inet:ipv4-address-no-zone; description "Router ID."; } leaf dd-mtu-mis { type uint32; description "MTU option mismatch count."; } leaf dd-opt-mis-cnt { type uint32; description "Extern option mismatch count."; } leaf dd-router-id { type uint32; description "DD router ID confusion count."; } leaf dd-unknown-lsa { type uint32; description "DD packet unknown LSA type count."; } leaf ack-bad-cnt { type uint32; description "Bad ACK count."; } leaf gr-invalid-lsa { type uint32; description "Invalid LSA count."; } leaf gr-invalid-pol { type uint32; description "Policy failed LSA count."; } leaf gr-invalid-prd { type uint32; description "Wrong period LSA count."; } leaf hello-dr-mis { type uint32; description "The DR or BDR in receiving hello packet is not same with the DR or BDR."; } leaf gen-ttl-err { type uint32; description "The TTL of the packet is error."; } leaf over-max-buf-len { type uint32; description "Number of packet that length is more than maximum buffer length."; } leaf long-pkt { type uint32; description "The packet length is greater than the IP packet length."; } leaf bad-link-local-addr-pkt { type uint32; description "Bad linklocal address packet count."; } leaf dest-ip-err-pkt { type uint32; description "Number of bad destination IP address packet."; } leaf pass-intf-pkt { type uint32; description "Number of packet that received from silent interface."; } leaf hello-nbr-limit { type uint32; description "Number of hello packet that discard because the number of neighbour reached the limit."; } leaf hello-hold-down { type uint32; description "Number of hello packet that discard because the neighbour is in hold down state."; } leaf hello-memory-over { type uint32; description "Number of hello packet that discard because memory is overload."; } leaf hello-cpu-over { type uint32; description "Number of hello packet that discard because cpu is overload."; } leaf dd-nbr-limit { type uint32; description "Number of dd packet that discard because the number of neighbour reached the limit."; } leaf dd-cpu-over { type uint32; description "Number of dd packet that discard because cpu is overload."; } leaf ack-duplicate-cnt { type uint32; description "Duplicate ACK count."; } leaf ack-unknown-lsa { type uint32; description "LSAck packet unknown LSA type count."; } leaf req-empty-cnt { type uint32; description "Empty request count."; } leaf req-bad-cnt { type uint32; description "Bad request count."; } leaf upd-lsa-chksum { type uint32; description "Bad LSA checksum count."; } leaf upd-unknow-lsa { type uint32; description "LSUpdate packet unknown LSA type count."; } leaf upd-self-newer { type uint32; description "Newer self-generate LSA count."; } leaf upd-less-recent { type uint32; description "Received less recent LSA count."; } leaf bad-instance-id { type uint32; description "Bad instance ID count."; } leaf same-router-id-pkt { type uint32; description "Router ID confusion count."; } leaf dd-nbr-low { type uint32; description "Neighbour state LOW for DD count."; } leaf ack-nbr-low { type uint32; description "Neighbour state LOW for LS ACK count."; } leaf req-nbr-low { type uint32; description "Neighbour state LOW for LS REQ count."; } leaf upd-nbr-low { type uint32; description "Neighbour state LOW for LS UPD count."; } leaf upd-min-lsa-arr { type uint32; description "Received LSA within LSA arrival interval."; } leaf auth-seq-fail { type uint32; description "Authentication sequence mismatch count."; } } // container error-process-data } // list site } // container sites } // container ospfv3 } } // module huawei-ospfv3
© 2023 YumaWorks, Inc. All rights reserved.