--  =======================================================================
--  File        : osEthServ.mib
--  Description : Private MIB support the functionality of MEF Ethernet Virtual Connections
--  By          : Alex

-- Copyright (c) 2008 MRV.  All Rights Reserved.
--
--
-- Reproduction of this document is authorized on condition that this
-- copyright notice is included.  This MRV SNMP MIB Specification
-- embodies MRV's proprietary intellectual property.  MRV
-- retains all title and ownership in the specification, including any
-- revisions.
--
-- It is MRV's intent to encourage the widespread use of this
-- specification in connection with the management of MRV's
-- products. MRV grants vendor, end-users, and other interested
-- parties a non-exclusive license to use this specification in
-- connection with the management of MRV's products.
--
-- This specification is supplied "AS IS," and MRV makes no
-- warranty, either express or implied, as to the use, operation,
-- condition, or performance of the specification.
--
-- Copyright text courtesy of MRV
--
-- If you have any questions about this MIB, please call MRV
-- Technical Support Center at 1-800-858-7815 from inside USA or
-- 1-818-773-0900 from outside USA.
--
--
-- MRV retains the right to change this MIB without notification.

OS-ETH-SERV-MIB DEFINITIONS ::= BEGIN

        IMPORTS
                MODULE-IDENTITY, OBJECT-TYPE,
                NOTIFICATION-TYPE,
                Counter64, Integer32, Unsigned32              FROM SNMPv2-SMI
                TruthValue, TimeInterval, DateAndTime, 
                MacAddress, DisplayString                     FROM SNMPv2-TC
                Dot1agCfmCcmInterval, Dot1agCfmLowestAlarmPri,
                Dot1agCfmMpDirection, VlanId, VlanIdOrNone,
                Dot1agCfmMaintAssocNameType,
                Dot1agCfmHighestDefectPri                     FROM IEEE8021-CFM-MIB
                NOTIFICATION-GROUP, 
                MODULE-COMPLIANCE, OBJECT-GROUP               FROM SNMPv2-CONF
                oaOptiSwitch, OsCfmMepIdOrZero,
                EntityName, ServFlowId, EntityNameOrNone,
                EntryValidator, ProfileStatus,
                ServiceType,
                CoS, BwAccountStatus, 
                TagList, PortList, PortIndexOrNone,
                CfmMDLevel, MepList,
                StartTimeType                                 FROM OS-COMMON-TC-MIB;

osEthServ       MODULE-IDENTITY
                LAST-UPDATED "202108170000Z" -- 17 Aug. 2021
                ORGANIZATION "MRV Communications, Inc."
                CONTACT-INFO
                   "Alex Rozin
                    MRV Communication, Inc
                    http://www.mrv.com
                    Email:  ARozin@mrv.com"
                DESCRIPTION
                    "MEF Ethernet Virtual Connections MIB."
                
                REVISION     "202108170000Z" -- 17 Aug. 2021
                DESCRIPTION
                "New object osEthServDescription."
                
                REVISION     "201912260000Z" -- 26 Dec. 2019
                DESCRIPTION
                "New objects osEthServMflgThreshold and osEthServRecoverPorts."
                
                REVISION     "201905170000Z" -- 17 May 2019
                DESCRIPTION
                  "New object osEthServPVlanId, osEthServPPortList"
                  
                REVISION     "201812300000Z" -- 30 Dec. 2018
                DESCRIPTION
                  "Import fro general OS-COMMON-TC-MIB"

                REVISION     "201801020000Z" -- 02 Jan. 2018
                DESCRIPTION
                  "New object osEthBwBuffSize."

                REVISION     "201712180000Z" -- 18 Dec. 2017
                DESCRIPTION
                  "New object osEthCfmLtrPortIdSubtype."

                REVISION     "201701300000Z" -- 30 Jan. 2017
                DESCRIPTION
                  "1. New object osEthSrvMaxNumEnabledServices amd NOTIFICATION osEthSrvMaxNumEnabledServicesExceeded.
                   2. New table osEthServTunnelTable."

                REVISION     "201701090000Z" -- 09 January 2017
                DESCRIPTION
                  "Traffic manager subtree - osEthServTm."


                REVISION     "201507120000Z" -- 12 July 2015
                DESCRIPTION
                  "1. New objects osEthServEPortsBufPrfl and osEthServEPortsPrioQuePrfl."

                REVISION     "201502040000Z" -- 4 February 2015
                DESCRIPTION
                  "1. The place of osEthFsTable has been changed.
                   2. Two new objects: osEthServFullDownstreamLpbk and osEthServUpstrDeiRemark.
                   3. New object osEthServCMgmtVlan."

                REVISION     "201409180000Z" -- 18 September 2014
                DESCRIPTION
                  "New object osEthServFlowDownstrDEI"

                REVISION     "201406100000Z" -- 10 June 2014
                DESCRIPTION
                  "The new osEthServExtTable with a single object osEthServLimitBWTF."

                REVISION     "201401120000Z" -- 12 Jan 2014
                DESCRIPTION
                  "1. New object osEthServDnEgPcpRemap."
                REVISION     "201312050000Z" -- 5 Dec 2013
                DESCRIPTION
                  "1. New objects osEthServSpokeVcName, osEthServSpokeVcType,
                      osEthServSpokeVcOuterVlan."

                REVISION     "201310150000Z" -- 10 Oct 2013
                DESCRIPTION
                  "1. New object osEthServFlowUpstrDEI.
                   2. New possible value colorBlindDropRed(5) in the object osEthBwColorMode.
                   3. The status of osEthSrvTypesSupported and osEthServClassifyFlowBy is
                      now deprecated."

                REVISION     "201308280000Z" -- 28 Aug 2013
                DESCRIPTION
                  "New objects osEthServFlowUpIngFsSubAgentId and
                   osEthServFlowDnIngFsSubAgentId."

                REVISION     "201305050000Z" -- 5 May 2013
                DESCRIPTION
                  "New table osEthFsTable is inserted.
                   New objects osEthServFlowUpIngFsPrfl and osEthServFlowDnIngFsPrfl.
                   New object osEthSrvFsSupported"

                REVISION     "201303250000Z" -- 25 March 2013
                DESCRIPTION
                  "osEthTagExcpConfig node with osEthTagExcpSupport and osEthTagExcpTable."

                REVISION     "201301210000Z" -- 21 Jan 2013
                DESCRIPTION
                  "1. New object osEthServProtectionRole in osEthServTable."

                REVISION     "201206110000Z" -- 11 June 2012
                DESCRIPTION
                  "1. New object osEthBwRateLimitType in osEthBwTable.
                   2. New objects osEthServFlowFloodLimPrfl and osEthFloodPrflTable.
                   3. New value underEnabling(9) in osEthServOperStatus.
                   4. New value underProcessing(9) in ProfileStatus.
                   5. LBM per flow support:
                     5.1. Objects: osEthServFlowLbmPrfl, osEthServFlowLbmDestMacAddress,
                                   osEthServFlowLbmDestMepId, osEthServFlowLbmDestType,
                                   osEthServFlowLbmEnabled, osEthServFlowLbmClear;
                     5.2. New profile table: osEthLbmTable;
                     5.3. Results table: osEthServLbrTable.
                   6. Upstream and downstream BW limit and accointing:
                     6.1. New objects osEthServFlowUpEgBwPrfl, osEthServFlowUpEgBwAccStatus,
                          osEthServFlowDnEgBwPrfl and osEthServFlowDnEgBwAccStatus.
                     6.2. New possible values for osEthServFlowCountDir:
                          downStreamEgress(4) and upStreamEgress(5)
                     6.3. DESCRIPTIONs for osEthServFlowIngBwPrfl and
                          osEthServFlowEgBwPrfl have been extended.
                     6.4. Bits mayEgress{Down|Up}Rate... in osEthSrvFeaturesSupport"
                REVISION     "201204230000Z" -- 23 April 2012
                DESCRIPTION
                  "The TEXTUAL-CONVENTION EntryStatus has been deleted, its values have
                  been implemented directly for osEthServOperStatus."

                REVISION     "201204150000Z" -- 15 april 2012
                DESCRIPTION
                  "New objects osEthCfmLastError."

                REVISION     "201203130000Z" -- 13 Mar. 2012
                DESCRIPTION
                  "New objects osEthServVcMaName, osEthServVcMaTypeName"

                REVISION     "201111160000Z" -- 16 Nov. 2011
                DESCRIPTION
                  "1. New object osEthServEgrMarkSl.
                   2. The prevously deperecated object osEthServChangeIngCVlan is not supported for SET operations.
                   3. Objects osEthServSVlanId and osEthServVcSVlanId now can vary from 0 to 4095 (previously, a
                      value of 0 was unacceptable); the default value now is 0; the DESCRIPTIONs of both objects
                      have been changed.
                   4. New objects osEthBwLastError and osEthPerfLastError.
                   5. Imports and textual conversions have been changed."

                REVISION     "201109210000Z"
                DESCRIPTION
                  "1. New objects osEthCcmSendPortTlv and osEthCcmSendIfTlv
                      in in osEthCfmTable."

                REVISION     "201107270000Z"
                DESCRIPTION
                  "1. New objects osEthServLoopback and osEthServLearning.
                   2. DEFVAL for osEthServFlowMepId and osEthServMepPortIndex."

                REVISION     "201106190000Z"
                DESCRIPTION
                  "new value lockedDisabled(8) in EntryStatus."

                REVISION     "201101270000Z"
                DESCRIPTION
                  "1. New objects osEthServLoopback and osEthServLearning.
                   2. DEFVAL for osEthServFlowMepId and osEthServMepPortIndex."

                REVISION     "201012160000Z"
                DESCRIPTION
                    "1. The table osEthServFlowPerfParamTable has been replaced by the table osEthServFlowTestParamTable.
                     2. Object osEthServFlowTestPeriodicy has been replaced by the object osEthServFlowTestPeriodicity
                     3. New objects (osEthPerfMeasBinsInterval, osEthPerfMeasBinsIsAlign, 
                        osEthPerfMeasBinsClockSyncFlag, osEthPerfMeasBinsHistorySize)
                        were added to the table osEthPerfTable.
                     4. osEthServFlowHistoryClear was added to osEthServFlowTable"
                REVISION     "201012070000Z"
                DESCRIPTION
                     "1, TEXTUAL-CONVENTION for ServiceType has been changed.
                      2. osEthServType has been renamed to osEthServNodeType.
                      3. New table osEthServVcTable is inserted.
                      4. Objects osEthServVcMDLevel and osEthServVcMAIndex have been added to 
                         osEthServVcTable.  Old objects osEthServMDLevel and osEthServMAIndex are
                         not removed from osEthServTable for backward compatibility.
                      5. Object osEthLastRevision has been removed.
                      6. New osEthServFlowTestParamTable Table"

                REVISION     "201011030000Z"
                DESCRIPTION
                     "1, New object osEthLastRevision.
                      2. Disabled services may be locked.
                      3. Locked service may be disabled.
                      4. New value erase(10) has been added to osEthServAdminStatus."

                REVISION     "201003150000Z"
                DESCRIPTION
                     "The main reason of this revision is Multiple destination in PM feature.
                     1. TEXTUAL-CONVENTION Dot1agCfmMepId has been deleted.
                     2. TEXTUAL-CONVENTIONs EntityName, EntityNameOrNone and MepList have been added.
                     3, Objects osEthServMepId, osEthServPerfPrfl, osEthServPerfEnabled,
                        osEthServPerfDestMacAddress, osEthServPerfDestMepId, osEthServPerfDestIsMepId,
                        osEthServIngBwPrfl, osEthServIngBwAccStatus, osEthServEgBwPrfl
                        and osEthServEgBwAccStatus have been deleted.
                     4. The table osEthServFlowTable has now a second index osEthServFlowId
                        instead of osEthServFlowCoS. So the value 0 here means,
                        that this entry corresponds to the service, not to to
                        any flow.
                     5. The object osEthServFlowMepDirection has been deleted.
                     6. The object osEthServFlowPerfDestMepList has been added.
                     7. The object osEthServFlowPerfDestIsMepId has been
                        replaced with osEthServFlowPerfDestType."

                REVISION     "200801090000Z"
                DESCRIPTION
                    "Initial edition."
                ::= { oaOptiSwitch 10 }

-- ************************************************************
-- MIB place Definition
-- ************************************************************

osEthSrvNotifications  OBJECT IDENTIFIER ::= { osEthServ 0 }
osEthCapabilities      OBJECT IDENTIFIER ::= { osEthServ 1 }
osEthConformance       OBJECT IDENTIFIER ::= { osEthServ 100 }
osEthMIBCompliances    OBJECT IDENTIFIER ::= { osEthConformance 1 }
osEthMIBGroups         OBJECT IDENTIFIER ::= { osEthConformance 2 }



--3456789a123456789b123456789c123456789d123456789e123456789f123456789g123456789
-- *******************************************************************
--  osEthCapabilities global configuration, status & capatibilities
-- ******************************************************************* 
 
osEthSrvFeaturesSupport OBJECT-TYPE
    SYNTAX       BITS {
                      ingressRateLimitByService      (0),
                      egressRateLimitByService       (1),
                      performanceByService           (2),
                      ccmByService                   (3),
                      unused1                        (4),
                      unused2                        (5),
                      ingressRateLimitByFlow         (6),
                      egressRateLimitByFlow          (7),

                      performanceByFlow              (8),
                      classificationByPcp            (9),
                      classificationByDscp           (10),
                      classificationByPcpDscp        (11),
                      classificationByDscpPcp        (12),
                      classificationByPortPrio       (13),
                      actRedirectSrvToCpu            (14),
                      actMirrorToCpu                 (15),

                      actSwapTag                     (16),
                      mayDoSlowPerformanceTests      (17),
                      mayDoFastPerformanceTests      (18),
                      mayProcessServChangeIngCVlan   (19),
                      mayProcessCcmClean             (20),
                      mayProcessRMepAgingTime        (21),
                      mayEgressDownRateLimitByService(22),
                      mayEgressUpRateLimitByService  (23),

                      mayEgressDownRateLimitByFlow   (24),
                      mayEgressUpRateLimitByFlow     (25)
                    }
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
      "Indicates features, that supported by this agent. Additionally this object serves as
       a SupportValue"
    ::= { osEthCapabilities 1 }

osEthSrvTypesSupported OBJECT-TYPE
    SYNTAX       BITS {
                       supportEpL         (0),
                       supportEvpL        (1),
                       supportEpLan       (2),
                       supportEvpLan      (3),
                       supportEpTree      (4),
                       supportEvpTree     (5),
                       supportAggregation (6)
                 }
    MAX-ACCESS   read-only
    STATUS       deprecated
    DESCRIPTION
      "Indicates features, that supported by this agent. Additionally this object serves as
       a SupportValue.
       This object is deprecated."
    ::= { osEthCapabilities 2 }



osEthMaxSlValue  OBJECT-TYPE
      SYNTAX     Unsigned32
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "Maximum service levels, supporting by the device."
      ::= { osEthCapabilities 3 }

osEthBwMinCIR    OBJECT-TYPE
      SYNTAX     Unsigned32
      UNITS      "Kbits/sec"
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "Minimum Committed Information Rate."
      ::= { osEthCapabilities 10 }

osEthBwMaxCIR    OBJECT-TYPE
      SYNTAX     Unsigned32
      UNITS      "Kbits/sec"
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "Maximum Committed Information Rate."
      ::= { osEthCapabilities 11 }

osEthBwMinCBS    OBJECT-TYPE
      SYNTAX     Unsigned32
      UNITS      "Kbyte"
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "Minimum Committed Burst Size."
      ::= { osEthCapabilities 12 }

osEthBwMaxCBS    OBJECT-TYPE
      SYNTAX     Unsigned32
      UNITS      "Kbyte"
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "Maximum Committed Burst Size."
      ::= { osEthCapabilities 13 }

osEthBwMinEIR   OBJECT-TYPE
      SYNTAX     Unsigned32
      UNITS      "Kbits/sec"
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "Minimum Excess Information Rate."
      ::= { osEthCapabilities 14 }

