LLDP-EXT-DOT1-V2-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    Unsigned32
        FROM SNMPv2-SMI
    TruthValue,
    TEXTUAL-CONVENTION
        FROM SNMPv2-TC
    SnmpAdminString
        FROM SNMP-FRAMEWORK-MIB
    MODULE-COMPLIANCE,
    OBJECT-GROUP
        FROM SNMPv2-CONF
    ifGeneralInformationGroup
        FROM IF-MIB
    lldpV2Extensions,
    lldpV2LocPortIfIndex,
    lldpV2RemTimeMark, 
    lldpV2RemLocalIfIndex,
    lldpV2RemLocalDestMACAddress,
    lldpV2RemIndex,
    lldpV2PortConfigEntry
        FROM LLDP-V2-MIB
    VlanId
        FROM Q-BRIDGE-MIB
    LldpV2LinkAggStatusMap
        FROM LLDP-V2-TC-MIB;

lldpV2Xdot1MIB MODULE-IDENTITY
    LAST-UPDATED "201103230000Z" -- March 23, 2011 
    ORGANIZATION "IEEE 802.1 Working Group"
    CONTACT-INFO 
           "WG-URL: http://grouper.ieee.org/groups/802/1/index.html
            WG-EMail: STDS-802-1-L@LISTSERV.IEEE.ORG

          Contact: Tony Jeffree
           Postal: C/O IEEE 802.1 Working Group
                   IEEE Standards Association
                   445 Hoes Lane
                   P.O. Box 1331
                   Piscataway
                   NJ 08855-1331
                   USA
           E-mail: STDS-802-1-L@LISTSERV.IEEE.ORG"
    DESCRIPTION
            "The LLDP Management Information Base extension module for
            IEEE 802.1 organizationally defined discovery information.

            In order to assure the uniqueness of the LLDP-V2-MIB,
            lldpV2Xdot1MIB is branched from lldpV2Extensions using an 
            Organizationally Unique Identifier (OUI) value as the node.
            An OUI is a 24 bit globally unique number assigned by the 
            IEEE Registration Authority - see:
            
            http://standards.ieee.org/develop/regauth/oui/index.html

            Unless otherwise indicated, the references in this
            MIB module are to IEEE Std 802.1Q-2011.

            Copyright (C) IEEE (2011).  This version of this MIB module
            is published as Annex D.4.5 of IEEE Std 802.1Q-2011;
            see the standard itself for full legal notices."
            
    REVISION "201103230000Z" -- March 23, 2011

    DESCRIPTION
            "Published as part of IEEE Std 802.1Q-2011 revision.
            This revision contains changes associated with
            relocating the extension MIB from IEEE Std 802.1AB to
            IEEE Std 802.1Q, minor tweaks to the text of the
            DESCRIPTION statement above to fix references to
            IEEE Std 802.1Q, updating of references to refer to
            Annex D, and addition of object definitions for
            Congestion Notification TLVs and corresponding
            compliance statements."

    REVISION "200906080000Z" -- June 08, 2009

    DESCRIPTION
            "Published as part of IEEE Std 802.1AB-2009 revision.
            This revision incorporated changes to the MIB to
            support the use of LLDP with multiple destination MAC
            addresses, and to import the Link Aggregation TLV
            from the 802.3 extension MIB"

-- OUI for IEEE 802.1 is 32962 (00-80-C2) 
   ::= { lldpV2Extensions 32962 }

------------------------------------------------------------------------------
------------------------------------------------------------------------------
--
-- Organizationally Defined Information Extension - IEEE 802.1
-- Definitions to support the basicSet TLV set (Table D-1)
--
------------------------------------------------------------------------------
------------------------------------------------------------------------------

lldpV2Xdot1Objects    OBJECT IDENTIFIER ::= { lldpV2Xdot1MIB 1 }

-- LLDP IEEE 802.1 extension MIB groups
lldpV2Xdot1Config     OBJECT IDENTIFIER ::= { lldpV2Xdot1Objects 1 }
lldpV2Xdot1LocalData  OBJECT IDENTIFIER ::= { lldpV2Xdot1Objects 2 }
lldpV2Xdot1RemoteData OBJECT IDENTIFIER ::= { lldpV2Xdot1Objects 3 }

------------------------------------------------------------------------------
-- IEEE 802.1 - Configuration for the basicSet TLV set
------------------------------------------------------------------------------

--
-- lldpV2Xdot1ConfigPortVlanTable : configure the transmission of the 
--                                Port VLAN-ID TLVs on set of ports.
--

lldpV2Xdot1ConfigPortVlanTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF LldpV2Xdot1ConfigPortVlanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "A table that controls selection of LLDP Port VLAN-ID TLVs
            to be transmitted on individual ports."
    ::= { lldpV2Xdot1Config 1 }

lldpV2Xdot1ConfigPortVlanEntry  OBJECT-TYPE
    SYNTAX      LldpV2Xdot1ConfigPortVlanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "LLDP configuration information that controls the
            transmission of IEEE 802.1 organizationally defined Port
            VLAN-ID TLV on LLDP transmission capable ports.

            This configuration object augments the lldpV2PortConfigEntry of
            the LLDP-MIB, therefore it is only present along with the port
            configuration defined by the associated lldpV2PortConfigEntry
            entry.

            Each active lldpConfigEntry is restored from non-volatile
            storage (along with the corresponding lldpV2PortConfigEntry)
            after a re-initialization of the management system."
    AUGMENTS { lldpV2PortConfigEntry }
    ::= { lldpV2Xdot1ConfigPortVlanTable 1 }

LldpV2Xdot1ConfigPortVlanEntry ::= SEQUENCE {
      lldpV2Xdot1ConfigPortVlanTxEnable  TruthValue
}

lldpV2Xdot1ConfigPortVlanTxEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The lldpV2Xdot1ConfigPortVlanTxEnable, which is defined 
            as a truth value and configured by the network management,
            determines whether the IEEE 802.1 organizationally defined
            port VLAN TLV transmission is allowed on a given LLDP
            transmission capable port.

            The value of this object is restored from non-volatile
            storage after a re-initialization of the management system."
    REFERENCE 
            "9.1.2.1 of IEEE Std 802.1AB"
    DEFVAL  { false }
    ::= { lldpV2Xdot1ConfigPortVlanEntry 1 }


--
-- lldpV2Xdot1ConfigVlanNameTable : configure the transmission of the 
--                                  VLAN name instances on set of ports.
--

lldpV2Xdot1ConfigVlanNameTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF LldpV2Xdot1ConfigVlanNameEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The table that controls selection of LLDP VLAN name TLV
            instances to be transmitted on individual ports."
    ::= { lldpV2Xdot1Config 2 }

