Defines static LSP configuration
Version: 2024-06-19
submodule openconfig-mpls-static { yang-version 1; belongs-to openconfig-mpls { prefix mpls; } import openconfig-mpls-types { prefix oc-mplst; } import openconfig-inet-types { prefix inet; } import openconfig-extensions { prefix oc-ext; } import openconfig-interfaces { prefix oc-if; } organization "OpenConfig working group"; contact "OpenConfig working group netopenconfig@googlegroups.com"; description "Defines static LSP configuration"; revision "2024-06-19" { description "Added support with backward compatibility to configure ECMP of next-hops for the same LSP name. Also marked attributes push-label, next-hop and interface as deprecated under egress, transit and ingress config"; reference "3.6.0"; } revision "2023-12-14" { description "Added additional attributes oc-if:interface-ref and metric attributes to static lsp"; reference "3.5.0"; } revision "2023-07-25" { description "Added record-route-enabled to MPLS p2p tunnel config"; reference "3.4.0"; } revision "2023-04-28" { description "Fixed typo in cspf-tiebreaker leaf description"; reference "3.3.2"; } revision "2023-02-03" { description "Clarify usage of interface-ref."; reference "3.3.1"; } revision "2022-02-11" { description "Add lsp-path PCE control mode"; reference "3.3.0"; } revision "2021-07-28" { description "Add prefix to qualify when statements."; reference "3.2.2"; } revision "2021-06-16" { description "Remove trailing whitespace"; reference "3.2.1"; } revision "2021-03-24" { description "Add Metric bounds constraints for LSPs."; reference "3.2.0"; } revision "2019-03-26" { description "Add Pseudowire encapsulation."; reference "3.1.0"; } revision "2018-11-21" { description "Add OpenConfig module metadata extensions."; reference "3.0.1"; } revision "2018-07-02" { description "Add new RSVP-TE statistics, remove associated-rsvp-session leaf. Remove use of date-and-time."; reference "3.0.0"; } revision "2018-06-16" { description "Included attributes for base LDP configuration."; reference "2.6.0"; } revision "2018-06-13" { description "Add ttl-propagation to global MPLS config"; reference "2.5.0"; } revision "2018-06-05" { description "Fixed bugs in when statements on RSVP-TE attributes"; reference "2.4.2"; } revision "2017-08-24" { description "Minor formatting fixes."; reference "2.4.1"; } revision "2017-06-21" { description "Add TC bits typedef."; reference "2.4.0"; } revision "2017-03-22" { description "Add RSVP calculated-absolute-subscription-bw"; reference "2.3.0"; } revision "2017-01-26" { description "Add RSVP Tspec, clarify units for RSVP, remove unused LDP"; reference "2.2.0"; } revision "2016-12-15" { description "Add additional MPLS parameters"; reference "2.1.0"; } revision "2016-09-01" { description "Revisions based on implementation feedback"; reference "2.0.0"; } revision "2016-08-08" { description "Public release of MPLS models"; reference "1.0.1"; } oc-ext:openconfig-version "3.6.0"; grouping static-lsp-nexthop-index { description "Next hop index definition for static LSPs"; leaf index { type uint32; description "An user-specified identifier utilised to uniquely reference the next-hop entry in the next-hop list. The value of this index has no semantic meaning other than for referencing the entry."; } } // grouping static-lsp-nexthop-index grouping static-lsp-nexthop-common-config { description "Common definition of next hop configuration for static LSPs"; leaf ip-address { type inet:ip-address; description "Next hop IP address for the LSP"; } leaf push-label { type oc-mplst:mpls-label; description "Label value to push at the current hop for the LSP"; } uses oc-if:interface-ref-common; } // grouping static-lsp-nexthop-common-config grouping static-lsp-common-config { description "Common definitions for static LSPs"; leaf incoming-label { type oc-mplst:mpls-label; description "Label value on the incoming packet"; } leaf next-hop { type inet:ip-address; status deprecated; description "Next hop IP address for the LSP"; } leaf push-label { type oc-mplst:mpls-label; status deprecated; description "Label value to push at the current hop for the LSP"; } uses oc-if:interface-ref-common { status deprecated; } leaf metric { type uint8; description "Specifies metric value used for the MPLS route."; } } // grouping static-lsp-common-config grouping static-lsp-nexthops-common { description "MPLS Static LSP next-hops configuration"; container lsp-next-hops { description "Configuration and state parameters relating to the next-hops that are to be utilised for the MPLS static route being specified"; list lsp-next-hop { key "index"; description "A list of next-hops to be utilised for the MPLS static route being specified."; leaf index { type leafref { path "../config/index"; } description "A reference to the index of the current next-hop. The index is intended to be a user-specified value which can be used to reference the next-hop in question, without any other semantics being assigned to it."; } container config { description "Configuration parameters relating to the next-hop entry"; uses static-lsp-nexthop-index; uses static-lsp-nexthop-common-config; } // container config container state { config false; description "Operational state parameters relating to the next-hop entry"; uses static-lsp-nexthop-index; uses static-lsp-nexthop-common-config; } // container state } // list lsp-next-hop } // container lsp-next-hops } // grouping static-lsp-nexthops-common grouping static-lsp-ingress-config { description "Configuration data for ingress LSPs"; uses static-lsp-common-config; } // grouping static-lsp-ingress-config grouping static-lsp-ingress-state { description "Operational state data for ingress LSPs"; } // grouping static-lsp-ingress-state grouping static-lsp-ingress-top { description "Top-level grouping for ingress LSP data"; container ingress { description "Static LSPs for which the router is an ingress node"; container config { description "Configuration data for ingress LSPs"; uses static-lsp-ingress-config; } // container config container state { config false; description "Operational state data for ingress LSPs"; uses static-lsp-ingress-config; uses static-lsp-ingress-state; } // container state uses static-lsp-nexthops-common; } // container ingress } // grouping static-lsp-ingress-top grouping static-lsp-transit-config { description "Configuration data for transit LSPs"; uses static-lsp-common-config; } // grouping static-lsp-transit-config grouping static-lsp-transit-state { description "Operational state data for transit LSPs"; } // grouping static-lsp-transit-state grouping static-lsp-transit-top { description "Top-level grouping for transit LSP data"; container transit { description "Static LSPs for which the router is an transit node"; container config { description "Configuration data for transit LSPs"; uses static-lsp-transit-config; } // container config container state { config false; description "Operational state data for transit LSPs"; uses static-lsp-transit-config; uses static-lsp-transit-state; } // container state uses static-lsp-nexthops-common; } // container transit } // grouping static-lsp-transit-top grouping static-lsp-egress-config { description "Configuration data for egress LSPs"; uses static-lsp-common-config; } // grouping static-lsp-egress-config grouping static-lsp-egress-state { description "Operational state data for egress LSPs"; } // grouping static-lsp-egress-state grouping static-lsp-egress-top { description "Top-level grouping for egress LSP data"; container egress { description "Static LSPs for which the router is an egress node"; container config { description "Configuration data for egress LSPs"; uses static-lsp-egress-config; } // container config container state { config false; description "Operational state data for egress LSPs"; uses static-lsp-egress-config; uses static-lsp-egress-state; } // container state uses static-lsp-nexthops-common; } // container egress } // grouping static-lsp-egress-top grouping static-lsp-config { description "Configuration data for static LSPs"; leaf name { type string; description "name to identify the LSP"; } } // grouping static-lsp-config grouping static-lsp-state { description "Operational state data for static LSPs"; } // grouping static-lsp-state grouping static-lsp-top { description "grouping for top level list of static LSPs"; list static-lsp { key "name"; description "list of defined static LSPs"; leaf name { type leafref { path "../config/name"; } description "Reference the name list key"; } container config { description "Configuration data for the static lsp"; uses static-lsp-config; } // container config container state { config false; description "Operational state data for the static lsp"; uses static-lsp-config; uses static-lsp-state; } // container state uses static-lsp-ingress-top; uses static-lsp-transit-top; uses static-lsp-egress-top; } // list static-lsp } // grouping static-lsp-top } // submodule openconfig-mpls-static
© 2024 YumaWorks, Inc. All rights reserved.