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

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    Unsigned32
        FROM SNMPv2-SMI
    TruthValue,
    MacAddress
        FROM SNMPv2-TC
    MODULE-COMPLIANCE,
    OBJECT-GROUP
        FROM SNMPv2-CONF
    ifGeneralInformationGroup
        FROM IF-MIB
    lldpXdot1StandAloneExtensions
        FROM LLDP-EXT-DOT1-EVB-EXTENSIONS-MIB
    lldpV2Extensions,
    lldpV2LocPortIfIndex,
    lldpV2RemTimeMark, 
    lldpV2RemLocalIfIndex,
    lldpV2RemLocalDestMACAddress,
    lldpV2RemIndex,
    lldpV2PortConfigEntry
        FROM LLDP-V2-MIB;

lldpXDot1PEExtensions MODULE-IDENTITY
    LAST-UPDATED "201201230000Z" -- January 23, 2012 
    ORGANIZATION "IEEE 802.1 Working Group"
    CONTACT-INFO 
           "WG-URL: http://www.ieee802.org/1/
            WG-EMail: stds-802-1-L@IEEE.ORG

          Contact: Tony Jeffree
           Postal: C/O IEEE 802.1 Working Group
                   IEEE Standards Association
                   445 Hoes Lane
                   Piscataway
                   NJ 08854
                   USA
           E-mail: stds-802-1-L@IEEE.ORG"
    DESCRIPTION
            "The LLDP Management Information Base extension module for
            IEEE 802.1 organizationally defined discovery information 
            to support Port Extension.

            This MIB module is rooted under the 
            lldpXdot1StandAloneExtensions OID arc, in order to allow 
            it to be defined independently of other 802.1 LLDP 
            extension MIBs.

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

            Copyright (C) IEEE.  This version of this MIB module
            is published as Annex B.5 of IEEE Std 802.1BR-2012;
            see the standard itself for full legal notices."

    REVISION "201201230000Z" -- January 23, 2012 
    DESCRIPTION
            "Initial version published as part of IEEE Std. 802.1BR-2012"
           
    ::= { lldpXdot1StandAloneExtensions 2 }
-----------------------------------------------------------------------
-----------------------------------------------------------------------
--
-- Organizationally Defined Information Extension - IEEE 802.1
-- Definitions to support Port Extension
-- peSet TLV set (IEEE Std 802.1Q Table D-1)
--
-----------------------------------------------------------------------
-----------------------------------------------------------------------

lldpXdot1PeMIB OBJECT IDENTIFIER 
    ::= { lldpXDot1PEExtensions 1 }
lldpXdot1PeObjects OBJECT IDENTIFIER ::= { lldpXdot1PeMIB 1 }

-- Port Extension 802.1 MIB Extension groups

lldpXdot1PeConfig     OBJECT IDENTIFIER ::= { lldpXdot1PeObjects 1 }
lldpXdot1PeLocalData  OBJECT IDENTIFIER ::= { lldpXdot1PeObjects 2 }
lldpXdot1PeRemoteData OBJECT IDENTIFIER ::= { lldpXdot1PeObjects 3 }

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

--
-- lldpV2Xdot1PeConfigPortExtensionTable : configure the transmission
-- of the Port Extension TLVs on a set of ports.
--
lldpXdot1PeConfigPortExtensionTable OBJECT-TYPE
     SYNTAX SEQUENCE OF LldpXdot1PeConfigPortExtensionEntry
     MAX-ACCESS not-accessible
     STATUS current
     DESCRIPTION
          "A table that controls selection of LLDP Port Extension 
          TLVs to be transmitted on individual ports."
::= { lldpXdot1PeConfig 1 }

lldpXdot1PeConfigPortExtensionEntry OBJECT-TYPE
     SYNTAX LldpXdot1PeConfigPortExtensionEntry
     MAX-ACCESS not-accessible
     STATUS current
     DESCRIPTION
          "LLDP configuration information that specifies Port
          Exension configuration.
          This configuration object augments the 
          lldpV2Xdot1LocPortExtensionEntry, therefore it is
          only present along with the associated 
          lldpV2Xdot1LocPortExtensionEntry entry. 
          Each active lldpV2Xdot1ConfigPortExensionEntry must be
          restored from non-volatile storage (along with the
          corresponding lldpV2Xdot1LocPortExtensionEntry) after a 
          re-initialization of the management system."
     AUGMENTS      { lldpV2PortConfigEntry }
::= { lldpXdot1PeConfigPortExtensionTable 1 }

