aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/yang/openconfig/openconfig-vlan@2018-06-05.yang
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/yang/openconfig/openconfig-vlan@2018-06-05.yang')
-rw-r--r--src/plugins/yang/openconfig/openconfig-vlan@2018-06-05.yang438
1 files changed, 0 insertions, 438 deletions
diff --git a/src/plugins/yang/openconfig/openconfig-vlan@2018-06-05.yang b/src/plugins/yang/openconfig/openconfig-vlan@2018-06-05.yang
deleted file mode 100644
index 97348c0..0000000
--- a/src/plugins/yang/openconfig/openconfig-vlan@2018-06-05.yang
+++ /dev/null
@@ -1,438 +0,0 @@
-module openconfig-vlan {
-
- yang-version "1";
-
- // namespace
- namespace "http://openconfig.net/yang/vlan";
-
- prefix "oc-vlan";
-
- // import some basic types
- import openconfig-vlan-types { prefix oc-vlan-types; }
- import openconfig-interfaces { prefix oc-if; }
- import openconfig-if-ethernet { prefix oc-eth; }
- import openconfig-if-aggregate { prefix oc-lag; }
- import iana-if-type { prefix ift; }
- import openconfig-extensions { prefix oc-ext; }
-
- // meta
- organization "OpenConfig working group";
-
- contact
- "OpenConfig working group
- netopenconfig@googlegroups.com";
-
- description
- "This module defines configuration and state variables for VLANs,
- in addition to VLAN parameters associated with interfaces";
-
- oc-ext:openconfig-version "3.0.1";
-
- revision "2018-06-05" {
- description
- "Fix bugs in when statements.";
- reference "3.0.1";
- }
-
- revision "2018-02-14" {
- description
- "Fix bug with name of 802.1ad identity.";
- reference "3.0.0";
- }
-
- revision "2017-07-14" {
- description
- "Move top-level vlan data to network-instance; Update
- identities to comply to style guide; fixed pattern
- quoting; corrected trunk vlan types; added TPID config to
- base interface.";
- reference "2.0.0";
- }
-
- revision "2016-05-26" {
- description
- "OpenConfig public release";
- reference "1.0.2";
- }
-
- // grouping statements
-
- grouping vlan-config {
- description "VLAN configuration container.";
-
- leaf vlan-id {
- type oc-vlan-types:vlan-id;
- description "Interface VLAN id.";
- }
-
- leaf name {
- type string;
- description "Interface VLAN name.";
- }
-
- leaf status {
- type enumeration {
- enum ACTIVE {
- description "VLAN is active";
- }
- enum SUSPENDED {
- description "VLAN is inactive / suspended";
- }
- }
- default ACTIVE;
- description "Admin state of the VLAN";
- }
-
- }
-
- grouping vlan-state {
- description "State variables for VLANs";
-
- // placeholder
-
- }
-
- grouping vlan-tpid-config {
- description
- "TPID configuration for dot1q-enabled interfaces";
-
- leaf tpid {
- type identityref {
- base oc-vlan-types:TPID_TYPES;
- }
- default oc-vlan-types:TPID_0X8100;
- description
- "Optionally set the tag protocol identifier field (TPID) that
- is accepted on the VLAN";
- }
- }
-
- grouping vlan-tpid-state {
- description
- "TPID opstate for dot1q-enabled interfaces";
-
- // placeholder
-
- }
-
- grouping vlan-members-state {
- description
- "List of interfaces / subinterfaces belonging to the VLAN.";
-
- container members {
- description
- "Enclosing container for list of member interfaces";
-
- list member {
- config false;
- description
- "List of references to interfaces / subinterfaces
- associated with the VLAN.";
-
- uses oc-if:base-interface-ref-state;
- }
- }
- }
-
- grouping vlan-switched-config {
- description
- "VLAN related configuration that is part of the physical
- Ethernet interface.";
-
- leaf interface-mode {
- type oc-vlan-types:vlan-mode-type;
- description
- "Set the interface to access or trunk mode for
- VLANs";
- }
-
- leaf native-vlan {
- when "../interface-mode = 'TRUNK'" {
- description
- "Native VLAN is valid for trunk mode interfaces";
- }
- type oc-vlan-types:vlan-id;
- description
- "Set the native VLAN id for untagged frames arriving on
- a trunk interface. Tagged frames sent on an interface
- configured with a native VLAN should have their tags
- stripped prior to transmission. This configuration is only
- valid on a trunk interface.";
- }
-
- leaf access-vlan {
- when "../interface-mode = 'ACCESS'" {
- description
- "Access VLAN assigned to the interfaces";
- }
- type oc-vlan-types:vlan-id;
- description
- "Assign the access vlan to the access port.";
- }
-
- leaf-list trunk-vlans {
- when "../interface-mode = 'TRUNK'" {
- description
- "Allowed VLANs may be specified for trunk mode
- interfaces.";
- }
- type union {
- type oc-vlan-types:vlan-id;
- type oc-vlan-types:vlan-range;
- }
- description
- "Specify VLANs, or ranges thereof, that the interface may
- carry when in trunk mode. If not specified, all VLANs are
- allowed on the interface. Ranges are specified in the form
- x..y, where x<y - ranges are assumed to be inclusive (such
- that the VLAN range is x <= range <= y.";
- }
- }
-
- grouping vlan-switched-state {
- description
- "VLAN related operational state that is part of Ethernet
- interface state data";
-
- //TODO: placeholder for operational state related to VLANs
- //on the physical interface
- }
-
- grouping vlan-switched-top {
- description
- "Top-level grouping for VLAN data associated with an
- Ethernet interface";
-
- container switched-vlan {
- description
- "Enclosing container for VLAN interface-specific
- data on Ethernet interfaces. These are for standard
- L2, switched-style VLANs.";
-
- container config {
- description "Configuration parameters for VLANs";
-
- uses vlan-switched-config;
- }
-
- container state {
-
- config false;
- description "State variables for VLANs";
-
- uses vlan-switched-config;
- uses vlan-switched-state;
- }
- }
- }
-
- grouping vlan-logical-config {
- description
- "VLAN related configuration that is part of subinterface
- (logical interface) configuration. These are generally
- L3 VLANs with an id that is local.";
-
-
- leaf vlan-id {
- type union {
- type oc-vlan-types:vlan-id;
- type oc-vlan-types:qinq-id;
- }
- description
- "VLAN id for the subinterface -- specified inline for the
- case of a local VLAN. The id is scoped to the
- subinterface, and could be repeated on different
- subinterfaces.";
- }
- }
-
- grouping vlan-logical-state {
- description
- "VLAN related operational state that is part of logical
- interface state data";
-
- //TODO: placeholder to add VLAN-specific state variables on
- //the subinterface
- }
-
- grouping vlan-top {
- description "Top-level grouping for VLAN configuration";
-
- container vlans {
- description "Container for VLAN configuration and state
- variables";
-
- list vlan {
- key "vlan-id";
-
- description "Configured VLANs keyed by id";
-
- leaf vlan-id {
- type leafref {
- path "../config/vlan-id";
- }
- description "references the configured vlan-id";
- }
-
- container config {
- description "Configuration parameters for VLANs";
-
- uses vlan-config;
- }
-
- container state {
-
- config false;
- description "State variables for VLANs";
-
- uses vlan-config;
- uses vlan-state;
- }
- uses vlan-members-state;
- }
- }
- }
-
- grouping vlan-logical-top {
- description
- "Top-level grouping for VLAN data associated with a
- logical interface or subinterface";
-
- container vlan {
- description
- "Enclosing container for VLAN interface-specific
- data on subinterfaces";
-
- container config {
- description "Configuration parameters for VLANs";
-
- uses vlan-logical-config;
- }
-
- container state {
-
- config false;
- description "State variables for VLANs";
-
- uses vlan-logical-config;
- uses vlan-logical-state;
- }
- }
- }
-
- grouping vlan-routed-config {
- description
- "Configuration data for routed vlans (SVI, IRB, etc.)";
-
- leaf vlan {
- type union {
- // TODO: in YANG 1.1, unions support leafref types which
- // should be used here to reference a configured VLAN by
- // id or name
- type uint16;
- type string;
- }
- description
- "References the VLAN for which this IP interface
- provides routing services -- similar to a switch virtual
- interface (SVI), or integrated routing and bridging interface
- (IRB) in some implementations.";
- }
-
- }
-
- grouping vlan-routed-state {
- description
- "Operational state data for routed vlan interfaces.";
- }
-
- grouping vlan-routed-top {
- description
- "Top-level grouping for routed vlan logical interfaces";
-
- container routed-vlan {
- description
- "Top-level container for routed vlan interfaces. These
- logical interfaces are also known as SVI (switched virtual
- interface), IRB (integrated routing and bridging), RVI
- (routed VLAN interface)";
-
- container config {
- description
- "Configuration data for routed vlan interfaces";
-
- uses vlan-routed-config;
- }
-
- container state {
-
- config false;
-
- description
- "Operational state data ";
-
- uses vlan-routed-config;
- uses vlan-routed-state;
- }
- }
- }
-
- // data definition statements
-
- // augment statements
-
- augment "/oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/" +
- "oc-if:subinterface" {
- description
- "Adds VLAN settings to individual subinterfaces";
-
- uses vlan-logical-top;
- }
-
- augment "/oc-if:interfaces/oc-if:interface/oc-if:config" {
- description
- "Adds TPID / ethertype setting for the base interface";
-
- uses vlan-tpid-config;
- }
-
- augment "/oc-if:interfaces/oc-if:interface/oc-if:state" {
- description
- "Adds TPID / ethertype opstate for the base interface";
-
- uses vlan-tpid-config;
- uses vlan-tpid-state;
- }
-
- augment "/oc-if:interfaces/oc-if:interface/oc-eth:ethernet" {
- description
- "Adds VLAN settings to individual Ethernet interfaces";
-
- uses vlan-switched-top;
- }
-
- augment "/oc-if:interfaces/oc-if:interface/oc-lag:aggregation" {
- description "Adds VLAN settings to a LAG interface";
-
- uses vlan-switched-top;
- }
-
- augment "/oc-if:interfaces/oc-if:interface" {
- description
- "Adds configuration and state for routed VLAN interfaces";
-
- uses vlan-routed-top {
- when "current()/oc-if:config/oc-if:type = 'ift:l3ipvlan'" {
- description
- "Active when the interface is a logical interface providing
- L3 routing for VLANs";
- }
- }
- }
-
-
- // rpc statements
-
- // notification statements
-
-}