summaryrefslogtreecommitdiffstats
path: root/src/plugins/yang/openconfig/openconfig-lacp.yang
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/yang/openconfig/openconfig-lacp.yang')
-rw-r--r--src/plugins/yang/openconfig/openconfig-lacp.yang461
1 files changed, 0 insertions, 461 deletions
diff --git a/src/plugins/yang/openconfig/openconfig-lacp.yang b/src/plugins/yang/openconfig/openconfig-lacp.yang
deleted file mode 100644
index e49dcb6..0000000
--- a/src/plugins/yang/openconfig/openconfig-lacp.yang
+++ /dev/null
@@ -1,461 +0,0 @@
-module openconfig-lacp {
-
- yang-version "1";
-
- // namespace
- namespace "http://openconfig.net/yang/lacp";
-
- prefix "oc-lacp";
-
- // import some basic types
- import openconfig-interfaces { prefix oc-if; }
- import openconfig-yang-types { prefix oc-yang; }
- import openconfig-extensions { prefix oc-ext; }
-
-
-
- // meta
- organization "OpenConfig working group";
-
- contact
- "OpenConfig working group
- www.openconfig.net";
-
- description
- "This module describes configuration and operational state
- data for Link Aggregation Control Protocol (LACP) for
- managing aggregate interfaces. It works in conjunction with
- the OpenConfig interfaces and aggregate interfaces models.";
-
- oc-ext:openconfig-version "1.1.0";
-
- revision "2017-05-05" {
- description
- "Add member local and remote port num";
- reference "1.1.0";
- }
-
- revision "2016-05-26" {
- description
- "OpenConfig public release";
- reference "1.0.2";
- }
-
-
- // typedef statements
-
- typedef lacp-activity-type {
- type enumeration {
- enum ACTIVE {
- description
- "Interface is an active member, i.e., will detect and
- maintain aggregates";
- }
- enum PASSIVE {
- description
- "Interface is a passive member, i.e., it participates
- with an active partner";
- }
- }
- description
- "Describes the LACP membership type, active or passive, of the
- interface in the aggregate";
- reference "IEEE 802.1AX-2008";
- }
-
- typedef lacp-timeout-type {
- type enumeration {
- enum LONG {
- description
- "Participant wishes to use long timeouts to detect
- status of the aggregate, i.e., will expect less frequent
- transmissions. Long timeout is 90 seconds.";
- }
- enum SHORT {
- description
- "Participant wishes to use short timeouts, i.e., expects
- frequent transmissions to aggressively detect status
- changes. Short timeout is 3 seconds.";
- }
- }
- description
- "Type of timeout used, short or long, by LACP participants";
- reference "IEEE 802.1AX-2008";
- }
-
- typedef lacp-synchronization-type {
- type enumeration {
- enum IN_SYNC {
- description
- "Participant is in sync with the system id and key
- transmitted";
- }
- enum OUT_SYNC {
- description
- "Participant is not in sync with the system id and key
- transmitted";
- }
- }
- description
- "Indicates LACP synchronization state of participant";
- reference "IEEE 802.1AX-2008";
- }
-
- typedef lacp-period-type {
- type enumeration {
- enum FAST {
- description "Send LACP packets every second";
- }
- enum SLOW {
- description "Send LACP packets every 30 seconds";
- }
- }
- description
- "Defines the period options for the time between sending
- LACP messages";
- reference "IEEE 802.3ad";
- }
-
- // grouping statements
-
-
- grouping aggregation-lacp-members-config {
- description
- "Configuration data for lacp member interfaces";
-
- //currently a placeholder -- the list of member interfaces
- //and their status is considered opstate only
- }
-
- grouping aggregation-lacp-members-state {
- description
- "Operational status data for the member interfaces";
-
- leaf interface {
- type oc-if:base-interface-ref;
- description
- "Reference to interface member of the LACP aggregate";
- }
-
- leaf activity {
- type lacp-activity-type;
- description "Indicates participant is active or passive";
- }
-
- leaf timeout {
- type lacp-timeout-type;
- description
- "The timeout type (short or long) used by the
- participant";
- }
-
- leaf synchronization {
- type lacp-synchronization-type;
- description
- "Indicates whether the participant is in-sync or
- out-of-sync";
- }
-
- leaf aggregatable {
- type boolean;
- description
- "A true value indicates that the participant will allow
- the link to be used as part of the aggregate. A false
- value indicates the link should be used as an individual
- link";
- }
-
- leaf collecting {
- type boolean;
- description
- "If true, the participant is collecting incoming frames
- on the link, otherwise false";
- }
-
- leaf distributing {
- type boolean;
- description
- "When true, the participant is distributing outgoing
- frames; when false, distribution is disabled";
- }
-
- leaf system-id {
- type oc-yang:mac-address;
- description
- "MAC address that defines the local system ID for the
- aggregate interface";
- }
-
- leaf oper-key {
- type uint16;
- description
- "Current operational value of the key for the aggregate
- interface";
- }
-
- leaf partner-id {
- type oc-yang:mac-address;
- description
- "MAC address representing the protocol partner's interface
- system ID";
- }
-
- leaf partner-key {
- type uint16;
- description
- "Operational value of the protocol partner's key";
- }
-
- leaf port-num {
- type uint16;
- description
- "Port number of the local (actor) aggregation member";
- }
-
- leaf partner-port-num {
- type uint16;
- description
- "Port number of the partner (remote) port for this member
- port";
- }
- }
-
-grouping aggregation-lacp-members-statistics {
- description
- "LACP packet statistics for the member interfaces";
-
- container counters {
- description
- "LACP protocol counters";
-
- leaf lacp-in-pkts {
- type oc-yang:counter64;
- description
- "Number of LACPDUs received";
- }
-
- leaf lacp-out-pkts {
- type oc-yang:counter64;
- description
- "Number of LACPDUs transmitted";
- }
-
- leaf lacp-rx-errors {
- type oc-yang:counter64;
- description
- "Number of LACPDU receive packet errors";
- }
-
- leaf lacp-tx-errors {
- type oc-yang:counter64;
- description
- "Number of LACPDU transmit packet errors";
- }
-
- leaf lacp-unknown-errors {
- type oc-yang:counter64;
- description
- "Number of LACPDU unknown packet errors";
- }
-
- leaf lacp-errors {
- type oc-yang:counter64;
- description
- "Number of LACPDU illegal packet errors";
- }
- }
- }
-
- grouping aggregation-lacp-members-top {
- description
- "Top-level grouping for aggregate members list";
-
- container members {
- config false;
- description
- "Enclosing container for the list of members interfaces of
- the aggregate. This list is considered operational state
- only so is labeled config false and has no config container";
-
- list member {
- key "interface";
- description
- "List of member interfaces and their associated status for
- a LACP-controlled aggregate interface. Member list is not
- configurable here -- each interface indicates items
- its participation in the LAG.";
-
- leaf interface {
- type leafref {
- path "../state/interface";
- }
- description
- "Reference to aggregate member interface";
- }
-
-
- container state {
-
- config false;
-
- description
- "Operational state data for aggregate members";
-
- uses aggregation-lacp-members-state;
- uses aggregation-lacp-members-statistics;
- }
- }
- }
- }
-
- grouping lacp-interfaces-config {
- description
- "Configuration data for each LACP-enabled interface";
-
- leaf name {
- type oc-if:base-interface-ref;
- description
- "Reference to the interface on which LACP should be
- configured. The type of the target interface must be
- ieee8023adLag";
- }
-
- leaf interval {
- type lacp-period-type;
- default SLOW;
- description
- "Set the period between LACP messages -- uses
- the lacp-period-type enumeration.";
- }
-
- leaf lacp-mode {
- type lacp-activity-type;
- default ACTIVE;
- description
- "ACTIVE is to initiate the transmission of LACP packets.
- PASSIVE is to wait for peer to initiate the transmission of
- LACP packets.";
- //TODO:some implementations configure the LACP mode on each
- //member interface rather than on the LAG interface. There
- //may be use cases for this identified at a later time.
- }
-
- leaf system-id-mac {
- type oc-yang:mac-address;
- description
- "The MAC address portion of the node's System ID. This is
- combined with the system priority to construct the 8-octet
- system-id";
- }
-
- uses aggregation-lacp-global-config;
- }
-
- grouping lacp-interfaces-state {
- description
- "Operational state data for each LACP-enabled interface";
- }
-
- grouping lacp-interfaces-top {
- description
- "Top-level grouping for LACP-enabled interfaces";
-
- container interfaces {
- description
- "Enclosing container for the list of LACP-enabled
- interfaces";
-
- list interface {
- key "name";
- description
- "List of aggregate interfaces managed by LACP";
-
- leaf name {
- type leafref {
- path "../config/name";
- }
- description
- "Reference to the list key";
- }
-
- container config {
- description
- "Configuration data for each LACP aggregate interface";
-
- uses lacp-interfaces-config;
- }
-
- container state {
-
- config false;
-
- description
- "Operational state data for each LACP aggregate
- interface";
-
- uses lacp-interfaces-config;
- uses lacp-interfaces-state;
- }
-
- uses aggregation-lacp-members-top;
- }
- }
- }
-
- grouping aggregation-lacp-global-config {
- description
- "Configuration data for LACP aggregate interfaces";
-
-
- leaf system-priority {
- type uint16;
- description
- "Sytem priority used by the node on this LAG interface.
- Lower value is higher priority for determining which node
- is the controlling system.";
- }
- }
-
- grouping aggregation-lacp-global-state {
- description
- "Operational data for LACP aggregate interfaces";
-
- }
-
- grouping aggregation-lacp-top {
- description
- "Top level configuration and state variable containers for
- LACP data";
-
- container lacp {
- description
- "Configuration and operational state data for LACP protocol
- operation on the aggregate interface";
-
- container config {
- description
- "Configuration data for LACP";
-
- uses aggregation-lacp-global-config;
- }
-
- container state {
-
- config false;
- description
- "Operational state data for LACP";
-
- uses aggregation-lacp-global-config;
- uses aggregation-lacp-global-state;
- }
- uses lacp-interfaces-top;
- }
- }
-
- // data definition statements
- uses aggregation-lacp-top;
-
- // augment statements
-
-
-} \ No newline at end of file