lldpV2Xdot1ConfigVlanNameEntry  OBJECT-TYPE
    SYNTAX      LldpV2Xdot1ConfigVlanNameEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "LLDP configuration information that specifies the set of
            ports (represented as a PortList) on which the Local System
            VLAN name instance is transmitted.

            This configuration object augments the lldpV2LocVlanEntry,
            therefore it is only present along with the VLAN Name instance
            contained in the associated lldpV2LocVlanNameEntry entry.

            Each active lldpV2Xdot1ConfigVlanNameEntry is restored
            from non-volatile storage (along with the corresponding
            lldpV2Xdot1LocVlanNameEntry) after a re-initialization of 
            the management system."
    AUGMENTS { lldpV2Xdot1LocVlanNameEntry }
    ::= { lldpV2Xdot1ConfigVlanNameTable 1 }



LldpV2Xdot1ConfigVlanNameEntry ::= SEQUENCE {
      lldpV2Xdot1ConfigVlanNameTxEnable  TruthValue 
}

lldpV2Xdot1ConfigVlanNameTxEnable  OBJECT-TYPE
    SYNTAX        TruthValue
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
            "The boolean value that indicates whether the corresponding
            Local System VLAN name instance is transmitted on the
            port defined by the given lldpV2Xdot1LocVlanNameEntry.

            The value of this object is restored from non-volatile
            storage after a re-initialization of the management system."
    REFERENCE 
            "9.1.2.1 of IEEE Std 802.1AB"
    DEFVAL  { false }
    ::= { lldpV2Xdot1ConfigVlanNameEntry 1 }


--
-- lldpV2Xdot1ConfigProtoVlanTable : configure the transmission of the 
--                                 protocol VLAN instances on set
--                                 of ports.
--

lldpV2Xdot1ConfigProtoVlanTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF LldpV2Xdot1ConfigProtoVlanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The table that controls selection of LLDP Port and Protocol
            VLAN ID TLV instances to be transmitted on individual ports."
    ::= { lldpV2Xdot1Config 3 }

lldpV2Xdot1ConfigProtoVlanEntry  OBJECT-TYPE
    SYNTAX      LldpV2Xdot1ConfigProtoVlanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "LLDP configuration information that specifies the set of
            ports (represented as a PortList) on which the Local System
            Protocol VLAN instance is transmitted.

            This configuration object augments the lldpV2Xdot1LocVlanEntry,
            therefore it is only present along with the Port and
            Protocol VLAN ID instance contained in the associated
            lldpV2Xdot1LocVlanEntry entry.

            Each active lldpV2Xdot1ConfigProtoVlanEntry is restored
            from non-volatile storage (along with the corresponding
            lldpV2Xdot1LocProtoVlanEntry) after a re-initialization of
            the management system."

    AUGMENTS { lldpV2Xdot1LocProtoVlanEntry }
    ::= { lldpV2Xdot1ConfigProtoVlanTable 1 }


LldpV2Xdot1ConfigProtoVlanEntry ::= SEQUENCE {
      lldpV2Xdot1ConfigProtoVlanTxEnable   TruthValue
}

lldpV2Xdot1ConfigProtoVlanTxEnable OBJECT-TYPE
    SYNTAX        TruthValue
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
            "The boolean value that indicates whether the corresponding
            Local System Port and Protocol VLAN instance is
            transmitted on the port defined by the given
            lldpV2Xdot1LocProtoVlanEntry.

            The value of this object is restored from non-volatile
            storage after a re-initialization of the management system."
    REFERENCE 
            "9.1.2.1 of IEEE Std 802.1AB"
    DEFVAL  { false }
    ::= { lldpV2Xdot1ConfigProtoVlanEntry 1 }


--
-- lldpV2Xdot1ConfigProtocolTable : configure the transmission of the 
--                                  protocol instances on set
--                                  of ports.
--

lldpV2Xdot1ConfigProtocolTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF LldpV2Xdot1ConfigProtocolEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The table that controls selection of LLDP Protocol 
            TLV instances to be transmitted on individual ports."
    ::= { lldpV2Xdot1Config 4 }

lldpV2Xdot1ConfigProtocolEntry  OBJECT-TYPE
    SYNTAX      LldpV2Xdot1ConfigProtocolEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "LLDP configuration information that specifies the set of
            ports (represented as a PortList) on which the Local System
            Protocol instance is transmitted.

            This configuration object augments the lldpV2Xdot1LocProtoEntry,
            therefore it is only present along with the Protocol instance
            contained in the associated lldpV2Xdot1LocProtoEntry entry.

            Each active lldpV2Xdot1ConfigProtocolEntry is restored
            from non-volatile storage (along with the corresponding
            lldpV2Xdot1LocProtocolEntry) after a re-initialization of the
            management system."
    AUGMENTS { lldpV2Xdot1LocProtocolEntry }
    ::= { lldpV2Xdot1ConfigProtocolTable 1 }


LldpV2Xdot1ConfigProtocolEntry ::= SEQUENCE {
      lldpV2Xdot1ConfigProtocolTxEnable   TruthValue
}

lldpV2Xdot1ConfigProtocolTxEnable  OBJECT-TYPE
    SYNTAX        TruthValue
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
            "The boolean value that indicates whether the corresponding
            Local System Protocol Identity instance is transmitted
            on the port defined by the given lldpV2Xdot1LocProtocolEntry.

            The value of this object is restored from non-volatile
            storage after a re-initialization of the management system."
    REFERENCE 
            "9.1.2.1 of IEEE Std 802.1AB"
    DEFVAL  { false }
    ::= { lldpV2Xdot1ConfigProtocolEntry 1 }

--
-- lldpV2Xdot1ConfigVidUsageDigestTable: configure the transmission of the
-- VID Usage Digest TLVs on set of ports.
--
lldpV2Xdot1ConfigVidUsageDigestTable OBJECT-TYPE
     SYNTAX SEQUENCE OF LldpV2Xdot1ConfigVidUsageDigestEntry
     MAX-ACCESS not-accessible
     STATUS current
     DESCRIPTION
          "A table that controls selection of LLDP VID Usage Digest TLVs to be
          transmitted on individual ports."
::= { lldpV2Xdot1Config 5 }

lldpV2Xdot1ConfigVidUsageDigestEntry OBJECT-TYPE
     SYNTAX LldpV2Xdot1ConfigVidUsageDigestEntry
     MAX-ACCESS not-accessible
     STATUS current
     DESCRIPTION
          "LLDP configuration information that specifies the set of ports
          (represented as a PortList) on which the local system VID 
          Usage Digest instance will be transmitted.
          This configuration object augments the lldpLocVidUsageDigestEntry, 
          therefore it is only present along with the VID Usage Digest instance 
          contained in the associated lldpV2Xdot1LocVidUsageDigestEntry entry.
          Each active lldpConfigVidUsageDigestEntry must be restored from 
          non-volatile storage and re-created (along with the 
          corresponding lldpV2Xdot1LocVidUsageDigestEntry)
          after a re-initialization of the management system."
     AUGMENTS { lldpV2Xdot1LocVidUsageDigestEntry }
::= { lldpV2Xdot1ConfigVidUsageDigestTable 1 }

