aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/yang/openconfig/openconfig-vlan.yang
diff options
context:
space:
mode:
authorYohanPipereau <ypiperea@cisco.com>2019-03-06 14:01:58 +0100
committerYohanPipereau <ypiperea@cisco.com>2019-03-29 14:39:36 +0100
commita760dfb253161911fc3aa3c8b879c461d53ade6e (patch)
tree0e79953f4ed5615879a58f49a74df3f9c6739a42 /src/plugins/yang/openconfig/openconfig-vlan.yang
parent2b9b6b9b130b75799a40989c0ebe5040fa3e45fb (diff)
Sweetcomb global cleanup
-Merge IETF and Openconfig to use SCVPP 2 -Move L2 bridge from sc_vpp_interface to sc_vpp_v3po -Implement tav2 dump -Make openconfig-interfaces functions static -Try one more dispatch after failure in VAPI_CALL -Add error return code for scvpp -Remove unused length maccros -Return appropriate error code for interface dump when interface not found -Improve scvpp test suite -Change get_interface_id prototype -Use interface_dump_iface in openconfig_interface. -No more vapi types in openconfig_interfaces.c -Move openconfig_local_routing VAPI operations to sc_vpp_ip -Implement a multiple dump with a stack data structure -Comment out state_cb code from openconfig_local_routing to use new functions later. -Rename YANG model to their fully qualified name : <module>@<revision> -Remove headers almost empty and put registration declaration in sc_model.h -Shorten vapi context global variable name -Reorganize scvpp unit test suite -Add instructions to Makefile to install/uninstall YANG models in sysrepo. -Add this new instructions to README.md. -Reimplement interface_dump_all -Use a common message at INFO Log Level to know when sysrepo callbacks are triggered -Remove old structure to perform dump of all interfaces -Reimplement get_interface_name and add scvpp test for it -Clean sys_util -Use UNUSED maccro everywhere to have lighter prototypes -Have ietf-interfaces:interfaces-state work with new dump function -Add setup and teardown for NAT tests -Remove unused tapv2 dump -Remove useless sysrepo module callback -Remove xpath_find_first_key usage in openconfig-interfaces -Remove xpath_find_first_key in oc_local_routing and in the rest of sweetcomb -Reorganize scvpp include dir and fix scvpp_test new warnings -Fix scvpp tests for ip routes -Factorize scvpp nat and test return code of its function -Correct test_dump_if_all if there is an existing hardware interface -Implement a per-prefix dump in scvpp -free changes iterator in ietf-interfaces -Add new XPATH in oc local-routing -Introduce helper methods for sysrepo config callbacks -Factorize config callback -Refactor the openconfig-local-routing config callback -Use common foreach_change to iterate over changes in all models -Create a sample directory gathering example of configurations supposed to work with sweetcomb -Fix state callback of oc-local-routing -Add new sample for get operation on next-hop -foreach_elt maccro condition forgets to read one element Change-Id: I8e87fce577a00337977588f057a6e095a20f457c Signed-off-by: YohanPipereau <ypiperea@cisco.com>
Diffstat (limited to 'src/plugins/yang/openconfig/openconfig-vlan.yang')
-rw-r--r--src/plugins/yang/openconfig/openconfig-vlan.yang438
1 files changed, 0 insertions, 438 deletions
diff --git a/src/plugins/yang/openconfig/openconfig-vlan.yang b/src/plugins/yang/openconfig/openconfig-vlan.yang
deleted file mode 100644
index 97348c0..0000000
--- a/src/plugins/yang/openconfig/openconfig-vlan.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
-
-}