TN-LLDP-MIB DEFINITIONS ::= BEGIN

-- (c) Copyright 2019 Nokia Networks.  All rights reserved.
-- This software is the confidential and proprietary property of
-- Nokia and may only be used in accordance with the terms of the
-- license agreement provided with this software.

IMPORTS
    SnmpAdminString                              FROM SNMP-FRAMEWORK-MIB

    MODULE-IDENTITY, OBJECT-TYPE,
    Integer32, Counter32, Unsigned32
                                                 FROM SNMPv2-SMI

    MacAddress, TEXTUAL-CONVENTION, TruthValue   FROM SNMPv2-TC

    AddressFamilyNumbers                         FROM IANA-ADDRESS-FAMILY-NUMBERS-MIB

    LldpPortId, LldpPortIdSubtype,
    LldpChassisId, LldpChassisIdSubtype,
    LldpManAddress, LldpManAddrIfSubtype,
    LldpSystemCapabilitiesMap                    FROM LLDP-MIB

    TimeFilter, ZeroBasedCounter32               FROM RMON2-MIB

    tnSRMIBModules,
    tnSRNotifyPrefix, tnSRObjs                   FROM TROPIC-GLOBAL-REG

    TmnxEnabledDisabled                          FROM TN-TC-MIB

    tnSysSwitchId                                FROM TROPIC-SYSTEM-MIB

    tnPortPortID                                 FROM TN-PORT-MIB
    ;


tnLldpMIBModule MODULE-IDENTITY
    LAST-UPDATED    "201904190000Z"
    ORGANIZATION    "Nokia"
    CONTACT-INFO
        "Nokia SROS Support
         Web: http://support.nokia.com"
    DESCRIPTION
        "This document is the SNMP MIB module to manage and provision
        LLDP on the Nokia SROS device.

        Copyright 2008-2011 Nokia.  All rights reserved.
        Reproduction of this document is authorized on the condition that
        the foregoing copyright notice is included.

        This SNMP MIB module (Specification) embodies Nokia's
        proprietary intellectual property.  Nokia retains
        all title and ownership in the Specification, including any
        revisions.

        Nokia grants all interested parties a non-exclusive
        license to use and distribute an unmodified copy of this
        Specification in connection with management of Nokia
        products, and without fee, provided this copyright notice and
        license appear on all copies.

        This Specification is supplied 'as is', and Nokia
        makes no warranty, either express or implied, as to the use,
        operation, condition, or performance of the Specification."

--
--  Revision History
--

    REVISION        "201904190000Z"
    DESCRIPTION     "Added the following to the tnLldpStatsRxPortTable:
                     tnLldpStatsRxPortTtl."

    REVISION        "201701130000Z"
    DESCRIPTION     "Changed SYNTAX of the following from TimeStamp to Unsigned32:
                     tnLldpStatsRemTablesLastChangeTime."

    REVISION        "201612170000Z"
    DESCRIPTION     "Updated the description of the following:
                     tnLldpRemTimeMark
                     tnLldpStatsRemTablesLastChangeTime."

    REVISION        "201606210000Z"
    DESCRIPTION     "Added two MIB tables
                     tnLldpRemPortIndexTable
                     tnLldpRemManAddrPortIndexTable."

    REVISION        "201603050000Z"
    DESCRIPTION     "Added MIB support for TN-LLDP-MIB."

    REVISION        "201602230000Z" -- 23 Feb 2016 00:00
    DESCRIPTION     "Initial version of the TN-LLDP-MIB,
                     corresponding to Rev 7.0 of TIMETRA-LLDP-MIB."

    ::= { tnSRMIBModules  59 }

tnLldpNotifications             OBJECT IDENTIFIER ::= { tnSRNotifyPrefix 59 }
tnLldpObjects                   OBJECT IDENTIFIER ::= { tnSRObjs         59 }
-- tnLldpConformance               OBJECT IDENTIFIER ::= { tnSRConfs        59 }

tnLldpConfiguration             OBJECT IDENTIFIER ::= { tnLldpObjects     1 }
tnLldpStatistics                OBJECT IDENTIFIER ::= { tnLldpObjects     2 }
tnLldpLocalSystemData           OBJECT IDENTIFIER ::= { tnLldpObjects     3 }
tnLldpRemoteSystemsData         OBJECT IDENTIFIER ::= { tnLldpObjects     4 }

--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
--
--   TIMETRA-LLDP-MIB Textual Conventions
--

TmnxLldpDestAddressTableIndex   ::= TEXTUAL-CONVENTION
    STATUS     current
    DESCRIPTION
        "An index value, used as the index to the table of destination
         MAC addresses used both as the destination addresses on
         transmitted LLDPDUs and on received LLDPDUs. This index value
         is also used as a secondary index value in tables indexed
         by fields of type ifIndex, in order to associate
         a destination address with each row of the table."
    SYNTAX     Integer32 (1..4096)

TmnxLldpManAddressIndex         ::= TEXTUAL-CONVENTION
    STATUS     current
    DESCRIPTION
        "An Index value, used as the index to the table of local port
         management addresses, tnLldpConfigManAddrPortsTable. The
         index represents a specific local management address application
         on the system which may, or may not exist."
    SYNTAX    INTEGER {
                  system (1)
              }


--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
--
--   TN-LLDP-MIB Configuration
--

--==================================================
-- tnLldpConfigTable
--
-- LLDP configuration indexed on a tnSysSwitchId basis.
--

tnLldpConfigTable           OBJECT-TYPE
    SYNTAX       SEQUENCE OF TnLldpConfigEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "The table that controls LLDP agent configuration information."
    ::= { tnLldpConfiguration 1 }

tnLldpConfigEntry           OBJECT-TYPE
    SYNTAX       TnLldpConfigEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "LLDP agent configuration information.
         The content of this table is persistent across
         re-initializations or re-boots."
    INDEX { tnSysSwitchId }
    ::= { tnLldpConfigTable 1 }

TnLldpConfigEntry           ::= SEQUENCE {
    tnLldpMessageTxInterval         Integer32,
    tnLldpMessageTxHoldMultiplier   Integer32,
    tnLldpReinitDelay               Integer32,
    tnLldpTxDelay                   Integer32,
    tnLldpNotificationInterval      Integer32,
    tnLldpTxCreditMax               Integer32,
    tnLldpMessageFastTx             Integer32,
    tnLldpMessageFastTxInit         Integer32,
    tnLldpAdminStatus               TmnxEnabledDisabled
}

tnLldpMessageTxInterval OBJECT-TYPE
    SYNTAX      Integer32(5..32768)
    UNITS       "seconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The interval at which LLDP frames are transmitted on
            behalf of this LLDP agent.

            The default value for tnLldpMessageTxInterval object is
            30 seconds.

            The value of this object must be restored from non-volatile
            storage after a re-initialization of the management system."
    REFERENCE
            "IEEE 802.1AB-2005 10.5.3.3"
    DEFVAL     { 30 }
    ::= { tnLldpConfigEntry 1 }

tnLldpMessageTxHoldMultiplier OBJECT-TYPE
    SYNTAX      Integer32(2..10)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The time-to-live value expressed as a multiple of the
            tnLldpMessageTxInterval object.  The actual time-to-live value
            used in LLDP frames, transmitted on behalf of this LLDP agent,
            can be expressed by the following formula: TTL = min(65535,
            (tnLldpMessageTxInterval * tnLldpMessageTxHoldMultiplier)) For
            example, if the value of tnLldpMessageTxInterval is '30', and
            the value of tnLldpMessageTxHoldMultiplier is '4', then the
            value '120' is encoded in the TTL field in the LLDP header.

            The default value for tnLldpMessageTxHoldMultiplier object is 4.

            The value of this object must be restored from non-volatile
            storage after a re-initialization of the management system."
    REFERENCE
            "IEEE 802.1AB-2005 10.5.3.3"
    DEFVAL      { 4 }
    ::= { tnLldpConfigEntry 2 }

tnLldpReinitDelay OBJECT-TYPE
    SYNTAX      Integer32(1..10)
    UNITS       "seconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The tnLldpReinitDelay indicates the delay (in units of
            seconds) from when tnLldpPortConfigAdminStatus object of a
            particular port becomes 'disabled' until re-initialization
            will be attempted.

            The default value for tnLldpReintDelay object is two seconds.

            The value of this object must be restored from non-volatile
            storage after a re-initialization of the management system."
    REFERENCE
            "IEEE 802.1AB-2005 10.5.3.3"
    DEFVAL      { 2 }
    ::= { tnLldpConfigEntry 3 }

tnLldpTxDelay OBJECT-TYPE
    SYNTAX      Integer32(1..8192)
    UNITS       "seconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The tnLldpTxDelay indicates the delay (in units
            of seconds) between successive LLDP frame transmissions
            initiated by value/status changes in the LLDP local systems
            MIB.  The recommended value for the tnLldpTxDelay is set by the
            following  formula:

               1 <= tnLldpTxDelay <= (0.25 * tnLldpMessageTxInterval)

            The default value for tnLldpTxDelay object is two seconds.

            The value of this object must be restored from non-volatile
            storage after a re-initialization of the management system."
    REFERENCE
            "IEEE 802.1AB-2005 10.5.3.3"
    DEFVAL      { 2 }
    ::= { tnLldpConfigEntry 4 }

