module org-openroadm-lldp { | |
namespace "http://org/openroadm/lldp"; | |
prefix org-openroadm-lldp; | |
import ietf-inet-types { | |
prefix inet; | |
} | |
import org-openroadm-device { | |
prefix org-openroadm-device; | |
} | |
import iana-afn-safi { | |
prefix ianaaf; | |
} | |
import org-openroadm-resource-types { | |
prefix org-openroadm-resource-types; | |
} | |
import ietf-yang-types { | |
prefix yang; | |
} | |
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 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"; | |
} | |
} | |
description | |
"LLDP feature Enable/Disable per NE"; | |
default "enable"; | |
} | |
leaf msgTxInterval { | |
type uint16 { | |
range "5..32768"; | |
} | |
description | |
"LLDP frame Retransmit Interval in seconds"; | |
default "30"; | |
} | |
leaf msgTxHoldMultiplier { | |
type uint8 { | |
range "2..10"; | |
} | |
description | |
"TTL value for the TLVs transmitter over wire in seconds"; | |
default "4"; | |
} | |
} | |
list port-config { | |
description | |
"LLDP port configurations"; | |
key "ifName"; | |
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"; | |
} | |
} | |
description | |
"LLDP enable per port basis"; | |
default "txandrx"; | |
} | |
} | |
container nbr-list { | |
description | |
"LLDP Oper data - Neighbour List information"; | |
config false; | |
list if-name { | |
key "ifName"; | |
leaf ifName { | |
type string; | |
description | |
"Ethernet interface name where LLDP runs"; | |
} | |
uses nbr-info-grp; | |
} | |
} | |
} | |
} | |
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'"; | |
uses lldp-container; | |
} | |
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; | |
} | |
} | |
} |