LldpV2Xdot1ConfigVidUsageDigestEntry ::= SEQUENCE {
     lldpV2Xdot1ConfigVidUsageDigestTxEnable TruthValue
     }

lldpV2Xdot1ConfigVidUsageDigestTxEnable OBJECT-TYPE
     SYNTAX TruthValue
     MAX-ACCESS read-write
     STATUS current
     DESCRIPTION
          "The boolean value that indicates whether the corresponding 
          Local System VID Usage Digest instance will be transmitted 
          on the port defined by the given lldpV2Xdot1LocVidUsageDigestEntry.
          The value of this object must be restored from non-volatile 
          storage after a reinitialization of the management system."
     REFERENCE
          "9.1.2.1 of IEEE Std 802.1AB"
     DEFVAL { false }
::= { lldpV2Xdot1ConfigVidUsageDigestEntry 1 }


--
-- lldpV2Xdot1ConfigManVidTable : configure the transmission of the
-- Management VID TLVs on set of ports.
--
lldpV2Xdot1ConfigManVidTable OBJECT-TYPE
     SYNTAX SEQUENCE OF LldpV2Xdot1ConfigManVidEntry
     MAX-ACCESS not-accessible
     STATUS current
     DESCRIPTION
          "A table that controls selection of LLDP Management VID 
          TLVs to be transmitted on individual ports."
::= { lldpV2Xdot1Config 6 }

lldpV2Xdot1ConfigManVidEntry OBJECT-TYPE
     SYNTAX LldpV2Xdot1ConfigManVidEntry
     MAX-ACCESS not-accessible
     STATUS current
     DESCRIPTION
          "LLDP configuration information that specifies the set of
          port/destination address pairs on which the Local
          System Management VID will be transmitted.
          This configuration object augments the 
          lldpV2Xdot1LocManVidEntry, therefore it is
          only present along with the Management VID contained
          in the associated lldpV2Xdot1LocManVidEntry entry. 
          Each active lldpV2Xdot1ConfigManVidEntry must be
          restored from non-volatile storage (along with the
          corresponding lldpV2Xdot1LocManVidEntry) after a 
          re-initialization of the management system."
     AUGMENTS { lldpV2Xdot1LocManVidEntry }
::= { lldpV2Xdot1ConfigManVidTable 1 }

LldpV2Xdot1ConfigManVidEntry ::= SEQUENCE {
     lldpV2Xdot1ConfigManVidTxEnable TruthValue
     }

lldpV2Xdot1ConfigManVidTxEnable OBJECT-TYPE
     SYNTAX TruthValue
     MAX-ACCESS read-write
     STATUS current
     DESCRIPTION
          "The lldpV2Xdot1ConfigManVidTxEnable, which is defined as a 
          truth value and configured by the network management, 
          determines whether the IEEE 802.1 organizationally 
          defined Management VID TLV transmission is allowed on a given
          LLDP transmission capable port. 
          The value of this object must be restored from
          non-volatile storage after a re-initialization of the 
          management system."
     REFERENCE
          "9.1.2.1 of IEEE Std 802.1AB"
     DEFVAL { false }
::= { lldpV2Xdot1ConfigManVidEntry 1 }


------------------------------------------------------------------------------
-- IEEE 802.1 - Local System Information
------------------------------------------------------------------------------

--
-- lldpV2Xdot1LocTable - indexed by ifIndex.
--

lldpV2Xdot1LocTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF LldpV2Xdot1LocEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "This table contains one row per port for IEEE 802.1
            organizationally defined LLDP extension on the local system
            known to this agent."
    ::= { lldpV2Xdot1LocalData 1 }

lldpV2Xdot1LocEntry  OBJECT-TYPE
    SYNTAX      LldpV2Xdot1LocEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Information about IEEE 802.1 organizationally defined
            LLDP extension."
    INDEX   { lldpV2LocPortIfIndex }
    ::= { lldpV2Xdot1LocTable 1 }

LldpV2Xdot1LocEntry ::= SEQUENCE {
         lldpV2Xdot1LocPortVlanId       Unsigned32
} 

lldpV2Xdot1LocPortVlanId OBJECT-TYPE
    SYNTAX      Unsigned32(0|1..4094)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The integer value used to identify the port's VLAN identifier
            associated with the local system.   A value of zero shall
            be used if the system either does not know the PVID or does
            not support port-based VLAN operation."
    REFERENCE 
            "D.2.1.1"
    ::= { lldpV2Xdot1LocEntry 1 }



--
-- lldpV2Xdot1LocProtoVlanTable: Port and Protocol VLAN information 
-- re-indexed by ifIndex.
--

lldpV2Xdot1LocProtoVlanTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF LldpV2Xdot1LocProtoVlanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "This table contains one or more rows per Port and Protocol
            VLAN information about the local system."
    ::= { lldpV2Xdot1LocalData 2 }

lldpV2Xdot1LocProtoVlanEntry OBJECT-TYPE
    SYNTAX      LldpV2Xdot1LocProtoVlanEntry 
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Port and protocol VLAN ID Information about a particular
            port component.  There may be multiple port and protocol VLANs,
            identified by a particular lldpV2Xdot1LocProtoVlanId, configured
            on the given port."
    INDEX   { lldpV2LocPortIfIndex,
              lldpV2Xdot1LocProtoVlanId }
    ::= { lldpV2Xdot1LocProtoVlanTable 1 }

LldpV2Xdot1LocProtoVlanEntry ::= SEQUENCE {
      lldpV2Xdot1LocProtoVlanId        Unsigned32,
      lldpV2Xdot1LocProtoVlanSupported TruthValue,
      lldpV2Xdot1LocProtoVlanEnabled   TruthValue
}

lldpV2Xdot1LocProtoVlanId  OBJECT-TYPE
    SYNTAX      Unsigned32(0|1..4094)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The integer value used to identify the port and protocol
            VLANs associated with the given port associated with the
            local system.  A value of zero shall be used if the system
            either does not know the protocol VLAN ID (PPVID) or does
            not support port and protocol VLAN operation."
    REFERENCE 
            "D.2.2.2"
    ::= { lldpV2Xdot1LocProtoVlanEntry 1 }

lldpV2Xdot1LocProtoVlanSupported  OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The truth value used to indicate whether the given port
            (associated with the local system) supports port and protocol
            VLANs."
    REFERENCE 
            "D.2.2.1"
    ::= { lldpV2Xdot1LocProtoVlanEntry 2 }

lldpV2Xdot1LocProtoVlanEnabled  OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The truth value used to indicate whether the port and
            protocol VLANs are enabled on the given port associated with
            the local system."
    REFERENCE 
            "D.2.2.1"
    ::= { lldpV2Xdot1LocProtoVlanEntry 3 }



--
-- lldpV2Xdot1LocVlanNameTable : VLAN name information about the local system
-- indexed by ifIndex.
--

