From 3c7ff4570867a6656fc4e6af0cc805b65306a865 Mon Sep 17 00:00:00 2001 From: Aaron Bamberger Date: Wed, 3 Apr 2024 16:30:52 -0500 Subject: [PATCH 1/5] Updates to the ES model to allow the configuration of an ES-import route target * Add a new leaf "es-import-route-target" to the Ethernet Segment config model to allow the explicit configuration of an ES-import route target as per RFC7432 Section 7.6 --- .../openconfig-ethernet-segments.yang | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/release/models/ethernet-segments/openconfig-ethernet-segments.yang b/release/models/ethernet-segments/openconfig-ethernet-segments.yang index b09357564..e304eb367 100644 --- a/release/models/ethernet-segments/openconfig-ethernet-segments.yang +++ b/release/models/ethernet-segments/openconfig-ethernet-segments.yang @@ -8,6 +8,7 @@ module openconfig-ethernet-segments { import openconfig-extensions { prefix oc-ext; } import openconfig-interfaces { prefix oc-if; } + import openconfig-yang-types { prefix oc-yang-types; } import openconfig-evpn-types { prefix oc-evpn-types; } // meta @@ -23,7 +24,13 @@ module openconfig-ethernet-segments { The ethernet segments are used in EVPN services are defined for the whole device"; - oc-ext:openconfig-version "0.1.0"; + oc-ext:openconfig-version "0.2.0"; + + revision "2024-05-08" { + description + "Added ability to allow configuring es-import-route-target for an ES"; + reference "0.2.0"; + } revision "2021-06-28" { description @@ -199,6 +206,15 @@ grouping evpn-ethernet-segment-df-config { "RFC 7432: BGP MPLS-Based Ethernet VPN"; } + leaf es-import-route-target { + type oc-yang-types:mac-address; + description + "Received ES routes with an ES-Import extended community set to this value + are imported into this ethernet segment"; + reference + "RFC 7432: BGP MPLS-Based Ethernet VPN Section 7.6"; + } + uses oc-if:interface-ref-common; } @@ -247,4 +263,4 @@ grouping evpn-ethernet-segment-df-config { uses evpn-ethernet-segment-top; -} \ No newline at end of file +} From e50491779569d98dc9d8951c44fa9afb369d3632 Mon Sep 17 00:00:00 2001 From: Aaron Bamberger Date: Wed, 3 Apr 2024 16:30:52 -0500 Subject: [PATCH 2/5] Updates to the ES model to allow the configuration of an ES-import route target * Add a new leaf "es-import-route-target" to the Ethernet Segment config model to allow the explicit configuration of an ES-import route target as per RFC7432 Section 7.6 * Make this new "es-import-route-target" leaf conditional on the type of ESI being Type 0 (operator configured), as types 1, 2, and 3 can be auto-derived from the ESI (it's possible for types 4 and 5 to be as well, but that's not called out in the RFC, so leave those alone for now, they can be added to the when statement in the future if necessary) --- .../ethernet-segments/openconfig-ethernet-segments.yang | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/release/models/ethernet-segments/openconfig-ethernet-segments.yang b/release/models/ethernet-segments/openconfig-ethernet-segments.yang index e304eb367..a64e31031 100644 --- a/release/models/ethernet-segments/openconfig-ethernet-segments.yang +++ b/release/models/ethernet-segments/openconfig-ethernet-segments.yang @@ -26,9 +26,9 @@ module openconfig-ethernet-segments { oc-ext:openconfig-version "0.2.0"; - revision "2024-05-08" { + revision "2024-06-10" { description - "Added ability to allow configuring es-import-route-target for an ES"; + "Added ability to allow configuring es-import-route-target for a type-0 ES"; reference "0.2.0"; } @@ -207,6 +207,10 @@ grouping evpn-ethernet-segment-df-config { } leaf es-import-route-target { + when "../esi = 'oc-evpn-types:TYPE_0_OPERATOR_CONFIGURED'" { + description + "For Type-0 ESIs, manually specify an ES-import route target"; + } type oc-yang-types:mac-address; description "Received ES routes with an ES-Import extended community set to this value From e534aca5a59ca8784545f0f0d4f6176b2a494639 Mon Sep 17 00:00:00 2001 From: Aaron Bamberger Date: Wed, 3 Apr 2024 16:30:52 -0500 Subject: [PATCH 3/5] Updates to the ES model to allow the configuration of an ES-import route target * Add a new leaf "es-import-route-target" to the Ethernet Segment config model to allow the explicit configuration of an ES-import route target as per RFC7432 Section 7.6 * Make this new "es-import-route-target" leaf conditional on the type of ESI being Type 0 (operator configured), as types 1, 2, and 3 can be auto-derived from the ESI (it's possible for types 4 and 5 to be as well, but that's not called out in the RFC, so leave those alone for now, they can be added to the when statement in the future if necessary) --- .../models/ethernet-segments/openconfig-ethernet-segments.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release/models/ethernet-segments/openconfig-ethernet-segments.yang b/release/models/ethernet-segments/openconfig-ethernet-segments.yang index a64e31031..e6fc288a9 100644 --- a/release/models/ethernet-segments/openconfig-ethernet-segments.yang +++ b/release/models/ethernet-segments/openconfig-ethernet-segments.yang @@ -207,7 +207,7 @@ grouping evpn-ethernet-segment-df-config { } leaf es-import-route-target { - when "../esi = 'oc-evpn-types:TYPE_0_OPERATOR_CONFIGURED'" { + when "../esi-type = 'oc-evpn-types:TYPE_0_OPERATOR_CONFIGURED'" { description "For Type-0 ESIs, manually specify an ES-import route target"; } From 6c83179d4f31b78f1ac8d9e6df7237fee954d492 Mon Sep 17 00:00:00 2001 From: Aaron Bamberger Date: Fri, 6 Sep 2024 09:59:39 -0500 Subject: [PATCH 4/5] Updates to the ES model to allow the configuration of an ES-import RT * Add a new leaf "es-import-route-target" to the Ethernet Segment config model to allow the explicit configuration of an ES-import route target as per RFC7432 Section 7.6 --- .../ethernet-segments/openconfig-ethernet-segments.yang | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/release/models/ethernet-segments/openconfig-ethernet-segments.yang b/release/models/ethernet-segments/openconfig-ethernet-segments.yang index e6fc288a9..e0b395c65 100644 --- a/release/models/ethernet-segments/openconfig-ethernet-segments.yang +++ b/release/models/ethernet-segments/openconfig-ethernet-segments.yang @@ -26,9 +26,9 @@ module openconfig-ethernet-segments { oc-ext:openconfig-version "0.2.0"; - revision "2024-06-10" { + revision "2024-09-06" { description - "Added ability to allow configuring es-import-route-target for a type-0 ES"; + "Added ability to configure an explicit es-import-route-target for an ES"; reference "0.2.0"; } @@ -207,10 +207,6 @@ grouping evpn-ethernet-segment-df-config { } leaf es-import-route-target { - when "../esi-type = 'oc-evpn-types:TYPE_0_OPERATOR_CONFIGURED'" { - description - "For Type-0 ESIs, manually specify an ES-import route target"; - } type oc-yang-types:mac-address; description "Received ES routes with an ES-Import extended community set to this value From 1ce519edac5f8070235ff337b6924a71c15bfdf2 Mon Sep 17 00:00:00 2001 From: Aaron Bamberger Date: Tue, 8 Oct 2024 08:09:46 -0500 Subject: [PATCH 5/5] Expand description of es-import-route-target leaf --- .../ethernet-segments/openconfig-ethernet-segments.yang | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/release/models/ethernet-segments/openconfig-ethernet-segments.yang b/release/models/ethernet-segments/openconfig-ethernet-segments.yang index e0b395c65..0d490661f 100644 --- a/release/models/ethernet-segments/openconfig-ethernet-segments.yang +++ b/release/models/ethernet-segments/openconfig-ethernet-segments.yang @@ -210,7 +210,9 @@ grouping evpn-ethernet-segment-df-config { type oc-yang-types:mac-address; description "Received ES routes with an ES-Import extended community set to this value - are imported into this ethernet segment"; + are imported into this ethernet segment. When configured by a user, the + es-import-route-target will be used, otherwise the system automatically + derives the value used by following the procedures in RFC 7432 Section 7.6."; reference "RFC 7432: BGP MPLS-Based Ethernet VPN Section 7.6"; }