Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding support for configuration of ECMP of next hops for a static LSP #1138

Merged
merged 2 commits into from
Aug 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion release/models/mpls/openconfig-mpls-igp.yang
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,16 @@ submodule openconfig-mpls-igp {
"Configuration generic configuration parameters for IGP-congruent
LSPs";

oc-ext:openconfig-version "3.5.0";
oc-ext:openconfig-version "3.6.0";

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
Expand Down
123 changes: 114 additions & 9 deletions release/models/mpls/openconfig-mpls-static.yang
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,16 @@ submodule openconfig-mpls-static {
"Defines static LSP configuration";


oc-ext:openconfig-version "3.5.0";
oc-ext:openconfig-version "3.6.0";

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
Expand Down Expand Up @@ -156,36 +165,126 @@ submodule openconfig-mpls-static {

// grouping statements

grouping static-lsp-common-config {
grouping static-lsp-nexthop-index {
description
"common definitions for static LSPs";
"Next hop index definition for static LSPs";

leaf next-hop {
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-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";
"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";
}

// interface-ref
uses oc-if:interface-ref-common;
}

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";
"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
"Label value to push at the current hop for the
LSP";
}

// interface-ref
uses oc-if:interface-ref-common;
uses oc-if:interface-ref-common {
status deprecated;
}

leaf metric {
type uint8;
description
"Specifies metric value used for the MPLS route";
"Specifies metric value used for the MPLS route.";
}
}

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 state {
config false;
description
"Operational state parameters relating to the
next-hop entry";

uses static-lsp-nexthop-index;
uses static-lsp-nexthop-common-config;
}
}
}
}

Expand Down Expand Up @@ -227,6 +326,8 @@ submodule openconfig-mpls-static {
uses static-lsp-ingress-config;
uses static-lsp-ingress-state;
}

uses static-lsp-nexthops-common;
}
}

Expand Down Expand Up @@ -268,6 +369,8 @@ submodule openconfig-mpls-static {
uses static-lsp-transit-config;
uses static-lsp-transit-state;
}

uses static-lsp-nexthops-common;
}
}

Expand Down Expand Up @@ -309,6 +412,8 @@ submodule openconfig-mpls-static {
uses static-lsp-egress-config;
uses static-lsp-egress-state;
}

uses static-lsp-nexthops-common;
}
}

Expand Down
11 changes: 10 additions & 1 deletion release/models/mpls/openconfig-mpls-te.yang
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,16 @@ submodule openconfig-mpls-te {
signaling protocol or mechanism (see related submodules for
signaling protocol-specific configuration).";

oc-ext:openconfig-version "3.5.0";
oc-ext:openconfig-version "3.6.0";

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
Expand Down
11 changes: 10 additions & 1 deletion release/models/mpls/openconfig-mpls.yang
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,16 @@ module openconfig-mpls {
+------+ |ROUTING| +-----+
+-------+
";
oc-ext:openconfig-version "3.5.0";
oc-ext:openconfig-version "3.6.0";

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
Expand Down
Loading