tnLldpNotificationInterval OBJECT-TYPE
    SYNTAX      Integer32(5..3600)
    UNITS       "seconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "This object controls the transmission of LLDP notifications.

            the agent must not generate more than one lldpRemTablesChange
            notification-event in the indicated period, where a
            'notification-event' is the transmission of a single
            notification PDU type to a list of notification destinations.
            If additional changes in tnLldpRemoteSystemsData object
            groups occur within the indicated throttling period,
            then these trap- events must be suppressed by the
            agent. An NMS should periodically check the value of
            tnLldpStatsRemTableLastChangeTime to detect any missed
            lldpRemTablesChange notification-events, e.g. due to
            throttling or transmission loss.

            If notification transmission is enabled for particular ports,
            the suggested default throttling period is 5 seconds.

            The value of this object must be restored from non-volatile
            storage after a re-initialization of the management system."
    DEFVAL { 5 }
    ::= { tnLldpConfigEntry  5 }

tnLldpTxCreditMax               OBJECT-TYPE
    SYNTAX     Integer32 (1..100)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The maximum number of consecutive LLDPDUs that can be
         transmitted at any time.
         The default value for tnLldpTxCreditMax object is 5.
         The value of this object must be restored from non-volatile
         storage after a re-initialization of the management system."
    REFERENCE
        "IEEE Std 802.1AB-200X 10.2.5.16"
    DEFVAL { 5 }
    ::= { tnLldpConfigEntry  6 }

tnLldpMessageFastTx             OBJECT-TYPE
    SYNTAX     Integer32 (1..3600)
    UNITS      "seconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The interval at which LLDP frames are transmitted on
         behalf of this LLDP agent during fast transmission period
         (e.g. when a new neighbor is detected).
         The default value for tnLldpMessageFastTx object is 1 second.
         The value of this object must be restored from non-volatile
         storage after a re-initialization of the management system."
    REFERENCE
        "IEEE Std 802.1AB-200X 10.2.5.3"
    DEFVAL { 1 }
    ::= { tnLldpConfigEntry  7 }

tnLldpMessageFastTxInit          OBJECT-TYPE
    SYNTAX     Integer32 (1..8)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The tnLldpMessageFastTxInit specifies the number of PDUs
         to transmit during a fast transmission period."
    DEFVAL { 4 }
    ::= { tnLldpConfigEntry  8 }

tnLldpAdminStatus               OBJECT-TYPE
    SYNTAX     TmnxEnabledDisabled
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The tnLldpAdminStatus specifies whether or not LLDP
        is operationally 'enabled(1)' on the system, or
        'disabled(2).' This is a system-wide configuration and
        overrides the individual port admin status."
    ::= { tnLldpConfigEntry  9 }


--==================================================
-- tnLldpPortConfigTable
--
-- LLDP configuration indexed on a per port, per destination
-- address basis. The ifIndex is used as a means of indexing
-- individual ports in the system; an index into the
-- tnLldpPortCfgDestAddressIndex is used to index per address.
--

tnLldpPortConfigTable         OBJECT-TYPE
    SYNTAX     SEQUENCE OF TnLldpPortConfigEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The table that controls LLDP frame transmission on individual
         ports and using particular destination MAC addresses."
    ::= { tnLldpConfiguration   2 }

tnLldpPortConfigEntry         OBJECT-TYPE
    SYNTAX     TnLldpPortConfigEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "LLDP configuration information for a particular port and
         destination MAC address.

         This configuration parameter controls the transmission and
         the reception of LLDP frames on those interface/address
         combinations whose rows are created in this table.

         Rows in this table can only be created for MAC addresses
         that can validly be used in association with the type of
         interface concerned, as defined by table 8-2.

         The contents of this table is persistent across
         re-initializations or re-boots."
    INDEX {
              tnPortPortID,
              tnLldpPortCfgDestAddressIndex
          }
    ::= { tnLldpPortConfigTable   1 }

TnLldpPortConfigEntry         ::= SEQUENCE {
    tnLldpPortCfgDestAddressIndex   TmnxLldpDestAddressTableIndex,
    tnLldpPortCfgAdminStatus        INTEGER,
    tnLldpPortCfgNotifyEnable       TruthValue,
    tnLldpPortCfgTLVsTxEnable       BITS
}

tnLldpPortCfgDestAddressIndex OBJECT-TYPE
    SYNTAX      TmnxLldpDestAddressTableIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The index value used to identify the destination
         MAC address associated with this entry. Its value identifies
         the row in the tnLldpPortConfigTable where the MAC address
         can be found."
    ::= { tnLldpPortConfigEntry   1 }

tnLldpPortCfgAdminStatus      OBJECT-TYPE
    SYNTAX     INTEGER {
                   txOnly   (1),
                   rxOnly   (2),
                   txAndRx  (3),
                   disabled (4)
               }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The administratively desired status of the local LLDP agent.

         If the associated tnLldpPortCfgAdminStatus object has a
         value of 'txOnly(1)', then LLDP agent will transmit LLDP
         frames on this port and it will not store any information
         about the remote systems connected.

         If the associated tnLldpPortCfgAdminStatus object has a
         value of 'rxOnly(2)', then the LLDP agent will receive,
         but it will not transmit LLDP frames on this port.

         If the associated tnLldpPortCfgAdminStatus object has a
         value of 'txAndRx(3)', then the LLDP agent will transmit
         and receive LLDP frames on this port.

         If the associated tnLldpPortCfgAdminStatus object has a
         value of 'disabled(4)', then LLDP agent will not transmit or
         receive LLDP frames on this port.  If there is remote systems
         information which is received on this port and stored in
         other tables, before the port's tnLldpPortCfgAdminStatus
         becomes disabled, then the information will naturally age out."
    REFERENCE
        "IEEE 802.1AB-2005 10.5.1"
    DEFVAL { disabled }
    ::= { tnLldpPortConfigEntry  2 }

tnLldpPortCfgNotifyEnable     OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The tnLldpPortCfgNotifyEnable controls, on a per
         port basis,  whether or not notifications from the agent
         are enabled. The value true(1) means that notifications are
         enabled; the value false(2) means that they are not."
    DEFVAL { false }
   ::= { tnLldpPortConfigEntry  3 }