osEthBwMaxEIR   OBJECT-TYPE
      SYNTAX     Unsigned32
      UNITS      "Kbits/sec"
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "Maximum Excess Information Rate."
      ::= { osEthCapabilities 15 }

osEthBwMinEBS    OBJECT-TYPE
      SYNTAX     Unsigned32
      UNITS      "Kbyte"
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "Maximum Excess Burst Size."
      ::= { osEthCapabilities 16 }

osEthBwMaxEBS    OBJECT-TYPE
      SYNTAX     Unsigned32
      UNITS      "Kbyte"
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
        "Maximum Excess Burst Size."
      ::= { osEthCapabilities 17 }

osEthSrvFsSupported OBJECT-TYPE
      SYNTAX      BITS {
                        upstreamIngressService    (0),
                        downstreamIngressService  (1),
                        upstreamEgressService     (2),
                        downstreamEgressService   (3),
                        upstreamIngressFlow       (4),
                        downstreamIngressFlow     (5),
                        upstreamEgressFlow        (6),
                        downstreamEgressFlow      (7)
                  }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
        "Describes what attach points in a service are a valid choice for
         attaching a Flow Sampler"
      ::= { osEthCapabilities 18 }

osEthSrvMaxNumEnabledServices OBJECT-TYPE
      SYNTAX      Unsigned32 (0 | 4..2048)
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
        "Maximum number of enabled services. The value '0' means 'unlimited'"
      REFERENCE
       "CLI command 'maximum-number-of-services (<4-2048>|unlimited)'."
      DEFVAL { 0 }
      ::= { osEthCapabilities 19 }

-- ************************************************************
-- The osEthServTable Table
-- ************************************************************
osEthServTable   OBJECT-TYPE
    SYNTAX       SEQUENCE OF OsEthServEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
       "Eth UNI per EVC (service) configuration table."
    REFERENCE
       "."
    ::= { osEthServ 2 }

osEthServEntry   OBJECT-TYPE
    SYNTAX       OsEthServEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
       "Contains an entry of the table."
    INDEX { osEthServId } 
    ::= { osEthServTable 1 }

OsEthServEntry ::= SEQUENCE {
      osEthServId                 EntityName,

      osEthServNodeType           ServiceType,
      osEthServSVlanId            VlanIdOrNone,
      osEthServCVlans             TagList,
      osEthServIncludesUntagged   TruthValue,
      osEthServChangeIngCVlan     VlanIdOrNone,
      osEthServSPorts             PortList,
      osEthServCPorts             PortList,

      osEthServClassifyFlowBy     INTEGER,
      osEthServLoopback           INTEGER,
      osEthServLearning           TruthValue,

      osEthServMDLevel            CfmMDLevel,
      osEthServMAIndex            Unsigned32,
      osEthServMepPortIndex       PortIndexOrNone,
      osEthServMepDirection       Dot1agCfmMpDirection,

      osEthServSpokeVcName        EntityNameOrNone,
      osEthServSpokeVcType        INTEGER,
      osEthServSpokeVcOuterVlan   INTEGER,

      osEthServCfmPrfl            EntityNameOrNone,
      osEthServCcmEnabled         TruthValue,
      osEthServCcmHighestPrDefect Dot1agCfmHighestDefectPri,
      osEthServCcmCoS             CoS,
      osEthServCcmClean           TruthValue,
      osEthServEgrMarkSl          Integer32,
      osEthServDnEgPcpRemap       Unsigned32,

      osEthServActionPrfl         EntityNameOrNone,
      osEthServProtectionRole     INTEGER,

      osEthServPVlanId            VlanIdOrNone,
      osEthServPPortList          PortList,

      osEthServLastError          DisplayString,
      osEthServDescription        DisplayString,

      osEthServNatPfExternalMode  TruthValue,

      osEthServAdminStatus        INTEGER,
      osEthServOperStatus         INTEGER
     }

osEthServId          OBJECT-TYPE
    SYNTAX           EntityName
    MAX-ACCESS       not-accessible
    STATUS           current
    DESCRIPTION
       "Service Identifier."
    REFERENCE
      "MEF 10.1, Clause 7.1."
    ::= { osEthServEntry 1 }

osEthServNodeType    OBJECT-TYPE
    SYNTAX           ServiceType
    MAX-ACCESS       read-write
    STATUS           current
    DESCRIPTION
       "Type of the service"
    REFERENCE
      "MEF 6.1, Clauses 7.1 - 7.6."
    DEFVAL { unknown }
    ::= { osEthServEntry 2 }


osEthServSVlanId     OBJECT-TYPE
    SYNTAX           VlanIdOrNone
    MAX-ACCESS       read-write
    STATUS           current
    DESCRIPTION
       "S-VLAN - Service VLAN (also referred to as Provider VLAN). Obsolete
       by osEthServVcSVlanId, deperecated but is not deleted for backward compatibility.
       For UNI services this parameter means q-in-q tunneling tag stacking  parameter. For all
       types of services it also serves as a prinary VLAN for OAM functions.
       The value 0 may be used only in E_NNI or I_NNI services."
    DEFVAL { 0 }
    ::= { osEthServEntry 4 }

osEthServCVlans      OBJECT-TYPE
    SYNTAX           TagList
    MAX-ACCESS       read-write
    STATUS           current
    DESCRIPTION
       "Set of CE-VLANs: CE-VLAN ID/EVC Map Service Attribute"
    REFERENCE
      "MEF 10.1, Clauses 7.6.1, 7.7."
    ::= { osEthServEntry 5 }


osEthServIncludesUntagged OBJECT-TYPE
    SYNTAX           TruthValue
    MAX-ACCESS       read-write
    STATUS           current
    DESCRIPTION
       "True indicates that the service may accept untagged frames from the side
       of osEthServCPorts."
    DEFVAL { false }
    ::= { osEthServEntry 6 }

osEthServChangeIngCVlan OBJECT-TYPE
    SYNTAX           VlanIdOrNone
    MAX-ACCESS       read-write
    STATUS           current
    DESCRIPTION
      "Changes ingress CVLan. Deprecated."
    DEFVAL { 0 }
    ::= { osEthServEntry 7 }

osEthServSPorts      OBJECT-TYPE
    SYNTAX           PortList
    MAX-ACCESS       read-write
    STATUS           current
    DESCRIPTION
       "Set of ports, dedicated to the provider (NNI). In the case
       of UNI-N there will be only one port."
    ::= { osEthServEntry 9 }

osEthServCPorts      OBJECT-TYPE
    SYNTAX           PortList
    MAX-ACCESS       read-write
    STATUS           current
    DESCRIPTION
       "Set of ports, dedicated to the customer (UNI). In the case
       of UNI-C there will be only one port."
    ::= { osEthServEntry 10 }

osEthServClassifyFlowBy  OBJECT-TYPE
    SYNTAX           INTEGER {
                       unknown (1),
                       none    (2),
                       pcp     (3),
                       dscp    (4),
                       pcpdscp (5),
                       dscppcp (6),
                       portPrio(7)
                     }
    MAX-ACCESS       read-write
    STATUS           deprecated
    DESCRIPTION
       "Multiplex according to DSCP, VPT p_bits, both or the port priority.
       The value none(2) means, that any classification will not be done,
       and there will be only one flow (entry in osEthServFlowTable) 
       The rest values mean:
                       pcp      - classification by Priority Code Point (802.1p);
                       dscp     - classification by Differentiated Services Code Point;
                       pcpdscp  - classification by PCP, if PCP is absent, then
                                  classification by DSCP;
                       dscppcp  - classification by DSCP, if DSCP is absent, then
                                  classification by PCP;
                       portPrio - classification by port priority."
    DEFVAL { pcp }
    ::= { osEthServEntry 11 }

osEthServLoopback     OBJECT-TYPE
    SYNTAX            INTEGER {
                        unknown (1),
                        none    (2),
                        reflect (3),
                        macSwap (4)
                      }
    MAX-ACCESS        read-write
    STATUS            current
    DESCRIPTION
       "Option of loopback on s-ports.
          reflect - all egress packets are redirected back to egress port.
          macSwap - all egress multicast and broadcast packets are redirected back to
                    egress port as is (no changes).
                    all egress non-multicast and non-broadcast packets are redirected
                    back to egress port with the source/destination mac address swapped."
    DEFVAL { none }
    ::= { osEthServEntry 12 }

osEthServLearning     OBJECT-TYPE
    SYNTAX            TruthValue
    MAX-ACCESS        read-write
    STATUS            current
    DESCRIPTION
      "L2 Learning mode of the service."
    DEFVAL { true }
    ::= { osEthServEntry 13 }

osEthServMDLevel      OBJECT-TYPE
    SYNTAX            CfmMDLevel
    MAX-ACCESS        read-write
    STATUS            current
    DESCRIPTION
       "The Maintenance Domain Level. Obsolete by osEthServVcMDLevel, deperecated but
       is not deleted for backward compatibility."
    REFERENCE
       "802.1ag clause 12.14.5.1.3:b"
    DEFVAL { -1 }
    ::= { osEthServEntry 15 }

osEthServMAIndex      OBJECT-TYPE
    SYNTAX            Unsigned32 (1..65535)
    MAX-ACCESS        read-write
    STATUS            current
    DESCRIPTION
       "Parallel to dot1agCfmMaIndex: a reference to a particular Maintenance
       Domain managed object. Obsolete by osEthServVcMAIndex, deperecated but is not deleted
       for backward compatibility."
    REFERENCE
       "802.1ag clause 12.14.5.1.2:a."
    DEFVAL { 1 }
    ::= { osEthServEntry 16 }

osEthServMepPortIndex OBJECT-TYPE
    SYNTAX            PortIndexOrNone
    MAX-ACCESS        read-write
    STATUS            current
    DESCRIPTION
       "Parallel to dot1agCfmMepIfIndex: this object is the port index of the
        port either a bridge port, or an aggregated IEEE 802.1 link within a bridge
        port, to which the MEP is attached. This index is an index of osPorts.mib.
        If no such entry exists (performance of connectivity fault profiles will not
        be used), then the system SHALL set this variable to 0.  "
    REFERENCE
       "802.1ag clause 12.14.7.1.3:b"
    DEFVAL { 0 }
    ::= { osEthServEntry 18 }


osEthServMepDirection OBJECT-TYPE
    SYNTAX            Dot1agCfmMpDirection
    MAX-ACCESS        read-write
    STATUS            current
    DESCRIPTION
       "Parallel to Dot1agCfmMpDirection: the direction in which the MEP faces
       on the Bridge port.
       down(1)    Sends Continuity Check Messages away from the
                   MAC Relay Entity.
       up(2)      Sends Continuity Check Messages towards the
                   MAC Relay Entity."
    REFERENCE
       "802.1ag clauses 12.14.7.1.3:c and 19.2"
    DEFVAL { up }
    ::= { osEthServEntry 19 }

osEthServSpokeVcName  OBJECT-TYPE
    SYNTAX            EntityNameOrNone
    MAX-ACCESS        read-write
    STATUS            current
    DESCRIPTION
       "deprecated! Name of virtual-circuit, dedicated to the provider (NNI)."
    ::= { osEthServEntry 20 }

osEthServSpokeVcType  OBJECT-TYPE
    SYNTAX            INTEGER {
                        unknown (1),
                        typeEthernet (2),
                        typeVlan (3)
                        }
    MAX-ACCESS        read-write
    STATUS            current
    DESCRIPTION
       "deprecated! Type of virtual-circuit."
    DEFVAL { unknown }
    ::= { osEthServEntry 21 }

osEthServSpokeVcOuterVlan OBJECT-TYPE
    SYNTAX            INTEGER {
                        keepVlan (1),
                        dropVlan (2)
                        }
    MAX-ACCESS        read-write
    STATUS            current
    DESCRIPTION
       "deprecated! Indicates if the passenger packet on the vitual-circuit should contain
        the outer vlan header or not. For UNI service the outer vlan is the
        s-vlan for NNI service the outer vlan is the c-vlan."
    DEFVAL { keepVlan }
    ::= { osEthServEntry 22 }

osEthServCfmPrfl      OBJECT-TYPE
    SYNTAX            EntityNameOrNone
    MAX-ACCESS        read-write
    STATUS            current
    DESCRIPTION
       "Profile ID to 802.1ag/ITU 1731 CCM configuration. Points to osEthCfmTable."
    ::= { osEthServEntry 40 }

osEthServCcmEnabled   OBJECT-TYPE
    SYNTAX            TruthValue
    MAX-ACCESS        read-write
    STATUS            current
    DESCRIPTION
       "If set to true, the MEP will generate CCM messages."
    REFERENCE
       "802.1ag clauses 12.14.7.1.3:g and 20.10.1"
    DEFVAL { false }
    ::= { osEthServEntry 41 }

osEthServCcmHighestPrDefect OBJECT-TYPE
    SYNTAX            Dot1agCfmHighestDefectPri
    MAX-ACCESS        read-only
    STATUS            current
    DESCRIPTION
       "This object reflects dot1agCfmMepHighestPrDefect.
        The highest priority defect that has been present since the
        MEPs Fault Notification Generator State Machine was last in
        the FNG_RESET state.  "
    REFERENCE
       "802.1ag clause 12.14.7.1.3:n  20.33.9 and Table 21-1"
    ::= { osEthServEntry 42 }

osEthServCcmCoS       OBJECT-TYPE
    SYNTAX            CoS
    MAX-ACCESS        read-write
    STATUS            current
    DESCRIPTION
       "The Class of Service of the CCM packets, generated by the service."
    DEFVAL { 1 }
    ::= { osEthServEntry 43 }

osEthServCcmClean     OBJECT-TYPE
    SYNTAX            TruthValue
    MAX-ACCESS        read-write
    STATUS            current
    DESCRIPTION
      "When an agent receives this object with value of true(1) in SNMP SET
      operation, it resets values dot1agCfmMepFngState,
      dot1agCfmMepHighestPrDefect, dot1agCfmMepDefects, dot1agCfmMepErrorCcmLastFailure,
      dot1agCfmMepXconCcmLastFailure, dot1agCfmMepCcmSequenceErrors and 
      dot1agCfmMepCciSentCcms in a relevant dot1agCfmMepEntry and
      deletes all relevant rows in dot1agCfmMepDbTable. It may cause nbEthOamCcmAlarm
      generation.
      When SNMP GET/GETNEXT operation this object always returns the value of
      false(2)."
    DEFVAL { false }
    ::= { osEthServEntry 44 }

osEthServEgrMarkSl    OBJECT-TYPE
    SYNTAX            Integer32 (0|1..8)
    MAX-ACCESS        read-write
    STATUS            current
    DESCRIPTION
       "Egress mark service level. The value '0' means 'no change'."
    ::= { osEthServEntry 45 }

osEthServDnEgPcpRemap   OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Define PCP remapping scheme for downstream. Every 4 bits represent a
       mapping of the packet's PCP to a new PCP. Least significant bits 0..3
       represent the new PCP mapping for packets with original PCP of 0.
       Bits 4..7 contain the new value for original PCP 1, bits 8..11 for PCP 2
       and so on: original PCP n remapping is defined by bits (4*n)..(4*n+3).
       In every 4 bits:
         A value of 0..7 represents a specific PCP.
         A value of 8 represents 'do not modify' original PCP.
         Values 9..15 are reserved"
    DEFVAL { '88888888'h }
    ::= { osEthServEntry 46 }

osEthServActionPrfl   OBJECT-TYPE
    SYNTAX            EntityNameOrNone
    MAX-ACCESS        read-write
    STATUS            current
    DESCRIPTION
       "Profile ID to extendex actions configuration. Points to osEthActEntry"
    ::= { osEthServEntry 52 }

osEthServProtectionRole OBJECT-TYPE
    SYNTAX                INTEGER {
                            primary    (1),
                            protection (2)
                          }
    MAX-ACCESS          read-only
    STATUS              current
    DESCRIPTION
       "Indicate if the table entry relates to the primary service row or to the
       protection service row"
    DEFVAL { primary }
    ::= { osEthServEntry 56 }

