-- ****************************************************************************
-- ****************************************************************************
--             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-LQOS-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;

lQosMIB 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  " Local Quality of Service

                The Local Quality of Service (LQOS) service manages the QOS
                parameters applicable to the unit.
                "
 ::= { mediatrixServices 2500 }

lQosMIBObjects OBJECT IDENTIFIER ::= { lQosMIB 1 }

-- Scalar:Default Differentiated Services

defaultDiffServ OBJECT-TYPE
 SYNTAX        Unsigned32 ( 0..255 )
 MAX-ACCESS    read-write
 STATUS        current
 DESCRIPTION " Default Differentiated Services

               Default Differentiated Services value used by the unit for all
               generated IPv4 packets. Specific service class values may be set
               in the ServiceClasses table. This 8-bit value is directly set in
               the TOS field (2nd byte) of the header of transmitted IPv4
               packets, allowing the administrator to use either DiffServ or
               TOS mapping.

               Note: The TOS values for TCP packets are equal to the closest
               multiple of 4 value that is not greater than the configured
               value.

               "
 DEFVAL        { 184 }
 ::= { lQosMIBObjects 100 }

-- Scalar:Default Traffic Class

defaultTrafficClass OBJECT-TYPE
 SYNTAX        Unsigned32 ( 0..255 )
 MAX-ACCESS    read-write
 STATUS        current
 DESCRIPTION " Default Traffic Class

               Default Traffic Class value used by the unit for all generated
               IPv6 packets. Specific service class values may be set in the
               ServiceClasses table. The 8-bit Traffic Class field in the IPv6
               header is available for use by originating nodes and/or
               forwarding routers to identify and distinguish between different
               classes or priorities of IPv6 packets.

               "
 DEFVAL        { 0 }
 ::= { lQosMIBObjects 150 }

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

-- Table:Ethernet 802.1Q Tagging

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

ethernet8021QTaggingTable OBJECT-TYPE
 SYNTAX        SEQUENCE OF Ethernet8021QTaggingEntry
 MAX-ACCESS    not-accessible
 STATUS        current
 DESCRIPTION " Ethernet 802.1Q Tagging

               This table lists all Ethernet interfaces and allows to configure
               802.1Q tagging for them.
               "
 ::= { lQosMIBObjects 200 }
 ethernet8021QTaggingEntry OBJECT-TYPE
  SYNTAX        Ethernet8021QTaggingEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION " A row in table Ethernet 802.1Q Tagging. "
  INDEX         {
                  ethernet8021QTaggingInterfaceName
                }

  ::= { ethernet8021QTaggingTable 1 }

 Ethernet8021QTaggingEntry ::= SEQUENCE
 {
   ethernet8021QTaggingInterfaceName         OCTET STRING,
   ethernet8021QTaggingEnablePriorityTagging MxEnableState,
   ethernet8021QTaggingDefaultUserPriority   Unsigned32
 }

 -- Index:Interface Name

 ethernet8021QTaggingInterfaceName OBJECT-TYPE
  SYNTAX        OCTET STRING
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION " Interface Name

                Name of the Ethernet interface
                "
  ::= { ethernet8021QTaggingEntry 100 }

 -- Columnar:Enable Priority Tagging

 ethernet8021QTaggingEnablePriorityTagging OBJECT-TYPE
  SYNTAX        MxEnableState
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Enable Priority Tagging

                Enables or disables user priority tagging on the interface. The
                VLAN ID part of the 802.1Q tag is always set to 0. VLANs may be
                configured in service Ethernet (Eth)'s VLAN table.
                "
  DEFVAL        { disable }
  ::= { ethernet8021QTaggingEntry 200 }

 -- Columnar:Default User Priority

 ethernet8021QTaggingDefaultUserPriority OBJECT-TYPE
  SYNTAX        Unsigned32 ( 0..7 )
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Default User Priority

                Default User Priority value the interface uses when tagging
                packets. Specific service class values may be set in the
                ServiceClasses table.

                "
  DEFVAL        { 0 }
  ::= { ethernet8021QTaggingEntry 300 }

-- End of table:Ethernet 802.1Q Tagging

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

-- Table:Service Classes Configuration

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

serviceClassesTable OBJECT-TYPE
 SYNTAX        SEQUENCE OF ServiceClassesEntry
 MAX-ACCESS    not-accessible
 STATUS        current
 DESCRIPTION " Service Classes Configuration

               This table allows to set specific values of DiffServ, traffic
               class and User Priority by service class.
               "
 ::= { lQosMIBObjects 300 }
 serviceClassesEntry OBJECT-TYPE
  SYNTAX        ServiceClassesEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION " A row in table Service Classes Configuration. "
  INDEX         {
                  serviceClassesId
                }

  ::= { serviceClassesTable 1 }

 ServiceClassesEntry ::= SEQUENCE
 {
   serviceClassesId           Unsigned32,
   serviceClassesDescription  OCTET STRING,
   serviceClassesDiffServ     Unsigned32,
   serviceClassesTrafficClass Unsigned32,
   serviceClassesUserPriority Unsigned32
 }

 -- Index:Service Class Identifier

 serviceClassesId OBJECT-TYPE
  SYNTAX        Unsigned32
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION " Service Class Identifier

                Unique identifier of the row in the table.
                "
  ::= { serviceClassesEntry 100 }

 -- Columnar:Service Class Description

 serviceClassesDescription OBJECT-TYPE
  SYNTAX        OCTET STRING ( SIZE(0..127) )
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION " Service Class Description

                Description of the service class.
                "
  DEFVAL        { "" }
  ::= { serviceClassesEntry 200 }

 -- Columnar:Differentiated Services (DiffServ)

 serviceClassesDiffServ OBJECT-TYPE
  SYNTAX        Unsigned32 ( 0..255 )
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Differentiated Services (DiffServ)

                Differentiated Services value for this service class. This
                value overrides the DefaultDiffServ parameter. This 8-bit value
                is directly set in the TOS field (2nd byte) of the header of
                transmitted IPv4 packets, allowing the administrator to use
                either DiffServ or TOS mapping.

                Note: The TOS values for TCP packets are equal to the closest
                multiple of 4 value that is not greater than the configured
                value.

                "
  DEFVAL        { 184 }
  ::= { serviceClassesEntry 300 }

 -- Columnar:Traffic Class

 serviceClassesTrafficClass OBJECT-TYPE
  SYNTAX        Unsigned32 ( 0..255 )
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Traffic Class

                Default Traffic Class value used in IPv6 packets. The 8-bit
                Traffic Class field in the IPv6 header is available for use by
                originating nodes and/or forwarding routers to identify and
                distinguish between different classes or priorities of IPv6
                packets.
                "
  DEFVAL        { 0 }
  ::= { serviceClassesEntry 350 }

 -- Columnar:Ethernet 802.1Q User Priority

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

                User priority for this service class. This value overrides the
                DefaultUserPriority parameter from the Ethernet8021QTagging
                table.

                "
  DEFVAL        { 6 }
  ::= { serviceClassesEntry 400 }

-- End of table:Service Classes Configuration

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

-- Group:Notification Messages Configuration

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

notificationsGroup OBJECT IDENTIFIER
 ::= { lQosMIBObjects 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
 ::= { lQosMIBObjects 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