tnLldpPortCfgTLVsTxEnable     OBJECT-TYPE
    SYNTAX      BITS {
                    portDesc (0),
                    sysName  (1),
                    sysDesc  (2),
                    sysCap   (3)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The tnLldpPortCfgTLVsTxEnable, defined as a bitmap,
         includes the basic set of LLDP TLVs whose transmission is
         allowed on the local LLDP agent by the network management.
         Each bit in the bitmap corresponds to a TLV type associated
         with a specific optional TLV.

         It should be noted that the organizationally-specific TLVs
         are excluded from the tnLldpPortCfgTLVsTxEnable bitmap.

         LLDP Organization Specific Information Extension MIBs should
         have similar configuration object to control transmission
         of their organizationally defined TLVs.

         The bit 'portDesc(0)' indicates that LLDP agent should
         transmit 'Port Description TLV'.

         The bit 'sysName(1)' indicates that LLDP agent should transmit
         'System Name TLV'.

         The bit 'sysDesc(2)' indicates that LLDP agent should transmit
         'System Description TLV'.

         The bit 'sysCap(3)' indicates that LLDP agent should transmit
         'System Capabilities TLV'.

         There is no bit reserved for the management address TLV type
         since transmission of management address TLVs are controlled
         by another object.

         The default value for tnLldpPortCfgTLVsTxEnable object is
         empty set, which means no enumerated values are set.

         The value of this object must be restored from non-volatile
         storage after a re-initialization of the management system."
    REFERENCE
        "IEEE 802.1AB-2005 10.2.1.1"
    DEFVAL { { } }
    ::= { tnLldpPortConfigEntry   4 }

--==================================================
-- tnLldpConfigManAddrPortsTable
--
-- LLDP configuration on a per port/per ManAddr basis.
--
tnLldpConfigManAddrPortsTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF TnLldpConfigManAddrPortsEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The table that controls selection of LLDP management address
         TLV instances to be transmitted on individual ports."
    ::= { tnLldpConfiguration   3 }

tnLldpConfigManAddrPortsEntry OBJECT-TYPE
    SYNTAX     TnLldpConfigManAddrPortsEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "LLDP configuration information that specifies the set of ports
         on which the local system management address instance will be
         transmitted.

         This configuration object joins the tnLldpPortConfigTable and the
         tnLldpLocManAddrTable. An entry exists for each Port/Management
         address in the system. Rows are auto-created by the system when
         ports are provisioned."
    INDEX {
              tnPortPortID,
              tnLldpPortCfgDestAddressIndex,
              tnLldpPortCfgAddressIndex
          }
    ::= { tnLldpConfigManAddrPortsTable   1 }

TnLldpConfigManAddrPortsEntry ::= SEQUENCE {
    tnLldpPortCfgAddressIndex       TmnxLldpManAddressIndex,
    tnLldpPortCfgManAddrTxEnabled   TmnxEnabledDisabled,
    tnLldpPortCfgManAddrSubtype     AddressFamilyNumbers,
    tnLldpPortCfgManAddress         LldpManAddress
}

tnLldpPortCfgAddressIndex     OBJECT-TYPE
    SYNTAX     TmnxLldpManAddressIndex
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The tnLldpPortCfgAddressIndex represents the system man address associated
         with a particular row in the tnLldpConfigManAddrPortsTable."
    ::= { tnLldpConfigManAddrPortsEntry   1 }

tnLldpPortCfgManAddrTxEnabled    OBJECT-TYPE
    SYNTAX     TmnxEnabledDisabled
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The tnLldpPortCfgManAddrTxEnabled specifies whether the port and
         MAC address will transmit the managment address information."
    DEFVAL { disabled }
    ::= { tnLldpConfigManAddrPortsEntry   2 }

tnLldpPortCfgManAddrSubtype   OBJECT-TYPE
    SYNTAX     AddressFamilyNumbers
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The tnLldpPortCfgManAddrSubtype indicates the management address
         representation in the tnLldpPortCfgManAddress object. The value
         of 'other (0)' indicates that no management address is in use."
    ::= { tnLldpConfigManAddrPortsEntry   3 }

tnLldpPortCfgManAddress       OBJECT-TYPE
    SYNTAX     LldpManAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The tnLldpPortCfgManAddress indicates the management address
         used by the tnLldpPortCfgAddressIndex."
    ::= { tnLldpConfigManAddrPortsEntry   4 }


--==================================================
-- tnLldpDestAddressTable
--
-- Destination MAC addresses used by LLDP
--
tnLldpDestAddressTable        OBJECT-TYPE
    SYNTAX      SEQUENCE OF TnLldpDestAddressTableEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The table that contains the set of MAC addresses used
         by LLDP for transmission and reception of LLDPDUs."
    ::= { tnLldpConfiguration   4 }

tnLldpDestAddressTableEntry   OBJECT-TYPE
    SYNTAX     TnLldpDestAddressTableEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "Destination MAC address information for LLDP.

         This configuration parameter identifies a MAC address
         corresponding to a TmnxLldpDestAddressTableIndex value.

         Rows in this table are created as necessary, to support
         MAC addresses needed by other tables in the MIB that
         are indexed by MAC address.

         A given row in this table cannot be deleted if the MAC
         address table index value is in use in any other table
         in the MIB.

         The contents of this table is persistent across
         re-initializations or re-boots."
     INDEX  {
                tnSysSwitchId,
                tnLldpAddressTableIndex
            }
    ::= { tnLldpDestAddressTable   1 }

TnLldpDestAddressTableEntry   ::= SEQUENCE {
      tnLldpAddressTableIndex       TmnxLldpDestAddressTableIndex,
      tnLldpDestMacAddress          MacAddress
}

tnLldpAddressTableIndex       OBJECT-TYPE
    SYNTAX     TmnxLldpDestAddressTableIndex
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The index value used to identify the destination
         MAC address associated with this entry.

         The value of this object is used as an index to the
         tnLldpDestAddressTable."
    ::= { tnLldpDestAddressTableEntry   1 }

tnLldpDestMacAddress          OBJECT-TYPE
    SYNTAX     MacAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The MAC address associated with this entry.

         The octet string identifies an individual or a group
         MAC address that is in use by LLDP as a destination
         MAC address.
         The MAC address is encoded in the octet string in
         canonical format (see IEEE Std 802)."
    ::= { tnLldpDestAddressTableEntry   2 }

--==================================================
-- tnLldpStatsTxPortTable
--
-- TX statistics
-- revised LLDP version indexed by port (via tnPortPortID) and
-- destination address.
--

tnLldpStatsTxPortTable        OBJECT-TYPE
    SYNTAX      SEQUENCE OF TnLldpStatsTxPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "A table containing LLDP transmission statistics for
            individual port/destination address combinations.
            Entries are not required to exist in
            this table while the tnLldpPortConfigEntry object is equal to
            'disabled(4)'."
    ::= { tnLldpStatistics   1 }

tnLldpStatsTxPortEntry        OBJECT-TYPE
     SYNTAX      TnLldpStatsTxPortEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
         "LLDP frame transmission statistics for a particular port
          and destination MAC address.
          The port must be contained in the same chassis as the
          LLDP agent.

          All counter values in a particular entry shall be
          maintained on a continuing basis and shall not be deleted
          upon expiration of rx Info TTL timing counters in the LLDP
          remote systems MIB of the receipt of a shutdown frame from
          a remote LLDP agent.

          All statistical counters associated with a particular
          port on the local LLDP agent become frozen whenever the
          admin status is disabled for the same port.

          Rows in this table can only be created for MAC addresses
          that can validly be used in association with the type of
          interface concerned, as defined by table 8-2.

          The contents of this table is persistent across
          re-initializations or re-boots."
     INDEX {
               tnPortPortID,
               tnLldpStatsTxDestMACAddress
           }
     ::= { tnLldpStatsTxPortTable   1 }

TnLldpStatsTxPortEntry        ::= SEQUENCE {
    tnLldpStatsTxDestMACAddress     TmnxLldpDestAddressTableIndex,
    tnLldpStatsTxPortFrames         Counter32,
    tnLldpStatsTxLLDPDULengthErrs   Counter32
}

tnLldpStatsTxDestMACAddress   OBJECT-TYPE
    SYNTAX      TmnxLldpDestAddressTableIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The index value used to identify the destination
         MAC address associated with this entry. Its value identifies
         the row in the tnLldpPortConfigTable where the MAC address
         can be found.

         The value of this object is used as an index to the
         tnLldpStatsTxPortTable."
    ::= { tnLldpStatsTxPortEntry   1 }

tnLldpStatsTxPortFrames       OBJECT-TYPE
    SYNTAX        Counter32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The number of LLDP frames transmitted by this LLDP agent
         on the indicated port."
    REFERENCE
        "IEEE Std 802.1AB-200X 10.5.2"
    ::= { tnLldpStatsTxPortEntry   2 }

tnLldpStatsTxLLDPDULengthErrs OBJECT-TYPE
    SYNTAX        Counter32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The number of LLDPD Length Errors recorded for the Port."
    REFERENCE
        "IEEE Std 802.1AB-200X 10.2.7.2"
    ::= { tnLldpStatsTxPortEntry   3 }

--==================================================
-- tnLldpStatsRemTable
--
-- RX statistics index on tnSysSwitchId basis.
--

tnLldpStatsRemTable           OBJECT-TYPE
    SYNTAX       SEQUENCE OF TnLldpStatsRemEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "The table that stores LLDP RX stats for remote systems."
    ::= { tnLldpStatistics   2 }

tnLldpStatsRemEntry           OBJECT-TYPE
    SYNTAX       TnLldpStatsRemEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "LLDP RX stats for remote systems."
    INDEX { tnSysSwitchId }
    ::= { tnLldpStatsRemTable 1 }

TnLldpStatsRemEntry          ::= SEQUENCE {
    tnLldpStatsRemTablesLastChangeTime           Unsigned32,
    tnLldpStatsRemTablesInserts                  ZeroBasedCounter32,
    tnLldpStatsRemTablesDeletes                  ZeroBasedCounter32,
    tnLldpStatsRemTablesDrops                    ZeroBasedCounter32,
    tnLldpStatsRemTablesAgeouts                  ZeroBasedCounter32
}

tnLldpStatsRemTablesLastChangeTime OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The value of sysUpTime object (defined in IETF RFC 3418)
            at the time an entry is created, modified, or deleted in the
            in tables associated with the tnLldpRemoteSystemsData objects
            and all LLDP extension objects associated with remote systems.

            This attribute is the number of seconds since Unix Epoch time
            (ie, 1 January 1970 00:00:00), not the number of ticks since
            the LC card is up.

            An NMS can use this object to reduce polling of the
            tnLldpRemoteSystemsData objects."
    ::= { tnLldpStatsRemEntry 1 }

tnLldpStatsRemTablesInserts OBJECT-TYPE
    SYNTAX      ZeroBasedCounter32
    UNITS       "table entries"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of times the complete set of information
            advertised by a particular MSAP has been inserted into tables
            contained in tnLldpRemoteSystemsData and lldpExtensions objects.

            The complete set of information received from a particular
            MSAP should be inserted into related tables.  If partial
            information cannot be inserted for a reason such as lack
            of resources, all of the complete set of information should
            be removed.

            This counter should be incremented only once after the
            complete set of information is successfully recorded
            in all related tables.  Any failures during inserting
            information set which result in deletion of previously
            inserted information should not trigger any changes in
            tnLldpStatsRemTablesInserts since the insert is not completed
            yet or or in tnLldpStatsRemTablesDeletes, since the deletion
            would only be a partial deletion. If the failure was the
            result of lack of resources, the tnLldpStatsRemTablesDrops
            counter should be incremented once."
    ::= { tnLldpStatsRemEntry 2 }

tnLldpStatsRemTablesDeletes   OBJECT-TYPE
    SYNTAX      ZeroBasedCounter32
    UNITS       "table entries"
    MAX-ACCESS  read-only
    STATUS      current

    DESCRIPTION
            "The number of times the complete set of information
            advertised by a particular MSAP has been deleted from
            tables contained in tnLldpRemoteSystemsData and lldpExtensions
            objects.

            This counter should be incremented only once when the
            complete set of information is completely deleted from all
            related tables.  Partial deletions, such as deletion of
            rows associated with a particular MSAP from some tables,
            but not from all tables are not allowed, thus should not
            change the value of this counter."
    ::= { tnLldpStatsRemEntry 3 }

tnLldpStatsRemTablesDrops  OBJECT-TYPE
    SYNTAX      ZeroBasedCounter32
    UNITS       "table entries"
    MAX-ACCESS  read-only

    STATUS      current
    DESCRIPTION
            "The number of times the complete set of information
            advertised by a particular MSAP could not be entered into
            tables contained in tnLldpRemoteSystemsData and lldpExtensions
            objects because of insufficient resources."
    ::= { tnLldpStatsRemEntry 4 }

tnLldpStatsRemTablesAgeouts   OBJECT-TYPE
    SYNTAX      ZeroBasedCounter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of times the complete set of information
            advertised by a particular MSAP has been deleted from tables
            contained in tnLldpRemoteSystemsData and lldpExtensions objects
            because the information timeliness interval has expired.

            This counter should be incremented only once when the complete
            set of information is completely invalidated (aged out)
            from all related tables.  Partial aging, similar to deletion
            case, is not allowed, and thus, should not change the value
            of this counter."
    ::= { tnLldpStatsRemEntry 5 }

--==================================================
-- tnLldpStatsRxPortTable
--
-- RX statistics
-- This version is indexed by tnPortPortID and destination
-- MAC address.
--

tnLldpStatsRxPortTable        OBJECT-TYPE
    SYNTAX      SEQUENCE OF TnLldpStatsRxPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing LLDP reception statistics for individual
         ports and destination MAC addresses.
         Entries are not required to exist in this table while
         the tnLldpPortCfgAdminStatus object is equal to 'disabled(4)'."
    ::= { tnLldpStatistics 3 }

tnLldpStatsRxPortEntry        OBJECT-TYPE
     SYNTAX      TnLldpStatsRxPortEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
         "LLDP frame reception statistics for a particular port.
          The port must be contained in the same chassis as the
          LLDP agent.

          All counter values in a particular entry shall be
          maintained on a continuing basis and shall not be deleted
          upon expiration of rx Info TTL timing counters in the LLDP
          remote systems MIB of the receipt of a shutdown frame from
          a remote LLDP agent.

          All statistical counters associated with a particular
          port on the local LLDP agent become frozen whenever the
          admin status is disabled for the same port.

          Rows in this table can only be created for MAC addresses
          that can validly be used in association with the type of
          interface concerned, as defined by table 8-2.

          The contents of this table is persistent across
          re-initializations or re-boots."
     INDEX {
               tnPortPortID,
               tnLldpStatsRxDestMACAddress
           }
     ::= { tnLldpStatsRxPortTable   1 }

TnLldpStatsRxPortEntry        ::= SEQUENCE {
    tnLldpStatsRxDestMACAddress     TmnxLldpDestAddressTableIndex,
    tnLldpStatsRxPortFrameDiscard   Counter32,
    tnLldpStatsRxPortFrameErrs      Counter32,
    tnLldpStatsRxPortFrames         Counter32,
    tnLldpStatsRxPortTLVDiscard     Counter32,
    tnLldpStatsRxPortTLVUnknown     Counter32,
    tnLldpStatsRxPortAgeouts        ZeroBasedCounter32,
    tnLldpStatsRxPortTtl            Unsigned32
}

tnLldpStatsRxDestMACAddress   OBJECT-TYPE
    SYNTAX      TmnxLldpDestAddressTableIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The index value used to identify the destination
         MAC address associated with this entry. Its value identifies
         the row in the tnLldpStatsRxPortTable where the MAC address
         can be found."
    ::= { tnLldpStatsRxPortEntry   1 }

tnLldpStatsRxPortFrameDiscard OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The number of LLDP frames received by this LLDP agent on
         the indicated port, and then discarded for any reason.
         This counter can provide an indication that LLDP header
         formating problems may exist with the local LLDP agent in
         the sending system or that LLDPDU validation problems may
         exist with the local LLDP agent in the receiving system."
    REFERENCE
        "IEEE Std 802.1AB-200X 10.5.2"
    ::= { tnLldpStatsRxPortEntry   2 }

tnLldpStatsRxPortFrameErrs    OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The number of invalid LLDP frames received by this LLDP
         agent on the indicated port, while this LLDP agent is enabled."
    REFERENCE
        "IEEE Std 802.1AB-200X 10.5.2"
    ::= { tnLldpStatsRxPortEntry   3 }

tnLldpStatsRxPortFrames       OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The number of valid LLDP frames received by this LLDP agent
         on the indicated port, while this LLDP agent is enabled."
    REFERENCE
        "IEEE Std 802.1AB-200X 10.5.2"
    ::= { tnLldpStatsRxPortEntry   4 }

tnLldpStatsRxPortTLVDiscard   OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The number of LLDP TLVs discarded for any reason by this LLDP
         agent on the indicated port."
    REFERENCE
        "IEEE Std 802.1AB-200X 10.5.2"
    ::= { tnLldpStatsRxPortEntry   5 }

tnLldpStatsRxPortTLVUnknown   OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The number of LLDP TLVs received on the given port that
         are not recognized by this LLDP agent on the indicated port.

         An unrecognized TLV is referred to as the TLV whose type value
         is in the range of reserved TLV types (000 1001 - 111 1110)
         in Table 9.1 of IEEE Std 802.1AB-2004. An unrecognized
         TLV may be a basic management TLV from a later LLDP version."
    REFERENCE
        "IEEE Std 802.1AB-200X 10.5.2"
    ::= { tnLldpStatsRxPortEntry   6 }

tnLldpStatsRxPortAgeouts      OBJECT-TYPE
    SYNTAX     ZeroBasedCounter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The counter that represents the number of age-outs that
         occurred on a given port. An age-out is the number of
         times the complete set of information advertised by a
         particular MSAP has been deleted from tables contained in
         tnLldpRemoteSystemsData and lldpExtensions objects because
         the information timeliness interval has expired.

         This counter is similar to tnLldpStatsRemTablesAgeouts, except
         that the counter is on a per port basis. This enables NMS to
         poll tables associated with the tnLldpRemoteSystemsData objects
         and all LLDP extension objects associated with remote systems
         on the indicated port only.

         This counter should be set to zero during agent initialization
         and its value should not be saved in non-volatile storage.
         When a port's admin status changes from 'disabled' to
         'rxOnly', 'txOnly' or 'txAndRx', the counter associated with
         the same port should reset to 0. The agent should also flush
         all remote system information associated with the same port.

         This counter should be incremented only once when the
         complete set of information is invalidated (aged out) from
         all related tables on a particular port. Partial ageing
         is not allowed, and thus, should not change the value of
         this counter."
    REFERENCE
        "IEEE Std 802.1AB-200X 10.5.2"
    ::= { tnLldpStatsRxPortEntry   7 }

tnLldpStatsRxPortTtl OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The last Time-To-Live (TTL) value that was received for a configured
         destination MAC by this LLDP agent on the indicated port,while this
         LLDP agent is enabled."
    REFERENCE
        "IEEE Std 802.1AB-200X 10.5.2"
    ::= { tnLldpStatsRxPortEntry   8 }

--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
--
--   TN-LLDP-MIB Local System Data
--

--==================================================
-- tnLldpLocSysDataTable
--
-- Local system data table indexed by tnSysSwitchId
--

tnLldpLocSysDataTable           OBJECT-TYPE
    SYNTAX       SEQUENCE OF TnLldpLocSysDataEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "The table that stores LLDP local system data."
    ::= { tnLldpLocalSystemData   1 }

tnLldpLocSysDataEntry           OBJECT-TYPE
    SYNTAX       TnLldpLocSysDataEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "LLDP local system data."
    INDEX { tnSysSwitchId }
    ::= { tnLldpLocSysDataTable 1 }

TnLldpLocSysDataEntry           ::= SEQUENCE {
    tnLldpLocChassisIdSubtype           LldpChassisIdSubtype,
    tnLldpLocChassisId                  LldpChassisId,
    tnLldpLocSysName                    SnmpAdminString,
    tnLldpLocSysDesc                    SnmpAdminString,
    tnLldpLocSysCapSupported            LldpSystemCapabilitiesMap,
    tnLldpLocSysCapEnabled              LldpSystemCapabilitiesMap
}

tnLldpLocChassisIdSubtype  OBJECT-TYPE
    SYNTAX      LldpChassisIdSubtype
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The type of encoding used to identify the chassis
            associated with the local system."
    REFERENCE
            "IEEE 802.1AB-2005 9.5.2.2"
    ::= { tnLldpLocSysDataEntry 1 }

tnLldpLocChassisId  OBJECT-TYPE
    SYNTAX      LldpChassisId
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The string value used to identify the chassis component
            associated with the local system."
    REFERENCE
            "IEEE 802.1AB-2005 9.5.2.3"
    ::= { tnLldpLocSysDataEntry 2 }

tnLldpLocSysName  OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE(0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The string value used to identify the system name of the
            local system.  If the local agent supports IETF RFC 3418,
            tnLldpLocSysName object should have the same value of sysName
            object."
    REFERENCE
            "IEEE 802.1AB-2005 9.5.6.2"
    ::= { tnLldpLocSysDataEntry 3 }

tnLldpLocSysDesc  OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE(0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The string value used to identify the system description
            of the local system.  If the local agent supports IETF RFC 3418,
            tnLldpLocSysDesc object should have the same value of sysDesc
            object."
    REFERENCE
            "IEEE 802.1AB-2005 9.5.7.2"
    ::= { tnLldpLocSysDataEntry 4 }

tnLldpLocSysCapSupported OBJECT-TYPE
    SYNTAX      LldpSystemCapabilitiesMap
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The bitmap value used to identify which system capabilities
            are supported on the local system."
    REFERENCE
            "IEEE 802.1AB-2005 9.5.8.1"
    ::= { tnLldpLocSysDataEntry 5 }

tnLldpLocSysCapEnabled  OBJECT-TYPE
    SYNTAX      LldpSystemCapabilitiesMap
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The bitmap value used to identify which system capabilities
            are enabled on the local system."
    REFERENCE
            "IEEE 802.1AB-2005 9.5.8.2"
    ::= { tnLldpLocSysDataEntry 6 }

--==================================================
-- tnLldpLocPortTable
--
-- Port specific Local system data
-- New version of the local system data table indexed
-- by tnPortPortID and destination MAC address.
--

tnLldpLocPortTable            OBJECT-TYPE
    SYNTAX     SEQUENCE OF TnLldpLocPortEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "This table contains one or more rows, per port and
         destination MAC address, of information
         associated with the local system known to this agent."
    ::= { tnLldpLocalSystemData   2 }

tnLldpLocPortEntry            OBJECT-TYPE
    SYNTAX     TnLldpLocPortEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "Information about a particular port component.

         Entries may be created and deleted in this table by the
         agent.

         Rows in this table can only be created for MAC addresses
         that can validly be used in association with the type of
         interface concerned, as defined by table 8-2.

         The contents of this table is persistent across
         re-initializations or re-boots."
    INDEX {
              tnPortPortID,
              tnLldpLocPortDestMACAddress
          }
    ::= { tnLldpLocPortTable   1 }

TnLldpLocPortEntry            ::= SEQUENCE {
    tnLldpLocPortDestMACAddress     TmnxLldpDestAddressTableIndex,
    tnLldpLocPortIdSubtype          LldpPortIdSubtype,
    tnLldpLocPortId                 LldpPortId,
    tnLldpLocPortDesc               SnmpAdminString
}

tnLldpLocPortDestMACAddress   OBJECT-TYPE
    SYNTAX     TmnxLldpDestAddressTableIndex
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The index value used to identify the destination
         MAC address associated with this entry. Its value identifies
         the row in the tnLldpLocPortTable where the MAC address
         can be found."
    ::= { tnLldpLocPortEntry   1 }

tnLldpLocPortIdSubtype        OBJECT-TYPE
    SYNTAX     LldpPortIdSubtype
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The type of port identifier encoding used in the associated
         'tnLldpLocPortId' object."
    REFERENCE
        "IEEE Std 802.1AB-200X 9.5.3.2"
    ::= { tnLldpLocPortEntry   2 }

tnLldpLocPortId               OBJECT-TYPE
    SYNTAX     LldpPortId
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The string value used to identify the port component
         associated with a given port in the local system."
    REFERENCE
        "IEEE Std 802.1AB-200X 9.5.3.3"
    ::= { tnLldpLocPortEntry   3 }

tnLldpLocPortDesc             OBJECT-TYPE
    SYNTAX     SnmpAdminString (SIZE(0..255))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The string value used to identify the IEEE 802 LAN station's port
         description associated with the local system. If the local
         agent supports IETF RFC 2863, tnLldpLocPortDesc object should
         have the same value of ifDescr object."
    REFERENCE
        "IEEE Std 802.1AB-200X 9.5.5.2"
    ::= { tnLldpLocPortEntry   4 }

--==================================================
-- tnLldpLocManAddrTable : Management addresses of the local system
--

tnLldpLocManAddrTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF TnLldpLocManAddrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "This table contains management address information on the
            local system known to this agent."
    ::= { tnLldpLocalSystemData   3 }

tnLldpLocManAddrEntry OBJECT-TYPE
    SYNTAX      TnLldpLocManAddrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Management address information about a particular chassis
            component.  There may be multiple management addresses
            configured on the system identified by a particular
            tnLldpLocChassisId.  Each management address should have
            distinct 'management address type' (tnLldpLocManAddrSubtype) and
            'management address' (tnLldpLocManAddr.)

            Entries may be created and deleted in this table by the
            agent."
    INDEX   { tnSysSwitchId,
              tnLldpLocManAddrSubtype,
              tnLldpLocManAddr }
    ::= { tnLldpLocManAddrTable 1 }

TnLldpLocManAddrEntry ::= SEQUENCE {
      tnLldpLocManAddrSubtype    AddressFamilyNumbers,
      tnLldpLocManAddr           LldpManAddress,
      tnLldpLocManAddrLen        Integer32,
      tnLldpLocManAddrIfSubtype  LldpManAddrIfSubtype,
      tnLldpLocManAddrIfId       Integer32,
      tnLldpLocManAddrOID        OBJECT IDENTIFIER
}

tnLldpLocManAddrSubtype  OBJECT-TYPE
    SYNTAX      AddressFamilyNumbers
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The type of management address identifier encoding used in
            the associated 'tnLldpLocManagmentAddr' object."
    REFERENCE
            "IEEE 802.1AB-2005 9.5.9.3"
    ::= { tnLldpLocManAddrEntry 1 }

tnLldpLocManAddr  OBJECT-TYPE
    SYNTAX      LldpManAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The string value used to identify the management address
            component associated with the local system.  The purpose of
            this address is to contact the management entity."
    REFERENCE
            "IEEE 802.1AB-2005 9.5.9.4"
    ::= { tnLldpLocManAddrEntry 2 }

tnLldpLocManAddrLen  OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The total length of the management address subtype and the
            management address fields in LLDPDUs transmitted by the
            local LLDP agent.

            The management address length field is needed so that the
            receiving systems that do not implement SNMP will not be
            required to implement an iana family numbers/address length
            equivalency table in order to decode the management adress."
    REFERENCE
            "IEEE 802.1AB-2005 9.5.9.2"
    ::= { tnLldpLocManAddrEntry 3 }


tnLldpLocManAddrIfSubtype  OBJECT-TYPE
    SYNTAX      LldpManAddrIfSubtype
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The enumeration value that identifies the interface numbering
            method used for defining the interface number, associated
            with the local system."
    REFERENCE
            "IEEE 802.1AB-2005 9.5.9.5"
    ::= { tnLldpLocManAddrEntry 4 }

tnLldpLocManAddrIfId  OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The integer value used to identify the interface number
            regarding the management address component associated with
            the local system."
    REFERENCE
            "IEEE 802.1AB-2005 9.5.9.6"
    ::= { tnLldpLocManAddrEntry 5 }

tnLldpLocManAddrOID  OBJECT-TYPE
    SYNTAX      OBJECT IDENTIFIER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The OID value used to identify the type of hardware component
            or protocol entity associated with the management address
            advertised by the local system agent."
    REFERENCE
            "IEEE 802.1AB-2005 9.5.9.8"
    ::= { tnLldpLocManAddrEntry 6 }

--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
--
--   TN-LLDP-MIB Remote System Data
--
-- This version of the remote systems data table includes an additional index
-- to allow data to be recorded per tnPortPortID and destination MAC address

--==================================================
-- tnLldpRemTable
--
--

tnLldpRemTable                OBJECT-TYPE
    SYNTAX     SEQUENCE OF TnLldpRemEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "This table contains one or more rows per physical network
         connection known to this agent. The agent may wish to ensure
         that only one tnLldpRemEntry is present for each local port
         and destination MAC address,
         or it may choose to maintain multiple tnLldpRemEntry rows for
         the same local port and destination MAC address.

         The following procedure may be used to retrieve remote
         systems information updates from an LLDP agent:

            1. NMS polls all tables associated with remote systems
               and keeps a local copy of the information retrieved.
               NMS polls periodically the values of the following
               objects:
                  a. tnLldpStatsRemTablesInserts
                  b. tnLldpStatsRemTablesDeletes
                  c. tnLldpStatsRemTablesDrops
                  d. tnLldpStatsRemTablesAgeouts
                  e. tnLldpStatsRxPortAgeouts for all ports.

            2. LLDP agent updates remote systems MIB objects, and
               sends out notifications to a list of notification
               destinations.

            3. NMS receives the notifications and compares the new
               values of objects listed in step 1.

               Periodically, NMS should poll the object
               tnLldpStatsRemTablesLastChangeTime to find out if anything
               has changed since the last poll. if something has
               changed, NMS will poll the objects listed in step 1 to
               figure out what kind of changes occurred in the tables.

               if value of tnLldpStatsRemTablesInserts has changed,
               then NMS will walk all tables by employing TimeFilter
               with the last-polled time value. This request will
               return new objects or objects whose values are updated
               since the last poll.

               if value of tnLldpStatsRemTablesAgeouts has changed,
               then NMS will walk the tnLldpStatsRxPortAgeouts and
               compare the new values with previously recorded ones.
               For ports whose tnLldpStatsRxPortAgeouts value is
               greater than the recorded value, NMS will have to
               retrieve objects associated with those ports from
               table(s) without employing a TimeFilter (which is
               performed by specifying 0 for the TimeFilter.)

               tnLldpStatsRemTablesDeletes and tnLldpStatsRemTablesDrops
               objects are provided for informational purposes."
    ::= { tnLldpRemoteSystemsData   1 }

tnLldpRemEntry                OBJECT-TYPE
    SYNTAX     TnLldpRemEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "Information about a particular physical network connection.
         Entries may be created and deleted in this table by the agent,
         if a physical topology discovery process is active.

         Rows in this table can only be created for MAC addresses
         that can validly be used in association with the type of
         interface concerned, as defined by table 8-2.

         The contents of this table is persistent across
         re-initializations or re-boots."
    INDEX {
              tnSysSwitchId,
              tnLldpRemTimeMark,
              tnPortPortID,
              tnLldpRemLocalDestMACAddress,
              tnLldpRemIndex
          }
    ::= { tnLldpRemTable   1 }

TnLldpRemEntry                ::= SEQUENCE {
    tnLldpRemTimeMark               TimeFilter,
    tnLldpRemLocalDestMACAddress    TmnxLldpDestAddressTableIndex,
    tnLldpRemIndex                  Integer32,
    tnLldpRemChassisIdSubtype       LldpChassisIdSubtype,
    tnLldpRemChassisId              LldpChassisId,
    tnLldpRemPortIdSubtype          LldpPortIdSubtype,
    tnLldpRemPortId                 LldpPortId,
    tnLldpRemPortDesc               SnmpAdminString,
    tnLldpRemSysName                SnmpAdminString,
    tnLldpRemSysDesc                SnmpAdminString,
    tnLldpRemSysCapSupported        LldpSystemCapabilitiesMap,
    tnLldpRemSysCapEnabled          LldpSystemCapabilitiesMap
}

tnLldpRemTimeMark  OBJECT-TYPE
    SYNTAX     TimeFilter
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "A TimeFilter for this entry. See the TimeFilter textual
         convention in IETF RFC 4502 and
         http://www.ietf.org/IESG/Implementations/RFC2021-Implementation.txt
         to see how TimeFilter works.

         This attribute is the number of seconds since Unix Epoch time
         (ie, 1 January 1970 00:00:00), not the number of ticks since
         the LC card is up. "
    REFERENCE
        "IETF RFC 4502 section 6"
    ::= { tnLldpRemEntry   1 }

tnLldpRemLocalDestMACAddress  OBJECT-TYPE
    SYNTAX     TmnxLldpDestAddressTableIndex
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The index value used to identify the destination
         MAC address associated with this entry. Its value identifies
         the row in the tnLldpRemTable where the MAC address
         can be found."
    ::= { tnLldpRemEntry   2 }

tnLldpRemIndex                OBJECT-TYPE
    SYNTAX     Integer32 (1..2147483647)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "This object represents an arbitrary local integer value used
         by this agent to identify a particular connection instance,
         unique only for the indicated remote system.

         An agent is encouraged to assign monotonically increasing
         index values to new entries, starting with one, after each
         reboot. It is considered unlikely that the tnLldpRemIndex
         will wrap between reboots."
    ::= { tnLldpRemEntry   3 }

tnLldpRemChassisIdSubtype     OBJECT-TYPE
    SYNTAX     LldpChassisIdSubtype
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The type of encoding used to identify the chassis associated
         with the remote system."
    REFERENCE
        "IEEE Std 802.1AB-200X 9.5.2.2"
    ::= { tnLldpRemEntry   4 }

tnLldpRemChassisId            OBJECT-TYPE
    SYNTAX     LldpChassisId
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The string value used to identify the chassis component
         associated with the remote system."
    REFERENCE
        "IEEE Std 802.1AB-200X 9.5.2.3"
    ::= { tnLldpRemEntry   5 }

tnLldpRemPortIdSubtype        OBJECT-TYPE
    SYNTAX     LldpPortIdSubtype
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The type of port identifier encoding used in the associated
         'tnLldpRemPortId' object."
    REFERENCE
        "IEEE Std 802.1AB-200X 9.5.3.2"
    ::= { tnLldpRemEntry   6 }

tnLldpRemPortId               OBJECT-TYPE
    SYNTAX     LldpPortId
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The string value used to identify the port component
         associated with the remote system."
    REFERENCE
        "IEEE Std 802.1AB-200X 9.5.3.3"
    ::= { tnLldpRemEntry   7 }

tnLldpRemPortDesc             OBJECT-TYPE
    SYNTAX     SnmpAdminString (SIZE(0..255))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The string value used to identify the description of
         the given port associated with the remote system."
    REFERENCE
        "IEEE Std 802.1AB-200X 9.5.5.2"
    ::= { tnLldpRemEntry   8 }

tnLldpRemSysName              OBJECT-TYPE
    SYNTAX     SnmpAdminString (SIZE(0..255))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The string value used to identify the system name of the
         remote system."
    REFERENCE
        "IEEE Std 802.1AB-200X 9.5.6.2"
    ::= { tnLldpRemEntry   9 }

tnLldpRemSysDesc              OBJECT-TYPE
    SYNTAX     SnmpAdminString (SIZE(0..255))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The string value used to identify the system description
         of the remote system."
    REFERENCE
            "IEEE Std 802.1AB-200X 9.5.7.2"
    ::= { tnLldpRemEntry  10 }

tnLldpRemSysCapSupported      OBJECT-TYPE
    SYNTAX     LldpSystemCapabilitiesMap
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The bitmap value used to identify which system capabilities
         are supported on the remote system."
    REFERENCE
        "IEEE Std 802.1AB-200X 9.5.8.1"
    ::= { tnLldpRemEntry  11 }

tnLldpRemSysCapEnabled        OBJECT-TYPE
    SYNTAX     LldpSystemCapabilitiesMap
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The bitmap value used to identify which system capabilities
         are enabled on the remote system."
    REFERENCE
        "IEEE Std 802.1AB-200X 9.5.8.2"
    ::= { tnLldpRemEntry  12 }

--==================================================
-- tnLldpRemManAddrTable
--
-- Management addresses of the remote system
--

tnLldpRemManAddrTable         OBJECT-TYPE
    SYNTAX      SEQUENCE OF TnLldpRemManAddrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table contains one or more rows per management address
         information on the remote system learned on a particular port
         contained in the local chassis known to this agent."
    ::= { tnLldpRemoteSystemsData   2 }

tnLldpRemManAddrEntry         OBJECT-TYPE
    SYNTAX      TnLldpRemManAddrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Management address information about a particular chassis
            component.  There may be multiple management addresses
            configured on the remote system identified by a particular
            tnLldpRemIndex whose information is received on
            ifIndex and tnLldpRemLocalDestMACAddress of the local system.
            Each management address should have distinct 'management address
            type' (tnLldpRemManAddrSubtype) and 'management address'
            (tnLldpRemManAddr.)

            Entries may be created and deleted in this table by the
            agent."
    INDEX   { tnSysSwitchId,
              tnLldpRemTimeMark,
              tnPortPortID,
              tnLldpRemLocalDestMACAddress,
              tnLldpRemIndex,
              tnLldpRemManAddrSubtype,
              tnLldpRemManAddr
 }
    ::= { tnLldpRemManAddrTable 1 }

TnLldpRemManAddrEntry             ::= SEQUENCE {
      tnLldpRemManAddrSubtype     AddressFamilyNumbers,
      tnLldpRemManAddr            LldpManAddress,
      tnLldpRemManAddrIfSubtype   LldpManAddrIfSubtype,
      tnLldpRemManAddrIfId        Integer32,
      tnLldpRemManAddrOID         OBJECT IDENTIFIER
}

tnLldpRemManAddrSubtype       OBJECT-TYPE
    SYNTAX      AddressFamilyNumbers
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The type of management address identifier encoding used in
         the associated 'tnLldpRemManagmentAddr' object."
    REFERENCE
        "IEEE 802.1AB-2005 9.5.9.3"
    ::= { tnLldpRemManAddrEntry 1 }

tnLldpRemManAddr              OBJECT-TYPE
    SYNTAX      LldpManAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The string value used to identify the management address
         component associated with the remote system.  The purpose
         of this address is to contact the management entity."
    REFERENCE
        "IEEE 802.1AB-2005 9.5.9.4"
    ::= { tnLldpRemManAddrEntry   2 }

tnLldpRemManAddrIfSubtype     OBJECT-TYPE
    SYNTAX      LldpManAddrIfSubtype
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The enumeration value that identifies the interface numbering
         method used for defining the interface number, associated
         with the remote system."
    REFERENCE
        "IEEE 802.1AB-2005 9.5.9.5"
    ::= { tnLldpRemManAddrEntry   3 }

tnLldpRemManAddrIfId          OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The integer value used to identify the interface number
        regarding the management address component associated with
        the remote system."
    REFERENCE
        "IEEE 802.1AB-2005 9.5.9.6"
    ::= { tnLldpRemManAddrEntry   4 }

tnLldpRemManAddrOID           OBJECT-TYPE
    SYNTAX      OBJECT IDENTIFIER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The OID value used to identify the type of hardware component
         or protocol entity associated with the management address
         advertised by the remote system agent."
    REFERENCE
        "IEEE 802.1AB-2005 9.5.9.8"
    ::= { tnLldpRemManAddrEntry   5 }

--==================================================
-- tnLldpRemPortIndexTable
--
--

tnLldpRemPortIndexTable                OBJECT-TYPE
    SYNTAX     SEQUENCE OF TnLldpRemPortIndexEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "Note that this table is same as tnLldpRemTable except that the order of two
         indices tnLldpRemTimeMark and tnPortPortID are reversed.

         This table contains one or more rows per physical network
         connection known to this agent. The agent may wish to ensure
         that only one tnLldpRemEntry is present for each local port
         and destination MAC address,
         or it may choose to maintain multiple tnLldpRemEntry rows for
         the same local port and destination MAC address.

         The following procedure may be used to retrieve remote
         systems information updates from an LLDP agent:

            1. NMS polls all tables associated with remote systems
               and keeps a local copy of the information retrieved.
               NMS polls periodically the values of the following
               objects:
                  a. tnLldpStatsRemTablesInserts
                  b. tnLldpStatsRemTablesDeletes
                  c. tnLldpStatsRemTablesDrops
                  d. tnLldpStatsRemTablesAgeouts
                  e. tnLldpStatsRxPortAgeouts for all ports.

            2. LLDP agent updates remote systems MIB objects, and
               sends out notifications to a list of notification
               destinations.

            3. NMS receives the notifications and compares the new
               values of objects listed in step 1.

               Periodically, NMS should poll the object
               tnLldpStatsRemTablesLastChangeTime to find out if anything
               has changed since the last poll. if something has
               changed, NMS will poll the objects listed in step 1 to
               figure out what kind of changes occurred in the tables.

               if value of tnLldpStatsRemTablesInserts has changed,
               then NMS will walk all tables by employing TimeFilter
               with the last-polled time value. This request will
               return new objects or objects whose values are updated
               since the last poll.

               if value of tnLldpStatsRemTablesAgeouts has changed,
               then NMS will walk the tnLldpStatsRxPortAgeouts and
               compare the new values with previously recorded ones.
               For ports whose tnLldpStatsRxPortAgeouts value is
               greater than the recorded value, NMS will have to
               retrieve objects associated with those ports from
               table(s) without employing a TimeFilter (which is
               performed by specifying 0 for the TimeFilter.)

               tnLldpStatsRemTablesDeletes and tnLldpStatsRemTablesDrops
               objects are provided for informational purposes."
    ::= { tnLldpRemoteSystemsData   3 }

tnLldpRemPortIndexEntry                OBJECT-TYPE
    SYNTAX     TnLldpRemPortIndexEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "Information about a particular physical network connection.
         Entries may be created and deleted in this table by the agent,
         if a physical topology discovery process is active.

         Rows in this table can only be created for MAC addresses
         that can validly be used in association with the type of
         interface concerned, as defined by table 8-2.

         The contents of this table is persistent across
         re-initializations or re-boots."
    INDEX {
              tnSysSwitchId,
              tnPortPortID,
              tnLldpRemTimeMark,
              tnLldpRemLocalDestMACAddress,
              tnLldpRemIndex
          }
    ::= { tnLldpRemPortIndexTable   1 }

TnLldpRemPortIndexEntry                ::= SEQUENCE {
    tnLldpRemPortIndexChassisIdSubtype       LldpChassisIdSubtype,
    tnLldpRemPortIndexChassisId              LldpChassisId,
    tnLldpRemPortIndexPortIdSubtype          LldpPortIdSubtype,
    tnLldpRemPortIndexPortId                 LldpPortId,
    tnLldpRemPortIndexPortDesc               SnmpAdminString,
    tnLldpRemPortIndexSysName                SnmpAdminString,
    tnLldpRemPortIndexSysDesc                SnmpAdminString,
    tnLldpRemPortIndexSysCapSupported        LldpSystemCapabilitiesMap,
    tnLldpRemPortIndexSysCapEnabled          LldpSystemCapabilitiesMap
}

tnLldpRemPortIndexChassisIdSubtype     OBJECT-TYPE
    SYNTAX     LldpChassisIdSubtype
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The type of encoding used to identify the chassis associated
         with the remote system."
    REFERENCE
        "IEEE Std 802.1AB-200X 9.5.2.2"
    ::= { tnLldpRemPortIndexEntry   1 }

tnLldpRemPortIndexChassisId            OBJECT-TYPE
    SYNTAX     LldpChassisId
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The string value used to identify the chassis component
         associated with the remote system."
    REFERENCE
        "IEEE Std 802.1AB-200X 9.5.2.3"
    ::= { tnLldpRemPortIndexEntry   2 }

tnLldpRemPortIndexPortIdSubtype        OBJECT-TYPE
    SYNTAX     LldpPortIdSubtype
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The type of port identifier encoding used in the associated
         'tnLldpRemPortId' object."
    REFERENCE
        "IEEE Std 802.1AB-200X 9.5.3.2"
    ::= { tnLldpRemPortIndexEntry   3 }

tnLldpRemPortIndexPortId               OBJECT-TYPE
    SYNTAX     LldpPortId
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The string value used to identify the port component
         associated with the remote system."
    REFERENCE
        "IEEE Std 802.1AB-200X 9.5.3.3"
    ::= { tnLldpRemPortIndexEntry   4 }

tnLldpRemPortIndexPortDesc             OBJECT-TYPE
    SYNTAX     SnmpAdminString (SIZE(0..255))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The string value used to identify the description of
         the given port associated with the remote system."
    REFERENCE
        "IEEE Std 802.1AB-200X 9.5.5.2"
    ::= { tnLldpRemPortIndexEntry   5 }

tnLldpRemPortIndexSysName              OBJECT-TYPE
    SYNTAX     SnmpAdminString (SIZE(0..255))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The string value used to identify the system name of the
         remote system."
    REFERENCE
        "IEEE Std 802.1AB-200X 9.5.6.2"
    ::= { tnLldpRemPortIndexEntry   6 }

tnLldpRemPortIndexSysDesc              OBJECT-TYPE
    SYNTAX     SnmpAdminString (SIZE(0..255))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The string value used to identify the system description
         of the remote system."
    REFERENCE
            "IEEE Std 802.1AB-200X 9.5.7.2"
    ::= { tnLldpRemPortIndexEntry  7 }

tnLldpRemPortIndexSysCapSupported      OBJECT-TYPE
    SYNTAX     LldpSystemCapabilitiesMap
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The bitmap value used to identify which system capabilities
         are supported on the remote system."
    REFERENCE
        "IEEE Std 802.1AB-200X 9.5.8.1"
    ::= { tnLldpRemPortIndexEntry  8 }

tnLldpRemPortIndexSysCapEnabled        OBJECT-TYPE
    SYNTAX     LldpSystemCapabilitiesMap
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The bitmap value used to identify which system capabilities
         are enabled on the remote system."
    REFERENCE
        "IEEE Std 802.1AB-200X 9.5.8.2"
    ::= { tnLldpRemPortIndexEntry  9 }

--==================================================
-- tnLldpRemManAddrPortIndexTable
--
-- Management addresses of the remote system
--

tnLldpRemManAddrPortIndexTable         OBJECT-TYPE
    SYNTAX      SEQUENCE OF TnLldpRemManAddrPortIndexEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Note that this table is same as tnLldpRemManAddrTable except that the order of two
         indices tnLldpRemTimeMark and tnPortPortID are reversed.

         This table contains one or more rows per management address
         information on the remote system learned on a particular port
         contained in the local chassis known to this agent."
    ::= { tnLldpRemoteSystemsData   4 }

tnLldpRemManAddrPortIndexEntry         OBJECT-TYPE
    SYNTAX      TnLldpRemManAddrPortIndexEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Management address information about a particular chassis
            component.  There may be multiple management addresses
            configured on the remote system identified by a particular
            tnLldpRemIndex whose information is received on
            ifIndex and tnLldpRemLocalDestMACAddress of the local system.
            Each management address should have distinct 'management address
            type' (tnLldpRemManAddrSubtype) and 'management address'
            (tnLldpRemManAddr.)

            Entries may be created and deleted in this table by the
            agent."
    INDEX   { tnSysSwitchId,
              tnPortPortID,
              tnLldpRemTimeMark,
              tnLldpRemLocalDestMACAddress,
              tnLldpRemIndex,
              tnLldpRemManAddrSubtype,
              tnLldpRemManAddr
            }
    ::= { tnLldpRemManAddrPortIndexTable 1 }

TnLldpRemManAddrPortIndexEntry             ::= SEQUENCE {
      tnLldpRemManAddrPortIndexIfSubtype   LldpManAddrIfSubtype,
      tnLldpRemManAddrPortIndexIfId        Integer32,
      tnLldpRemManAddrPortIndexOID         OBJECT IDENTIFIER
}

tnLldpRemManAddrPortIndexIfSubtype     OBJECT-TYPE
    SYNTAX      LldpManAddrIfSubtype
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The enumeration value that identifies the interface numbering
         method used for defining the interface number, associated
         with the remote system."
    REFERENCE
        "IEEE 802.1AB-2005 9.5.9.5"
    ::= { tnLldpRemManAddrPortIndexEntry   1 }

tnLldpRemManAddrPortIndexIfId          OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The integer value used to identify the interface number
        regarding the management address component associated with
        the remote system."
    REFERENCE
        "IEEE 802.1AB-2005 9.5.9.6"
    ::= { tnLldpRemManAddrPortIndexEntry   2 }

tnLldpRemManAddrPortIndexOID           OBJECT-TYPE
    SYNTAX      OBJECT IDENTIFIER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The OID value used to identify the type of hardware component
         or protocol entity associated with the management address
         advertised by the remote system agent."
    REFERENCE
        "IEEE 802.1AB-2005 9.5.9.8"
    ::= { tnLldpRemManAddrPortIndexEntry   3 }


-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
--
--   TN-LLDP-MIB Conformance
--

-- tnLldpCompliances             OBJECT IDENTIFIER ::= { tnLldpConformance  1 }
-- tnLldpGroups                  OBJECT IDENTIFIER ::= { tnLldpConformance  2 }
--
-- tnLldpCompliance              MODULE-COMPLIANCE
--     STATUS      current
--     DESCRIPTION
--         "The compliance statement for SNMP entities which implement the LLDP MIB."
--     MODULE this module
--         MANDATORY-GROUPS {
--             tnLldpConfigGroup,
--             tnLldpStatsRxGroup,
--             tnLldpStatsTxGroup,
--             tnLldpLocSysGroup,
--             tnLldpRemSysGroup,
--             tnLldpRemManAddrGroup
--         }
--     ::= { tnLldpCompliances   1 }
--
--
-- MIB groupings
--
-- tnLldpConfigGroup             OBJECT-GROUP
--     OBJECTS {
--         tnLldpTxCreditMax,
--         tnLldpMessageFastTx,
--         tnLldpMessageFastTxInit,
--         tnLldpAdminStatus,
--         tnLldpPortCfgAdminStatus,
--         tnLldpPortCfgNotifyEnable,
--         tnLldpPortCfgTLVsTxEnable,
--         tnLldpPortCfgManAddrTxEnabled,
--         tnLldpPortCfgManAddrSubtype,
--         tnLldpPortCfgManAddress,
--         tnLldpDestMacAddress
--     }
--     STATUS      current
--     DESCRIPTION
--         "The collection of objects which are used to configure the LLDP
--          implementation behavior.
--
--          This group is mandatory for agents which implement the LLDP."
--     ::= { tnLldpGroups   1 }
--
-- tnLldpStatsRxGroup            OBJECT-GROUP
--     OBJECTS {
--         tnLldpStatsRxPortFrameDiscard,
--         tnLldpStatsRxPortFrameErrs,
--         tnLldpStatsRxPortFrames,
--         tnLldpStatsRxPortTLVDiscard,
--         tnLldpStatsRxPortTLVUnknown,
--         tnLldpStatsRxPortAgeouts,
--         tnLldpStatsRxPortTtl
--     }
--     STATUS      current
--     DESCRIPTION
--         "The collection of objects which are used to represent LLDP
--          reception statistics.
--
--          This group is mandatory for agents which implement the LLDP
--          and have the capability of receiving LLDP frames."
--     ::= { tnLldpGroups   2 }
--
-- tnLldpStatsTxGroup            OBJECT-GROUP
--     OBJECTS {
--         tnLldpStatsTxPortFrames,
--         tnLldpStatsTxLLDPDULengthErrs
--     }
--     STATUS      current
--     DESCRIPTION
--         "The collection of objects which are used to represent LLDP
--          transmission statistics.
--
--          This group is mandatory for agents which implement the LLDP
--          and have the capability of transmitting LLDP frames."
--     ::= { tnLldpGroups   3 }
--
-- tnLldpLocSysGroup             OBJECT-GROUP
--     OBJECTS {
--         tnLldpLocPortIdSubtype,
--         tnLldpLocPortId,
--         tnLldpLocPortDesc
--     }
--     STATUS      current
--     DESCRIPTION
--             "The collection of objects which are used to represent LLDP
--             Local System Information.
--
--             This group is mandatory for agents which implement the LLDP
--             and have the capability of transmitting LLDP frames."
--     ::= { tnLldpGroups   4 }
--
-- tnLldpRemSysGroup             OBJECT-GROUP
--     OBJECTS {
--         tnLldpRemChassisIdSubtype,
--         tnLldpRemChassisId,
--         tnLldpRemPortIdSubtype,
--         tnLldpRemPortId,
--         tnLldpRemPortDesc,
--         tnLldpRemSysName,
--         tnLldpRemSysDesc,
--         tnLldpRemSysCapSupported,
--         tnLldpRemSysCapEnabled
--
--     }
--     STATUS      current
--     DESCRIPTION
--         "The collection of objects which are used to represent
--          LLDP Remote Systems Information. The objects represent the
--          information associated with the basic TLV set. Please note
--          that even the agent doesn't implement some of the optional
--          TLVs, it shall recognize all the optional TLV information
--          that the remote system may advertise.
--
--          This group is mandatory for agents which implement the LLDP
--          and have the capability of receiving LLDP frames."
--     ::= { tnLldpGroups   5 }
--
-- tnLldpRemManAddrGroup          OBJECT-GROUP
--     OBJECTS {
--         tnLldpRemManAddrIfSubtype,
--         tnLldpRemManAddrIfId,
--         tnLldpRemManAddrOID
--     }
--     STATUS      current
--     DESCRIPTION
--         "The collection of objects which are used to represent LLDP
--          Remote management address information.
--
--          This group is mandatory for agents which implement the LLDP
--          and have the capability of receiving LLDP frames."
--     ::= { tnLldpGroups   6 }
--
-- tnLldpRemPortIndexGroup          OBJECT-GROUP
--     OBJECTS {
--         tnLldpRemPortIndexChassisIdSubtype,
--         tnLldpRemPortIndexChassisId,
--         tnLldpRemPortIndexPortIdSubtype,
--         tnLldpRemPortIndexPortId
--         tnLldpRemPortIndexPortDesc
--         tnLldpRemPortIndexSysName
--         tnLldpRemPortIndexSysDesc
--         tnLldpRemPortIndexSysCapSupported
--         tnLldpRemPortIndexSysCapEnabled
--     }
--     STATUS      current
--     DESCRIPTION
--         "The collection of objects which are used to represent LLDP
--          Remote Port information.
--
--          This group is mandatory for agents which implement the LLDP
--          and have the capability of receiving LLDP frames."
--     ::= { tnLldpGroups   7 }
--
-- tnLldpRemManAddrPortIndexGroup          OBJECT-GROUP
--     OBJECTS {
--         tnLldpRemManAddrPortIndexIfSubtype,
--         tnLldpRemManAddrPortIndexIfId,
--         tnLldpRemManAddrPortIndexOID
--     }
--     STATUS      current
--     DESCRIPTION
--         "The collection of objects which are used to represent LLDP
--          Remote Mandatory Port information.
--
--          This group is mandatory for agents which implement the LLDP
--          and have the capability of receiving LLDP frames."
--     ::= { tnLldpGroups   8 }
END