osEthServPVlanId      OBJECT-TYPE
    SYNTAX            VlanIdOrNone
    MAX-ACCESS        read-write
    STATUS            current
    DESCRIPTION
       "CLI: p-vlan. "
    DEFVAL { 0 }
    ::= { osEthServEntry 57 }

osEthServPPortList    OBJECT-TYPE
    SYNTAX            PortList
    MAX-ACCESS        read-write
    STATUS            current
    DESCRIPTION
       "CLI: p-ports. "
    DEFVAL { "" }
    ::= { osEthServEntry 58 }

osEthServLastError   OBJECT-TYPE
    SYNTAX           DisplayString (SIZE (0..160))
    MAX-ACCESS       read-only
    STATUS           current
    DESCRIPTION
       "Last configuration error description."
    ::= { osEthServEntry 64 }

osEthServDescription OBJECT-TYPE
    SYNTAX           DisplayString (SIZE (0..64))
    MAX-ACCESS       read-write
    STATUS           current
    DESCRIPTION
       "Description of the service"
    DEFVAL { "" }
    ::= { osEthServEntry 65 }

osEthServNatPfExternalMode        OBJECT-TYPE
     SYNTAX           TruthValue
     MAX-ACCESS       read-write
     STATUS           current
     DESCRIPTION
        "When interface is used for NAT port-forwarding external management, 
	the value externalMngIf works as CLI-command 'nat-service'."
     ::= { osEthServEntry 70 }

osEthServAdminStatus OBJECT-TYPE
    SYNTAX           INTEGER {
                       unknown       (1),
                       nothing       (2),
                       delete        (3),
                       create        (4),
                       enable        (5),
                       disable       (6),
                       lock          (7),
                       unLock        (8),
                       cancelLocking (9),
                       erase         (10)
                     }
    MAX-ACCESS       read-write
    STATUS           current
    DESCRIPTION
       "Values lock(7), unLock(8) and cancelLocking(9) are dedicated to allow to change
       critical objects in  enabled service.  The typical  example  of critical  object
       is osEthServNodeType.

       When the value lock(7) is set for unlocked service, the service is cloned. Since
       then the service is in so called 'locked' state.  From that moment, before value
       unlock(8) is set,  all  the  changes  occur  only in this clone and the original
       service remains unchanged and continues to operate as is.

       When the value unlock(8) is set for the enabled service, the original service is
       disabled and the clone is enabled.  If the clone has been enabled  successfully,
       then the original service is deleted and the clone becomes a regular service. If
       the clone cannot be enabled,  then the message about a reason of it is saved  in
       osEthServLastError, the clone is deleted and all changes in it are discarded.

       When the value unlock(8) is set for a locked and enabled service,  but the clone
       is disabled,  then  the original service is disabled  and  the  clone  becomes a
       regular service.

       When the value cancelLocking(9) is  set  for  locked  service,  then  the  clone
       is deleted and all its changes are discarded.
      
       When the service is locked, values delete(3) and lock(7) cannot be set.
       When the service is unlocked, values unlock(8) or cancelLocking(9) cannot be set.
       
       When the service is locked with lock(7), all GET,  GETNEXT  returns  values from
       the original service.
       
       The value erase(10) sets the service into an initial state. This value
       cannot be set for disabled or locked services."
    ::= { osEthServEntry 98 }

osEthServOperStatus  OBJECT-TYPE
    SYNTAX           INTEGER { 
                       unknown        (1),
                       invalid        (2),
                       absent         (3),
                       enabled        (5),
                       disabled       (6),
                       lockedEnabled  (7),
                       lockedDisabled (8),
                       underEnabling  (9)
                     }
    MAX-ACCESS       read-only
    STATUS           current
    DESCRIPTION
       "."
   ::= { osEthServEntry 99 }


-- ************************************************************
-- The osEthServCassFlowTable
-- ************************************************************
osEthServClassTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OsEthServClassEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Mapping {service, (dscp|pcp|tag)} -> CoS.
       This table allows to map traffic of servies to flows.
       Resulting CoS is a second index in OsEthServFlowTable."
    ::= { osEthServ 3 }

osEthServClassEntry OBJECT-TYPE
    SYNTAX      OsEthServClassEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Contains an entry of the table."
    INDEX { osEthServId, osEthServClassMethod, osEthServClassValue }
    ::= { osEthServClassTable 1 }

OsEthServClassEntry ::= SEQUENCE {
      osEthServClassMethod        INTEGER,
      osEthServClassValue         Unsigned32,
      osEthServClassCoS           CoS,
      osEthServClassAdminStatus   EntryValidator
}

osEthServClassMethod OBJECT-TYPE
    SYNTAX           INTEGER {
                       unknown (1),
                       pcp     (3),
                       dscp    (4),
                       tag     (8)
                     }
    MAX-ACCESS       not-accessible
    STATUS           current
    DESCRIPTION
       "."
    ::= { osEthServClassEntry 3 }


osEthServClassValue OBJECT-TYPE
    SYNTAX           Unsigned32
    MAX-ACCESS       not-accessible
    STATUS           current
    DESCRIPTION
       "The semantic of this object depends on osEthServClassMethod."
    ::= { osEthServClassEntry 4 }


osEthServClassCoS OBJECT-TYPE
    SYNTAX           CoS
    MAX-ACCESS       read-write
    STATUS           current
    DESCRIPTION
       "Target CoS."
    DEFVAL { 1 }
    ::= { osEthServClassEntry 5 }

osEthServClassAdminStatus OBJECT-TYPE
    SYNTAX           EntryValidator
    MAX-ACCESS       read-write
    STATUS           current
    DESCRIPTION
       "Allows to create new rows or delete old rows."
    ::= { osEthServClassEntry 98 }

-- ************************************************************
-- The osEthServFlowTable Table
-- ************************************************************
osEthServFlowTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OsEthServFlowEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "When Servise Level (CoS) has just been computed, this table allows
       to apply it for relevant profiles."
    ::= { osEthServ 10 }

osEthServFlowEntry OBJECT-TYPE
    SYNTAX      OsEthServFlowEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Contains an entry of the table."
    INDEX { osEthServId, osEthServFlowId }
    ::= { osEthServFlowTable 1 }

OsEthServFlowEntry ::= SEQUENCE {
      osEthServFlowId                 ServFlowId,

      osEthServFlowIngBwPrfl          EntityNameOrNone,
      osEthServFlowIngBwAccStatus     BwAccountStatus,

      osEthServFlowEgBwPrfl           EntityNameOrNone,
      osEthServFlowEgBwAccStatus      BwAccountStatus,

      osEthServFlowFloodLimPrfl       EntityNameOrNone,

      osEthServFlowPerfPrfl           EntityNameOrNone,
      osEthServFlowMepId              OsCfmMepIdOrZero,
      osEthServFlowMepReserve1        PortIndexOrNone,
      osEthServFlowPerfDestMacAddress MacAddress,
      osEthServFlowPerfDestMepId      OsCfmMepIdOrZero,
      osEthServFlowPerfDestMepList    MepList,
      osEthServFlowPerfDestType       INTEGER,
      osEthServFlowPerfEnabled        TruthValue,

      osEthServFlowRemarkBits         BITS,
      osEthServFlowMarkDscp           Unsigned32,
      osEthServFlowMarkPcp            Unsigned32,

      osEthServFlowRestOfTraffic      TruthValue,

      osEthServFlowLbmPrfl            EntityNameOrNone,
      osEthServFlowLbmDestMacAddress  MacAddress,
      osEthServFlowLbmDestMepId       OsCfmMepIdOrZero,
      osEthServFlowLbmDestType        INTEGER,
      osEthServFlowLbmEnabled         TruthValue,
      osEthServFlowLbmClear           TruthValue,

      osEthServFlowUpEgBwPrfl         EntityNameOrNone,
      osEthServFlowUpEgBwAccStatus    BwAccountStatus,
      osEthServFlowDnEgBwPrfl         EntityNameOrNone,
      osEthServFlowDnEgBwAccStatus    BwAccountStatus,

      osEthServFlowUpIngFsPrfl        EntityNameOrNone,
      osEthServFlowDnIngFsPrfl        EntityNameOrNone,
      osEthServFlowUpIngFsSubAgentId  Integer32,
      osEthServFlowDnIngFsSubAgentId  Integer32,

      osEthServFlowUpstrDEI           INTEGER,
      osEthServFlowDownstrDEI         INTEGER,

      osEthServFlowHistoryClear       TruthValue,
      osEthServFlowAdminStatus        EntryValidator
}

osEthServFlowId     OBJECT-TYPE
    SYNTAX          ServFlowId
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
       "The value 0 means, that this entry corresponds to the service, not to to any flow."
    ::= { osEthServFlowEntry 5 }

osEthServFlowIngBwPrfl OBJECT-TYPE
    SYNTAX           EntityNameOrNone
    MAX-ACCESS       read-write
    STATUS           current
    DESCRIPTION
       "Ingress bandwidth profile applied to C-Ports to ensure rate limiting.
        This object points to the osEthBwTable."
    DEFVAL { "" }
    ::= { osEthServFlowEntry 6 }

osEthServFlowIngBwAccStatus OBJECT-TYPE
    SYNTAX           BwAccountStatus
    MAX-ACCESS       read-write
    STATUS           current
    DESCRIPTION
       "Status of ingress accounting for the flow"
    DEFVAL { disabled }
    ::= { osEthServFlowEntry 7 }


osEthServFlowEgBwPrfl OBJECT-TYPE
    SYNTAX           EntityNameOrNone
    MAX-ACCESS       read-write
    STATUS           current
    DESCRIPTION
       "Egress bandwidth profile applied to S-Ports to ensure rate limiting.
        This object points to the osEthBwTable."
    DEFVAL { "" }
    ::= { osEthServFlowEntry 10 }

osEthServFlowEgBwAccStatus OBJECT-TYPE
    SYNTAX           BwAccountStatus
    MAX-ACCESS       read-write
    STATUS           current
    DESCRIPTION
       "Status of egress accounting for the flow"
    DEFVAL { disabled }
    ::= { osEthServFlowEntry 11 }


osEthServFlowFloodLimPrfl OBJECT-TYPE
    SYNTAX           EntityNameOrNone
    MAX-ACCESS       read-write
    STATUS           current
    DESCRIPTION
       "Profile of Flood limit configuration. Points to osEthFloodPrflTable."
    ::= { osEthServFlowEntry 12 }

osEthServFlowPerfPrfl OBJECT-TYPE
    SYNTAX           EntityNameOrNone
    MAX-ACCESS       read-write
    STATUS           current
    DESCRIPTION
       "Profile of Performance configuration. Points to osEthPerfTable"
    ::= { osEthServFlowEntry 15 }

osEthServFlowMepId   OBJECT-TYPE
    SYNTAX           OsCfmMepIdOrZero
    MAX-ACCESS       read-write
    STATUS           current
    DESCRIPTION
       "MEP Id for Profile of Performance tests of the flow."
    DEFVAL { 0 }
    ::= { osEthServFlowEntry 16 }

osEthServFlowMepReserve1 OBJECT-TYPE
    SYNTAX            PortIndexOrNone
    MAX-ACCESS        read-write
    STATUS            current
    DESCRIPTION
       "For debug and backward compatibility. Must be deleted or replaced in the future."
    ::= { osEthServFlowEntry 17 }

osEthServFlowPerfDestMacAddress OBJECT-TYPE
    SYNTAX          MacAddress
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "The Target MAC Address Field to be transmitted: A unicast
        destination MAC address.
        This address will be used if the value of the column
        osEthServFlowPerfDestType is 'macAddress'.
       "
    REFERENCE
       "802.1ag clause 12.14.7.3.2:b"
    ::= { osEthServFlowEntry 19 }

osEthServFlowPerfDestMepId OBJECT-TYPE
    SYNTAX          OsCfmMepIdOrZero
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "The Maintenance association End Point Identifier of another
        MEP in the same Maintenance Association to which the LBM is
        to be sent.
        This address will be used if the value of the column
        osEthServFlowPerfDestType is 'singleRMepId'.
       "
    REFERENCE
       "802.1ag clause 12.14.7.3.2:b"
    ::= { osEthServFlowEntry 20 }

osEthServFlowPerfDestMepList OBJECT-TYPE
    SYNTAX          MepList
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "List of The Maintenance association End Point Identifiers.
        This object will be used if the value of the column
        osEthServFlowPerfDestType is 'listOfRMeps'.  "
    ::= { osEthServFlowEntry 21 }

osEthServFlowPerfDestType OBJECT-TYPE
    SYNTAX          INTEGER {
                       singleRMepId(1),
                       macAddress(2),
                       listOfRMeps (3)
                    }

    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "Describes type of destination used.
       Flag indicating if the destination is specified by destination MEP ID, by destination
       MAC address or by list of destination MEP IDs."
    DEFVAL { macAddress }
    ::= { osEthServFlowEntry 22 }

osEthServFlowPerfEnabled  OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "To start/stop Performance test for the flow."
    DEFVAL { false }
    ::= { osEthServFlowEntry 23 }

