X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=ordmodels%2Fdevice%2Fsrc%2Fmain%2Fyang%2Forg-openroadm-lldp%402017-12-15.yang;fp=ordmodels%2Fdevice%2Fsrc%2Fmain%2Fyang%2Forg-openroadm-lldp%402017-12-15.yang;h=ea7ba55aa4265f16cf0d0bee5aee282149af2a88;hb=b61c699f055fdf780aaf0b4b0d1fc82074099f96;hp=0000000000000000000000000000000000000000;hpb=abbca95c8944ec742d71bd87d2363c9c00c41844;p=transportpce.git diff --git a/ordmodels/device/src/main/yang/org-openroadm-lldp@2017-12-15.yang b/ordmodels/device/src/main/yang/org-openroadm-lldp@2017-12-15.yang new file mode 100644 index 000000000..ea7ba55aa --- /dev/null +++ b/ordmodels/device/src/main/yang/org-openroadm-lldp@2017-12-15.yang @@ -0,0 +1,324 @@ +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 2017-12-15; + } + import iana-afn-safi { + prefix ianaaf; + revision-date 2013-07-04; + } + import org-openroadm-resource-types { + prefix org-openroadm-resource-types; + revision-date 2017-12-15; + } + 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 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; + } +}