Skip to content

Commit

Permalink
Updates to network instance models for VLAN-VNI and VRF-VNI mappings (#…
Browse files Browse the repository at this point in the history
…1125)

* Introduce new container "local-endpoint-vnis" in Vxlan endpoint model
  to allow the local configuration of VLAN-to-VNI and VRF-to-VNI mappings
  • Loading branch information
abamberger-arista authored Aug 29, 2024
1 parent b9845f1 commit 6b19efb
Showing 1 changed file with 81 additions and 36 deletions.
117 changes: 81 additions & 36 deletions release/models/network-instance/openconfig-evpn.yang
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,14 @@ module openconfig-evpn {
domains, this is not currently supported and requires an extension
of the model.";

oc-ext:openconfig-version "0.10.0";
oc-ext:openconfig-version "0.11.0";

revision "2024-08-14" {
description
"Add new local-endpoint-vnis config container to Vxlan connection point to allow
configuration of local VNI-to-VLAN and VNI-to-VRF maps";
reference "0.11.0";
}

revision "2024-06-07" {
description
Expand Down Expand Up @@ -1046,13 +1053,47 @@ module openconfig-evpn {
config false;
description
"Container for state parameters related to this L2VNI or L3VNI";
uses evpn-endpoint-vni-config;
uses evpn-endpoint-vni-state;
}

uses ipv4-top;
uses ipv6-top;
}
}

container local-endpoint-vnis {
description
"Top level container for local configuration related to Layer 2 virtual
network identifiers (L2VNIs) and Layer 3 virtual network identifiers
(L3VNIs) in the default network instance";

list local-endpoint-vni {
key "vni";
description "List of L2VNIs and L3VNIs configured on the local VTEP";

leaf vni {
type leafref {
path '../config/vni';
}
description "L2VNI or L3VNI Identifier";
}

container config {
description
"Container for configuration parameters related to this local L2VNI or
L3VNI";
uses evpn-endpoint-vni-config;
}

container state {
config false;
description
"Container for state parameters related to this local L2VNI or L3VNI";
uses evpn-endpoint-vni-config;
}
}
}
}

grouping evpn-endpoint-peer-state {
Expand Down Expand Up @@ -1197,16 +1238,52 @@ module openconfig-evpn {
}
}

grouping evpn-endpoint-vni-state {
grouping evpn-endpoint-vni-config {
description
"Grouping for L2VNI and L3VNI state information learned on the
local VXLAN Tunnel End Point from remote VTEPs";
"Grouping for L2VNI and L3VNI configuration parameters";

leaf vni {
type oc-evpn-types:evi-id;
description "L2VNI or L3VNI Identifier";
}

leaf vni-type {
type enumeration {
enum L2 {
description
"This is a Layer 2 service virtual network identifier (L2VNI)
that is used for communication within the same subnet or
broadcast domain";
}
enum L3 {
description
"This is a Layer 3 service virtual network identifier (L3VNI)
or VRF VNI that is used for communication between subnets";
}
}
description "The type of virtual network identfier";
}

leaf bridge-domain {
type uint32;
description
"This reflects the configured VLAN or Bridge Domain that maps to this
L2VNI in the VXLAN fabric";
}

leaf l3-vrf-name {
type string;
description
"This refects the configured VRF instance that maps to this L3VNI
that is used for routing between subnets in the VXLAN fabric";
}
}

grouping evpn-endpoint-vni-state {
description
"Grouping for L2VNI and L3VNI state information learned on the
local VXLAN Tunnel End Point from remote VTEPs";

leaf multidestination-traffic {
type union {
type oc-inet:ip-address;
Expand Down Expand Up @@ -1240,23 +1317,6 @@ module openconfig-evpn {
control-plane or data-plane";
}

leaf vni-type {
type enumeration {
enum L2 {
description
"This is a Layer 2 service virtual network identifier (L2VNI)
that is used for communication within the same subnet or
broadcast domain";
}
enum L3 {
description
"This is a Layer 3 service virtual network identifier (L3VNI)
or VRF VNI that is used for communication between subnets";
}
}
description "The type of virtual network identfier";
}

leaf vni-state {
type enumeration {
enum UP {
Expand Down Expand Up @@ -1290,20 +1350,5 @@ module openconfig-evpn {
"Operational status of the SVI mapped to the L3VNI that is used for
routing between subnets in the VXLAN fabric";
}

leaf bridge-domain {
type uint32;
description
"This reflects the configured VLAN or Bridge Domain that maps to this
L2VNI in the VXLAN fabric";
}

leaf l3-vrf-name {
type string;
description
"This refects the configured VRF instance that maps to this L3VNI
that is used for routing between subnets in the VXLAN fabric";
}

}
}

0 comments on commit 6b19efb

Please sign in to comment.