-- ****************************************************************************
-- ****************************************************************************
--             Copyright(c) 2004 Mediatrix Telecom, Inc.
--  NOTICE:
--   This document contains information that is confidential and proprietary
--   to Mediatrix Telecom, Inc.
--   Mediatrix Telecom, Inc. reserves all rights to this document as well as
--   to the Intellectual Property of the document and the technology and
--   know-how that it includes and represents.
--   This publication cannot be reproduced, neither in whole nor in part in
--   any form whatsoever without written prior approval by
--   Mediatrix Telecom, Inc.
--   Mediatrix Telecom, Inc. reserves the right to revise this publication
--   and make changes at any time and without the obligation to notify any
--   person and/or entity of such revisions and/or changes.
-- ****************************************************************************
-- ****************************************************************************

MX-LLDP-MIB
DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
        Unsigned32,
        Integer32
    FROM SNMPv2-SMI
        MODULE-COMPLIANCE,
        OBJECT-GROUP
    FROM SNMPv2-CONF
        MxEnableState,
        MxActivationState,
        MxIpHostName,
        MxIpAddress,
        MxIpPort,
        MxAdvancedIpPort,
        MxIpSubnetMask,
        MxDigitMap
    FROM MX-TC
        MxUInt64,
        MxFloat32,
        MxIpHostNamePort,
        MxIpAddr,
        MxIpAddrPort,
        MxIpAddrMask,
        MxUri,
        MxUrl
    FROM MX-TC2
        mediatrixServices
    FROM MX-SMI2;

lldpMIB MODULE-IDENTITY
 LAST-UPDATED   "1910210000Z"
 ORGANIZATION " Mediatrix Telecom, Inc. "
 CONTACT-INFO " Mediatrix Telecom, Inc.
                4229, Garlock Street
                Sherbrooke (Quebec)
                Canada
                Phone: (819) 829-8749
                "
 DESCRIPTION  " Link Layer Discovery Protocol

                The Link Layer Discovery Protocol (LLDP) service manages the
                IEEE 802.1ab protocol used for advertising the unit's
                capabilities on the network.
                "
 ::= { mediatrixServices 4100 }

lldpMIBObjects OBJECT IDENTIFIER ::= { lldpMIB 1 }

-- ****************************************************************************

-- Group:Status Group

-- ****************************************************************************

statusGroup OBJECT IDENTIFIER
 ::= { lldpMIBObjects 100 }
 -- ***************************************************************************
 
 -- Table:Remote Media Policy State

 -- ***************************************************************************
 
 remoteMediaPolicyStateTable OBJECT-TYPE
  SYNTAX            SEQUENCE OF RemoteMediaPolicyStateEntry
  MAX-ACCESS        not-accessible
  STATUS            current
  DESCRIPTION     " Remote Media Policy State

                    This table holds the LLDP network policies received.
                    "
  ::= { statusGroup 100 }
  remoteMediaPolicyStateEntry OBJECT-TYPE
   SYNTAX        RemoteMediaPolicyStateEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION " A row in table Remote Media Policy State. "
   INDEX         {
                   remoteMediaPolicyStateAppType
                 }

   ::= { remoteMediaPolicyStateTable 1 }

  RemoteMediaPolicyStateEntry ::= SEQUENCE
  {
    remoteMediaPolicyStateAppType    INTEGER,
    remoteMediaPolicyStateVlanId     Unsigned32,
    remoteMediaPolicyStatePriority   Unsigned32,
    remoteMediaPolicyStateDscp       Unsigned32,
    remoteMediaPolicyStatePolicyFlag INTEGER,
    remoteMediaPolicyStateTaggedFlag INTEGER
  }

  -- Index:Application Type

  remoteMediaPolicyStateAppType OBJECT-TYPE
   SYNTAX        INTEGER { unknown(0) , voice(1) , voiceSignaling(2) ,
                 guestVoice(3) , guestVoiceSignaling(4) , softPhoneVoice(5) ,
                 videoConferencing(6) , streamingVideo(7) , videoSignaling(8)
                 }
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " Application Type

                 The type of application.

                 The supported types currently are:

                   * Voice
                   * VoiceSignaling

                 All the other types received are ignored.
                 "
   ::= { remoteMediaPolicyStateEntry 100 }

  -- Columnar:VLAN ID

  remoteMediaPolicyStateVlanId OBJECT-TYPE
   SYNTAX         Unsigned32 ( 0..4094 )
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION  " VLAN ID

                  VLAN ID.
                  "
   ::= { remoteMediaPolicyStateEntry 200 }

  -- Columnar:802.1Q User Priority

  remoteMediaPolicyStatePriority OBJECT-TYPE
   SYNTAX          Unsigned32 ( 0..7 )
   MAX-ACCESS      read-only
   STATUS          current
   DESCRIPTION   " 802.1Q User Priority

                   802.1Q User Priority.
                   "
   ::= { remoteMediaPolicyStateEntry 300 }

  -- Columnar:DSCP (DiffServ)

  remoteMediaPolicyStateDscp OBJECT-TYPE
   SYNTAX         Unsigned32 ( 0..255 )
   MAX-ACCESS     read-only
   STATUS         current
   DESCRIPTION  " DSCP (DiffServ)

                  DSCP (DiffServ).
                  "
   ::= { remoteMediaPolicyStateEntry 400 }

  -- Columnar:Policy Flag

  remoteMediaPolicyStatePolicyFlag OBJECT-TYPE
   SYNTAX        INTEGER { defined(100) , unknown(200) }
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " Policy Flag

                 The Policy Flag. This flag indicates if an Endpoint Device
                 wants to explicitly advertise that the network policy for a
                 specific application type is required but is currently
                 unknown.

                   * Defined: The network policy is defined.
                   * Unknown: The network policy for the specified application
                     type is currently unknown. In this case, the VLAN ID,
                     Layer 2 priority and DSCP values fields are ignored.

                 "
   ::= { remoteMediaPolicyStateEntry 500 }

  -- Columnar:Tagged Flag

  remoteMediaPolicyStateTaggedFlag OBJECT-TYPE
   SYNTAX        INTEGER { untagged(100) , tagged(200) }
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " Tagged Flag

                 The Tagged flag.

                   * Untagged: An untagged value indicates that the device is
                     using an untagged frame format and does not include a tag
                     header. In this case, both the VLAN ID and the Layer 2
                     priority fields are ignored and only the DSCP value has
                     relevance.
                   * Tagged: A tagged value indicates that the device is using
                     the tagged frame format and the that both the VLAN ID and
                     the Layer 2 priority values are being used, as well as
                     the DSCP value.

                 "
   ::= { remoteMediaPolicyStateEntry 600 }

 -- End of table:Remote Media Policy State