lldpV2Xdot1LocVlanNameTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF LldpV2Xdot1LocVlanNameEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "This table contains one or more rows per IEEE 802.1Q VLAN
            name information on the local system known to this agent."
    ::= { lldpV2Xdot1LocalData 3 }

lldpV2Xdot1LocVlanNameEntry OBJECT-TYPE
    SYNTAX      LldpV2Xdot1LocVlanNameEntry 
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "VLAN name Information about a particular port component.
            There may be multiple VLANs, identified by a particular
            lldpV2Xdot1LocVlanId, configured on the given port."
    INDEX   { lldpV2LocPortIfIndex,
              lldpV2Xdot1LocVlanId }
    ::= { lldpV2Xdot1LocVlanNameTable 1 }

LldpV2Xdot1LocVlanNameEntry ::= SEQUENCE {
      lldpV2Xdot1LocVlanId             VlanId,
      lldpV2Xdot1LocVlanName           SnmpAdminString
}

lldpV2Xdot1LocVlanId  OBJECT-TYPE
    SYNTAX      VlanId
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The integer value used to identify the IEEE 802.1Q 
            VLAN IDs with which the given port is compatible."
    REFERENCE 
            "D.2.3.2"
    ::= { lldpV2Xdot1LocVlanNameEntry 1 }