osEthServFlowRemarkBits   OBJECT-TYPE
    SYNTAX          BITS {
                      reserved       (0),
                      markDscp       (1),
                      markPcp        (2)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "The bit reserved(0) is not used."
    DEFVAL { {} }
    ::= { osEthServFlowEntry 24 }

osEthServFlowMarkDscp OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "."
    ::= { osEthServFlowEntry 26 }

osEthServFlowMarkPcp OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "."
    ::= { osEthServFlowEntry 27 }

osEthServFlowRestOfTraffic OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
      "Define a flow as 'rest of traffic' one.
      Only one flow can have this feature. Thus when the value True is set for any flow, agent
      automatically reset this object for all other flows.
      For a stream with osEthServFlowId=0, this object does not matter, although it can be set
      in order to reset it in another flow."
    DEFVAL { false }
    ::= { osEthServFlowEntry 30 }

osEthServFlowLbmPrfl      OBJECT-TYPE
    SYNTAX      EntityNameOrNone
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Profile of LBM configuration. Points to osEthLbmTable"
    DEFVAL { "" }
    ::= { osEthServFlowEntry 40 }

osEthServFlowLbmDestMacAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The Target MAC Address Field to be transmitted.
        This address will be used if the value of the column
        osEthServFlowLbmDestType is 'macAddress'."
    ::= { osEthServFlowEntry 41 }

osEthServFlowLbmDestMepId OBJECT-TYPE
    SYNTAX      OsCfmMepIdOrZero
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The Maintenance association End Point Identifier of another
        MEP in the same Maintenance Association to which the LBM is
        to be sent.
        This address will be used if the value of the column
        osEthServFlowLbmDestType is 'singleRMepId'."
    DEFVAL { 0 }
    ::= { osEthServFlowEntry 42 }

osEthServFlowLbmDestType  OBJECT-TYPE
    SYNTAX      INTEGER{
                       singleRMepId(1),
                       macAddress(2),
                       listOfRMeps (3),
                       multicastClass1(4),
                       multicastClass2(5)
                       }

    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Describes type of destination used for LBM."
    DEFVAL { macAddress }
    ::= { osEthServFlowEntry 43 }

osEthServFlowLbmEnabled   OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "To start/stop LBM test for the flow."
    DEFVAL { false }
    ::= { osEthServFlowEntry 44 }

osEthServFlowLbmClear     OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object when written clears the LBM history and result tables and statistics."
    DEFVAL { false }
    ::= { osEthServFlowEntry 45 }

osEthServFlowUpEgBwPrfl   OBJECT-TYPE
    SYNTAX      EntityNameOrNone
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Profile ID to upstream egress bandwith configuration.
       It allows to limit traffic, departing from S-Ports. Points to osEthBwTable."
    DEFVAL { "" }
    ::= { osEthServFlowEntry 55 }

osEthServFlowUpEgBwAccStatus OBJECT-TYPE
    SYNTAX      BwAccountStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Status of upstream egress accounting for the flow. It allows to count
        traffic, departing from S-Ports."
    DEFVAL { disabled }
    ::= { osEthServFlowEntry 56 }

osEthServFlowDnEgBwPrfl   OBJECT-TYPE
    SYNTAX      EntityNameOrNone
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Profile ID to downstream egress bandwith configuration. 
       It allows to limit traffic, departing from C-Ports. Points to osEthBwTable"
    DEFVAL { "" }
    ::= { osEthServFlowEntry 58 }

osEthServFlowDnEgBwAccStatus OBJECT-TYPE
    SYNTAX      BwAccountStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Status of downstream egress accounting for the flow. It allows to count
        traffic, departing from C-Ports."
    DEFVAL { disabled }
    ::= { osEthServFlowEntry 59 }

osEthServFlowUpIngFsPrfl   OBJECT-TYPE
    SYNTAX      EntityNameOrNone
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Profile ID to upstream ingress flow sampling configuration.
       It allows sampling traffic, arriving to C-Ports. Points to osEthFsTable"
    DEFVAL { "" }
    ::= { osEthServFlowEntry 60 }

osEthServFlowDnIngFsPrfl   OBJECT-TYPE
    SYNTAX      EntityNameOrNone
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Profile ID to downstream ingress flow sampling configuration.
       It allows sampling traffic, arriving to S-Ports. Points to osEthFsTable"
    DEFVAL { "" }
    ::= { osEthServFlowEntry 61 }

osEthServFlowUpIngFsSubAgentId   OBJECT-TYPE
    SYNTAX      Integer32 (-1|0..9999)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Sub agent ID of upstream ingress flow sampling."
    DEFVAL { -1 }
    ::= { osEthServFlowEntry 62 }

osEthServFlowDnIngFsSubAgentId   OBJECT-TYPE
    SYNTAX      Integer32 (-1|0..9999)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Sub agent ID of downstream ingress flow sampling."
    DEFVAL { -1 }
    ::= { osEthServFlowEntry 63 }

osEthServFlowUpstrDEI OBJECT-TYPE
    SYNTAX          INTEGER {
                       insensitive(1),
                       dpYellow   (2),
                       dpRed      (3)
                    }

    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "Upstream drop eligibility indicator sensitivity.
       The value 'dpYellow(2)' means, then frames with DEI bit equal to 1 will
       have Drop precedence 'yellow'.
       The value 'dpRed(3)' means, then frames with DEI bit equal to 1 will
       have Drop precedence 'red'."
    REFERENCE
       "CLI commands:
          'ingress-color-dei (dp-yellow|dp-red)'
          'no ingress-color-dei (dp-yellow|dp-red|)'"
    DEFVAL { insensitive }
    ::= { osEthServFlowEntry 64 }

osEthServFlowDownstrDEI OBJECT-TYPE
    SYNTAX          INTEGER {
                       insensitive(1),
                       dpYellow   (2),
                       dpRed      (3)
                    }

    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "Downstream drop eligibility indicator sensitivity.
       The value 'dpYellow(2)' means, then frames with DEI bit equal to 1 will
       have Drop precedence 'yellow'.
       The value 'dpRed(3)' means, then frames with DEI bit equal to 1 will
       have Drop precedence 'red'."
    REFERENCE
       "CLI commands:
          'egress (dp-yellow|dp-red)'
          'no egress (dp-yellow|dp-red|)'"
    DEFVAL { insensitive }
    ::= { osEthServFlowEntry 65 }


osEthServFlowHistoryClear OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object when written clears the Delay Measurement history tables 
        - all rows are deleted.  When read the value always returns 'false'. 
        Writing this value does not change the current stat table
        Writing this object at row creation is irrelevant and should not
        be done.
       "
    DEFVAL { false }
    ::= { osEthServFlowEntry 97 }
    
osEthServFlowAdminStatus OBJECT-TYPE
    SYNTAX          EntryValidator
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "Allows to create new rows or delete old rows."
    ::= { osEthServFlowEntry 98 }

-- ************************************************************
-- The osEthServVcTable Table
-- ************************************************************
osEthServVcTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OsEthServVcEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table contains all parameters of EVC/OVC. The service must have the same 
       values of these objects on every devices."
    REFERENCE
       "tbd."
    ::= { osEthServ 11 }

osEthServVcEntry    OBJECT-TYPE
    SYNTAX      OsEthServVcEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Contains an entry of the table."
    INDEX { osEthServId }
    ::= { osEthServVcTable 1 }

OsEthServVcEntry ::= SEQUENCE {
      osEthServVcType           INTEGER,
      osEthServVcSVlanId        VlanIdOrNone,
      osEthServVcMDLevel        CfmMDLevel,
      osEthServVcMAIndex        Unsigned32,
      osEthServVcMaTypeName     Dot1agCfmMaintAssocNameType,
      osEthServVcMaName         DisplayString,
      osEthServVcMtuSize        Unsigned32
}

osEthServVcType     OBJECT-TYPE
    SYNTAX          INTEGER {
                      unknown     (1),
                      eLine       (2),
                      eLan        (3),
                      eTree       (4),
                      eAccessLine (5),
                      eAccessLan  (6),
                      eAccessTree (7)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
      "Defines a network role of the service. 
       This object has no effect on the configuration inside the node."
    DEFVAL { eLan }
    ::= { osEthServVcEntry 10 }

osEthServVcSVlanId   OBJECT-TYPE
    SYNTAX           VlanIdOrNone
    MAX-ACCESS       read-write
    STATUS           current
    DESCRIPTION
       "S-VLAN - Service VLAN (also referred to as Provider VLAN).
       For UNI services this parameter means q-in-q tunneling tag stacking  parameter. For all
       types of services it also serves as a prinary VLAN for OAM functions.
       The value 0 may be used only in E_NNI or I_NNI services."
    DEFVAL { 0 }
    ::= { osEthServVcEntry 11 }

osEthServVcMDLevel    OBJECT-TYPE
    SYNTAX            CfmMDLevel
    MAX-ACCESS        read-write
    STATUS            current
    DESCRIPTION
       "The Maintenance Domain Level."
    REFERENCE
       "802.1ag clause 12.14.5.1.3:b"
    DEFVAL { -1 }
    ::= { osEthServVcEntry 15 }

osEthServVcMAIndex    OBJECT-TYPE
    SYNTAX            Unsigned32 (1..65535)
    MAX-ACCESS        read-write
    STATUS            current
    DESCRIPTION
       "Parallel to dot1agCfmMaIndex: a reference to a particular Maintenance
       Domain managed object."
    REFERENCE
       "802.1ag clause 12.14.5.1.2:a."
    DEFVAL { 1 }
    ::= { osEthServVcEntry 16 }

osEthServVcMaTypeName OBJECT-TYPE
    SYNTAX           Dot1agCfmMaintAssocNameType
    MAX-ACCESS       read-write
    STATUS           current
    DESCRIPTION
       "The type (and thereby format) of the Maintenance Association
        Name."
    REFERENCE
       "802.1ag clauses 21.6.5.4; ITU-T Y.1731, Annex A"
    DEFVAL { charString }
    ::= { osEthServVcEntry 17 }

osEthServVcMaName    OBJECT-TYPE
    SYNTAX           DisplayString (SIZE (1..45))
    MAX-ACCESS       read-write
    STATUS           current
    DESCRIPTION
       "The Short Maintenance Association name. The type/format of
        this object is determined by the value of the
        osEthServVcMaTypeName object.
        Default: name of the Service: osEthServId "
    REFERENCE
       "802.1ag clauses 21.6.5.6 and Table 21-20; ITU-T Y.1731, Annex A"
    ::= { osEthServVcEntry 18 }


osEthServVcMtuSize   OBJECT-TYPE
    SYNTAX           Unsigned32 (64..16000)
    UNITS            "bytes"
    MAX-ACCESS       read-write
    STATUS           current
    DESCRIPTION
      "Bind MTU size for the virtual interface."
    DEFVAL { 1632 }
    ::= { osEthServVcEntry 19 }


-- ************************************************************
-- The osEthServFlowTestParamTable Table
-- ************************************************************
osEthServFlowTestParamTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OsEthServFlowTestParamEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "PM Test parameters"
    ::= { osEthServ 12 }

osEthServFlowTestParamEntry    OBJECT-TYPE
    SYNTAX      OsEthServFlowTestParamEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Contains en entry of the table."
    INDEX { osEthServId, osEthServFlowId, osEthServFlowTestType }
    ::= { osEthServFlowTestParamTable 1 }

OsEthServFlowTestParamEntry ::= SEQUENCE {
      osEthServFlowTestType               INTEGER,
      osEthServFlowTestStartTimeType      StartTimeType,
      osEthServFlowTestFixedStartTime     DateAndTime,
      osEthServFlowTestRelStartTime       Unsigned32,
      osEthServFlowTestPeriodicity        Unsigned32
}

osEthServFlowTestType         OBJECT-TYPE
    SYNTAX          INTEGER {
                       pm      (1),
                       rfc2544 (2) 
                     }
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
       "Test type."
    ::= { osEthServFlowTestParamEntry 1 }

osEthServFlowTestStartTimeType   OBJECT-TYPE
    SYNTAX      StartTimeType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This attribute specifies the type of start time of the 
        PM Test. The start time can immediate, relative, or fixed.

        The value of 'immediate' means that Performance Monitor starts immediatly,
        when osEthServFlowPerfEnabled object is true and osEthServAdminStatus object is enable

        The value of 'fixed' starts the PM Test when osEthServFlowPerfEnabled object is true
        and osEthServAdminStatus object is enable and osEthServFlowPerfFixedStartTime is less than
        or equal to the current system date. 

        The value of 'relative' starts the PM Test when the current system date and time minus
        the osEthServFlowPerfRelStartTime is greater than or equal
        to the system date and time when osEthServFlowPerfEnabled object was true
        and osEthServAdminStatus object was enable. If the written value of the 
        osEthServFlowPerfRelStartTime object is '0' the PM Test starts 
        immediately and the session operates as if it was set to the immediate
        mode."
    REFERENCE
       "[MEF SOAM-PM] R2, D1"
    DEFVAL { immediate }
    ::= { osEthServFlowTestParamEntry 2 }

osEthServFlowTestFixedStartTime   OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This attribute specifies the fixed start date/time for the 
        PM Test. This attribute is used only used if 
        osEthServFlowTestStartTimeType is 'fixed' and is ignored otherwise.
       "
    DEFVAL { '0000010100000000'H }
    ::= { osEthServFlowTestParamEntry 3 }

osEthServFlowTestRelStartTime   OBJECT-TYPE
    SYNTAX      Unsigned32 (0..21474836)
    UNITS       "seconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This attribute specifies the relative start time, from the
        current system time, for the PM Test.  This attribute is used
         only if osEthServFlowTestStartTimeType is 'relative' and is 
        ignored otherwise.
       "
    DEFVAL { 0 }
    ::= { osEthServFlowTestParamEntry 4 }

osEthServFlowTestPeriodicity   OBJECT-TYPE
    SYNTAX      Unsigned32 (0..21474836)
    UNITS       "seconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This attribute specifies a configurable periodicity time per Test.
        The periodicity time can be specified as none
        (value of 0) or in relative time (e.g., every given number seconds from the start time). 
        If the Test is configured as continuous, then osEthServFlowTestPeriodicity object should be 0.
        If the Test is not continuous, then the osEthServFlowTestPeriodicity object
        should be greater than (NumberOfBursts * BurstInterval)
       "
    REFERENCE
       "[MEF SOAM-PM] R4, D3, R5, R6"
    DEFVAL { 0 }
    ::= { osEthServFlowTestParamEntry 5 }


-- ************************************************************
-- The osEthBwTable Table
-- ************************************************************
osEthBwTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OsEthBwEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table contains Bandwidth Profiles."
    REFERENCE
       "See metroethernetforum.org/PDF_Documents/Bandwidth-Profiles-for-Ethernet-Services.pdf"
    ::= { osEthServ 13 }

osEthBwEntry    OBJECT-TYPE
    SYNTAX      OsEthBwEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Contains an entry of the table."
    INDEX { osEthBwId }
    ::= { osEthBwTable 1 }

OsEthBwEntry ::= SEQUENCE {
      osEthBwId                 EntityName,
      osEthBwCIR                Unsigned32,
      osEthBwCBS                Unsigned32,
      osEthBwEIR                Unsigned32,
      osEthBwEBS                Unsigned32,
      osEthBwColorMode          INTEGER,
      osEthBwLastError          DisplayString,
      osEthBwRateLimitType      INTEGER,
      osEthBwAggregated         TruthValue,
      osEthBwBuffSize           Unsigned32,
      osEthBwAdminStatus        EntryValidator,
      osEthBwOperStatus         ProfileStatus
}

osEthBwId           OBJECT-TYPE
    SYNTAX          EntityName
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
       "."
    ::= { osEthBwEntry 1 }

osEthBwCIR          OBJECT-TYPE
    SYNTAX          Unsigned32
    UNITS           "Kbits/sec"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "Committed Information Rate."
    ::= { osEthBwEntry 2 }

osEthBwCBS          OBJECT-TYPE
    SYNTAX          Unsigned32
    UNITS           "Kbyte"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "Committed Burst Size."
    ::= { osEthBwEntry 3 }

osEthBwEIR          OBJECT-TYPE
    SYNTAX          Unsigned32
    UNITS           "Kbits/sec"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "Excess Information Rate."
    ::= { osEthBwEntry 4 }

osEthBwEBS          OBJECT-TYPE
    SYNTAX          Unsigned32
    UNITS           "Kbyte"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "Excess Burst Size."
    ::= { osEthBwEntry 5 }

osEthBwColorMode OBJECT-TYPE
    SYNTAX          INTEGER {
                      unknown           (1),
                      colorBlind        (2),
                      colorAware        (3),
                      colorAwareDropRed (4),
                      colorBlindDropRed (5)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "CLI commands:
         'color-mode (blind|aware|drop-red|blind-and-drop-red|aware-and-drop-red)'
         'no color-mode (blind|aware|drop-red|blind-and-drop-red|aware-and-drop-red|)'."
    DEFVAL { colorBlind }
    ::= { osEthBwEntry 10 }

osEthBwLastError    OBJECT-TYPE
    SYNTAX          DisplayString (SIZE (0..160))
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "Last configuration error description."
    ::= { osEthBwEntry 11 }

osEthBwRateLimitType OBJECT-TYPE
    SYNTAX   INTEGER {
                       shaper(1),
                       tc(2)
                    } 
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "shaper(1) means, that BW limit uses shaper, tc(2) - traffic conditioner."
    DEFVAL { tc }
    ::= { osEthBwEntry 12 }

osEthBwAggregated   OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "Common usage of this profile by several services or and flow."
    ::= { osEthBwEntry 13 }

osEthBwBuffSize     OBJECT-TYPE
    SYNTAX          Unsigned32 (0 | 64..2147483647)
    UNITS           "Bytes"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "Queue buffer size. The value '0' means 'default'.
        The default value vary for different devices:
	OS-V8  has default value 262144 bytes, 
	OS-V20 has default value 786432 bytes.
       "
      DEFVAL { 0 }
    ::= { osEthBwEntry 14 }

osEthBwAdminStatus  OBJECT-TYPE
    SYNTAX          EntryValidator
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "Allows to create new rows or delete old rows."
    ::= { osEthBwEntry 98 }

osEthBwOperStatus   OBJECT-TYPE
    SYNTAX          ProfileStatus
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "."
    ::= { osEthBwEntry 99 }

-- ************************************************************
-- The osEthPerfTable Table: Performance profiles 
-- ************************************************************
osEthPerfTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OsEthPerfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table contains Performance Profiles."
    REFERENCE
       "."
    ::= { osEthServ 14 }

osEthPerfEntry    OBJECT-TYPE
    SYNTAX      OsEthPerfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Contains an entry of the table."
    INDEX { osEthPerfId }
    ::= { osEthPerfTable 1 }

OsEthPerfEntry ::= SEQUENCE {
      osEthPerfId                        EntityName,
      osEthPerfType                      INTEGER,

      osEthPerfVlanDropEnable            TruthValue,

      osEthPerfHistorySize               Unsigned32,
      osEthPerfInterval                  Unsigned32,
      osEthPerfTimeout                   Unsigned32,
      osEthPerfDataLength                Unsigned32,
      osEthPerfDataFill                  OCTET STRING,
      osEthPerfMessages                  Unsigned32,
      osEthPerfBurstInterval             Unsigned32,
      osEthPerfNumberOfBursts            Unsigned32,
      
      osEthPerfMeasBinsInterval          Unsigned32,
      osEthPerfMeasBinsIsAlign           TruthValue,
      osEthPerfMeasBinsClockSyncFlag     TruthValue,
      osEthPerfMeasBinsHistorySize       Unsigned32,      

      -- trap thresholds 
      osEthPerfFdRiseThold               Unsigned32,
      osEthPerfFdFallThold               Unsigned32,

      osEthPerfDSJittRiseThold           Unsigned32,
      osEthPerfDSJittFallThold           Unsigned32,

      osEthPerfSDJittRiseThold           Unsigned32,
      osEthPerfSDJittFallThold           Unsigned32,
      
      osEthPerfLastError                 DisplayString,
      osEthPerfAdminStatus               EntryValidator,
      osEthPerfOperStatus                ProfileStatus
}

osEthPerfId         OBJECT-TYPE
    SYNTAX          EntityName
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
       "."
    ::= { osEthPerfEntry 3 }

osEthPerfType       OBJECT-TYPE
    SYNTAX          INTEGER {
                      unknown (1),
                      dmm     (2),
                      dmmSlow (3),
                      lbm     (4),
                      lbmSlow (5),
                      lmm     (6)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
      "This object defines a protocol of Frame Delay Measurement.The values mean:
         dmm     - two-way ETH-DM (ITU-T Y.1731, Clause 8.2.2)
         dmmSlow - the same as dmm, but less precise and may be
                   used when dmm cannot been applied
         lbm     - Ethernet Loopback (ETH-LB) (ITU-T Y.1731, Clause 7.2); mau be
                   used when a partner does not support ETH-DM protocol; this
                   protocol cannot distinguish berween source-destination and
                   destination-source jitters and
                   provides only one set of jitters and thresholds, called
                   here osEthPerfDS***Jitt****.
         lbmSlow - the same as lbm, but less precise and may be used when lbm
                   cannot been applied
         lmm      - Single-ended ETH-LM (ITU-T Y.1731, Clause 8.1.2)."
    DEFVAL { dmmSlow }
    ::= { osEthPerfEntry 4 }

osEthPerfVlanDropEnable OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "Drop Enable bit value to be used in the VLAN tag, if present
        in the transmitted frame.

        For more information about VLAN Drop Enable, please check
        IEEE 802.1ad.
       "
    REFERENCE
       "802.1ag clause 12.14.7.3.2:e"
    DEFVAL { true }
    ::= { osEthPerfEntry 12 }

osEthPerfHistorySize OBJECT-TYPE
    SYNTAX          Unsigned32 (2..65535)
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "."
    DEFVAL { 5 }
    ::= { osEthPerfEntry 17 }

osEthPerfInterval OBJECT-TYPE
    SYNTAX          Unsigned32 (1..1000000)
    UNITS           "microseconds"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "Inter-frame delay between transmitting of Loopback frames
        to the destination"
    DEFVAL { 100000 }
    ::= { osEthPerfEntry 18 }

osEthPerfTimeout OBJECT-TYPE
    SYNTAX          Unsigned32 (1..60000)
    UNITS           "milliseconds"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "Timeout for the arrival of Loopback reply"
    DEFVAL { 200 }
    ::= { osEthPerfEntry 19 }

osEthPerfDataLength OBJECT-TYPE
    SYNTAX          Unsigned32 (60..9000)
    UNITS           "octets"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "Loopback message data length. Used to send Loopback 
        messages in different lengths"
    DEFVAL { 60 }
    ::= { osEthPerfEntry 20 }

osEthPerfDataFill OBJECT-TYPE
    SYNTAX          OCTET STRING (SIZE(0..64))
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "."
    ::= { osEthPerfEntry 21 }

osEthPerfMessages OBJECT-TYPE
    SYNTAX          Unsigned32 (1..1000000)
    UNITS           "packets"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "The number of messages in a burst"
    DEFVAL { 3 }
    ::= { osEthPerfEntry 23 }

osEthPerfBurstInterval OBJECT-TYPE
    SYNTAX           Unsigned32 (1..86400)
    UNITS            "seconds"
    MAX-ACCESS       read-write
    STATUS           current
    DESCRIPTION
       "Interval between bursts."
    DEFVAL { 60 }
    ::= { osEthPerfEntry 24 }

osEthPerfNumberOfBursts OBJECT-TYPE
    SYNTAX            Unsigned32 (0|1..4294967295)
    UNITS             "bursts"
    MAX-ACCESS        read-write
    STATUS            current
    DESCRIPTION
       "Number of bursts in the test. The value 0 means continuous test."
    DEFVAL { 1 }
    ::= { osEthPerfEntry 25 }

osEthPerfMeasBinsInterval   OBJECT-TYPE
    SYNTAX          Unsigned32 (1..1440)
    UNITS           "minutes"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "."
    REFERENCE
       "[MEF SOAM-PM] P10"
    DEFVAL { 15 }
    ::= { osEthPerfEntry 26 }

osEthPerfMeasBinsIsAlign   OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "A SOAM implementation should align the start of a measurement interval 
        on osEthPerfMeasBinsInterval boundary of the local time-of-day clock."
    REFERENCE
       "[MEF SOAM-PM] D4"
    DEFVAL { true }
    ::= { osEthPerfEntry 27 }

osEthPerfMeasBinsClockSyncFlag OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
      "This attribute specifies whether the clocks for both end 
        points are synchronized. This attribute controls whether 
        one-way measurements are computed."
    REFERENCE
       "[MEF SOAM-PM] D17, D18"
    DEFVAL { false }
    ::= { osEthPerfEntry 28 }

osEthPerfMeasBinsHistorySize   OBJECT-TYPE
    SYNTAX          Unsigned32 (2..192)
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "."
    REFERENCE
       "[MEF SOAM-PM] P10"
    DEFVAL { 32 }
    ::= { osEthPerfEntry 29 }

-- trap thresholds 
osEthPerfFdRiseThold OBJECT-TYPE
    SYNTAX          Unsigned32 (0..10000000)
    UNITS           "microseconds"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "Frame delay (Average of Round Trip Time) Rising threshold.
        Value 0 means, that this the agent will not check this tipe of threshold."
    DEFVAL { 0 }
    ::= { osEthPerfEntry 35 }

osEthPerfFdFallThold OBJECT-TYPE
    SYNTAX          Unsigned32 (0..10000000)
    UNITS           "microseconds"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "Frame delay (Average of Round Trip Time) Falling threshold"
    DEFVAL { 0 }
    ::= { osEthPerfEntry 36 }

osEthPerfDSJittRiseThold OBJECT-TYPE
    SYNTAX          Unsigned32 (0..10000000)
    UNITS           "microseconds"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "Destination-Source positive jitter Rising threshold.
        Value 0 means, that this the agent will not check this tipe of threshold."
    DEFVAL { 0 }
    ::= { osEthPerfEntry 49 }

osEthPerfDSJittFallThold OBJECT-TYPE
    SYNTAX          Unsigned32 (0..10000000)
    UNITS           "microseconds"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "Destination-Source positive jitter Falling threshold."
    DEFVAL { 0 }
    ::= { osEthPerfEntry 50 }

osEthPerfSDJittRiseThold OBJECT-TYPE
    SYNTAX          Unsigned32 (0..10000000)
    UNITS           "microseconds"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "Source-Destination positive jitter Rising threshold.
        Value 0 means, that this the agent will not check this tipe of threshold."
    DEFVAL { 0 }
    ::= { osEthPerfEntry 63 }

osEthPerfSDJittFallThold OBJECT-TYPE
    SYNTAX          Unsigned32 (0..10000000)
    UNITS           "microseconds"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "Source-Destination positive jitter Falling threshold."
    DEFVAL { 0 }
    ::= { osEthPerfEntry 64 }

osEthPerfLastError  OBJECT-TYPE
    SYNTAX          DisplayString (SIZE (0..160))
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "."
    ::= { osEthPerfEntry 65 }


osEthPerfAdminStatus OBJECT-TYPE
    SYNTAX          EntryValidator
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "Allows to create new rows or delete old rows."
    ::= { osEthPerfEntry 98 }

osEthPerfOperStatus OBJECT-TYPE
    SYNTAX          ProfileStatus
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "."
    ::= { osEthPerfEntry 99 }

-- ************************************************************
-- The osEthCfmTable Table: Connectivity Fault management
-- ************************************************************
osEthCfmTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OsEthCfmEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table contains Connectivity Fault management Profiles."
    REFERENCE
       "."
    ::= { osEthServ 15 }

osEthCfmEntry    OBJECT-TYPE
    SYNTAX      OsEthCfmEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Contains an entry of the table."
    INDEX { osEthCfmId }
    ::= { osEthCfmTable 1 }

OsEthCfmEntry ::= SEQUENCE {
      osEthCfmId                        EntityName,
      osEthCcmLowPrDef                  Dot1agCfmLowestAlarmPri,
      osEthCcmFngAlarmTime              TimeInterval,
      osEthCcmFngResetTime              TimeInterval,
      osEthCcmMaCcmInterval             Dot1agCfmCcmInterval,
      osEthCcmMaCcmRMepAgingTime        Unsigned32,
      osEthCcmSendPortTlv               TruthValue,
      osEthCcmSendIfTlv                 TruthValue,
      osEthCfmLtrPortIdSubtype          INTEGER, 
      osEthCfmLastError                 DisplayString,
      osEthCfmAdminStatus               EntryValidator,
      osEthCfmOperStatus                ProfileStatus
}

osEthCfmId          OBJECT-TYPE
    SYNTAX          EntityName
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
       "."
    ::= { osEthCfmEntry 3 }

osEthCcmLowPrDef    OBJECT-TYPE
    SYNTAX          Dot1agCfmLowestAlarmPri
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "An integer value specifying the lowest priority defect 
        that is allowed to generate fault alarm.
       "
    REFERENCE
       "802.1ag clause 12.14.7.1.3:k and 20.9.5 and Table 20-1"
    DEFVAL { macRemErrXcon }
    ::= { osEthCfmEntry 5 }

osEthCcmFngAlarmTime OBJECT-TYPE
    SYNTAX          TimeInterval (250..1000)
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "This object reflects dot1agCfmMepFngAlarmTime.
        The time that defects must be present before a Fault Alarm is
        issued (fngAlarmTime. 20.33.3) (default 2.5s)."
    REFERENCE
       "802.1ag clauses 12.14.7.1.3:l and 20.33.3"
    DEFVAL { 250 }
    ::= { osEthCfmEntry 6 }

osEthCcmFngResetTime OBJECT-TYPE
    SYNTAX          TimeInterval (250..1000)
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "This object reflects dot1agCfmMepFngResetTime.
        The time that defects must be absent before re-enabling a
        Fault Alarm (fngResetTime, 20.33.4) (default 10s)."
    REFERENCE
       "802.1ag clauses 12.14.7.1.3:m and 20.33.4"
    DEFVAL { 1000 }
    ::= { osEthCfmEntry 7 }

osEthCcmMaCcmInterval OBJECT-TYPE
    SYNTAX          Dot1agCfmCcmInterval
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "."
    ::= { osEthCfmEntry 9 }

osEthCcmMaCcmRMepAgingTime OBJECT-TYPE
    SYNTAX           Unsigned32 (0..86400)
    UNITS            "seconds"
    MAX-ACCESS       read-write
    STATUS           current
    DESCRIPTION
      "This attribute defines a period of time after which an 
        instance in the dot1agCfmMepDbTable is removed if a valid CCM has not
        been received by the local MEP, i.e. Dot1agCfmRemoteMepState is set to
        rMEPFailed for the period of time indicated by 
        osEthCcmMaCcmRMepAgingTime.

        A value of zero indicates no aging will occur."
    REFERENCE
       "ETH-SERVICE-OAM-FM-MIB; [MEF 17] R5a and R5b, [CFM] 20.19, 20.20"
    DEFVAL { 0 }
    ::= { osEthCfmEntry 10 }

osEthCcmSendPortTlv  OBJECT-TYPE
    SYNTAX           TruthValue
    MAX-ACCESS       read-write
    STATUS           current
    DESCRIPTION
       "Indicates whether a Port Status TLV is included in CCM frame
        transmission. 

        A value of 'true' indicates that the Port Status TLV is to be included. 

        A value of 'false' indicates that the Port Status TLV is not to be 
        included.
       "
    REFERENCE
       "[MEF7.1] 9.2.2"
    DEFVAL { true }
    ::= { osEthCfmEntry 11 }

osEthCcmSendIfTlv    OBJECT-TYPE
    SYNTAX           TruthValue
    MAX-ACCESS       read-write
    STATUS           current
     DESCRIPTION
       "Indicates whether a Interface Status TLV is included in CCM frame
        transmission. 

        A value of 'true' indicates that the Interface Status TLV is to be 
        included. 

        A value of 'false' indicates that the Interface Status TLV is not to
        be included.
       "
    REFERENCE
       "[MEF7.1] 9.2.2"
    DEFVAL { true }
    ::= { osEthCfmEntry 12 }

osEthCfmLtrPortIdSubtype OBJECT-TYPE
    SYNTAX           INTEGER {
                       typeInterfaceAlias (1),
                       typePortComponent  (2),
                       typeMacAddress     (3),
                       typeNetworkAddress (4),
                       typeInterfaceName  (5),
                       typeAgentCircuitId (6),
                       typeLocal          (7)

                     }
    MAX-ACCESS       read-write
    STATUS           current
     DESCRIPTION
       "Port ID Subtype to encode TLVs in LTR.
       CLI command is '[no ]ltr-port-id-subtype (mac|name|alias|)'."
    REFERENCE
       "1. IEEE Std 802.1ag Clause 21.9;
        2. IEEE Std 802.1AB Clause 9.5.3.2."
    DEFVAL { typeMacAddress }
    ::= { osEthCfmEntry 13 }


osEthCfmLastError   OBJECT-TYPE
    SYNTAX          DisplayString (SIZE (0..160))
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "."
    ::= { osEthCfmEntry 70 }


osEthCfmAdminStatus  OBJECT-TYPE
    SYNTAX           EntryValidator
    MAX-ACCESS       read-write
    STATUS           current
    DESCRIPTION
       "Allows to create new rows or delete old rows."
    ::= { osEthCfmEntry 98 }

osEthCfmOperStatus  OBJECT-TYPE
    SYNTAX          ProfileStatus
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "."
    ::= { osEthCfmEntry 99 }

-- ************************************************************
-- The osEthActTable Table: actionsProfile 
-- ************************************************************
osEthActTable   OBJECT-TYPE
    SYNTAX      SEQUENCE OF OsEthActEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table contains Actions Profiles."
    REFERENCE
       "."
    ::= { osEthServ 16 }

osEthActEntry    OBJECT-TYPE
    SYNTAX      OsEthActEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Contains an entry of the table."
    INDEX { osEthActId }
    ::= { osEthActTable 1 }

OsEthActEntry ::= SEQUENCE {
      osEthActId                EntityName,
      osEthActToCPU             INTEGER,
      osEthActMirrorPortMode    INTEGER,
      osEthActMirrorPortIndex   PortIndexOrNone,

      osEthActSwapCTag          VlanIdOrNone,

      osEthActAdminStatus       EntryValidator,
      osEthActOperStatus        ProfileStatus
}

osEthActId           OBJECT-TYPE
    SYNTAX           EntityName
    MAX-ACCESS       not-accessible
    STATUS           current
    DESCRIPTION
       "."
    ::= { osEthActEntry 1 }

osEthActToCPU         OBJECT-TYPE
    SYNTAX           INTEGER {
                       unknown (1),
                       nothing (2),
                       mirror  (3),
                       redirect(4)
                     }
    MAX-ACCESS       read-write
    STATUS           current
    DESCRIPTION
       "."
    ::= { osEthActEntry 2 }

osEthActMirrorPortMode OBJECT-TYPE
    SYNTAX           INTEGER {
                       unknown (1),
                       nothing (2),
                       ingress (3),
                       egress  (4),
                       both    (5)
                     }
    MAX-ACCESS       read-write
    STATUS           current
    DESCRIPTION
       "."
    ::= { osEthActEntry 5 }

osEthActMirrorPortIndex   OBJECT-TYPE
    SYNTAX           PortIndexOrNone
    MAX-ACCESS       read-write
    STATUS           current
    DESCRIPTION
       "."
    ::= { osEthActEntry 6 }

osEthActSwapCTag     OBJECT-TYPE
    SYNTAX           VlanIdOrNone
    MAX-ACCESS       read-write
    STATUS           current
    DESCRIPTION
       "."
    ::= { osEthActEntry 18 }

osEthActAdminStatus  OBJECT-TYPE
    SYNTAX           EntryValidator
    MAX-ACCESS       read-write
    STATUS           current
    DESCRIPTION
       "Allows to create new rows or delete old rows."
    ::= { osEthActEntry 98 }

osEthActOperStatus  OBJECT-TYPE
    SYNTAX          ProfileStatus
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "."
    ::= { osEthActEntry 99 }

-- ************************************************************
-- The osEthFloodPrflTable Table: Flood limit profiles
-- ************************************************************
osEthFloodPrflTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OsEthServFloodEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table allows to configure flood limit profiles."
    ::= { osEthServ 17 }

osEthFloodPrflEntry OBJECT-TYPE
    SYNTAX      OsEthServFloodEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Contains an entry of the table."
    INDEX { osEthFloodPrflId }
    ::= { osEthFloodPrflTable 1 }

OsEthServFloodEntry ::= SEQUENCE {
      osEthFloodPrflId            EntityName,
      osEthFloodPrflTypes         BITS,
      osEthFloodPrflRate          Unsigned32,
      osEthFloodPrflLastError     DisplayString,
      osEthFloodPrflAdminStatus   EntryValidator,
      osEthFloodPrflBwOperStatus  ProfileStatus
}

osEthFloodPrflId OBJECT-TYPE
    SYNTAX          EntityName
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
       "."
    ::= { osEthFloodPrflEntry 1 }

osEthFloodPrflTypes     OBJECT-TYPE
    SYNTAX              BITS {
                          unknownUnicast (0),
                          multicast      (1),
                          broadcast      (2),
                          tcpSyn         (3)
                        }
    MAX-ACCESS          read-create
    STATUS              current
    DESCRIPTION
       "Types of traffic to be limited."
    DEFVAL { {} }
    ::= { osEthFloodPrflEntry 2 }

osEthFloodPrflRate     OBJECT-TYPE
    SYNTAX             Unsigned32
    UNITS              "Kbits/sec"
    MAX-ACCESS         read-create
    STATUS             current
    DESCRIPTION
       "Permitted rate in k."
    DEFVAL { 0 }
    ::= { osEthFloodPrflEntry 3 }

osEthFloodPrflLastError OBJECT-TYPE
    SYNTAX          DisplayString (SIZE (0..160))
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "."
    ::= { osEthFloodPrflEntry 70 }


osEthFloodPrflAdminStatus OBJECT-TYPE
    SYNTAX             EntryValidator
    MAX-ACCESS         read-create
    STATUS             current
    DESCRIPTION
       "Allows to create new rows or delete old rows."
    ::= { osEthFloodPrflEntry 98 }

osEthFloodPrflBwOperStatus OBJECT-TYPE
    SYNTAX             ProfileStatus
    MAX-ACCESS         read-only
    STATUS             current
    DESCRIPTION
       "."
    ::= { osEthFloodPrflEntry 99 }

-- ************************************************************
-- The osEthLbmTable: LBM profiles see PerfTable
-- ************************************************************
osEthLbmTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OsEthLbmEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table contains Ethernet Loopback Messages Profiles."
    REFERENCE
       "."
    ::= { osEthServ 18 }

osEthLbmEntry    OBJECT-TYPE
    SYNTAX      OsEthLbmEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Contains an entry of the table."
    INDEX { osEthLbmId }
    ::= { osEthLbmTable 1 }

OsEthLbmEntry ::= SEQUENCE {
      osEthLbmId                        EntityName,
      osEthLbmHistorySize               Unsigned32,
      osEthLbmInterval                  Unsigned32,
      osEthLbmTimeout                   Unsigned32,
      osEthLbmDataLength                Unsigned32,
      osEthLbmDataFill                  INTEGER,
      osEthLbmMessages                  Unsigned32,
      osEthLbmBurstInterval             Unsigned32,
      osEthLbmNumberOfBursts            Unsigned32,
      osEthLbmLbmHistSize               Unsigned32,
      osEthLbmLbrPerLbmHistSize         Unsigned32,

      osEthLbmLastError                 DisplayString,
      osEthLbmAdminStatus               EntryValidator,
      osEthLbmOperStatus                ProfileStatus
}

osEthLbmId         OBJECT-TYPE
    SYNTAX          EntityName
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
       "."
    ::= { osEthLbmEntry 3 }


osEthLbmHistorySize OBJECT-TYPE
    SYNTAX          Unsigned32 (2..65535)
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "Bumber of burts, held in the history table."
    DEFVAL { 5 }
    ::= { osEthLbmEntry 17 }

osEthLbmInterval OBJECT-TYPE
    SYNTAX          Unsigned32 (1..1000000)
    UNITS           "microseconds"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "Inter-frame delay between transmitting of Loopback frames
        to the destination"
    DEFVAL { 100000 }
    ::= { osEthLbmEntry 18 }

osEthLbmTimeout OBJECT-TYPE
    SYNTAX          Unsigned32 (1..60000)
    UNITS           "microseconds"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "Timeout for the arrival of Loopback reply"
    DEFVAL { 200 }
    ::= { osEthLbmEntry 19 }

osEthLbmDataLength OBJECT-TYPE
    SYNTAX          Unsigned32 (60..9000)
    UNITS           "octets"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "Loopback message data length. Used to send Loopback 
        messages in different lengths"
    DEFVAL { 60 }
    ::= { osEthLbmEntry 20 }

osEthLbmDataFill OBJECT-TYPE
    SYNTAX       INTEGER {
                  zeroPattern(1),
                  onesPattern(2)
                 }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "mefSoamLbCfgDataPattern in MEF-SOAM-FM-MIB.txt and
       MefSoamTcDataPatternType in MEF-SOAM-TC-MIB.txt"
    DEFVAL { zeroPattern }
    ::= { osEthLbmEntry 21 }

osEthLbmMessages OBJECT-TYPE
    SYNTAX          Unsigned32 (1..1000000)
    UNITS           "packets"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "The number of messages in a burst"
    DEFVAL { 3 }
    ::= { osEthLbmEntry 23 }

osEthLbmBurstInterval OBJECT-TYPE
    SYNTAX           Unsigned32 (1..86400)
    UNITS            "seconds"
    MAX-ACCESS       read-write
    STATUS           current
    DESCRIPTION
       "Interval between bursts."
    DEFVAL { 60 }
    ::= { osEthLbmEntry 24 }

osEthLbmNumberOfBursts OBJECT-TYPE
    SYNTAX            Unsigned32 (0|1..4294967295)
    UNITS             "bursts"
    MAX-ACCESS        read-write
    STATUS            current
    DESCRIPTION
       "Number of bursts in the test. The value 0 means continuous test."
    DEFVAL { 1 }
    ::= { osEthLbmEntry 25 }

osEthLbmLbmHistSize   OBJECT-TYPE
    SYNTAX            Unsigned32 (2..65535)
    MAX-ACCESS        read-write
    STATUS             current
    DESCRIPTION
       "Number of Lbm groups, held in LbrTable."
    DEFVAL { 5 }
    ::= { osEthLbmEntry 26 }


osEthLbmLbrPerLbmHistSize OBJECT-TYPE
    SYNTAX             Unsigned32 (2..65535)
    MAX-ACCESS         read-write
    STATUS             current
    DESCRIPTION
       "Number of Lbr entries, held in Lbm group in LbrTable."
    DEFVAL { 5 }
    ::= { osEthLbmEntry 27 }

 osEthLbmLastError  OBJECT-TYPE
    SYNTAX          DisplayString (SIZE (0..160))
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "."
    ::= { osEthLbmEntry 65 }


osEthLbmAdminStatus OBJECT-TYPE
    SYNTAX          EntryValidator
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "Allows to create new rows or delete old rows."
    ::= { osEthLbmEntry 98 }

osEthLbmOperStatus OBJECT-TYPE
    SYNTAX          ProfileStatus
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "."
    ::= { osEthLbmEntry 99 }

-- ************************************************************
-- The osEthServLbrTable: Loopback replyes (LBRs)
-- ************************************************************

osEthServLbrTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OsEthServLbrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Rows in this table are automatically created, a new row for each
        response from a loopback request."
    ::= { osEthServ 19 }

osEthServLbrEntry OBJECT-TYPE
    SYNTAX      OsEthServLbrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The conceptual row of osEthServLbrTable."
    INDEX { osEthServId, osEthServFlowId,
            osEthServLbrLbmId,
            osEthServLbrPerLbmId
          }
    ::= { osEthServLbrTable 1 }

OsEthServLbrEntry ::= SEQUENCE {
      osEthServLbrLbmId              Unsigned32,
      osEthServLbrPerLbmId           Unsigned32,
      osEthServLbrReplyMac           MacAddress,
      osEthServLbrPort               PortIndexOrNone,
      osEthServLbrTime               DateAndTime,
      osEthServLbrRtt                Unsigned32
    }

osEthServLbrLbmId OBJECT-TYPE
    SYNTAX      Unsigned32 (0..4294967295)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Loopback transaction identifier returned by a previous loopback
        message command, indicating which loopback request is returned.
        it is an analog of mefSoamLbrMulticastTransId from MEF-SOAM-FM-MIB.txt."
    ::= { osEthServLbrEntry 1 } 

osEthServLbrPerLbmId OBJECT-TYPE
    SYNTAX      Unsigned32 (0..4294967295)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "An index to distinguish among multiple LBRs with the same LBR
        Transaction Identifier field value. osEthServLbrPerLbmId are assigned
        sequentially from 1, in the order that the Loopback Initiator received
        the LBR.
        it is an analog of mefSoamLbrMulticastReceiveOrder from MEF-SOAM-FM-MIB.txt."
    ::= { osEthServLbrEntry 2 } 

osEthServLbrReplyMac OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Source MAC address returned in the LBR Ethernet frame.
       "
    REFERENCE
       "[CFM] 21.7, [Y.1731] 7.2"
    ::= { osEthServLbrEntry 3 }

osEthServLbrPort OBJECT-TYPE
    SYNTAX      PortIndexOrNone
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The port through which it was received.  "
    ::= { osEthServLbrEntry 4 }

osEthServLbrTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The time when it was received."
    ::= { osEthServLbrEntry 5 }

osEthServLbrRtt OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Round Trip Time."
    REFERENCE
       "."
    ::= { osEthServLbrEntry 6 }

-- ************************************************************
-- The osEthFsTable Table
-- ************************************************************
osEthFsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OsEthFsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table contains Flow Sampling Profiles."
--  ::= { osEthServ 20 } former value, I changed it because of duplication with osProvBins.
    ::= { osEthServ 21 }

osEthFsEntry    OBJECT-TYPE
    SYNTAX      OsEthFsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Contains an entry of the table."
    INDEX { osEthFsId }
    ::= { osEthFsTable 1 }

OsEthFsEntry ::= SEQUENCE {
      osEthFsId                 EntityName,
      osEthFsReceiver           Unsigned32,
      osEthFsChannel            INTEGER,
      osEthFsRateUnit           INTEGER,
      osEthFsRateWndSize        Unsigned32,
      osEthFsLastError          DisplayString,
      osEthFsAdminStatus        EntryValidator,
      osEthFsOperStatus         ProfileStatus
}

osEthFsId           OBJECT-TYPE
    SYNTAX          EntityName
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
       "."
    ::= { osEthFsEntry 1 }

osEthFsReceiver     OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "Index of an sFlow receiver. Samplers created from this profile
       will send captured samples to this receiver."
    ::= { osEthFsEntry 2 }

osEthFsChannel      OBJECT-TYPE
    SYNTAX          INTEGER {
                      ipfix1  (1),
                      ipfix2  (2),
                      ipfix3  (3),
                      ipfix4  (4)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "An sFlow channel. Samplers created from this profile
       will be attached to that channel."
    ::= { osEthFsEntry 3 }

osEthFsRateUnit     OBJECT-TYPE
    SYNTAX          INTEGER {
                      unknown  (0),
                      packets  (1),
                      bytes    (2),
                      time     (3)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "Specifies the units in which sampling rate is measured"
    DEFVAL { packets }
    ::= { osEthFsEntry 4 }

osEthFsRateWndSize  OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "Windows size for sampling rate. A single packet will be sampled
       from each window."
    ::= { osEthFsEntry 5 }

osEthFsLastError    OBJECT-TYPE
    SYNTAX          DisplayString (SIZE (0..160))
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "Last configuration error description."
    ::= { osEthFsEntry 6 }

osEthFsAdminStatus  OBJECT-TYPE
    SYNTAX          EntryValidator
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
       "Allows to create new rows or delete old rows."
    ::= { osEthFsEntry 98 }

osEthFsOperStatus   OBJECT-TYPE
    SYNTAX          ProfileStatus
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "."
    ::= { osEthFsEntry 99 }

-- ************************************************************
-- The osEthTagExcp feature configuration 
-- This feature reflect CLI commands "tag-exception" .
-- It is applicable only to services like I-NNI and E-NNI and is ignored for all other types.
-- It allows to build separate VIFs and MA for different groups
-- of c-ports. For example:
-- OS940R-TL(ethsrv:EVC.A)# show configuration 
--  provision
--    service EVC.A
--      node-type vlan-based i-nni
--      s-vlan 5
--      c-vlans 5-6
--      s-ports 3
--      c-ports 1-2
--      oam md 4
--      oam ma 500
--      tag-exception c-vlan 5
--        ports 1
--        oam ma 501
--      tag-exception c-vlan 6
--        ports 2
--        oam ma 502
--      enable
--    OS940R-TL(ethsrv:EVC.A)# show low-level-commands     
--    ! ethernet service EVC.A low-level entities
--    port tag-outbound-mode tagged 1-3
--    port acl-binding-mode by-port 1-3
--    !
--    interface vlan vif5
--    description Provision Ethernet Service: EVC.A
--    tag 5
--    ports 1,3
--    !
--    interface vlan vif6
--    description Provision Ethernet Service: EVC.A
--    tag 6
--    ports 2-3
--    !
--    ethernet oam domain 4
--      service 501
--        name string EVC.A
--        primary-vlan 5
--        vlans 5
--        remote-meps all
--      service 502
--        name string EVC.A
--        primary-vlan 6
--        vlans 6
--        remote-meps all
--    !
--    ethernet oam enable
-- 
-- ************************************************************
osEthTagExcpConfig      OBJECT IDENTIFIER ::= { osEthServ 24 }

osEthTagExcpSupport  OBJECT-TYPE
    SYNTAX       BITS {
                      osEthTagExcpBasic     (0),
                      osEthTagExcpMa        (1),
                      osEthTagExcpMep       (2),
                      osEthTagExcpCcmBasic  (3),
                      osEthTagExcpCcmParams (4),
                      osEthTagExcpMaNme     (5)
                    }
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
      "Indicates features, that supported by this agent for this feature.
      If the GET for osEthTagExcpSupport returns 'NoSuchObjec', then the
      does not support osEthTagExcp feature.
      Bits meaning:
        - osEthTagExcpBasic     - support for osEthTagExcpCPorts, osEthTagExcpAdminStatus
        - osEthTagExcpMa        - support for osEthTagExcpMAIndex
        - osEthTagExcpMep       - supportb for osEthTagExcpMepId, osEthTagExcpMepPortIndex, osEthTagExcpMepDirection
        - osEthTagExcpCcmBasic  - support for osEthTagExcpCcmEnabled, osEthTagExcpCcmClean
        - osEthTagExcpCcmParams - support for osEthTagExcpCcmCoS, osEthTagExcpCfmPrfl
        - osEthTagExcpMaNme     - osEthTagExcpMaTypeName, osEthTagExcpMaName
        When osEthTagExcpBasic bit is set, then the agent on GET returns all objects of the table, 
        but rejects SET for unsupported ones.
       "
    ::= { osEthTagExcpConfig 1 }


-- ************************************************************
-- The osEthTagExcpTable table: see DESCRIPTION
-- ************************************************************
osEthTagExcpTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OsEthTagExcpEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "tbd."
    ::= { osEthTagExcpConfig 24 }

osEthTagExcpEntry OBJECT-TYPE
    SYNTAX      OsEthTagExcpEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Contains an entry of the table."
    INDEX { osEthServId, osEthTagExcpCVlan }
    ::= { osEthTagExcpTable 1 }

OsEthTagExcpEntry ::= SEQUENCE {
      osEthTagExcpCVlan              VlanId,
      osEthTagExcpCPorts             PortList,
      osEthTagExcpMAIndex            Unsigned32,
      osEthTagExcpMepId              OsCfmMepIdOrZero,
      osEthTagExcpMepPortIndex       PortIndexOrNone,
      osEthTagExcpMepDirection       Dot1agCfmMpDirection,
      osEthTagExcpCcmEnabled         TruthValue,
      osEthTagExcpCcmCoS             CoS,
      osEthTagExcpCcmClean           TruthValue,
      osEthTagExcpCfmPrfl            EntityNameOrNone,
      osEthTagExcpMaTypeName         Dot1agCfmMaintAssocNameType,
      osEthTagExcpMaName             DisplayString,
      osEthTagExcpAdminStatus        EntryValidator
}

osEthTagExcpCVlan    OBJECT-TYPE
    SYNTAX           VlanId
    MAX-ACCESS       not-accessible
    STATUS           current       
    DESCRIPTION
      "Must belong to osEthServCVlans."
    ::= { osEthTagExcpEntry 2 }

osEthTagExcpCPorts   OBJECT-TYPE
    SYNTAX           PortList
    MAX-ACCESS       read-create
    STATUS           current       
    DESCRIPTION
      "Must belong to osEthServCPorts."
    ::= { osEthTagExcpEntry 3 }

osEthTagExcpMAIndex  OBJECT-TYPE
    SYNTAX           Unsigned32 (0|1..65535)
    MAX-ACCESS       read-create
    STATUS           current       
    DESCRIPTION
       "Parallel to osEthServVcMAIndex: an index of MA.
       The value 0 means - don't build MA for the current instance."
    DEFVAL { 0 }
    ::= { osEthTagExcpEntry 4 }

osEthTagExcpMepId    OBJECT-TYPE
    SYNTAX           OsCfmMepIdOrZero
    MAX-ACCESS       read-create
    STATUS           current       
    DESCRIPTION
      "."
    DEFVAL { 0 }
    ::= { osEthTagExcpEntry 5 }

osEthTagExcpMepPortIndex OBJECT-TYPE
    SYNTAX           PortIndexOrNone
    MAX-ACCESS       read-create
    STATUS           current       
    DESCRIPTION
      "See osEthServMepPortIndex. If osEthTagExcpMepPortIndex equal to 0, then the MEP is
      created as inward with 'virtual' port and both send-port-tlv and send-if-tlv are set to 'no'."
    DEFVAL { 0 }
    ::= { osEthTagExcpEntry 6 }

osEthTagExcpMepDirection OBJECT-TYPE
    SYNTAX           Dot1agCfmMpDirection
    MAX-ACCESS       read-create
    STATUS           current       
    DESCRIPTION
      "See osEthServMepDirection."
    DEFVAL { up }
    ::= { osEthTagExcpEntry 7 }

osEthTagExcpCcmEnabled OBJECT-TYPE
    SYNTAX           TruthValue
    MAX-ACCESS       read-create
    STATUS           current       
    DESCRIPTION
      "See osEthServCcmEnabled."
    DEFVAL { false }
    ::= { osEthTagExcpEntry 8 }

osEthTagExcpCcmCoS   OBJECT-TYPE
    SYNTAX           CoS
    MAX-ACCESS       read-create
    STATUS           current       
    DESCRIPTION
      "osEthServCcmCoS."
    DEFVAL { 1 }
    ::= { osEthTagExcpEntry 9 }

osEthTagExcpCcmClean OBJECT-TYPE
    SYNTAX           TruthValue
    MAX-ACCESS       read-create
    STATUS           current       
    DESCRIPTION
      "See osEthServCcmClean. On GET is returned always false(2)."
    DEFVAL { false }
    ::= { osEthTagExcpEntry 10 }

osEthTagExcpCfmPrfl  OBJECT-TYPE
    SYNTAX           EntityNameOrNone
    MAX-ACCESS       read-create
    STATUS           current       
    DESCRIPTION
      "See osEthServCfmPrfl."
    DEFVAL { "" }
    ::= { osEthTagExcpEntry 11 }

osEthTagExcpMaTypeName OBJECT-TYPE
    SYNTAX           Dot1agCfmMaintAssocNameType
    MAX-ACCESS       read-create
    STATUS           current       
    DESCRIPTION
      "See osEthServVcMaTypeName."
    DEFVAL { charString }
    ::= { osEthTagExcpEntry 13 }

osEthTagExcpMaName   OBJECT-TYPE
    SYNTAX           DisplayString
    MAX-ACCESS       read-create
    STATUS           current       
    DESCRIPTION
      "See osEthServVcMaName. By default equals to name of the service."
    ::= { osEthTagExcpEntry 14 }

osEthTagExcpAdminStatus OBJECT-TYPE
    SYNTAX           EntryValidator
    MAX-ACCESS       read-create
    STATUS           current       
    DESCRIPTION
       "Allows to create new rows or delete old rows. On GET always returns nothing(2)."
    DEFVAL { nothing }
    ::= { osEthTagExcpEntry 99 }


-- ************************************************************
-- The osEthServCountTable Table: tc-counters of flows 
-- ************************************************************
osEthServCountTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OsEthServCountEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table contains bandwith counters of services and flows. If service/flow
        does not use bandwith profile or uses a bandwith profile with disabled
        accounting, then all counters in such osEthServCountEntry are zeros."
    REFERENCE
       "."
    ::= { osEthServ 30 }

osEthServCountEntry OBJECT-TYPE
    SYNTAX      OsEthServCountEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Contains an entry of the table."
    INDEX { osEthServId, osEthServFlowCountId, osEthServFlowCountDir }
    ::= { osEthServCountTable 1 }

OsEthServCountEntry ::= SEQUENCE {
      osEthServFlowCountId              ServFlowId,
      osEthServFlowCountDir             INTEGER,
      osEthServFlowCountStatus          BITS,

      osEthServFlowCountAggrOcts        Counter64,
      osEthServFlowCountAggrPkts        Counter64,

      osEthServFlowCountGreenOcts       Counter64,
      osEthServFlowCountGreenPkts       Counter64,

      osEthServFlowCountYellowOcts      Counter64,
      osEthServFlowCountYellowPkts      Counter64,

      osEthServFlowCountRedOcts         Counter64,
      osEthServFlowCountRedPkts         Counter64
}

osEthServFlowCountId OBJECT-TYPE
    SYNTAX           ServFlowId
    MAX-ACCESS       not-accessible
    STATUS           current
    DESCRIPTION
       "The value 0 means, that this entry corresponds to the service, not to to any flow."
    ::= { osEthServCountEntry 1 }

osEthServFlowCountDir OBJECT-TYPE
    SYNTAX          INTEGER {
                      unknown                 (1),
                      ingress                 (2),
                      egress                  (3),
                      downStreamEgress        (4),
                      upStreamEgress          (5)
                    }
    MAX-ACCESS      not-accessible
    STATUS          current       
    DESCRIPTION
      "The direction of banwidth rate limit."
     ::= { osEthServCountEntry 2 }


osEthServFlowCountStatus OBJECT-TYPE
    SYNTAX          BITS {
                      inactive                 (0),
                      hasAggregateOcts         (1),
                      hasAggregatePkts         (2),
                      hasColoredOcts           (3),
                      hasColoredPkts           (4)
                    }
    MAX-ACCESS      read-only
    STATUS          current       
    DESCRIPTION
      "Current status of the entry, describes a set of relevant counters."
     ::= { osEthServCountEntry 3 }

osEthServFlowCountAggrOcts OBJECT-TYPE
    SYNTAX          Counter64
    MAX-ACCESS      read-only
    STATUS          current       
    DESCRIPTION
      "Counter for the total number of bytes (all colors).
      If osEthServFlowCountStatus does not contain a hasAggregateOcts, then
      this counter is always equal to zero "
    ::= { osEthServCountEntry 9 }

osEthServFlowCountAggrPkts OBJECT-TYPE
    SYNTAX          Counter64
    MAX-ACCESS      read-only
    STATUS          current       
    DESCRIPTION
      "Counter for the total number of frames (all colors).
      If osEthServFlowCountStatus does not contain a hasAggregatePkts, then
      this counter is always equal to zero "
    ::= { osEthServCountEntry 10 }

osEthServFlowCountGreenOcts OBJECT-TYPE
    SYNTAX          Counter64
    MAX-ACCESS      read-only
    STATUS          current       
    DESCRIPTION
      "Counter for the number of bytes marked with Green conformance level.
      If osEthServFlowCountStatus does not contain a hasColoredOcts, then
      this counter is always equal to zero "
    ::= { osEthServCountEntry 12 }

osEthServFlowCountGreenPkts OBJECT-TYPE
    SYNTAX          Counter64
    MAX-ACCESS      read-only
    STATUS          current       
    DESCRIPTION
      "Counter for the number of frames marked with Green conformance leve.
      If osEthServFlowCountStatus does not contain a hasColoredOcts, then
      this counter is always equal to zero "
    ::= { osEthServCountEntry 13 }

osEthServFlowCountYellowOcts OBJECT-TYPE
    SYNTAX          Counter64
    MAX-ACCESS      read-only
    STATUS          current       
    DESCRIPTION
      "Counter for the number of bytes marked with Yellow conformance level.
      If osEthServFlowCountStatus does not contain a hasColoredOcts, then
      this counter is always equal to zero "
    ::= { osEthServCountEntry 14 }

osEthServFlowCountYellowPkts OBJECT-TYPE
    SYNTAX          Counter64
    MAX-ACCESS      read-only
    STATUS          current       
    DESCRIPTION
      "Counter for the number of frames marked with Yellow conformance level.
      If osEthServFlowCountStatus does not contain a hasColoredOcts, then
      this counter is always equal to zero "
    ::= { osEthServCountEntry 15 }

osEthServFlowCountRedOcts OBJECT-TYPE
    SYNTAX          Counter64
    MAX-ACCESS      read-only
    STATUS          current       
    DESCRIPTION
      "Counter for the number of bytes marked with Red conformance level.
      If osEthServFlowCountStatus does not contain a hasColoredOcts, then
      this counter is always equal to zero "
    ::= { osEthServCountEntry 16 }

osEthServFlowCountRedPkts OBJECT-TYPE
    SYNTAX          Counter64
    MAX-ACCESS      read-only
    STATUS          current       
    DESCRIPTION
      "Counter for the number of frames marked with Red conformance level.
      If osEthServFlowCountStatus does not contain a hasColoredOcts, then
      this counter is always equal to zero "
    ::= { osEthServCountEntry 17 }

-- ************************************************************
-- Traffic manager sub-tree
-- ************************************************************
osEthServTm          OBJECT IDENTIFIER ::= { osEthServ 31 }

-- ************************************************************
-- The osEthServTmCountTable Table: tc-counters of flows for traffic manager
-- ************************************************************
osEthServTmCountTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OsEthServTmCountEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table contains bandwith counters of services and flows."
    ::= { osEthServTm 2 }

osEthServTmCountEntry OBJECT-TYPE
    SYNTAX      OsEthServTmCountEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Contains an entry of the table."
    INDEX { osEthServId, osEthServFlowId, osEthServTmCountDir, osEthServTmPort }
    ::= { osEthServTmCountTable 1 }

OsEthServTmCountEntry ::= SEQUENCE {
      osEthServTmCountDir             INTEGER,
      osEthServTmPort                 Unsigned32,

      osEthServTmCountStatus          BITS,

      osEthServTmCountPassOcts        Counter64,
      osEthServTmCountPassPkts        Counter64,
      osEthServTmCountDropOcts        Counter64,
      osEthServTmCountDropPkts        Counter64
}

osEthServTmCountDir OBJECT-TYPE
    SYNTAX          INTEGER {
                      tmDirUpStreamIngress     (1),
                      tmDirDownStreamIngress   (2),
                      tmDirUpStreamEgress      (3),
                      tmDirDownStreamEgress    (4)
                    }
    MAX-ACCESS      not-accessible
    STATUS          current       
    DESCRIPTION
      "The direction of banwidth rate limit."
     ::= { osEthServTmCountEntry 2 }

osEthServTmPort     OBJECT-TYPE
    SYNTAX          Unsigned32 (1..2147483647)
    MAX-ACCESS      not-accessible
    STATUS          current       
    DESCRIPTION
      "s-port for upstream or s-port for downstream."
     ::= { osEthServTmCountEntry 3 }


osEthServTmCountStatus OBJECT-TYPE
    SYNTAX          BITS {
                      inactive                 (0),
                      hasPassOcts              (1),
                      hasPassPkts              (2),
                      hasDropOcts              (3),
                      hasDropPkts              (4)
                    }
    MAX-ACCESS      read-only
    STATUS          current       
    DESCRIPTION
      "Current status of the entry, describes a set of relevant counters."
     ::= { osEthServTmCountEntry 5 }

osEthServTmCountPassOcts OBJECT-TYPE
    SYNTAX          Counter64
    MAX-ACCESS      read-only
    STATUS          current       
    DESCRIPTION
      "."
    ::= { osEthServTmCountEntry 7 }

osEthServTmCountPassPkts OBJECT-TYPE
    SYNTAX          Counter64
    MAX-ACCESS      read-only
    STATUS          current       
    DESCRIPTION
      "."
    ::= { osEthServTmCountEntry 8 }

osEthServTmCountDropOcts OBJECT-TYPE
    SYNTAX          Counter64
    MAX-ACCESS      read-only
    STATUS          current       
    DESCRIPTION
      "."
    ::= { osEthServTmCountEntry 9 }

osEthServTmCountDropPkts OBJECT-TYPE
    SYNTAX          Counter64
    MAX-ACCESS      read-only
    STATUS          current       
    DESCRIPTION
      "."
    ::= { osEthServTmCountEntry 10 }

-- ************************************************************
-- End of Traffic manager sub-tree
-- ************************************************************

-- ************************************************************
-- The osEthServExtTable Table: Extensions of osEthServTable
-- ************************************************************
osEthServExtTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OsEthServExtEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Extensions of osEthServTable."
    ::= { osEthServ 32 }

osEthServExtEntry OBJECT-TYPE
    SYNTAX      OsEthServExtEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Contains an entry of the table."
    INDEX { osEthServId }
    ::= { osEthServExtTable 1 }

OsEthServExtEntry ::= SEQUENCE {
      osEthServLimitBWTF          TruthValue,
      osEthServFullDownstreamLpbk TruthValue,
      osEthServUpstrDeiRemark     TruthValue,
      osEthServEPortsBufPrfl      Integer32,
      osEthServEPortsPrioQuePrfl  Integer32,
      osEthServCMgmtVlan          Integer32,
      osEthServOamMepSlmResponder TruthValue,
      osEthServTmDirs             BITS,
      osEthServMflgThreshold      Unsigned32,
      osEthServRecoverPorts       TruthValue

      } 

osEthServLimitBWTF    OBJECT-TYPE
    SYNTAX           TruthValue
    MAX-ACCESS       read-write
    STATUS           current
    DESCRIPTION
       "Limit rate limit of FPGA tests per flow.
       If this paramater equals true(1), then all traffic, generationg by FPGA of test of a flow
       will pass the same rate limits, that the data of this flow would pass."
    DEFVAL { false }
    ::= { osEthServExtEntry 2 }

osEthServFullDownstreamLpbk OBJECT-TYPE
    SYNTAX           TruthValue
    MAX-ACCESS       read-write
    STATUS           current
    DESCRIPTION
       "Full (egress and ingress) downstream loopback.
       CLI command is '[no ]full-downstream-loopback'."
    DEFVAL { false }
    ::= { osEthServExtEntry 3 }


osEthServUpstrDeiRemark OBJECT-TYPE
    SYNTAX           TruthValue
    MAX-ACCESS       read-write
    STATUS           current
    DESCRIPTION
       "Upstream Drop eligible indicator remarking.
       CLI command is '[no ]upstream-dei-remark'."
    DEFVAL { false }
    ::= { osEthServExtEntry 4 }

osEthServEPortsBufPrfl OBJECT-TYPE
    SYNTAX           Integer32 (0 | 1..7)
    MAX-ACCESS       read-write
    STATUS           current
    DESCRIPTION
       "CLI command is '[no ]e-ports-buffer-prfl (<none|<1-7|>)'."
    DEFVAL { 1 }
    ::= { osEthServExtEntry 5 }

osEthServEPortsPrioQuePrfl OBJECT-TYPE
    SYNTAX           Integer32 (1..7)
    MAX-ACCESS       read-write
    STATUS           current
    DESCRIPTION
       "CLI command is '[no ]e-ports-priority_queuing-prfl (<1-7>|)'."
    DEFVAL { 1 }
    ::= { osEthServExtEntry 6 }

osEthServCMgmtVlan   OBJECT-TYPE
    SYNTAX           Integer32 (0 | 1..4095)
    MAX-ACCESS       read-write
    STATUS           current
    DESCRIPTION
       "Customer management vlan.
       CLI command is '[no ]c-management-vlan (<1-4095>|)'."
    DEFVAL { 0 }
    ::= { osEthServExtEntry 14 }

osEthServOamMepSlmResponder OBJECT-TYPE
    SYNTAX           TruthValue
    MAX-ACCESS       read-write
    STATUS           current
    DESCRIPTION
       "Allows to MEP of the service to be an SLM responder.
       CLI command is '[no ] oam slm-responder'."
    DEFVAL { false }
    ::= { osEthServExtEntry 15 }

osEthServTmDirs     OBJECT-TYPE
    SYNTAX       BITS {
                      tmUpStreamIngress     (0),
                      tmDownStreamIngress   (1),
                      tmUpStreamEgress      (2),
                      tmDownStreamEgress    (3)
                 }
    MAX-ACCESS   read-only
    STATUS       current       
    DESCRIPTION
      "This object allows to select between osEthServCountTable and osEthServTmCountTable for a service.

      If osEthServTmDirs exists and the bit tmUpStreamIngress is set,
      then use osEthServCountTable with osEthServFlowCountDir=ingress(2),
      else use osEthServTmCountTable with osEthServTmCountDir=tmDirUpStreamIngress(1).

      If osEthServTmDirs exists and the bit tmDownStreamIngress is set,
      then use osEthServCountTable with osEthServFlowCountDir=egress(3),
      else use osEthServTmCountTable with osEthServTmCountDir=tmDirDownStreamIngress(2).

      If osEthServTmDirs exists and the bit tmUpStreamEgress is set,
      then use osEthServCountTable with osEthServFlowCountDir=upStreamEgress(5),
      else use osEthServTmCountTable with osEthServTmCountDir=tmDirUpStreamEgress(3).

      If osEthServTmDirs exists and the bit tmDownStreamEgress is set,
      then use osEthServCountTable with osEthServFlowCountDir=downStreamEgress(4),
      else use osEthServTmCountTable with osEthServTmCountDir=tmDirDownStreamEgress(4)."
     ::= { osEthServExtEntry 16 }

osEthServMflgThreshold  OBJECT-TYPE
     SYNTAX           Unsigned32 (0|10..200)
     MAX-ACCESS       read-create
     STATUS           current
     DESCRIPTION
       "The number of repeated re-learnings of the MAC per second, after
        which the port is isolated. A value of '0' means that LAN-based
        MFLG is disabled for this service
        CLI commands:
           mac-flapping-loop-guard (threshold (0|<10-200>)|)
           no mac-flapping-loop-guard (threshold (<0-200>|)|)
        "
     DEFVAL { 0 }
     ::= { osEthServExtEntry 17 }

osEthServRecoverPorts OBJECT-TYPE
     SYNTAX           TruthValue
     MAX-ACCESS       read-write
     STATUS           current
     DESCRIPTION
       "When an agent receives this object with the value true(1) in SNMP SET operations,
        it immediately recovers all ports of all VIFs of EService that are isolated, for
        example, by VLAN-based MFLG.
        When SNMP GET/GETNEXT operation this object always returns the value of false(2).
        CLI command: 'recover' - in SERVICE mode."
    DEFVAL { false }
     ::= { osEthServExtEntry 18 }



-- ************************************************************
-- The osEthServTunnelTable Table: GRE tunnels of EServices
-- ************************************************************
osEthServTunnelTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OsEthServTunnelEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "GRE tunnels of EServices."
    ::= { osEthServ 34 }

osEthServTunnelEntry OBJECT-TYPE
    SYNTAX      OsEthServTunnelEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Contains an entry of the table."
    INDEX { osEthServId, osEthServTunnelName }
    ::= { osEthServTunnelTable 1 }

OsEthServTunnelEntry ::= SEQUENCE {
      osEthServTunnelName            EntityName,
      osEthServTunnelAdminStatus     EntryValidator
      } 

osEthServTunnelName     OBJECT-TYPE
    SYNTAX           EntityName  (SIZE (1..20))
    MAX-ACCESS       not-accessible
    STATUS           current
    DESCRIPTION
       "GRE tunnel Identifier."
    ::= { osEthServTunnelEntry 2 }

osEthServTunnelAdminStatus OBJECT-TYPE
    SYNTAX           EntryValidator
    MAX-ACCESS       read-create
    STATUS           current       
    DESCRIPTION
       "Allows to create new rows or delete old rows. On GET always returns nothing(2)."
    DEFVAL { nothing }
    ::= { osEthServTunnelEntry 99 }

-- ******************************************************************
-- NOTIFICATIONS (TRAPS)
-- ******************************************************************

osEthSrvMaxNumEnabledServicesExceeded NOTIFICATION-TYPE
    OBJECTS     { osEthServAdminStatus, osEthSrvMaxNumEnabledServices }
    STATUS      current
    DESCRIPTION
       "This trap indicates the user tried to enable a service but the number of
       enabled services has already reached the configured osEthSrvMaxNumEnabledServices value."
    ::= { osEthSrvNotifications 1 }

-- *******************************************************************
--  Conformance Information 
-- ******************************************************************* 

osEthMIBCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
        "The core compliance statement for all the implementations." 

    MODULE -- this module 
        MANDATORY-GROUPS { 
                          osEthMandatoryGroup,
                          osEthNotificationsGroup
                         }

    ::= { osEthMIBCompliances 1 }

osEthMIBDeprCompliance MODULE-COMPLIANCE
    STATUS deprecated
    DESCRIPTION
        "Deprecated groups."
    MODULE -- this module 
        MANDATORY-GROUPS { 
                          osEthDeprecatedGroup
                         }

    ::= { osEthMIBCompliances 2 }


-- ...................................................................
-- Conformance Groups 
-- ................................................................... 
 
osEthMandatoryGroup  OBJECT-GROUP
    OBJECTS { 
              osEthSrvFeaturesSupport, osEthMaxSlValue,
              osEthBwMinCIR, osEthBwMinCBS, osEthBwMinEIR, osEthBwMinEBS,
              osEthBwMaxCIR, osEthBwMaxCBS, osEthBwMaxEIR, osEthBwMaxEBS,
              osEthSrvFsSupported,
              osEthSrvMaxNumEnabledServices,

              osEthServSVlanId, osEthServNodeType, osEthServCVlans, osEthServIncludesUntagged,
              osEthServChangeIngCVlan, osEthServSPorts, osEthServCPorts,
              osEthServSpokeVcName, osEthServSpokeVcType, osEthServSpokeVcOuterVlan,
              osEthServCfmPrfl, osEthServCcmEnabled, osEthServCcmHighestPrDefect,
              osEthServCcmCoS, osEthServCcmClean, osEthServEgrMarkSl,
              osEthServDnEgPcpRemap,
              osEthServActionPrfl, osEthServProtectionRole,
              osEthServPVlanId, osEthServPPortList,
              osEthServLoopback, osEthServLearning,
              osEthServMDLevel, osEthServMAIndex, 
              osEthServMepPortIndex, osEthServMepDirection,
              osEthServDescription, 
              osEthServLastError, 
              osEthServAdminStatus, osEthServOperStatus, osEthServNatPfExternalMode,

              osEthServClassCoS,
              osEthServClassAdminStatus,

              osEthServFlowIngBwPrfl, osEthServFlowIngBwAccStatus, osEthServFlowEgBwPrfl, osEthServFlowEgBwAccStatus,
              osEthServFlowFloodLimPrfl,
              osEthServFlowPerfPrfl, osEthServFlowMepId,
              osEthServFlowPerfDestMacAddress,
              osEthServFlowPerfDestMepId, osEthServFlowPerfDestMepList, osEthServFlowPerfDestType,
              osEthServFlowMepReserve1, 
              osEthServFlowPerfEnabled,
              osEthServFlowRemarkBits, osEthServFlowMarkDscp, osEthServFlowMarkPcp,
              osEthServFlowRestOfTraffic,

              osEthServFlowLbmPrfl, osEthServFlowLbmDestMacAddress, osEthServFlowLbmDestMepId,
              osEthServFlowLbmDestType, osEthServFlowLbmEnabled, osEthServFlowLbmClear,

              osEthServFlowUpEgBwPrfl, osEthServFlowUpEgBwAccStatus,
              osEthServFlowDnEgBwPrfl, osEthServFlowDnEgBwAccStatus,
              osEthServFlowUpIngFsPrfl, osEthServFlowDnIngFsPrfl,
              osEthServFlowUpIngFsSubAgentId, osEthServFlowDnIngFsSubAgentId,
              osEthServFlowUpstrDEI, osEthServFlowDownstrDEI, 

              osEthServFlowHistoryClear, osEthServFlowAdminStatus,

              osEthServVcType, osEthServVcSVlanId, osEthServVcMDLevel, osEthServVcMAIndex,
              osEthServVcMaTypeName, osEthServVcMaName,
              osEthServVcMtuSize,

              osEthServFlowTestStartTimeType, osEthServFlowTestFixedStartTime,
              osEthServFlowTestRelStartTime, osEthServFlowTestPeriodicity,

              osEthBwCIR, osEthBwCBS, osEthBwEIR, osEthBwEBS,
              osEthBwColorMode,
              osEthBwLastError, osEthBwRateLimitType, osEthBwAggregated, osEthBwBuffSize,
	      osEthBwAdminStatus, osEthBwOperStatus,

              osEthFsReceiver, osEthFsChannel, osEthFsRateUnit,
              osEthFsRateWndSize, osEthFsLastError,
              osEthFsAdminStatus, osEthFsOperStatus,

              osEthPerfType,
              osEthPerfVlanDropEnable,
              osEthPerfHistorySize,
              osEthPerfInterval,
              osEthPerfTimeout,
              osEthPerfDataLength,
              osEthPerfDataFill,
              osEthPerfMessages,
              osEthPerfBurstInterval,
              osEthPerfNumberOfBursts,
              
              osEthPerfMeasBinsInterval, osEthPerfMeasBinsIsAlign, 
              osEthPerfMeasBinsClockSyncFlag, osEthPerfMeasBinsHistorySize, 
               
              osEthPerfFdRiseThold, osEthPerfFdFallThold,

-- tbd        osEthPerfFdvRiseThold, osEthPerfFdvFallThold, osEthPerfFlrRiseThold, osEthPerfFlrFallThold,
              osEthPerfDSJittRiseThold, osEthPerfDSJittFallThold,
-- tbd        osEthPerfDSJittSum2RiseThold, osEthPerfDSJittSum2FallThold,
              osEthPerfSDJittRiseThold, osEthPerfSDJittFallThold,
-- tbd        osEthPerfSDJittSum2RiseThold, osEthPerfSDJittSum2FallThold,

              osEthPerfLastError, osEthPerfAdminStatus, osEthPerfOperStatus,

              osEthCcmLowPrDef, osEthCcmFngAlarmTime,
              osEthCcmFngResetTime,
              osEthCcmMaCcmInterval, osEthCcmMaCcmRMepAgingTime,
              osEthCcmSendPortTlv, osEthCcmSendIfTlv,  osEthCfmLtrPortIdSubtype,
              osEthCfmLastError, osEthCfmAdminStatus, osEthCfmOperStatus,

              osEthActToCPU,
              osEthActMirrorPortMode,
              osEthActMirrorPortIndex,
              osEthActSwapCTag,
              osEthActAdminStatus, osEthActOperStatus,

              osEthFloodPrflTypes, osEthFloodPrflRate, osEthFloodPrflLastError,
              osEthFloodPrflAdminStatus, osEthFloodPrflBwOperStatus,

              osEthLbmHistorySize, osEthLbmInterval, osEthLbmTimeout, osEthLbmDataLength,
              osEthLbmDataFill, osEthLbmMessages, osEthLbmBurstInterval, osEthLbmNumberOfBursts,
              osEthLbmLbmHistSize, osEthLbmLbrPerLbmHistSize,
              osEthLbmLastError, osEthLbmAdminStatus, osEthLbmOperStatus, 

              osEthServLbrReplyMac, osEthServLbrPort, osEthServLbrTime, osEthServLbrRtt,
               
              osEthTagExcpSupport,
              osEthTagExcpCPorts, osEthTagExcpMAIndex, osEthTagExcpMepId, osEthTagExcpMepPortIndex,
              osEthTagExcpMepDirection, osEthTagExcpCcmEnabled, osEthTagExcpCcmCoS, osEthTagExcpCcmClean,
              osEthTagExcpCfmPrfl,
              osEthTagExcpMaTypeName, osEthTagExcpMaName,
              osEthTagExcpAdminStatus,

              osEthServFlowCountStatus,
              osEthServFlowCountAggrOcts, osEthServFlowCountAggrPkts,
              osEthServFlowCountGreenOcts, osEthServFlowCountGreenPkts,
              osEthServFlowCountYellowOcts, osEthServFlowCountYellowPkts,
              osEthServFlowCountRedOcts, osEthServFlowCountRedPkts,
      
              osEthServTmCountStatus, osEthServTmCountPassOcts, osEthServTmCountPassPkts, osEthServTmCountDropOcts, osEthServTmCountDropPkts,

              osEthServLimitBWTF, osEthServFullDownstreamLpbk, osEthServUpstrDeiRemark,
              osEthServEPortsBufPrfl, osEthServEPortsPrioQuePrfl,
              osEthServCMgmtVlan, osEthServOamMepSlmResponder,
              osEthServTmDirs, osEthServMflgThreshold, osEthServRecoverPorts,

              osEthServTunnelAdminStatus
            }
    STATUS current 
    DESCRIPTION 
        "."
    ::= { osEthMIBGroups 1 }

osEthDeprecatedGroup  OBJECT-GROUP
    OBJECTS { 
      osEthSrvTypesSupported, 
      osEthServClassifyFlowBy
    }
    STATUS deprecated 
    DESCRIPTION 
        "."
    ::= { osEthMIBGroups 2 }

osEthNotificationsGroup NOTIFICATION-GROUP
   NOTIFICATIONS {
     osEthSrvMaxNumEnabledServicesExceeded 
   }
   STATUS current
   DESCRIPTION
       "The notification which are required to be supported by
       implementations of this MIB."
   ::= { osEthMIBGroups 3 }

END