-- End of group:Status Group

-- Scalar:Network Interface

networkInterface OBJECT-TYPE
 SYNTAX        OCTET STRING ( SIZE(0..50) )
 MAX-ACCESS    read-write
 STATUS        current
 DESCRIPTION " Network Interface

               The network interface name on which LLDP should be enabled.

               Note that LLDP cannot be activated on multiple network
               interfaces simultaneously.

               "
 DEFVAL        { "" }
 ::= { lldpMIBObjects 200 }

-- Scalar:Chassis ID

chassisId OBJECT-TYPE
 SYNTAX        INTEGER { macAddress(100) , networkAddress(200) }
 MAX-ACCESS    read-write
 STATUS        current
 DESCRIPTION " Chassis ID

               The address type to populate the chassis ID.

                 * MacAddress: The MAC address.
                 * NetworkAddress: The IP address (or 0.0.0.0 if DHCP is not
                   obtained yet).

               "
 DEFVAL        { networkAddress }
 ::= { lldpMIBObjects 300 }

-- Scalar:Override Network Policy Enable

overrideNetworkPolicyEnable OBJECT-TYPE
 SYNTAX        MxEnableState
 MAX-ACCESS    read-write
 STATUS        current
 DESCRIPTION " Override Network Policy Enable

               Enables the LLDP-MED protocol override of the VLAN ID, User
               Priority and DiffServ values.

                 * Enable: The service listens for LLDP advertisements, and
                   overrides the previously configured VLAN ID, User Priority
                   and DiffServ with the values received. When a new VLAN ID is
                   received, the LLDP service dynamically replaces the link of
                   the network configured in the Lldp.NetworkInterface
                   parameter.
                 * Disable: The service only publishes its characteristics and
                   configurations by LLDP, and does not override anything.

               "
 DEFVAL        { disable }
 ::= { lldpMIBObjects 400 }

-- Scalar:Refresh the applied Network Policy

overrideNetworkPolicyRefresh OBJECT-TYPE
 SYNTAX        INTEGER { disable(100) , onNetworkPolicyChanges(200) }
 MAX-ACCESS    read-write
 STATUS        current
 DESCRIPTION " Refresh the applied Network Policy

               Allows received Network Policies to refresh the VLAN ID, User
               Priority and DiffServ values of an overridden network.

                 * Disable: The service applies only the first received Network
                   Policy TLV. If a change occurs, the current Network Policy
                   still applies.
                 * OnNetworkPolicyChanges: The service applies the newly
                   received Network Policy TLV, but only if the LLDPDU shares
                   the same Chassis ID and Port ID.

               This parameter has no effect if the OverrideNetworkPolicyEnable
               parameter is set to 'Disable'.

               "
 DEFVAL        { disable }
 ::= { lldpMIBObjects 410 }

-- ****************************************************************************

-- Group:Notification Messages Configuration

-- ****************************************************************************

notificationsGroup OBJECT IDENTIFIER
 ::= { lldpMIBObjects 60010 }
 -- Scalar:Minimal Severity of Notification

 minSeverity OBJECT-TYPE
  SYNTAX        INTEGER { disable(0) , debug(100) , info(200) , warning(300) ,
                error(400) , critical (500) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Minimal Severity of Notification

                Sets the minimal severity to issue a notification message
                incoming from this service.

                  * Disable: No notification is issued.
                  * Debug: All notification messages are issued.
                  * Info: Notification messages with a 'Informational' and
                    higher severity are issued.
                  * Warning: Notification messages with a 'Warning' and higher
                    severity are issued.
                  * Error: Notification messages with an 'Error' and higher
                    severity are issued.
                  * Critical: Notification messages with a 'Critical' severity
                    are issued.

                "
  DEFVAL        { warning }
  ::= { notificationsGroup 100 }

-- End of group:Notification Messages Configuration

-- ****************************************************************************

-- Group:Configuration Settings

-- ****************************************************************************

configurationGroup OBJECT IDENTIFIER
 ::= { lldpMIBObjects 60020 }
 -- Scalar:Need Restart

 needRestartInfo OBJECT-TYPE
  SYNTAX        INTEGER { no(0) , yes(100) }
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION " Need Restart

                Indicates if the service needs to be restarted for the
                configuration to fully take effect.

                  * Yes: Service needs to be restarted.
                  * No: Service does not need to be restarted.

                Services can be restarted by using the
                Scm.ServiceCommands.Restart command.

                "
  ::= { configurationGroup 100 }

-- End of group:Configuration Settings

END