lldpV2Xdot1LocVlanName  OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE(1..32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The string value used to identify VLAN name identified by the
            Vlan Id associated with the given port on the local system.

            This object should contain the value of the dot1QVLANStaticName
            object (defined in IETF RFC 4363) identified with the given
            lldpV2Xdot1LocVlanId."
    REFERENCE 
            "D.2.3.4"
    ::= { lldpV2Xdot1LocVlanNameEntry 2 }



--
-- lldpV2Xdot1LocProtocolTable : Protocol Identity information 
-- re-indexed by ifIndex and destination address
--

lldpV2Xdot1LocProtocolTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF LldpV2Xdot1LocProtocolEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "This table contains one or more rows per protocol identity
            information on the local system known to this agent."
    REFERENCE 
            "D.2.4"
    ::= { lldpV2Xdot1LocalData 4 }

lldpV2Xdot1LocProtocolEntry  OBJECT-TYPE
    SYNTAX      LldpV2Xdot1LocProtocolEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Information about particular protocols that are accessible
            through the given port component.

            There may be multiple protocols, identified by particular
            lldpV2Xdot1ProtocolIndex, lldpV2LocPortIfIndex"
    REFERENCE 
            "D.2.4"
    INDEX   { lldpV2LocPortIfIndex,
              lldpV2Xdot1LocProtocolIndex }
    ::= { lldpV2Xdot1LocProtocolTable 1 }

LldpV2Xdot1LocProtocolEntry ::= SEQUENCE {
      lldpV2Xdot1LocProtocolIndex Unsigned32,
      lldpV2Xdot1LocProtocolId    OCTET STRING
}


lldpV2Xdot1LocProtocolIndex  OBJECT-TYPE
    SYNTAX      Unsigned32(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 protocol identity."
    ::= { lldpV2Xdot1LocProtocolEntry 1 }

lldpV2Xdot1LocProtocolId  OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (1..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The octet string value used to identify the protocols
            associated with the given port of the local system."
    REFERENCE 
            "D.2.4.3"
    ::= { lldpV2Xdot1LocProtocolEntry 2 }

--
-- lldpV2Xdot1LocVidUsageDigestTable: Table of hash values of
-- system VID Usage Table transmitted
-- via VID Usage Digest TLV.
--


lldpV2Xdot1LocVidUsageDigestTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF LldpV2Xdot1LocVidUsageDigestEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "This table contains one row per ifIndex/
            destination MAC address pair for usage digest
            information on the local system known to this agent."
    REFERENCE 
            "D.2.5"
    ::= { lldpV2Xdot1LocalData 5 }

lldpV2Xdot1LocVidUsageDigestEntry  OBJECT-TYPE
    SYNTAX      LldpV2Xdot1LocVidUsageDigestEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Usage digest information to be transmitted
            through the given port."
    REFERENCE 
            "D.2.5"
    INDEX   { lldpV2LocPortIfIndex }
    ::= { lldpV2Xdot1LocVidUsageDigestTable 1 }

LldpV2Xdot1LocVidUsageDigestEntry ::= SEQUENCE {
      lldpV2Xdot1LocVidUsageDigest Unsigned32
}


lldpV2Xdot1LocVidUsageDigest OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The integer value obtained by applying the CRC32 function 
        to the 128-octet VID Usage Table. A bit of the VID Usage 
        Table contains the value PBB-TE-USAGE (binary 1) if the 
        corresponding element of the MST Configuration Table 
        (IEEE Std 802.1Q 8.9.1) contains the value PBB-TE MSTID (hex FFE)
        and otherwise contains the value NON-PBB-TE-USAGE (binary 0)."
    REFERENCE
        "D.2.5.1"
::= { lldpV2Xdot1LocVidUsageDigestEntry 1 }

--
-- lldpV2Xdot1LocManVidTable: Table of values configured on the Local
-- system for the Management VID, or the value 0 if a Management VID has not
-- been provisioned.
--

lldpV2Xdot1LocManVidTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF LldpV2Xdot1LocManVidEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "This table contains one row per ifIndex/
            destination MAC address pair for usage digest
            information on the local system known to this agent."
    REFERENCE 
            "D.2.6"
    ::= { lldpV2Xdot1LocalData 6 }

lldpV2Xdot1LocManVidEntry  OBJECT-TYPE
    SYNTAX      LldpV2Xdot1LocManVidEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Usage digest information to be transmitted
            through the given port."
    REFERENCE 
            "D.2.6"
    INDEX   { lldpV2LocPortIfIndex }
    ::= { lldpV2Xdot1LocManVidTable 1 }

LldpV2Xdot1LocManVidEntry ::= SEQUENCE {
      lldpV2Xdot1LocManVid Unsigned32
}

lldpV2Xdot1LocManVid OBJECT-TYPE
    SYNTAX Unsigned32 (0|1..4094)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The integer value configured on the Local system for 
        the Management VID, or
        the value 0 if a Management VID has not been provisioned."
    REFERENCE
        "D.2.6.1"
::= { lldpV2Xdot1LocManVidEntry 1 }


------------------------------------------------------------------------------
-- IEEE 802.1 - Local System Information - Link Aggregation
------------------------------------------------------------------------------

---
---
--- lldpV2Xdot1LocLinkAggTable: Link Aggregation Information Table
---
---
lldpV2Xdot1LocLinkAggTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF LldpV2Xdot1LocLinkAggEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "This table contains one row per port of link aggregation 
            information (as a part of the LLDP 802.1 organizational
            extension) on the local system known to this agent."
    ::= { lldpV2Xdot1LocalData 7 }

lldpV2Xdot1LocLinkAggEntry OBJECT-TYPE
    SYNTAX      LldpV2Xdot1LocLinkAggEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Link Aggregation information about a particular port
            component."
    INDEX   { lldpV2LocPortIfIndex }
    ::= { lldpV2Xdot1LocLinkAggTable 1 }

LldpV2Xdot1LocLinkAggEntry ::= SEQUENCE {
      lldpV2Xdot1LocLinkAggStatus       LldpV2LinkAggStatusMap,
      lldpV2Xdot1LocLinkAggPortId       Unsigned32
} 

lldpV2Xdot1LocLinkAggStatus OBJECT-TYPE
    SYNTAX      LldpV2LinkAggStatusMap
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The bitmap value contains the link aggregation capabilities
            and the current aggregation status of the link."
    REFERENCE 
            "D.2.7.1"
    ::= { lldpV2Xdot1LocLinkAggEntry 1 }

lldpV2Xdot1LocLinkAggPortId OBJECT-TYPE
    SYNTAX      Unsigned32(0|1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object contains the IEEE 802.1 aggregated port
            identifier, aAggPortID (IEEE Std 802.1AX, 6.3.2.1.1),
            derived from the ifNumber of the  ifIndex for the port
            component in link aggregation.

            If the port is not in link aggregation state and/or it
            does not support link aggregation, this value should be set
            to zero."
    REFERENCE 
            "D.2.7.1"
    ::= { lldpV2Xdot1LocLinkAggEntry 2 }



------------------------------------------------------------------------------
-- IEEE 802.1 - Remote System Information
------------------------------------------------------------------------------

--
-- lldpV2Xdot1RemTable - re-indexed for ifIndex and destination MAC address
--

lldpV2Xdot1RemTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF LldpV2Xdot1RemEntry
    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 lldpV2Xdot1RemEntry is present for
            each local port, or it may choose to maintain multiple
            lldpV2Xdot1RemEntries for the same local port."
    ::= { lldpV2Xdot1RemoteData 1 }

lldpV2Xdot1RemEntry OBJECT-TYPE
    SYNTAX      LldpV2Xdot1RemEntry 
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Information about a particular port component."
    INDEX   { lldpV2RemTimeMark,
              lldpV2RemLocalIfIndex,
              lldpV2RemLocalDestMACAddress,
              lldpV2RemIndex }
    ::= { lldpV2Xdot1RemTable 1 }

LldpV2Xdot1RemEntry ::= SEQUENCE {
            lldpV2Xdot1RemPortVlanId           Unsigned32
}

lldpV2Xdot1RemPortVlanId OBJECT-TYPE
    SYNTAX      Unsigned32(0|1..4094)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The integer value used to identify the port's VLAN identifier
            associated with the remote system.  if the remote system
            either does not know the PVID or does not support port-based
            VLAN operation, the value of lldpV2Xdot1RemPortVlanId should
            be zero."
    REFERENCE 
            "D.2.1.1"
    ::= { lldpV2Xdot1RemEntry 1 }



--
-- lldpV2Xdot1RemProtoVlanTable - re-indexed by ifIndex and 
-- destination MAC address
--

lldpV2Xdot1RemProtoVlanTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF LldpV2Xdot1RemProtoVlanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "This table contains one or more rows per Port and Protocol
            VLAN information about the remote system, received on the
            given port."
    ::= { lldpV2Xdot1RemoteData 2 }

lldpV2Xdot1RemProtoVlanEntry OBJECT-TYPE
    SYNTAX      LldpV2Xdot1RemProtoVlanEntry 
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Port and protocol VLAN name Information about a particular
            port component.  There may be multiple protocol VLANs,
            identified by a particular lldpV2Xdot1RemProtoVlanId, configured
            on the remote system."
    INDEX   { lldpV2RemTimeMark,
              lldpV2RemLocalIfIndex,
              lldpV2RemLocalDestMACAddress,
              lldpV2RemIndex,
              lldpV2Xdot1RemProtoVlanId }
    ::= { lldpV2Xdot1RemProtoVlanTable 1 }

LldpV2Xdot1RemProtoVlanEntry ::= SEQUENCE {
            lldpV2Xdot1RemProtoVlanId          Unsigned32,
            lldpV2Xdot1RemProtoVlanSupported   TruthValue,
            lldpV2Xdot1RemProtoVlanEnabled     TruthValue
}

lldpV2Xdot1RemProtoVlanId  OBJECT-TYPE
    SYNTAX      Unsigned32(0|1..4094)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The integer value used to identify the port and protocol
            VLANs associated with the given port associated with the
            remote system.

            If port and protocol VLANs are not supported on the given
            port associated with the remote system, or if the port is
            not enabled with any port and protocol VLAN, the value of
            lldpV2Xdot1RemProtoVlanId should be zero."
    REFERENCE 
            "D.2.2.2"
    ::= { lldpV2Xdot1RemProtoVlanEntry 1 }

lldpV2Xdot1RemProtoVlanSupported  OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The truth value used to indicate whether the given port
            (associated with the remote system) is capable of supporting
            port and protocol VLANs."
    REFERENCE 
            "D.2.2.1"
    ::= { lldpV2Xdot1RemProtoVlanEntry 2 }

lldpV2Xdot1RemProtoVlanEnabled  OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The truth value used to indicate whether the port and
            protocol VLANs are enabled on the given port associated with
            the remote system."
    REFERENCE 
            "D.2.2.1"
    ::= { lldpV2Xdot1RemProtoVlanEntry 3 }



-- 
-- lldpV2Xdot1RemVlanNameTable : VLAN name information of the remote 
--                               systems
-- Re-indexed by ifIndex and destination MAC address
--

lldpV2Xdot1RemVlanNameTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF LldpV2Xdot1RemVlanNameEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "This table contains one or more rows per IEEE 802.1Q VLAN
            name information about the remote system, received on the
            given port."
    REFERENCE 
            "D.2.3"
    ::= { lldpV2Xdot1RemoteData 3 }

lldpV2Xdot1RemVlanNameEntry OBJECT-TYPE
    SYNTAX      LldpV2Xdot1RemVlanNameEntry 
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "VLAN name Information about a particular port component.
            There may be multiple VLANs, identified by a particular
            lldpV2Xdot1RemVlanId, received on the given port."
    INDEX   { lldpV2RemTimeMark,
              lldpV2RemLocalIfIndex,
              lldpV2RemLocalDestMACAddress,
              lldpV2RemIndex,
              lldpV2Xdot1RemVlanId }
    ::= { lldpV2Xdot1RemVlanNameTable 1 }

LldpV2Xdot1RemVlanNameEntry ::= SEQUENCE {
            lldpV2Xdot1RemVlanId       VlanId,
            lldpV2Xdot1RemVlanName     SnmpAdminString
}


lldpV2Xdot1RemVlanId  OBJECT-TYPE
    SYNTAX      VlanId
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The integer value used to identify the IEEE 802.1Q 
            VLAN IDs with which the given port of the remote system
            is compatible."
    REFERENCE 
            "D.2.3.2"
    ::= { lldpV2Xdot1RemVlanNameEntry 1 }

lldpV2Xdot1RemVlanName  OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE(1..32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The string value used to identify VLAN name identified by the 
            VLAN Id associated with the remote system."
    REFERENCE 
            "D.2.3.4"
    ::= { lldpV2Xdot1RemVlanNameEntry 2 }



--
-- lldpV2Xdot1RemProtocolTable : Protocol information of the remote systems
-- Re-indexed by ifIndex and destination MAC address
--

lldpV2Xdot1RemProtocolTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF LldpV2Xdot1RemProtocolEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "This table contains one or more rows per protocol information
            about the remote system, received on the given port."
    ::= { lldpV2Xdot1RemoteData 4 }

lldpV2Xdot1RemProtocolEntry  OBJECT-TYPE
    SYNTAX      LldpV2Xdot1RemProtocolEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Protocol information about a particular port component.
            There may be multiple protocols, identified by a particular
            lldpV2Xdot1ProtocolIndex, received on the given port."
    INDEX   { lldpV2RemTimeMark,
              lldpV2RemLocalIfIndex,
              lldpV2RemLocalDestMACAddress,
              lldpV2RemIndex,
              lldpV2Xdot1RemProtocolIndex }
    ::= { lldpV2Xdot1RemProtocolTable 1 }

LldpV2Xdot1RemProtocolEntry ::= SEQUENCE {
            lldpV2Xdot1RemProtocolIndex     Unsigned32,
            lldpV2Xdot1RemProtocolId        OCTET STRING
}

lldpV2Xdot1RemProtocolIndex  OBJECT-TYPE
    SYNTAX      Unsigned32(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 protocol identity."
    ::= { lldpV2Xdot1RemProtocolEntry 1 }

lldpV2Xdot1RemProtocolId  OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (1..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The octet string value used to identify the protocols
            associated with the given port of remote system."
    REFERENCE 
            "D.2.4.3"
    ::= { lldpV2Xdot1RemProtocolEntry 2 }



--
-- lldpV2Xdot1RemVidUsageDigestTable: Table of hash values of
-- system VID Usage Table received
-- via VID Usage Digest TLV.
--


lldpV2Xdot1RemVidUsageDigestTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF LldpV2Xdot1RemVidUsageDigestEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "This table contains one row per ifIndex/
            destination MAC address pair for usage digest
            information received by the local system."
    REFERENCE 
            "D.2.5"
    ::= { lldpV2Xdot1RemoteData 5 }

lldpV2Xdot1RemVidUsageDigestEntry  OBJECT-TYPE
    SYNTAX      LldpV2Xdot1RemVidUsageDigestEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Usage digest information received on
            the given port/destination address pair."
    REFERENCE 
            "D.2.5"
    INDEX   { lldpV2RemTimeMark,
              lldpV2RemLocalIfIndex,
              lldpV2RemLocalDestMACAddress }
    ::= { lldpV2Xdot1RemVidUsageDigestTable 1 }

LldpV2Xdot1RemVidUsageDigestEntry ::= SEQUENCE {
      lldpV2Xdot1RemVidUsageDigest  Unsigned32
}


lldpV2Xdot1RemVidUsageDigest OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The integer value obtained by applying the CRC32 function 
        to the 128-octet VID Usage Table. A bit of the VID Usage 
        Table contains the value PBB-TE-USAGE (binary 1) if the 
        corresponding element of the MST Configuration Table 
        (IEEE Std 802.1Q 8.9.1) contains the value PBB-TE MSTID (hex FFE)
        and otherwise contains the value NON-PBB-TE-USAGE (binary 0)."
    REFERENCE
        "D.2.5.1"
::= { lldpV2Xdot1RemVidUsageDigestEntry 1 }

--
-- lldpV2Xdot1RemManVidTable: Table of values configured on remote
-- systems for the Management VID, or the value 0 if a Management VID has not
-- been provisioned.
--

lldpV2Xdot1RemManVidTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF LldpV2Xdot1RemManVidEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "This table contains one row per ifIndex/
            destination MAC address pair for management VID
            information received from remote systems."
    REFERENCE 
            "D.2.6"
    ::= { lldpV2Xdot1RemoteData 6 }

lldpV2Xdot1RemManVidEntry  OBJECT-TYPE
    SYNTAX      LldpV2Xdot1RemManVidEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Management VID information received
            through the given port/destination address pair."
    REFERENCE 
            "D.2.6"
    INDEX   { lldpV2RemTimeMark,
              lldpV2RemLocalIfIndex,
              lldpV2RemLocalDestMACAddress }
    ::= { lldpV2Xdot1RemManVidTable 1 }

LldpV2Xdot1RemManVidEntry ::= SEQUENCE {
      lldpV2Xdot1RemManVid            Unsigned32
}

lldpV2Xdot1RemManVid OBJECT-TYPE
    SYNTAX Unsigned32 (0|1..4094)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The integer value configured on a system for 
        the Management VID, or
        the value 0 if a Management VID has not been provisioned."
    REFERENCE
        "D.2.6.1"
::= { lldpV2Xdot1RemManVidEntry 1 }



------------------------------------------------------------------------------
-- Remote System Information - Link Aggregation
------------------------------------------------------------------------------

---
---
--- lldpV2Xdot1RemLinkAggTable: Link Aggregation Information Table
---
---
lldpV2Xdot1RemLinkAggTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF LldpV2Xdot1RemLinkAggEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "This table contains port link aggregation information
            (as a part of the LLDP IEEE 802.1 organizational extension)
            of the remote system."
    ::= { lldpV2Xdot1RemoteData 7 }

lldpV2Xdot1RemLinkAggEntry OBJECT-TYPE
    SYNTAX      LldpV2Xdot1RemLinkAggEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Link Aggregation information about remote system's port
            component."
    INDEX   { lldpV2RemTimeMark,
              lldpV2RemLocalIfIndex,
              lldpV2RemLocalDestMACAddress,
              lldpV2RemIndex }
    ::= { lldpV2Xdot1RemLinkAggTable 1 }

LldpV2Xdot1RemLinkAggEntry ::= SEQUENCE {
            lldpV2Xdot1RemLinkAggStatus        LldpV2LinkAggStatusMap,
            lldpV2Xdot1RemLinkAggPortId        Unsigned32
} 

lldpV2Xdot1RemLinkAggStatus OBJECT-TYPE
    SYNTAX      LldpV2LinkAggStatusMap
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The bitmap value contains the link aggregation capabilities
            and the current aggregation status of the link."
    REFERENCE 
            "D.2.7.1"
    ::= { lldpV2Xdot1RemLinkAggEntry 1 }

lldpV2Xdot1RemLinkAggPortId OBJECT-TYPE
    SYNTAX      Unsigned32(0|1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object contains the IEEE 802.1 aggregated port
            identifier, aAggPortID (IEEE Std 802.1AX, 6.3.2.1.1),
            derived from the ifNumber of the  ifIndex for the port
            component associated with the remote system.

            If the remote port is not in link aggregation state and/or
            it does not support link aggregation, this value should be
            zero."
    REFERENCE 
            "D.2.7.1"
    ::= { lldpV2Xdot1RemLinkAggEntry 2 }


------------------------------------------------------------------------------
-- Conformance Information for the basicSet TLV set
------------------------------------------------------------------------------

lldpV2Xdot1Conformance OBJECT IDENTIFIER ::= { lldpV2Xdot1MIB 2 }
lldpV2Xdot1Compliances OBJECT IDENTIFIER ::= { lldpV2Xdot1Conformance 1 }
lldpV2Xdot1Groups      OBJECT IDENTIFIER ::= { lldpV2Xdot1Conformance 2 }

-- compliance statements


lldpV2Xdot1TxRxCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "A compliance statement for SNMP entities that implement
            the IEEE 802.1 organizationally defined LLDP extension MIB.

            This group is mandatory for all agents that implement the 
            LLDP 802.1 organizational extension in TX and/or RX mode
            for the basicSet TLV set.

            This version defines compliance requirements for
            V2 of the LLDP MIB."
    MODULE  -- this module
        MANDATORY-GROUPS { lldpV2Xdot1ConfigGroup, 
                           ifGeneralInformationGroup
        }
    ::= { lldpV2Xdot1Compliances 1 }


lldpV2Xdot1TxCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "A compliance statement for SNMP entities that implement
            the IEEE 802.1 organizationally defined LLDP extension MIB.

            This group is mandatory for agents that implement the 
            LLDP 802.1 organizational extension in the RX mode
            for the basicSet TLV set.

            This version defines compliance requirements for
            V2 of the LLDP MIB."
    MODULE  -- this module
        MANDATORY-GROUPS { lldpV2Xdot1LocSysGroup }

    ::= { lldpV2Xdot1Compliances 2 }

lldpV2Xdot1RxCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "A compliance statement for SNMP entities that implement
            the IEEE 802.1 organizationally defined LLDP extension MIB.

            This group is mandatory for agents that implement the 
            LLDP 802.1 organizational extension in the RX mode
            for the basicSet TLV set.

            This version defines compliance requirements for
            V2 of the LLDP MIB."
    MODULE  -- this module
        MANDATORY-GROUPS { lldpV2Xdot1RemSysGroup }

    ::= { lldpV2Xdot1Compliances 3 }

-- MIB groupings for the basicSet TLV set

lldpV2Xdot1ConfigGroup    OBJECT-GROUP
    OBJECTS {
        lldpV2Xdot1ConfigPortVlanTxEnable,
        lldpV2Xdot1ConfigVlanNameTxEnable,
        lldpV2Xdot1ConfigProtoVlanTxEnable,
        lldpV2Xdot1ConfigProtocolTxEnable,
        lldpV2Xdot1ConfigVidUsageDigestTxEnable,
        lldpV2Xdot1ConfigManVidTxEnable
    }
    STATUS  current
    DESCRIPTION
            "The collection of objects which are used to configure the
            IEEE 802.1 organizationally defined LLDP extension
            implementation behavior for the basicSet TLV set."
    ::= { lldpV2Xdot1Groups 1 }

lldpV2Xdot1LocSysGroup  OBJECT-GROUP
    OBJECTS {
        lldpV2Xdot1LocPortVlanId,
        lldpV2Xdot1LocProtoVlanSupported,
        lldpV2Xdot1LocProtoVlanEnabled,
        lldpV2Xdot1LocVlanName,
        lldpV2Xdot1LocProtocolId,
        lldpV2Xdot1LocVidUsageDigest,
        lldpV2Xdot1LocManVid,
        lldpV2Xdot1LocLinkAggStatus,
        lldpV2Xdot1LocLinkAggPortId
    }
    STATUS  current
    DESCRIPTION
            "The collection of objects which are used to represent 
            IEEE 802.1 organizationally defined LLDP extension associated
            with the Local Device Information for the basicSet TLV set."
    ::= { lldpV2Xdot1Groups 2 }

lldpV2Xdot1RemSysGroup  OBJECT-GROUP
    OBJECTS {
        lldpV2Xdot1RemPortVlanId,
        lldpV2Xdot1RemProtoVlanSupported,
        lldpV2Xdot1RemProtoVlanEnabled,
        lldpV2Xdot1RemVlanName,
        lldpV2Xdot1RemProtocolId,
        lldpV2Xdot1RemVidUsageDigest,
        lldpV2Xdot1RemManVid,
        lldpV2Xdot1RemLinkAggStatus,
        lldpV2Xdot1RemLinkAggPortId
    }
    STATUS  current
    DESCRIPTION
            "The collection of objects which are used to represent LLDP
            802.1 organizational extension Remote Device Information
            for the basicSet TLV set."
    ::= { lldpV2Xdot1Groups 3 }

------------------------------------------------------------------------------
------------------------------------------------------------------------------
--
-- Organizationally Defined Information Extension - IEEE 802.1
-- Definitions to support the cnSet TLV set (Table D-1)
-- for Congestion Notification
--
------------------------------------------------------------------------------
------------------------------------------------------------------------------

lldpXdot1CnMIB OBJECT IDENTIFIER ::= { lldpV2Xdot1MIB 3 }
lldpXdot1CnObjects OBJECT IDENTIFIER ::= { lldpXdot1CnMIB 1 }

-- CN 802.1 MIB Extension groups

lldpXdot1CnConfig OBJECT IDENTIFIER ::= { lldpXdot1CnObjects 1 }
lldpXdot1CnLocalData OBJECT IDENTIFIER ::= { lldpXdot1CnObjects 2 }
lldpXdot1CnRemoteData OBJECT IDENTIFIER ::= { lldpXdot1CnObjects 3 }

-------------------------------------------------------------------
-- Textual conventions for Congestion Notification
-------------------------------------------------------------------

LldpV2CnBitVector ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
            "This TC describes a bit vector used in the Congestion
            Notification objects. Each bit represents a Boolean status
            associated with a priority code point. A bit value of 0
            represents FALSE, 1 represents TRUE.

            The bit 'pri0status(0)' indicates the status for priority 0
            The bit 'pri1status(1)' indicates the status for priority 1
            The bit 'pri2status(2)' indicates the status for priority 2
            The bit 'pri3status(3)' indicates the status for priority 3
            The bit 'pri4status(4)' indicates the status for priority 4
            The bit 'pri5status(5)' indicates the status for priority 5
            The bit 'pri6status(6)' indicates the status for priority 6
            The bit 'pri7status(7)' indicates the status for priority 7"

    SYNTAX  BITS {
            pri0status(0),
            pri1status(1),
            pri2status(2),
            pri3status(3),
            pri4status(4),
            pri5status(5),
            pri6status(6),
            pri7status(7)
    }

-------------------------------------------------------------------
-- IEEE 802.1 - Congestion Notification Configuration
-------------------------------------------------------------------

--
--  lldpXdot1CnConfigCnTable : configure the 
--  transmission of the Congestion Notification TLV on a set of ports
--

lldpXdot1CnConfigCnTable OBJECT-TYPE
    SYNTAX        SEQUENCE OF LldpXdot1CnConfigCnEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "A table that controls selection of Congestion Notification
         TLVs to be transmitted on individual ports."
    ::= { lldpXdot1CnConfig 1 }

lldpXdot1CnConfigCnEntry OBJECT-TYPE
    SYNTAX        LldpXdot1CnConfigCnEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "LLDP configuration information that controls the
        transmission of IEEE 802.1 organizationally defined 
        Congestion Notification TLV on LLDP transmission capable ports.

        This configuration object augments the lldpV2PortConfigEntry of
        the LLDP-MIB, therefore it is only present along with the port
        configuration defined by the associated lldpV2PortConfigEntry
        entry.

        Each active lldpConfigEntry is restored from non-volatile
        storage (along with the corresponding lldpV2PortConfigEntry)
        after a re-initialization of the management system."
    AUGMENTS      { lldpV2PortConfigEntry }
    ::= { lldpXdot1CnConfigCnTable 1 }

LldpXdot1CnConfigCnEntry ::= SEQUENCE {
    lldpXdot1CnConfigCnTxEnable TruthValue
}

lldpXdot1CnConfigCnTxEnable OBJECT-TYPE
    SYNTAX        TruthValue
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION 
        "The lldpXdot1CnConfigCnTxEnable, which is
        defined as a truth value and configured by the network 
        management, determines whether the IEEE 802.1 organizationally
        defined Congestion Notification TLV transmission is allowed on a 
        given LLDP transmission capable port.

        The value of this object is restored from non-volatile
        storage after a re-initialization of the management system."
    REFERENCE
        "D.2.8"
    DEFVAL         { false }
    ::= { lldpXdot1CnConfigCnEntry 1 }

------------------------------------------------------------------------
-- IEEE 802.1 - Congestion Notification Local System Information
------------------------------------------------------------------------

---
---
--- lldpV2Xdot1LocCnTable: Port Extension Information Table
---
---
lldpV2Xdot1LocCnTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF LldpV2Xdot1LocCnEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "This table contains one row per port of Congestion
            Notification information (as a part of the LLDP 
            802.1 organizational extension) on the local system
            known to this agent."
    ::= { lldpXdot1CnLocalData 1 }

lldpV2Xdot1LocCnEntry OBJECT-TYPE
    SYNTAX      LldpV2Xdot1LocCnEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Congestion Notification information about a 
            particular port component."
    INDEX   { lldpV2LocPortIfIndex }
    ::= { lldpV2Xdot1LocCnTable 1 }

LldpV2Xdot1LocCnEntry ::= SEQUENCE {
      lldpV2Xdot1LocCNPVIndicators    LldpV2CnBitVector,
      lldpV2Xdot1LocReadyIndicators   LldpV2CnBitVector
} 

lldpV2Xdot1LocCNPVIndicators OBJECT-TYPE
    SYNTAX      LldpV2CnBitVector
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object contains the CNPV indicators
            for the Port."
    REFERENCE 
            "D.2.8.3"
    ::= { lldpV2Xdot1LocCnEntry 1 }

lldpV2Xdot1LocReadyIndicators OBJECT-TYPE
    SYNTAX      LldpV2CnBitVector
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object contains the Ready indicators
            for the Port."
    REFERENCE 
            "D.2.8.4"
    ::= { lldpV2Xdot1LocCnEntry 2 }

------------------------------------------------------------------------
-- IEEE 802.1 - Congestion Notification Remote System Information
------------------------------------------------------------------------

---
---
--- lldpV2Xdot1RemCnTable: Port Extension Information Table
---
---
lldpV2Xdot1RemCnTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF LldpV2Xdot1RemCnEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "This table contains Congestion Notification information
            (as a part of the LLDP IEEE 802.1 organizational extension)
            of the remote system."
    ::= { lldpXdot1CnRemoteData 1 }

lldpV2Xdot1RemCnEntry OBJECT-TYPE
    SYNTAX      LldpV2Xdot1RemCnEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Port Extension information about remote systems port
            component."
    INDEX   { lldpV2RemTimeMark,
              lldpV2RemLocalIfIndex,
              lldpV2RemLocalDestMACAddress,
              lldpV2RemIndex }
    ::= { lldpV2Xdot1RemCnTable 1 }

LldpV2Xdot1RemCnEntry ::= SEQUENCE {
      lldpV2Xdot1RemCNPVIndicators    LldpV2CnBitVector,
      lldpV2Xdot1RemReadyIndicators   LldpV2CnBitVector
} 

lldpV2Xdot1RemCNPVIndicators OBJECT-TYPE
    SYNTAX      LldpV2CnBitVector
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object contains the CNPV indicators
            for the Port."
    REFERENCE 
            "D.2.8.3"
    ::= { lldpV2Xdot1RemCnEntry 1 }

lldpV2Xdot1RemReadyIndicators OBJECT-TYPE
    SYNTAX      LldpV2CnBitVector
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object contains the Ready indicators
            for the Port."
    REFERENCE 
            "D.2.8.4"
    ::= { lldpV2Xdot1RemCnEntry 2 }

------------------------------------------------------------------------
-- IEEE 802.1 - Congestion Notification Conformance Information
------------------------------------------------------------------------

lldpXdot1CnConformance OBJECT IDENTIFIER ::= { lldpV2Xdot1MIB 4 }

lldpXdot1CnCompliances OBJECT IDENTIFIER ::= { lldpXdot1CnConformance 1 }
lldpXdot1CnGroups OBJECT IDENTIFIER ::= { lldpXdot1CnConformance 2 }

--
-- Congestion Notification - Compliance Statements
--

lldpXdot1CnCompliance MODULE-COMPLIANCE
    STATUS        current
    DESCRIPTION
         "A compliance statement for SNMP entities that implement
         the IEEE 802.1 organizationally defined Congestion
         Notification LLDP extension MIB.

         This group is mandatory for agents that implement the 
         Congestion Notification cnSet TLV set."
    MODULE        -- this module
        MANDATORY-GROUPS  { lldpXdot1CnGroup, 
                            ifGeneralInformationGroup }
    ::= { lldpXdot1CnCompliances 1 }


--
-- Congestion Notification - MIB groupings
--

lldpXdot1CnGroup  OBJECT-GROUP
    OBJECTS {
        lldpXdot1CnConfigCnTxEnable,
        lldpV2Xdot1LocCNPVIndicators,
        lldpV2Xdot1LocReadyIndicators,
        lldpV2Xdot1RemCNPVIndicators,
        lldpV2Xdot1RemReadyIndicators
    }
    STATUS  current
    DESCRIPTION
        "The collection of objects that support the
        Congestion Notification cnSet TLV set."
    ::= { lldpXdot1CnGroups 1 }


END