+++ /dev/null
-module org-openroadm-lldp {
- namespace "http://org/openroadm/lldp";
- prefix org-openroadm-lldp;
-
- import ietf-inet-types {
- prefix inet;
- revision-date 2013-07-15;
- }
- import org-openroadm-device {
- prefix org-openroadm-device;
- revision-date 2018-10-19;
- }
- import iana-afn-safi {
- prefix ianaaf;
- revision-date 2013-07-04;
- }
- import org-openroadm-resource-types {
- prefix org-openroadm-resource-types;
- revision-date 2018-10-19;
- }
- import ietf-yang-types {
- prefix yang;
- revision-date 2013-07-15;
- }
-
- organization
- "Open ROADM MSA";
- contact
- "OpenROADM.org";
- description
- "YANG definitions for lldp protocol.
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
- AT&T Intellectual Property. All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
- are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
- list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
- other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
- without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGE.";
-
- revision 2018-10-19 {
- description
- "Version 2.2.1";
- }
- revision 2017-12-15 {
- description
- "Version 2.2";
- }
- revision 2017-09-29 {
- description
- "Version 2.1";
- }
- revision 2017-07-28 {
- description
- "Version 2.0.1 - added revision-date to imports";
- }
- revision 2017-06-26 {
- description
- "Version 2.0";
- }
- revision 2016-10-14 {
- description
- "Version 1.2";
- }
-
- grouping nbr-info-grp {
- description
- "Display LLDP Neighbour ";
- leaf remoteSysName {
- type string;
- description
- "remote neighbour system name";
- }
- leaf remoteMgmtAddressSubType {
- type ianaaf:address-family;
- description
- "remote neighbour Management Address Subtype Enumeration";
- }
- leaf remoteMgmtAddress {
- type inet:ip-address;
- description
- "remote neighbour management address";
- }
- leaf remotePortIdSubType {
- type enumeration {
- enum "other" {
- value 0;
- description
- "reserved";
- }
- enum "ifalias" {
- value 1;
- description
- "Interface Alias (IfAlias - IETF RFC 2863) ";
- }
- enum "portcomponent" {
- value 2;
- description
- "Port component (EntPhysicalAlias IETF RFC 4133)";
- }
- enum "macaddress" {
- value 3;
- description
- "MAC address (IEEE Std 802) ";
- }
- enum "networkaddress" {
- value 4;
- description
- "Network Address";
- }
- enum "ifname" {
- value 5;
- description
- "Interface Name (ifName - IETF RFC 2863)";
- }
- enum "agentcircuitid" {
- value 6;
- description
- "Agent Circuit Id (IETF RFC 3046)";
- }
- enum "local" {
- value 7;
- description
- "Locally assigned";
- }
- }
- description
- "remote neighbour Port ID Subtype Enumeration";
- }
- leaf remotePortId {
- type string;
- description
- "remote neighbour port Id";
- }
- leaf remoteChassisIdSubType {
- type enumeration {
- enum "reserved" {
- value 0;
- description
- "reserved";
- }
- enum "chassiscomponent" {
- value 1;
- description
- "Chassis component (EntPhysicalAlias IETF RFC 4133)";
- }
- enum "ifalias" {
- value 2;
- description
- "Interface Alias (IfAlias - IETF RFC 2863) ";
- }
- enum "portcomponent" {
- value 3;
- description
- "Port component (EntPhysicalAlias IETF RFC 4133)";
- }
- enum "macaddress" {
- value 4;
- description
- "MAC address (IEEE Std 802) ";
- }
- enum "networkaddress" {
- value 5;
- description
- "Network Address";
- }
- enum "ifname" {
- value 6;
- description
- "Interface Name (ifName - IETF RFC 2863)";
- }
- enum "local" {
- value 7;
- description
- "Locally assigned";
- }
- }
- description
- "Chassis ID Subtype Enumeration";
- }
- leaf remoteChassisId {
- type string;
- description
- "remote neighbour Chassis Id";
- }
- }
-
- grouping lldp-container {
- container lldp {
- description
- "LLDP configurable and retrievable";
- container global-config {
- description
- "LLDP global configurations";
- leaf adminStatus {
- type enumeration {
- enum "disable" {
- value 0;
- description
- "Disable the LLDP feature per NE";
- }
- enum "enable" {
- value 1;
- description
- "Enable the LLDP feature per NE";
- }
- }
- default "enable";
- description
- "LLDP feature Enable/Disable per NE";
- }
- leaf msgTxInterval {
- type uint16 {
- range "5..32768";
- }
- default "30";
- description
- "LLDP frame Retransmit Interval in seconds";
- }
- leaf msgTxHoldMultiplier {
- type uint8 {
- range "2..10";
- }
- default "4";
- description
- "TTL value for the TLVs transmitter over wire in seconds";
- }
- }
- list port-config {
- key "ifName";
- description
- "LLDP port configurations";
- leaf ifName {
- type leafref {
- path "/org-openroadm-device:org-openroadm-device/org-openroadm-device:interface/org-openroadm-device:name";
- }
- description
- "Ethernet interface name where LLDP runs";
- }
- leaf adminStatus {
- type enumeration {
- enum "disable" {
- value 0;
- description
- "Disables the LLDP frames transmit and receive on specific interface";
- }
- enum "txandrx" {
- value 1;
- description
- "Enable Transmit and Receive LLDP frames on specific interface";
- }
- }
- default "txandrx";
- description
- "LLDP enable per port basis";
- }
- }
- container nbr-list {
- config false;
- description
- "LLDP Oper data - Neighbour List information";
- list if-name {
- key "ifName";
- leaf ifName {
- type string;
- description
- "Ethernet interface name where LLDP runs";
- }
- uses nbr-info-grp;
- }
- }
- }
- }
-
- notification lldp-nbr-info-change {
- description
- "LLDP: Neighbor Information Changed
- remoteSysName
- remoteSysMgmtAddressSubType
- remoteSysMgmtAddress
- remotePortIdSubType
- remotePortId
- remoteChassisIdSubType
- remoteChassisId
- All of the above attributes are sent in event";
- leaf notification-type {
- type org-openroadm-resource-types:resource-notification-type;
- }
- leaf resource-type {
- type org-openroadm-resource-types:resource-type-enum;
- description
- "resource-type for this notification is interface";
- }
- leaf resource {
- type string;
- description
- "resource interface-name";
- }
- container nbr-info {
- uses nbr-info-grp;
- }
- leaf event-time {
- type yang:date-and-time;
- }
- }
- augment "/org-openroadm-device:org-openroadm-device/org-openroadm-device:protocols" {
- when "/org-openroadm-device:org-openroadm-device/org-openroadm-device:info/org-openroadm-device:node-type='rdm' or /org-openroadm-device:org-openroadm-device/org-openroadm-device:info/org-openroadm-device:node-type='ila'";
- uses lldp-container;
- }
-}