LldpXdot1PeConfigPortExtensionEntry ::= SEQUENCE {
     lldpXdot1PeConfigPortExtensionTxEnable TruthValue
     }

lldpXdot1PeConfigPortExtensionTxEnable OBJECT-TYPE
     SYNTAX TruthValue
     MAX-ACCESS read-write
     STATUS current
     DESCRIPTION
          "The lldpXdot1PeConfigPortExtensionTxEnable, which is
          defined as a truth value and configured by the network
          management, determines whether the IEEE 802.1 
          organizationally defined Port Extension 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
          "D.8 of 802.1Q"
     DEFVAL { true }
::= { lldpXdot1PeConfigPortExtensionEntry 1 }

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

lldpXdot1PeLocPortExtensionEntry OBJECT-TYPE
    SYNTAX      LldpXdot1PeLocPortExtensionEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Port Extension information about a particular 
            Port Extender Port."
    INDEX   { lldpV2LocPortIfIndex }
    ::= { lldpXdot1PeLocPortExtensionTable 1 }

LldpXdot1PeLocPortExtensionEntry ::= SEQUENCE {
      lldpXdot1PeLocPECascadePortPriority  Unsigned32,
      lldpXdot1PeLocPEAddress              MacAddress,
      lldpXdot1PeLocPECSPAddress           MacAddress
} 

lldpXdot1PeLocPECascadePortPriority OBJECT-TYPE
    SYNTAX      Unsigned32 (0..255)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "Contains the cascade port priority."
    REFERENCE 
            "D.8"
    ::= { lldpXdot1PeLocPortExtensionEntry 1 }

lldpXdot1PeLocPEAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object contains the MAC address that
            uniquely identifies the Port Extender."
    REFERENCE 
            "D.8"
    ::= { lldpXdot1PeLocPortExtensionEntry 2 }

lldpXdot1PeLocPECSPAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object contains the MAC address to be used
            for the Port Extension control and status protocol."
    REFERENCE 
            "D.8"
    ::= { lldpXdot1PeLocPortExtensionEntry 3 }

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

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

LldpXdot1PeRemPortExtensionEntry ::= SEQUENCE {
            lldpXdot1PeRemPECascadePortPriority Unsigned32,
            lldpXdot1PeRemPEAddress             MacAddress,
            lldpXdot1PeRemPECSPAddress          MacAddress
} 

lldpXdot1PeRemPECascadePortPriority OBJECT-TYPE
    SYNTAX      Unsigned32 (0..255)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The cascade port priority."
    REFERENCE 
            "D.8"
    ::= { lldpXdot1PeRemPortExtensionEntry 1 }

lldpXdot1PeRemPEAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object contains the MAC address that
            uniquely identifies the Port Extender."
    REFERENCE 
            "D.8"
    ::= { lldpXdot1PeRemPortExtensionEntry 2 }

lldpXdot1PeRemPECSPAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object contains the MAC address to be used
            for the Port Extension Control and Status Protocol."
    REFERENCE 
            "D.8"
    ::= { lldpXdot1PeRemPortExtensionEntry 3 }

------------------------------------------------------------------------
-- IEEE 802.1 - Port Extension Conformance Information
------------------------------------------------------------------------

lldpXdot1PeConformance OBJECT IDENTIFIER ::= { lldpXDot1PEExtensions 2 }

lldpXdot1PeCompliances 
    OBJECT IDENTIFIER ::= { lldpXdot1PeConformance 1 }
lldpXdot1PeGroups OBJECT IDENTIFIER ::= { lldpXdot1PeConformance 2 }

--
-- Port Extension - Compliance Statements
--

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

         This group is mandatory for agents that implement the 
         Port Extension peSet TLV set."
    MODULE        -- this module
        MANDATORY-GROUPS  { lldpXdot1PeGroup, 
                            ifGeneralInformationGroup }
    ::= { lldpXdot1PeCompliances 1 }

--
-- Port Extension - MIB groupings
--

lldpXdot1PeGroup  OBJECT-GROUP
    OBJECTS {
        lldpXdot1PeConfigPortExtensionTxEnable,
        lldpXdot1PeLocPECascadePortPriority,
        lldpXdot1PeLocPEAddress,
        lldpXdot1PeLocPECSPAddress,
        lldpXdot1PeRemPECascadePortPriority,
        lldpXdot1PeRemPEAddress,
        lldpXdot1PeRemPECSPAddress
    }
    STATUS  current
    DESCRIPTION
        "The collection of objects that support the
        Port Extension peSet TLV set."
    ::= { lldpXdot1PeGroups 1 }

END