OMNITRON-EXT-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Integer32, Unsigned32, IpAddress,
    Counter64
        FROM SNMPv2-SMI           -- RFC-2578
    DisplayString, RowStatus, TruthValue, MacAddress
        FROM SNMPv2-TC            -- RFC-2579
    MODULE-COMPLIANCE, OBJECT-GROUP
        FROM SNMPv2-CONF          -- RFC-2580
    dot1agCfmMdIndex, dot1agCfmMaIndex, dot1agCfmMepIdentifier,
    dot1agCfmMepDbRMepIdentifier, Dot1agCfmMepId
        FROM IEEE8021-CFM-MIB     -- 802.1ag MIB
    omnitron, OstVlanId, OstModuleSingleIndex, OstPortSingleIndex, OstEvcNameString,
    OstEvcNameStringOrNone, OstPortList, OstVlanIdList, OstCosL2cpDstAddr, OstPriority,
    OstClassOfService, OstCosNameString,  OstCosNameStringOrNone, OstIpPriorityList,
    OstPcpPriorityList, OstMipdMethodOfCreation, OstMhfCreation,
    OstEgressSchedulingProfileIndexType, OstEgressQueueIndexType, OstFileNameString,
    OstCosTrustType, OstErrorString, OstPortNumber, OstIndexIntegerNextFree,
    OstErpsLinkState, OstErpsPortState, OstIpAddr
        FROM OMNITRON-TC-MIB;     -- Omnitron Textual Convention MIB

omnitronExtensionsMIB MODULE-IDENTITY
    LAST-UPDATED "201812201200Z"  -- December 20, 2018
    ORGANIZATION "Omnitron Systems Technology, Inc."
    CONTACT-INFO "Omnitron Systems Technology, Inc.
                  38 Tesla
                  Irvine, CA 92618-4670
                  USA

             Tel: (949) 250 6510
             Fax: (949) 250 6514
          E-mail: info@omnitron-systems.com
   International: +1 949 250 6510

                  Technical Support and Customer Service
             Tel: (800) 675 8410
          E-mail: support@omnitron-systems.com
   International: +1 949 250 6510"

    DESCRIPTION "Omnitron MIB for use with v5.3 iConverter Management Modules
                 and NetOutlook

                 Copyright 2017 Omnitron Systems Technology, Inc.
                 All rights reserved
                "

    REVISION    "201812201200Z"  -- December 20, 2018
    DESCRIPTION "Added ostEvcTrafficClassTrust
                "

    REVISION    "201812141200Z"  -- December 14, 2018
    DESCRIPTION "Added ostModuleLinkModeCfgSelect
                 Added ostModuleLinkModeCfgStatus
                "

    REVISION    "201707061200Z"  -- July 6, 2017
    DESCRIPTION "Modified ostEgressPolicingType to remove L3 type. Only L1 and
                   L2 are supported.
                "

    REVISION    "201702161200Z"  -- February 16, 2017
    DESCRIPTION "Modified size syntax ostIfEvcProName, ostBwpName
                "

    REVISION    "201611221200Z"  -- November 22, 2016
    DESCRIPTION "Added ostSaveState
                "

    REVISION    "201608151200Z"  -- August 15, 2016
    DESCRIPTION "Added ostEvcEtreePortList
                 Added ostEvcType
                "

    REVISION    "201603181200Z"  -- March 18, 2016
    DESCRIPTION "Initial v5.3 MIB
                   Added ostEvcProtect
                   Added ostModulePrompt
                   Added ostIfEvcExtendedIpsrcString
                   Added ostIfEvcExtendedIpdstString
                   Added ostSntpServerIp1String
                   Added ostSntpServerIp2String
                   Added ostDaytimeServerIpString
                   Added ostCosExtendedIpdstString
                   Added ostConsoleEnable
                "

    ::= { omnitron 7 }

ostExtMibObjects    OBJECT IDENTIFIER ::= { omnitronExtensionsMIB 1 }
ostExtConformance   OBJECT IDENTIFIER ::= { omnitronExtensionsMIB 2 }

-------------------------------------------------------------------------------
-- Groups in the OST Extensions MIB
-------------------------------------------------------------------------------

ostInterface               OBJECT IDENTIFIER ::= { ostExtMibObjects 1 }
ostEvc                     OBJECT IDENTIFIER ::= { ostExtMibObjects 2 }
ostModule                  OBJECT IDENTIFIER ::= { ostExtMibObjects 3 }
ostBandwidthProfile        OBJECT IDENTIFIER ::= { ostExtMibObjects 4 }
ostL2Protocol              OBJECT IDENTIFIER ::= { ostExtMibObjects 5 }
ostCfm                     OBJECT IDENTIFIER ::= { ostExtMibObjects 6 }
ostCoS                     OBJECT IDENTIFIER ::= { ostExtMibObjects 7 }
ostModcfg                  OBJECT IDENTIFIER ::= { ostExtMibObjects 8 }
ostFwupd                   OBJECT IDENTIFIER ::= { ostExtMibObjects 9 }
ostEgressSchedulingProfile OBJECT IDENTIFIER ::= { ostExtMibObjects 10 }
ostEgressQueueScheduling   OBJECT IDENTIFIER ::= { ostExtMibObjects 11 }
ostEgressQueue             OBJECT IDENTIFIER ::= { ostExtMibObjects 12 }
ostFpgaUpd                 OBJECT IDENTIFIER ::= { ostExtMibObjects 13 }


-------------------------------------------------------------------------------
-- Interface Configuration Table
-------------------------------------------------------------------------------

ostInterfaceTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OstInterfaceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table supports Interface configuration."
    ::= { ostInterface 1 }

ostInterfaceEntry OBJECT-TYPE
    SYNTAX      OstInterfaceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This is an Interface table entry."
    INDEX { ostInterfaceIndex }
    ::= { ostInterfaceTable 1 }

OstInterfaceEntry ::= SEQUENCE {
        ostInterfaceIndex                           OstPortSingleIndex,
        ostInterfacePortName                        DisplayString,
        ostInterfaceType                            INTEGER,
        ostInterfaceComponentID                     Unsigned32,
        ostInterfaceSfpMode                         INTEGER,
        ostInterfaceCfmEnable                       TruthValue,
        ostInterfaceCommittedEgressInformationRate  Unsigned32,
        ostInterfaceQueueType                       INTEGER,
        ostInterfaceLpbkEnable                      TruthValue,
        ostInterfaceRstpMacLearning                 INTEGER,
        ostInterfacePauseEnable                     TruthValue,
        ostInterfacePort                            DisplayString,
        ostInterfaceRJ45Mode                        Integer32,
        ostInterfaceUnkEnable                       TruthValue,
        ostInterfaceMTU                             Integer32,
        ostInterfaceTransmitDisable                 TruthValue,
        ostInterfaceAlsEnable                       TruthValue,
        ostInterfaceEgressSchedulingProfileId       OstEgressSchedulingProfileIndexType,
        ostInterfaceLoopTimeout                     Integer32,
        ostInterfaceLldpSelection                   INTEGER,
        ostInterfaceMirrorPortNumber                OstPortNumber,
        ostInterfaceMirrorRatio                     Integer32,
        ostInterfaceThresholdViolation              Unsigned32,
        ostInterfaceColor                           INTEGER,
        ostInterfaceManagement                      INTEGER
    }

ostInterfaceIndex OBJECT-TYPE
    SYNTAX      OstPortSingleIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Chassis, module and port indices to which this interface belongs."
    ::= { ostInterfaceEntry 1 }

ostInterfacePortName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..45))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The identifier associated with this interface."
    ::= { ostInterfaceEntry 2 }

ostInterfaceType OBJECT-TYPE
    SYNTAX      INTEGER {
        undefined (0),
        nni       (1),
        uni       (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The interface type, UNI or NNI, associated with this interface."
    ::= { ostInterfaceEntry 3 }

ostInterfaceComponentID OBJECT-TYPE
    SYNTAX      Unsigned32 (1..8)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Component ID to which the port is assigned."
    ::= { ostInterfaceEntry 4 }

ostInterfaceSfpMode OBJECT-TYPE
    SYNTAX      INTEGER {
        undefined (0),
        auto      (1),
        force100  (2),
        force1000 (3),
        sgmii     (4)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Set the SFP mode.
          undefined = no SFP (read only)
          auto      = examines diagnostic SFP ROM for speed & mode
          force100  = forces 100 Mbps SERDES mode
          force1000 = forces 1000 Mbps SERDES mode
          sgmii     = forces sfp to SGMII mode"
    ::= { ostInterfaceEntry 5 }

ostInterfaceCfmEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Enable CFM on this port."
    ::= { ostInterfaceEntry 6 }

ostInterfaceCommittedEgressInformationRate OBJECT-TYPE
    SYNTAX      Unsigned32 (0..10000000)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Committed Egress Information Rate in kb/sec.

        The maximum value and default for 10G ports is 10000000.
        The maximum value and default for 1G ports is 1000000.
       "
    ::= { ostInterfaceEntry 7 }

ostInterfaceQueueType OBJECT-TYPE
    SYNTAX      INTEGER {
        undefined  (0),
        fairweight (1),
        starving   (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Egress queue type. This object is deprecated."
    ::= { ostInterfaceEntry 8 }

ostInterfaceLpbkEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Enable loopback on this port."
    ::= { ostInterfaceEntry 9 }

ostInterfaceRstpMacLearning OBJECT-TYPE
    SYNTAX      INTEGER {
        on      (1),
        off     (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "RSTP MAC learning setting.  Default setting is on."
    DEFVAL {1}
    ::= { ostInterfaceEntry 10 }

ostInterfacePauseEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Enable Pause on this port."
    ::= { ostInterfaceEntry 11 }

ostInterfacePort OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..14))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The port associated with this interface."
    ::= { ostInterfaceEntry 12 }

ostInterfaceRJ45Mode OBJECT-TYPE
    SYNTAX      Integer32 (0..15)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The RJ45 mode for the port in a bit encoded value.
           bit0 : 0 = Auto Negotiation, 1 = Manual
           bit1 : 0 = 1000, 1 = 10/100
           bit2 : 0 = 100, 1 = 10
           bit3 : 0 = Full Duplex, 1 = Half Duplex
        This object is valid for RJ45 ports only."
    ::= { ostInterfaceEntry 13 }

ostInterfaceUnkEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "*** This object is deprecated ***

        Writing this object will have no effect.

       Enable Unknown CFM PDU tunneling on this port.
           True = enable
           False = disable "
    ::= { ostInterfaceEntry 14 }

ostInterfaceMTU OBJECT-TYPE
    SYNTAX      Integer32 (64..10240)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The ports ingress frame size. For the GM3, GM4, and GM4-PoE the
        maximum frame size is 10240 bytes. For the XM5 the maximum frame
        size is 10056 bytes.

        The ports mgt1 and mgt2 are fixed to a frame size of 2048 and
        cannot be changed. Writing the object will be ignored.

        Setting the MTU size less than the minimum or maximum supported
        will result in an SNMP error.
       "
    ::= { ostInterfaceEntry 15 }

ostInterfaceTransmitDisable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Enable/Disable the port transmission.
           True  = transmission is disabled
           False = transmission is enabled

        For a laser light is enabled/disabled.
        For a copper port electrical transmission is enabled/disabled.
       "
    ::= { ostInterfaceEntry 16 }

ostInterfaceAlsEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Enable/Disable the auto link shutdown for the selected port.
           True = Auto link shutdown is enabled
           False = Auto link shutdown is disabled"
    ::= { ostInterfaceEntry 17 }

ostInterfaceEgressSchedulingProfileId OBJECT-TYPE
    SYNTAX      OstEgressSchedulingProfileIndexType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The index of the Scheduling profile associated for the selected port."
    ::= { ostInterfaceEntry 18 }

ostInterfaceLoopTimeout OBJECT-TYPE
    SYNTAX      Integer32 (0..3600)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The ports loopback timeout in seconds.

        0 disables the timeout.
        The default value is 30 seconds
       "
    ::= { ostInterfaceEntry 19 }

ostInterfaceLldpSelection OBJECT-TYPE
    SYNTAX      INTEGER {
        undefined     (0),
        standard      (1),
        dpoe          (2),
        dpoeAuto      (3)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object indicates the LLDP port selection type.

        undefined(0)         Port LLDP type is undefined or unknown
        standard(1)          Port is a standard LLDP port type
        dpoe(2)              Port is an enhanced DPoE LLDP port type
        dpoeAuto(3)          Port operates in either standadrd LLDP or DPoE
                             LLDP mode
       "
    ::= { ostInterfaceEntry 20 }

ostInterfaceMirrorPortNumber OBJECT-TYPE
    SYNTAX      OstPortNumber
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object indicates that the selected port, portnum, is acting
        as a mirror port for the portMirrorPortNumber.

        A value of '0' indicates normal port operation (no mirroring)
        for portnum. A non-zero value indicates that portnum is acting as
        a port mirror.
       "
    ::= { ostInterfaceEntry 21 }

ostInterfaceMirrorRatio  OBJECT-TYPE
    SYNTAX      Integer32(1..1000)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object sets the ratio of frames from the mirror port to the
        listening port. For instance a value of '100' would send 1 out of 100
        Ethernet frames to the mirror listening port. A value of '1' sends all
        the frames to the mirror listening port.

        This object is supported for the GM3, GM4, and GM4-PoE. It is not
        supported on the XM5.
       "
    DEFVAL{ 1 }
    ::= { ostInterfaceEntry 22 }

ostInterfaceThresholdViolation  OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object sets the interface utilization threshold value expressed
        in milli-percent,  where 1 indicates 0.001 percent. A threshold
        violation is declared when the utilization is greater than the
        utilization threshold value.

        A value of 100000 effectively disables threshold checking since a
        threshold cannot be above 100%.

        This object is supported for the GM4, GM4-PoE, and XM5.
       "
    DEFVAL{ 100000 }
    ::= { ostInterfaceEntry 23 }

ostInterfaceColor OBJECT-TYPE
    SYNTAX      INTEGER {
        unaware   (1),
        aware     (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This objects sets the interface to color aware or color unaware (color
        blind) mode.


        unaware(1)    Port is configured in color unaware mode. Traffic that
                      ingresses a port is classified as 'green'

        aware(2)      Port is configured in color aware mode. Traffic that
                      ingresses a port is classied as 'green' or 'yellow'
                      dependent upon the color marking for the module.

        This object is supported by the XM5.
       "
    DEFVAL { unaware }
    ::= { ostInterfaceEntry 24 }

ostInterfaceManagement OBJECT-TYPE
    SYNTAX      INTEGER {
        standard  (1),
        dedicated (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This objects set the port to be a standard port or a dedicated
        management port.


        standard(1)   Port is configured as a standard port that follows the
                      EVC configuration

        dedicated(2)  Port is configured as a dedicated management port. It
                      is not a member of a defined EVC and traffic that
                      ingresses the port is forwarded directly to the
                      Management Port.

        This object is supported by the GM4, GM4-PoE, XM5.
       "
    DEFVAL { standard }
    ::= { ostInterfaceEntry 25 }


-------------------------------------------------------------------------------
-- Interface EVC Configuration Table
-------------------------------------------------------------------------------

ostIfEvcTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OstIfEvcEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table contains EVC entries for corresponding Interface entries.
        More than one EVC entry can be associated with each Interface entry.
       "
    ::= { ostInterface 2 }

ostIfEvcEntry OBJECT-TYPE
    SYNTAX      OstIfEvcEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This is an Interface EVC table entry."
    INDEX { ostInterfaceIndex, ostIfEvcIndex }
    ::= { ostIfEvcTable 1 }

OstIfEvcEntry ::= SEQUENCE {
        ostIfEvcRowStatus            RowStatus,
        ostIfEvcCeVlanIdList         OstVlanIdList,
        ostIfEvcPrimaryVid           OstVlanId,
        ostIfEvcName                 OstEvcNameString,
        ostIfEvcIndex                Unsigned32,
        ostIfEvcExceptVid            OstVlanId,
        ostIfEvcExceptOn             TruthValue,
        ostIfEvcExtendedOn           BITS,
        ostIfEvcExtendedMacda        MacAddress,
        ostIfEvcExtendedMacsa        MacAddress,
        ostIfEvcExtendedEtype        Integer32,
        ostIfEvcExtendedVid          OstVlanId,
        ostIfEvcExtendedIpsrc        IpAddress,
        ostIfEvcExtendedIpdst        IpAddress,
        ostIfEvcExtendedL4src        Integer32,
        ostIfEvcExtendedL4dst        Integer32,
        ostIfEvcExtendedPcp          OstPcpPriorityList,
        ostIfEvcExtendedDscp         OstIpPriorityList,
        ostIfEvcProName              OstEvcNameStringOrNone,
        ostIfEvcProCeVlanIdList      OstVlanIdList,
        ostIfEvcExtendedIpsrcString  OstIpAddr,
        ostIfEvcExtendedIpdstString  OstIpAddr
    }

ostIfEvcRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Status of the row."
    ::= { ostIfEvcEntry 1 }

ostIfEvcCeVlanIdList OBJECT-TYPE
    SYNTAX      OstVlanIdList
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The list of CE-VLAN IDs associated with the EVC named by ostInterfaceEvcName
       on this interface. The CE-VLAN IDs values are in text form, separated by
       comma characters."
    ::= { ostIfEvcEntry 2 }

ostIfEvcPrimaryVid OBJECT-TYPE
    SYNTAX      OstVlanId
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The primary VID associated with this EVC on this interface."
    ::= { ostIfEvcEntry 3 }

ostIfEvcName OBJECT-TYPE
    SYNTAX      OstEvcNameString
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The name associated with this EVC.  Must be at least 1 character and unique."
    ::= { ostIfEvcEntry 4 }

ostIfEvcIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The index associated with this interface EVC row."
    ::= { ostIfEvcEntry 5 }

ostIfEvcExceptVid OBJECT-TYPE
    SYNTAX      OstVlanId
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The vid is not included in the evc CE-VLAN map."
    ::= { ostIfEvcEntry 6 }

ostIfEvcExceptOn OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The All-But-One setting for this EVC.

       True = The All-But-One Vid (ostIfEvcExceptVid) is defined for this EVC.

       False = No All-But-One Vid defined."
    ::= { ostIfEvcEntry 7 }

ostIfEvcExtendedOn OBJECT-TYPE
    SYNTAX      BITS {
                     bMacda(0),
                     bMacsa(1),
                     bEtype(2),
                     bVid(3),
                     bIpsrc(4),
                     bIpdst(5),
                     bL4src(6),
                     bL4dst(7),
                     bPcp(8),
                     bDscp(9)
                }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "A vector of bits that indicates what Interface Extended Filtering
        options are selected.

        A bit set to '1' selects the Extended Filtering option.

        A bit set to '0' denotes the the Extended Filtering option is not used.

        For Layer 2 frames the valid Filtering Options are VLAN identification,
        Ethertype, Tag Priority, Destination MAC address, and Source MAC address.

        For IP and Layer 2 frames the valid Filtering Options are VLAN identification,
        IP priority, Tag priority, Destination MAC address, Source MAC address,
        and Layer 4 destination port.

        For IP and Layer 4 frames the valid Filtering Options are VLAN identification,
        IP priority, Tag priority, Source IP address, Destination IP address,
        Layer 4 source port, and Layer 4 destination port.

        bMacda(0)        Destination MAC address
        bMacsa(1)        Source MAC address
        bEtype(2)        Etherype
        bVid(3)          VLAN identification
        bIpsrc(4)        Source IP address
        bIpdst(5)        Destination IP address
        bL4src(6)        Layer 4 source port
        bL4dst(7)        Layer 4 destination port
        bPcp(8)          Tag priority
        bDscp(9)         IP priority
       "
    DEFVAL { { } }
    ::= { ostIfEvcEntry 8 }

ostIfEvcExtendedMacda OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the Destination MAC for the Interface Extended
        Filtering Option.
       "
    DEFVAL { '000000000000'H  }
    ::= { ostIfEvcEntry 9 }

ostIfEvcExtendedMacsa OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the Source MAC for the Interface Extended
        Filtering Option.
       "
    DEFVAL { '000000000000'H  }
    ::= { ostIfEvcEntry 10 }

ostIfEvcExtendedEtype OBJECT-TYPE
    SYNTAX      Integer32 (0..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object specifies the Ethertype for the Interface Extended
        Filtering Option.
       "
    DEFVAL {0}
    ::= { ostIfEvcEntry 11 }

ostIfEvcExtendedVid OBJECT-TYPE
    SYNTAX      OstVlanId
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "*** This object is deprecated ***
       "
    DEFVAL {0}
    ::= { ostIfEvcEntry 12 }

ostIfEvcExtendedIpsrc OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object specifies the Source IPv4 address for the Interface
        Extended Filtering Option.

        Setting this object also impacts the ostIfEvcExtendedIpsrcString
        returned value. If an IPv4 address is written to this object the
        two objects return the same value. If ostIfEvcExtendedIpsrcString
        is set with an IPv6 address then this object returns an all zeros
        value.
       "
    DEFVAL { '00000000'H  }
    ::= { ostIfEvcEntry 13 }

ostIfEvcExtendedIpdst OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object specifies the Destination IPv4 address for the Interface
        Extended Filtering Option.

        Setting this object also impacts the ostIfEvcExtendedIpdstString
        returned value. If an IPv4 address is written to this object the
        two objects return the same value. If ostIfEvcExtendedIpdstString
        is set with an IPv6 address then this object returns an all zeros
        value.
       "
    DEFVAL { '00000000'H  }
    ::= { ostIfEvcEntry 14 }

ostIfEvcExtendedL4src OBJECT-TYPE
    SYNTAX      Integer32 (0..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object specifies the Layer 4 (TCP/UDP) Source port for the Interface Extended
        Filtering Option.
       "
    DEFVAL {0}
    ::= { ostIfEvcEntry 15 }

ostIfEvcExtendedL4dst OBJECT-TYPE
    SYNTAX      Integer32 (0..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object specifies the Layer 4 (TCP/UDP) Destination port for the Interface Extended
        Filtering Option.
       "
    DEFVAL {0}
    ::= { ostIfEvcEntry 16 }

ostIfEvcExtendedPcp OBJECT-TYPE
    SYNTAX      OstPcpPriorityList
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the VLAN priorities for the Interface Extended
        Filtering Option.
       "
    DEFVAL { "0" }
    ::= {ostIfEvcEntry  17 }

ostIfEvcExtendedDscp OBJECT-TYPE
    SYNTAX      OstIpPriorityList
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the IP priority for the Interface Extended
        Filtering Option.
       "
    DEFVAL { "0" }
    ::= { ostIfEvcEntry 18 }

ostIfEvcProName OBJECT-TYPE
    SYNTAX      OstEvcNameStringOrNone
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The object defines the protected EVC associated on this interface.

        If the object is uninitializaed (null length string) or is the same
        value as ostIfEvcName then the object indicates that the protected
        EVC and the working EVC are the same EVC and their the VIDs are the
        same.

        If the object value is different from ostIfEvcName then the protected
        EVC is different from the working VID.

        This object is only used (active) if the protected instance is active
        and indicates the EVC associated with the protected instance on the
        interface when active.
       "
    DEFVAL { "" }
    ::= { ostIfEvcEntry 19 }

ostIfEvcProCeVlanIdList OBJECT-TYPE
    SYNTAX      OstVlanIdList
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object defines the CE-VLAN IDs associated with the protected EVC
        on this interface.

        If the object value is uninitializaed (null length string) or is the
        same value as ostIfEvcCeVlanIdList then the object indicates that the
        protected EVC CE-VLAN IDs and the working EVC CE-VLANs IDs are the
        same.

        If the object value is different from ostIfEvcCeVlanIdList then the
        protected EVC CE-VLAN IDs are different from the working EVC CE-VLANs.

        This object is only used (active) if the protected instance is active
        and indicates the EVC CE-VLANs IDs associated with the protected
        instance on the interface when active.
       "
    DEFVAL { "" }
    ::= { ostIfEvcEntry 20 }


ostIfEvcExtendedIpsrcString OBJECT-TYPE
    SYNTAX      OstIpAddr
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object specifies the Source IPv4 or IPv6 address for the
        Interface Extended Filtering Option.

        Setting this object also impacts the ostIfEvcExtendedIpsrc
        returned value. If an IPv4 address is written to this object the
        two objects return the same value. If this object is set with an IPv6
        address then ostIfEvcExtendedIpsrc returns an all zeros value.
       "
    DEFVAL { "::"  }
    ::= { ostIfEvcEntry 21 }

ostIfEvcExtendedIpdstString OBJECT-TYPE
    SYNTAX      OstIpAddr
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object specifies the Destination IPv4 or IPv6 address for the
        Interface Extended Filtering Option.

        Setting this object also impacts the ostIfEvcExtendedIpdst
        returned value. If an IPv4 address is written to this object the
        two objects return the same value. If this object is set with an IPv6
        address then ostIfEvcExtendedIpdst returns an all zeros value.
       "
    DEFVAL { "::"  }
    ::= { ostIfEvcEntry 22 }


-------------------------------------------------------------------------------
-- Cable Test Table
-------------------------------------------------------------------------------
ostCableTestTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OstCableTestEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "This is a table of cable test results."
    ::= { ostInterface 3 }

ostCableTestEntry OBJECT-TYPE
    SYNTAX      OstCableTestEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Cable test table entry."
    INDEX       { ostCableTestIndex }
    ::= { ostCableTestTable 1 }

OstCableTestEntry ::= SEQUENCE {
    ostCableTestIndex              OstPortSingleIndex,
    ostCableTestInit               Integer32,
    ostCableTestStatus             INTEGER,
    ostCableTestResult             Unsigned32
    }

ostCableTestIndex OBJECT-TYPE
    SYNTAX      OstPortSingleIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Chassis, module and port indices to which this interface belongs."
    ::= { ostCableTestEntry 1 }


ostCableTestInit OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Writing any value to this object causes the initiation of the port
        cable test. When read the value returned is always '0'
       "
    ::= { ostCableTestEntry 2 }

ostCableTestStatus OBJECT-TYPE
    SYNTAX      INTEGER {
        undefined                (0),
        completeNoBreak          (1),
        completeBreakDetected    (2),
        testInProcess            (3),
        portNotCopper            (4)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object indicates the status of the coper cable test inititated
        via the cableTestInit object.

        undefined(0)              Results are undefined or function not supported
        completeNoBreak(1)        Test complete, no cable break detected
        completeBreakDetected(2)  Test complete, cable break detected as
                                  indicated by cableTestResult object
        testInProcess(3)          Test not complete, but is in process
        portNotCopper(4)          Test started to a non-copper port
       "
    ::= { ostCableTestEntry 3 }

ostCableTestResult OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "meters"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object indicates the distance that the cable is broken from
        its source. A value of zero indicates that a test has not been
        run successfully or there is no cable break detected.
       "
      ::= { ostCableTestEntry 4 }


-------------------------------------------------------------------------------
-- Port Statistics Current Table
-------------------------------------------------------------------------------

ostPortStatisticsCurrentTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OstPortStatisticsCurrentEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table supports current port statistics objects. The entries
        in this table are updated every five seconds and provides a snapshot
        of port utilization and throughput.
       "
    ::= { ostInterface 5 }

ostPortStatisticsCurrentEntry OBJECT-TYPE
    SYNTAX      OstPortStatisticsCurrentEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Port current statistics table entry."
    INDEX { ostInterfaceIndex }
    ::= { ostPortStatisticsCurrentTable 1 }

OstPortStatisticsCurrentEntry ::= SEQUENCE {
        ostPortStatisticsCurrentTxThroughput    Counter64,
        ostPortStatisticsCurrentTxUtilization   Unsigned32,
        ostPortStatisticsCurrentRxThroughput    Counter64,
        ostPortStatisticsCurrentRxUtilization   Unsigned32
    }

ostPortStatisticsCurrentTxThroughput  OBJECT-TYPE
    SYNTAX      Counter64
    UNITS       "bits-per-second"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object indicates the average transmission throughput for a port
        during the last 5 seconds in expressed in bits/second.

        It is calculated based upon:

          (Number of octets transmitted)*8/(5 seconds)

        This value is only updated every 5 seconds.
       "
    ::= { ostPortStatisticsCurrentEntry 1 }

ostPortStatisticsCurrentTxUtilization OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the average transmisson utilization for a port
        during the last 5 seconds expressed in milli-percent, where 1 indicates
        0.001 percent.

        It is calculated based upon:

          (ostPortStatisticsCurrentTxThroughput)/(Interface Speed)

        Units are in milli-percent, where 1 indicates 0.001 percent.

        This value is only updated every 5 seconds.
       "
    ::= { ostPortStatisticsCurrentEntry 2 }

ostPortStatisticsCurrentRxThroughput  OBJECT-TYPE
    SYNTAX      Counter64
    UNITS       "bits-per-second"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object indicates the average receive throughput for a port
        during the last 5 seconds in expressed in bits/second.

        It is calculated based upon:

          (Number of octets received)*8/(5 seconds)

        This value is only updated every 5 seconds.
       "
    ::= { ostPortStatisticsCurrentEntry 3 }

ostPortStatisticsCurrentRxUtilization OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the average received utilization for a port during
        the last 5 seconds expressed in milli-percent,  where 1 indicates 0.001
        percent.

        It is calculated based upon:

          (ostPortStatisticsCurrentRxThroughput)/(Interface Speed)

        Units are in milli-percent, where 1 indicates 0.001 percent.

        This value is only updated every 5 seconds.
       "
    ::= { ostPortStatisticsCurrentEntry 4 }


-------------------------------------------------------------------------------
-- Ethernet Virtual Connection (EVC) Configuration Table
-------------------------------------------------------------------------------

ostEvcTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OstEvcEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table supports EVC configuration.

        Modification of an existing EVC is allowed by changing the object
        values for an existing entry. Any of the parameters of the EVC,
        including the EVC name can be changed during modification.
       "
    ::= { ostEvc 1 }

ostEvcEntry OBJECT-TYPE
    SYNTAX      OstEvcEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "EVC table entry."
    INDEX { ostModuleIndex, ostEvcIndex }
    ::= { ostEvcTable 1 }

OstEvcEntry ::= SEQUENCE {
        ostEvcIndex                   Unsigned32,
        ostEvcRowStatus               RowStatus,
        ostEvcName                    OstEvcNameString,
        ostEvcVid                     OstVlanId,
        ostEvcPortList                OstPortList,
        ostEvcPreserveCeVid           TruthValue,
        ostEvcPreserveCeCos           TruthValue,
        ostEvcProviderTrafficClass    Unsigned32,
        ostEvcProviderPriority        Unsigned32,
        ostEvcCTagPriority            Unsigned32,
        ostEvcEnable                  TruthValue,
        ostEvcTrust                   TruthValue,
        ostEvcVidSTagTranslation      OstVlanId,
        ostEvcPortListSTagTranslation OstPortList,
        ostEvcMode                    INTEGER,
        ostEvcManagementPort1         INTEGER,
        ostEvcManagementPort2         INTEGER,
        ostEvcProtect                 INTEGER,
        ostEvcEtreePortList           OstPortList,
        ostEvcType                    INTEGER,
        ostEvcTrafficClassTrust       TruthValue
    }

ostEvcIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The index associated with this EVC."
    ::= { ostEvcEntry 1 }

ostEvcRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Status of the row.  Used for row creation and destruction."
    ::= { ostEvcEntry 2 }

ostEvcName OBJECT-TYPE
    SYNTAX      OstEvcNameString
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The name associated with this EVC.  Must be at least 1 character and unique."
    ::= { ostEvcEntry 3 }

ostEvcVid OBJECT-TYPE
    SYNTAX      OstVlanId
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The provider tag associated with this EVC."
    ::= { ostEvcEntry 4 }

ostEvcPortList OBJECT-TYPE
    SYNTAX      OstPortList
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "A string specifying the list of ports associated with this EVC."
    ::= { ostEvcEntry 5 }

ostEvcPreserveCeVid OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Preservation maintains service frame CE-VLAN IDs across this EVC."
    ::= { ostEvcEntry 6 }

ostEvcPreserveCeCos OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Preservation maintains service frame CE-CoS across this EVC."
    ::= { ostEvcEntry 7 }

ostEvcProviderTrafficClass OBJECT-TYPE
    SYNTAX      Unsigned32 (0..8)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Provider traffic class where 0=discard, 1=lowest,
        4=highest GM4, 8=highest XM5, default=1
       "
    DEFVAL {1}
    ::= { ostEvcEntry 8 }

ostEvcProviderPriority OBJECT-TYPE
    SYNTAX      Unsigned32 (0..7)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The provider VLAN priority bits for PDU if sent tagged for this EVC."
    ::= { ostEvcEntry 9 }

ostEvcCTagPriority OBJECT-TYPE
    SYNTAX      Unsigned32 (0..7)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The C-Tag VLAN priority bits for PDU if sent tagged for this EVC."
    DEFVAL {0}
    ::= { ostEvcEntry 10 }

ostEvcEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Enable or disable ostEvcName."
    ::= { ostEvcEntry 11 }

ostEvcTrust OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The Trust setting for this EVC.

       True = Trust. Use the priority bits of the ingressing frame for this EVC.
              The ostEvcProviderPriority object for this EVC was not set.

       False = No Trust. Use the ostEvcProviderPriority priority pbits for this EVC."
    DEFVAL { true }
    ::= { ostEvcEntry 12 }

ostEvcVidSTagTranslation OBJECT-TYPE
    SYNTAX      OstVlanId
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The provider tag that is associated with the EVC on the port
        ostEvcPortListSTagTranslation.
       "
    ::= { ostEvcEntry 13 }

ostEvcPortListSTagTranslation OBJECT-TYPE
    SYNTAX      OstPortList
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "A string specifying the port associated with ostEvcVidSTagTranslation
        VID.
       "
    ::= { ostEvcEntry 14 }

ostEvcMode OBJECT-TYPE
    SYNTAX      INTEGER {
        normal              (1),
        stagTranslation     (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object defines the EVC mode.

        The value 'normal' indicates that the EVC is a normal EVC and the S-TAG
        is preserved across ENNI ports.

        The value 'stagTranslation' indicates that the EVC does not preserve the
        S-TAG across ENNI ports. An EVC using S-Tag Translation can only have two
        ports defined for the GM3, GM4 and more than two ports for the XM5.
       "
    DEFVAL {1}
    ::= { ostEvcEntry 15 }

ostEvcManagementPort1 OBJECT-TYPE
    SYNTAX      INTEGER {
        inactive      (1),
        active        (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object defines whether the management port 1 associated with the EVC
        is active or inactive.

        inactive(1)  Indicates that a management port is not present on the
                     current EVC or that if the management port is present on
                     the current EVC it is inactive - Ethernet traffic on the
                     EVC does not ingress or egress the management port.

        active(2)    Indicates that the management port is present on an EVC
                     and is active - Ethernet traffic on the EVC does ingress
                     and egress the management port.

        If the management port is not a member of the EVC as indicated by the
        ostEvcPortList object writing a value of 'active' to this object will
        result in the generation of a SNMP error.
       "
    DEFVAL {inactive }
    ::= { ostEvcEntry 16 }

ostEvcManagementPort2 OBJECT-TYPE
    SYNTAX      INTEGER {
        inactive      (1),
        active        (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object defines whether the management port 2 associated with the EVC
        is active or inactive.

        inactive(1)  Indicates that a management port is not present on the
                     current EVC or that if the management port is present on
                     the current EVC it is inactive - Ethernet traffic on the
                     EVC does not ingress or egress the management port.

        active(2)    Indicates that the management port is present on an EVC
                     and is active - Ethernet traffic on the EVC does ingress
                     and egress the management port.

        If the management port is not a member of the EVC as indicated by the
        ostEvcPortList object writing a value of 'active' to this object will
        result in the generation of a SNMP error.

        This object is supported by the GM3, GM4, GM4-PoE.
       "
    DEFVAL {inactive }
    ::= { ostEvcEntry 17 }

ostEvcProtect OBJECT-TYPE
    SYNTAX      INTEGER {
        noProtect           (1),
        protect             (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object defines whether the specific EVC can be deleted.

        noProtect(1)   This value indicates that the EVC can be deleted

        protect(2)     This value indicates that the EVC cannot be deleted.
                       An EVC must have this object set to 'noProtect' before
                       it can be deleted.

        This object is supported by the GM4, GM4-PoE, and XM5.
       "
    DEFVAL { noProtect }
    ::= { ostEvcEntry 18 }

ostEvcEtreePortList OBJECT-TYPE
    SYNTAX      OstPortList
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "A string specifying the ports associated with an E-Tree EVC that are
        defined as Root ports. Ports not listed are designated as Leaf ports.

        The value of this object is ignored if ostEvcType is 'standard'.

        This object is supported by the GM4, GM4-PoE, and XM5.
       "
    DEFVAL { "" }
    ::= { ostEvcEntry 19 }

ostEvcType OBJECT-TYPE
    SYNTAX      INTEGER {
        standardEvc    (1),
        simpleETree    (2),
        branchETree    (3),
        trunkETree     (4)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object defines type of EVC.

        standardEvc(1) The EVC type is a standard EVC, following normal
                       forwarding rules for all the ports associated with
                       the EVC (ostEvcPortList)

        simpleETree(2) The EVC is a type of simple Rooted Multipoint (E-Tree)
                       that uses the EVC defined ports (ostEvcPortList) and
                       root ports (ostEvcEtreePortList). The S-TAG VID
                       is used for both Root and Leaf Ports
                         Root Ports send to and receive from Leaf and Root Ports
                         Leaf Ports send to and receive from Root ports, but
                           do not send to or receive from Leaf ports

        branchETree(3) The EVC is a type of complex Rooted Multiport (E-Tree)
                       that supports an S-TAG that is designated as a Branch
                       S-TAG and uses the EVC defined ports (ostEvcPortList)
                       and root ports (ostEvcEtreePortList).
                         Root Ports receive on the Branch S-TAG
                         Leaf Ports send on the Branch S-TAG

        trunkETree(4)  The EVC is a type of complex Rooted Multiport (E-Tree)
                       that supports an S-TAG that is designated as a Trunk
                       S-TAG and uses the EVC defined ports (ostEvcPortList)
                       and root ports (ostEvcEtreePortList).
                         Root Ports send/receive on the Trunk S-TAG
                         Leaf Ports receive on the Trunk S-TAG

        For correct operation the complex E-Tree that uses the Branch and
        Trunk construct should have both a branchETree EVC and a trunkETree
        EVC defined for the same ports. At a UNI interface only ports
        designated as Leaf Ports have a definition, i.e. ostIfEvcCeVlanIdList,
        for the branchETree EVC and Root Ports only have a definition for the
        trunkETree EVC.

        This object is supported by the GM4, GM4-PoE, and XM5.
       "
    DEFVAL { standardEvc }
    ::= { ostEvcEntry 20 }

ostEvcTrafficClassTrust OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The class trust setting for this EVC.

        True = Trust. Use the priority bits of the ingressing frame to map to
               the correct class (output queue). The ostEvcProviderTrafficClass
               object for this EVC was not set.

        False = No Trust. Use the ostEvcProviderTrafficClass for this EVC.
       "
    DEFVAL {true}
    ::= { ostEvcEntry 21 }


-------------------------------------------------------------------------------
-- Module Settings Table
-------------------------------------------------------------------------------

ostModuleSettingsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OstModuleSettingsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table supports module global settings."
    ::= { ostModule 1 }

ostModuleSettingsEntry OBJECT-TYPE
    SYNTAX      OstModuleSettingsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Module Settings table entry."
    INDEX { ostModuleIndex }
    ::= { ostModuleSettingsTable 1 }

OstModuleSettingsEntry ::= SEQUENCE {
        ostModuleIndex                 OstModuleSingleIndex,
        ostEnableEvcProcessing         TruthValue,
        ostCustomerEthertype           Integer32,
        ostProviderEthertype           Integer32,
        ostSaveSettings                Integer32,
        ostCfmTrapEnables              Unsigned32,
        ostSnmpTrapPortNum             Unsigned32,
        ostSntpEnable                  TruthValue,
        ostSntpServerIp1               IpAddress,
        ostSntpServerIp2               IpAddress,
        ostSntpTimeZone                Unsigned32,
        ostSntpServerInterval          Unsigned32,
        ostDaytimeEnable               TruthValue,
        ostDaytimeServerIp             IpAddress,
        ostDaytimeServerType           INTEGER,
        ostDaytimeServerInterval       Unsigned32,
        ostCfmXcAutoLearning           INTEGER,
        ostClearTrapLog                Integer32,
        ostSntpIpSrc                   Unsigned32,
        ostDaytimeIpSrc                Unsigned32,
        ostNumEgressSchedulingProfiles Unsigned32,
        ostNumPortEgressQueues         Unsigned32,
        ostClearMacTable               Integer32,
        ostFixedCompId                 INTEGER,
        ostSynceSource                 Unsigned32,
        ostEgressPolicingType          INTEGER,
        ostFirmwareRestartType         INTEGER,
        ostFpgaRestartType             INTEGER,
        ostGlobalPauseEnable           TruthValue,
        ostZtpEnable                   INTEGER,
        ostSynceClockStatus            INTEGER,
        ostSntpServerIp1String         OstIpAddr,
        ostSntpServerIp2String         OstIpAddr,
        ostDaytimeServerIpString       OstIpAddr,
        ostModulePrompt                OCTET STRING,
        ostModuleSplashWarning         OCTET STRING,
        ostConsoleEnable               INTEGER
    }

ostModuleIndex OBJECT-TYPE
    SYNTAX      OstModuleSingleIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The module chassis and slot numbers.
        Base 10 Format: CCSS where
            CC is the chassis index, 1 to 99
            SS is the slot index, 1 to 99"
    ::= { ostModuleSettingsEntry 1 }

ostEnableEvcProcessing OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Enable or disable EVC processing."
    ::= { ostModuleSettingsEntry 2 }

ostCustomerEthertype OBJECT-TYPE
    SYNTAX      Integer32 (0..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Customer ethertype value."
    ::= { ostModuleSettingsEntry 3 }

ostProviderEthertype OBJECT-TYPE
    SYNTAX      Integer32 (0..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Provider ethertype value."
    ::= { ostModuleSettingsEntry 4 }

ostSaveSettings OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Writing any value to this object saves the current extension settings to flash.
        This is a write only object.  This object is used in conjunction with ostSaveStatus."
    ::= { ostModuleSettingsEntry 5 }

ostCfmTrapEnables OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object is a bit string, where each bit controls whether a CFM trap is enabled or disabled.
        When a bit is set to 1, the associated trap is enabled.

        The trap controlled by each bit is defined as follows:

         Bit | Trap OID Label
        -----+--------------------------
          0  | icCfmMepUp
          1  | icCfmMepDown
          2  | icCfmMepCrossConnect
          3  | icCfmLoop
          4  | icCfmConfigError
          5  | icCfmAllMepsUp
          6  | icCfmMepUnknown
          7  | icCfmMepMissing
          8  | icCfmFaultAlarm
          9  | icCfmLoopBackComplete
         10  | icCfmLinkTraceComplete"
    ::= { ostModuleSettingsEntry 6 }

ostSnmpTrapPortNum OBJECT-TYPE
    SYNTAX      Unsigned32 (0..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object configures the SNMP trap target port.  The default value is 162."
    ::= { ostModuleSettingsEntry 7 }

ostSntpEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Enable or disable SNTP processing."
    ::= { ostModuleSettingsEntry 8 }

ostSntpServerIp1 OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "SNTP server 1 IPv4 address.

        Setting this object also impacts the ostSntpServerIp1String
        returned value. If an IPv4 address is written to this object the
        two objects return the same value. If ostSntpServerIp1String
        is set with an IPv6 address then this object returns an all zeros
        value.
       "
    ::= { ostModuleSettingsEntry 9 }

ostSntpServerIp2 OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "SNTP server 2 IPv4 address.

        Setting this object also impacts the ostSntpServerIp2String
        returned value. If an IPv4 address is written to this object the
        two objects return the same value. If ostSntpServerIp2String
        is set with an IPv6 address then this object returns an all zeros
        value.
       "
    ::= { ostModuleSettingsEntry 10 }

ostSntpTimeZone OBJECT-TYPE
    SYNTAX      Unsigned32 (1..81)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Set the time zone.
        1   GMT     Greenwich Mean Time             UTC
        2   UTC     Coordinated Universal Time      UTC
        3   WET     Western European Time           UTC
        4   Z       Zulu Time Zone                  UTC
        5   N       November Time Zone              UTC - 01 hour
        6   O       Oscar Time Zone                 UTC - 02 hours
        7   HAT     Heure Avancee de Terre-Neuve    UTC - 02:30 hours
        8   NDT     Newfoundland Daylight Time      UTC - 02:30 hours
        9   ADT     Atlantic Daylight Time          UTC - 03 hours
        10  HAA     Heure Avancee de l'Atlantique   UTC - 03 hours
        11  P       Papa Time Zone                  UTC - 03 hours
        12  HNT     Heure Normale de Terre-Neuve    UTC - 03:30 hours
        13  NST     Newfoundland Standard Time      UTC - 03:30 hours
        14  AST     Atlantic Standard Time          UTC - 04 hours
        15  EDT     Eastern Daylight Time           UTC - 04 hours
        16  HAE     Heure Avancee de l'Est          UTC - 04 hours
        17  HNA     Heure Normale de l'Atlantique   UTC - 04 hours
        18  Q       Quebec Time Zone                UTC - 04 hours
        19  EST     Eastern Standard Time           UTC - 05 hours
        20  CDT     Central Daylight Time           UTC - 05 hours
        21  HAC     Heure Avancee du Centre         UTC - 05 hours
        22  HNE     Heure Normale de l'Est          UTC - 05 hours
        23  R       Romeo Time Zone                 UTC - 05 hours
        24  MDT     Mountain Daylight Time          UTC - 06 hours
        25  CST     Central Standard Time           UTC - 06 hours
        26  HAR     Heure Avancee des Rocheuses     UTC - 06 hours
        27  HNC     Heure Normale du Centre         UTC - 06 hours
        28  S       Sierra Time Zone                UTC - 06 hours
        29  PDT     Pacific Daylight Time           UTC - 07 hours
        30  HAP     Heure Avancee du Pacifique      UTC - 07 hours
        31  HNR     Heure Normale des Rocheuses     UTC - 07 hours
        32  MST     Mountain Standard Time          UTC - 07 hours
        33  T       Tango Time Zone                 UTC - 07 hours
        34  PST     Pacific Standard Time           UTC - 08 hours
        35  AKDT    Alaska Daylight Time            UTC - 08 hours
        36  HAY     Heure Avancee du Yukon          UTC - 08 hours
        37  HNP     Heure Normale du Pacifique      UTC - 08 hours
        38  U       Uniform Time Zone               UTC - 08 hours
        39  AKST    Alaska Standard Time            UTC - 09 hours
        40  HADT    Hawaii-Aleutian Daylight Time   UTC - 09 hours
        41  HNY     Heure Normale du Yukon          UTC - 09 hours
        42  V       Victor Time Zone                UTC - 09 hours
        43  HAST    Hawaii-Aleutian Standard Time   UTC - 10 hours
        44  W       Whiskey Time Zone               UTC - 10 hours
        45  X       X-ray Time Zone                 UTC - 11 hours
        46  Y       Yankee Time Zone                UTC - 12 hours
        47  A       Alpha Time Zone                 UTC + 01 hour
        48  BST     British Summer Time             UTC + 01 hour
        49  CET     Central European Time           UTC + 01 hour
        50  IST     Irish Summer Time               UTC + 01 hour
        51  MEZ     Mitteleuropaische Zeit          UTC + 01 hour
        52  WEDT    Western Europe, Daylight Time   UTC + 01 hour
        53  WEST    Western Europe Summer Time      UTC + 01 hour
        54  B       Bravo Time Zone                 UTC + 02 hours
        55  CEDT    Central Europe Daylight Time    UTC + 02 hours
        56  CEST    Central Europe Summer Time      UTC + 02 hours
        57  EET     Eastern European Time           UTC + 02 hours
        58  MESZ    Mitteleuroaische Sommerzeit     UTC + 02 hours
        59  C       Charlie Time Zone               UTC + 03 hours
        60  EEDT    Eastern Europe Daylight Time    UTC + 03 hours
        61  EEST    Eastern European Summer Time    UTC + 03 hours
        62  MSK     Moscow Standard Time            UTC + 03 hours
        63  MSD     Moscow Daylight Time            UTC + 04 hours
        64  D       Delta Time Zone                 UTC + 04 hours
        65  E       Echo Time Zone                  UTC + 05 hours
        66  F       Foxtrot Time Zone               UTC + 06 hours
        67  CXT     Christmas Island Time           UTC + 07 hours
        68  G       Golf Time Zone                  UTC + 07 hours
        69  AWST    Australian Western Standard     UTC + 08 hours
        70  H       Hotel Time Zone                 UTC + 08 hours
        71  AWDT    Australian Western Daylight     UTC + 09 hours
        72  I       India Time Zone                 UTC + 09 hours
        73  ACST    Australian Central Standard     UTC + 09:30 hours
        74  AEST    Australian Eastern Standard     UTC + 10 hours
        75  K       Kilo Time Zone                  UTC + 10 hours
        76  ACDT    Australian Central Daylight     UTC + 10:30 hours
        77  AEDT    Australian Eastern Daylight     UTC + 11 hours
        78  AES     Australian Eastern Summer       UTC + 11 hours
        79  L       Lima Time Zone                  UTC + 11 hours
        80  NFT     Norfolk (Island) Time           UTC + 11:30 hours
        81  M       Mike Time Zone                  UTC + 12 hours"
    ::= { ostModuleSettingsEntry 11 }

ostSntpServerInterval OBJECT-TYPE
    SYNTAX      Unsigned32 (1..60)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "SNTP server request interval in minutes."
    ::= { ostModuleSettingsEntry 12 }

ostDaytimeEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Enable or disable Daytime protocol processing. Default setting is disabled."
    DEFVAL {2}
    ::= { ostModuleSettingsEntry 13 }

ostDaytimeServerIp OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Daytime server IPv4 address.

        Setting this object also impacts the ostDaytimeServerIpString
        returned value. If an IPv4 address is written to this object the
        two objects return the same value. If ostDaytimeServerIpString
        is set with an IPv6 address then this object returns an all zeros
        value.
       "
    ::= { ostModuleSettingsEntry 14 }

ostDaytimeServerType OBJECT-TYPE
    SYNTAX      INTEGER {
        tcp       (1),
        udp       (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The Daytime server type, tcp or udp. Default setting is type udp."
    DEFVAL {2}
    ::= { ostModuleSettingsEntry 15 }

ostDaytimeServerInterval OBJECT-TYPE
    SYNTAX      Unsigned32 (1..60)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Daytime server request interval in minutes.  Default setting is 10 minutes."
    DEFVAL {10}
    ::= { ostModuleSettingsEntry 16 }

ostCfmXcAutoLearning OBJECT-TYPE
    SYNTAX      INTEGER {
        off     (1),
        on      (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Enables or disables automatic learning of cross connecting remote MEPs. Default setting is off."
    DEFVAL {1}
    ::= { ostModuleSettingsEntry 17 }

ostClearTrapLog OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Writing any value to this object causes the trap log to be cleared.
        This is a write only object."
    ::= { ostModuleSettingsEntry 18 }

ostSntpIpSrc OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "SNTP source IP address number, default is 1 (IP1)"
    DEFVAL {1}
    ::= { ostModuleSettingsEntry 19 }

ostDaytimeIpSrc OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Daytime source IP address number, default is 1 (IP1)"
    DEFVAL {1}
    ::= { ostModuleSettingsEntry 20 }

ostNumEgressSchedulingProfiles OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "A integer value for the number of Egress Scheduling Profiles per module.
        Used with ostSchedulingProfile Table."
    ::= { ostModuleSettingsEntry 21 }

ostNumPortEgressQueues OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "A integer value for the number of Port Egress Queues per module.
        Used with ostEgressQueue Table."
    ::= { ostModuleSettingsEntry 22 }

ostClearMacTable OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Writing any value to this object causes the learned MAC addresses to be
        cleared. This is a write only object.
       "
    ::= { ostModuleSettingsEntry 23 }

ostFixedCompId OBJECT-TYPE
    SYNTAX      INTEGER {
        undefined (0),
        dynamic   (1),
        fixed     (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "*** NOT SUPPORTED IN V5.3 ***

        This object fixes the IEEE Comp ID to be the same as the port number or
        dynamic based upon the port type selected (UNI or NNI).

        undefined (0)   Configuration is undefined or function not supported
        dynamic   (1)   Configuration of Comp ID based upon dynamic allocation
                        as indicated by the Port types selected
        fixed     (2)   Comp ID value corresponds to port (interface) number
       "
    ::= { ostModuleSettingsEntry 24 }

ostSynceSource OBJECT-TYPE
    SYNTAX      Unsigned32 (0..5)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object indicates the source of the port clocks for each of the
        PHYs.

        A value of 0 indicates that the source of the clock is from the on board
        oscillator.

        A value of 1..5 indicates that the source of the PHY clock is from the
        extracted SyncE clock from the specified port number.

        A value other than 0 is only supported on the GM4 product. For the GM4
        two and three ports only ports 1 and 2 are supported. For the GM4 5-Port
        all ports are supported.
       "
    DEFVAL {0}
    ::= { ostModuleSettingsEntry 25 }

ostEgressPolicingType OBJECT-TYPE
    SYNTAX      INTEGER {
        policingL1 (1),
        policingL2 (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Sets the specific module egress policing mode which
        is used to count bytes for egress bandwidth profile calculation
        purposes. Applicable for the XM5 only.

        policingL1(1)  L1 includes all bytes in frame, interframe gap and
                       preamble

        policingL2(2)  L2 includes all bytes in frame, including
                       Layer 2 header and CRC
       "
    DEFVAL {policingL2}
    ::= { ostModuleSettingsEntry 26 }

ostFirmwareRestartType OBJECT-TYPE
    SYNTAX      INTEGER {
        auto (1),
        manual (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Sets whether the module is automatically restarted after the
        firmware is updated or must be manually restarted.

        auto(1)        Module is automatically restarted after firmware is
                       updated

        manual(2)      Module is NOT automatically restarted after firmware is
                       updated and must be manually restarted for the new
                       firmware image to take effect.
       "
    DEFVAL {auto}
    ::= { ostModuleSettingsEntry 27 }

ostFpgaRestartType OBJECT-TYPE
    SYNTAX      INTEGER {
        auto (1),
        manual (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Sets whether the module's FPGA is automatically restarted after the
        firmware is updated or must be manually restarted.

        auto(1)        FPGA is automatically restarted after FPGA image is
                       updated

        manual(2)      FPGA is NOT automatically restarted after FPGA image is
                       updated and must be manually restarted for the new
                       FPGA image to take effect.
       "
    DEFVAL {auto}
    ::= { ostModuleSettingsEntry 28 }

ostGlobalPauseEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Enable Pause on this module.
          True indicates pause (flow control) is globally enabled.
          False indicates pause (flow control) is globally disabled.
       "
    ::= { ostModuleSettingsEntry 29 }


ostZtpEnable OBJECT-TYPE
    SYNTAX      INTEGER {
        noZtp(0),
        stdZtp(1),
        listenZtp(2),
        activateZtp(3)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "THis object configures the module Zero Touch provisioning modes.

        noZtp(0)       ZTP is disabled, standard startup operation

        stdZtp(1)      Standard ZTP using DHCP and TFTP

        listenZtp(2)   Listen for DHCP Offer and then run standard ZTP with
                       Mgmt VID

        activateZtp(3) Listen for DHCP Offer, respond with DHCP RQ using Mgmt
                       VID, and then run TFTP
       "
    DEFVAL { noZtp }
    ::= { ostModuleSettingsEntry 30 }

ostSynceClockStatus OBJECT-TYPE
    SYNTAX      INTEGER {
        notApplicable (1),
        internal (2),
        linkUpAcquiring (3),
        linkUpLocked (4),
        linkUpLockedHoldover (5),
        linkDownHoldover (6),
        linkDownFreerun (7),
        linkUpNotLocked (8)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object indicates the status of the synchronous Ethernet (SyncE)
        clock status if synce has been enabled via the ostSynceSource object.

        Currently this object is applicable to the XM5 only.

        notApplicable(1)         SyncE is not applicable or not supported on
                                 the module

        internal(2)              SyncE is set to selec the internal free
                                 running oscillator

        linkUpAcquiring(3)       SyncE has been selected and the clock is
                                 acquiring lock

        linkUpLocked(4)          SyncE has acquired lock, but holdover is not
                                 valid

        linkUpLockedHoldover(5)  SyncE has acquired lock and holdover is
                                 valid

        linkDownHoldover(6)      SyncE clock has been lost, but holdover is
                                 still valid

        linkDownFreerun(7)       SyncE clock has been lost and holdover has
                                 been lost and the clock is free running

        linkUpNotLocked (8)      SyncE has detected an extracted clock, but
                                 the clock is out of the allowable frequency
                                 range
       "
    ::= { ostModuleSettingsEntry 31 }

ostSntpServerIp1String OBJECT-TYPE
    SYNTAX      OstIpAddr
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "SNTP server 1 IPv4 or IPv6 address.

        Setting this object also impacts the ostSntpServerIp1
        returned value. If an IPv4 address is written to this object the
        two objects return the same value. If this object is set with an IPv6
        address then ostSntpServerIp1 returns an all zeros value.
       "
    ::= { ostModuleSettingsEntry 32 }

ostSntpServerIp2String OBJECT-TYPE
    SYNTAX      OstIpAddr
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "SNTP server 2 IPv4 or IPv6 address.

        Setting this object also impacts the ostSntpServerIp2
        returned value. If an IPv4 address is written to this object the
        two objects return the same value. If this object is set with an IPv6
        address then ostSntpServerIp2 returns an all zeros value.
       "
    ::= { ostModuleSettingsEntry 33 }

ostDaytimeServerIpString OBJECT-TYPE
    SYNTAX      OstIpAddr
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Daytime server IPv4 or IPv6 address.

        Setting this object also impacts the ostDaytimeServerIp
        returned value. If an IPv4 address is written to this object the
        two objects return the same value. If this object is set with an IPv6
        address then ostDaytimeServerIp returns an all zeros value.
       "
    ::= { ostModuleSettingsEntry 34 }

ostModulePrompt OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(0..64))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object specifies the CLI prompt.
       "
    DEFVAL { "" }
    ::= { ostModuleSettingsEntry 35 }

ostModuleSplashWarning OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(0..255))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object specifies the splash screen warning message for the
        CLI. The message is displayed after the normal splash screen and
        before the CLI prompt.
       "
    DEFVAL { "" }
    ::= { ostModuleSettingsEntry 36 }

ostConsoleEnable OBJECT-TYPE
    SYNTAX      INTEGER {
        enabled(1),
        disabled(2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object enables or disables the serial console port

        enabled(1)     enable the serial console port, serial console port
                       works in a normal way

        disable(2)     disable the serial console port, no input is accepted
                       by the serial console port
       "
    DEFVAL { enabled }
    ::= { ostModuleSettingsEntry 37 }


-------------------------------------------------------------------------------
-- Module Status Table
-------------------------------------------------------------------------------

ostModuleStatusTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OstModuleStatusEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table supports module global status."
    ::= { ostModule 2 }

ostModuleStatusEntry OBJECT-TYPE
    SYNTAX      OstModuleStatusEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Module Status table entry."
    INDEX { ostModuleIndex }
    ::= { ostModuleStatusTable 1 }

OstModuleStatusEntry ::= SEQUENCE {
        ostSaveStatus             Integer32,
        ostModifyCount            Unsigned32,
        ostSnmpErrorCount         Unsigned32,
        ostSnmpErrorMessage       OstErrorString,
        ostSnmpCpuUtilization     Unsigned32,
        ostSnmpRamUsed            Unsigned32,
        ostSnmpFlashUsed          Unsigned32,
        ostSaveState              INTEGER
    }

ostSaveStatus OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "A value of 0 indicates all extension settings have been saved to flash.
        This object is used in conjunction with ostSaveSettings."
    ::= { ostModuleStatusEntry 1 }

ostModifyCount OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This counter is incremented each time a configuration setting is changed,
        such that the ostSaveStatus object would become non-zero."
    ::= { ostModuleStatusEntry 2 }

ostSnmpErrorCount OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This counter is incremented each time a SNMP error is detected. The
        ostSnmpErrorMessage object indicates a description of the error.

        The initial value for this object is 0 and indicates that no SNMP
        errors have been detected.
       "
    ::= { ostModuleStatusEntry 3 }

ostSnmpErrorMessage OBJECT-TYPE
    SYNTAX      OstErrorString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object is a textual string that indicates the reason that
        the SNMP error was generated for the ostSnmpErrorCount value.

        The initial value for this object is null and indicates that no SNMP
        errors have been detected.
       "
    ::= { ostModuleStatusEntry 4 }

ostSnmpCpuUtilization  OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object indicates the busyness or utilization of the CPU
        expressed in milli-percent,  where 1 indicates 0.001 percent.
       "
    ::= { ostModuleStatusEntry 5 }

ostSnmpRamUsed  OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object indicates the amount RAM in kbytes that is
        currently being used by the CPU, where 1 indicates 1000 bytes.
       "
    ::= { ostModuleStatusEntry 6 }

ostSnmpFlashUsed  OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object indicates the amount flash memory in kbytes that is
        currently used, where 1 indicates 1000 bytes.
       "
    ::= { ostModuleStatusEntry 7 }

ostSaveState OBJECT-TYPE
    SYNTAX      INTEGER  {
        idle      (0),
        changed   (1),
        inProcess (2),
        saveDone  (3)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The state of the save process indicating if a save is needed and if the
        save opeeration completed

        idle(0)       Save is not in process, no save is needed
                      New save will be accepted

        changed(1)    Save is not in process, but configuration has changed
                      New save accepted will be accepted

        inProcess(2)  Save is in process
                      New save initiation rejected will be rejected

        saveDone(3)   Save has completed, but is not ready for a new save
                      New save initiation rejected will be rejected
       "
    DEFVAL{ idle }
    ::= { ostModuleStatusEntry 8 }


-------------------------------------------------------------------------------
-- Module Location Table
-------------------------------------------------------------------------------

ostModuleLocationTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OstModuleLocationEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table supports module location and positiong information."
    ::= { ostModule 3 }

ostModuleLocationEntry OBJECT-TYPE
    SYNTAX      OstModuleLocationEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Module location table entry."
    INDEX { ostModuleIndex }
    ::= { ostModuleLocationTable 1 }

OstModuleLocationEntry ::= SEQUENCE {
        ostModuleLocationAddress      DisplayString,
        ostModuleLocationCity         DisplayString,
        ostModuleLocationState        DisplayString,
        ostModuleLocationPostalCode   DisplayString,
        ostModuleLocationLatitude     DisplayString,
        ostModuleLocationLongitude    DisplayString,
        ostModuleLocationAltitude     DisplayString
    }

ostModuleLocationAddress OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..32))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object is used to indicate the street address of a module.

        The text in this object is arbitrary, but it should reflect normal usage
        for the street address for the specific location
       "
    ::= { ostModuleLocationEntry 1 }

ostModuleLocationCity OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..32))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object is used to indicate the city of a module.

        The text in this object is arbitrary, but it should reflect normal usage
        for the city name for the specific location.
       "
    ::= { ostModuleLocationEntry 2 }

ostModuleLocationState OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..32))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object is used to indicate the state or province of a module.

        The text in this object is arbitrary, but it should reflect normal usage
        for the state or province for the specific location.
       "
    ::= { ostModuleLocationEntry 3 }


ostModuleLocationPostalCode OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..16))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object is used to indicate the postal code or zip code of a module.

        The text in this object is arbitrary, but it should reflect local usage
        of the the postal or zip code.
       "
    ::= { ostModuleLocationEntry 4 }

ostModuleLocationLatitude OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..16))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object is used to indicate the latitude of a module in degress.

        The format of the latitude can be a value from '+90.000000' to
        '-90.000000' where a positive number is North and and a negative number
        is South.
       "
    ::= { ostModuleLocationEntry 5 }

ostModuleLocationLongitude OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..16))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object is used to indicate the longitude of a module in degrees.

        The format of the longitude can be a value from '+180.000000' to
        '-180.000000', where a positive number is West and and a negative number
        is East.
       "
    ::= { ostModuleLocationEntry 6 }

ostModuleLocationAltitude OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..16))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object is used to indicate the altitude of a module in meters. The
        value can be above or below sea level.

        The format of the altitude can be a value from '100000000.000000' to
        '-1000000.000000', where a positive number is above sea level and a
        and a negative number is below sea level.
       "
    ::= { ostModuleLocationEntry 7 }



-------------------------------------------------------------------------------
-- Module Link Redundancy Table
-------------------------------------------------------------------------------

ostModuleLinkRedundancyTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OstModuleLinkRedundancyEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table supports module link redundancy configuration and status."
    ::= { ostModule 4 }

ostModuleLinkRedundancyEntry OBJECT-TYPE
    SYNTAX      OstModuleLinkRedundancyEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Module Link Redundancy table entry."
    INDEX { ostModuleIndex }
    ::= { ostModuleLinkRedundancyTable 1 }

OstModuleLinkRedundancyEntry ::= SEQUENCE {
        ostModuleLinkRedundancyEnable                 TruthValue,
        ostModuleLinkRedundancyReturnWorking          TruthValue,
        ostModuleLinkRedundancyWorkingPort            OstPortNumber,
        ostModuleLinkRedundancyProtectionPort         OstPortNumber,
        ostModuleLinkRedundancyWorkingPortStatus      OstErpsPortState,
        ostModuleLinkRedundancyWorkingPortLink        OstErpsLinkState,
        ostModuleLinkRedundancyProtectionPortStatus   OstErpsPortState,
        ostModuleLinkRedundancyProtectionPortLink     OstErpsLinkState
    }

ostModuleLinkRedundancyEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object specifies whether the Link Redundancy function is enabled.

        The value 'true' indicates that Link Redundancy is enabled.

        The value 'false' indicates that Link Redundancy is disabled.
       "
    DEFVAL { false }
    ::= { ostModuleLinkRedundancyEntry 1 }

ostModuleLinkRedundancyReturnWorking OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object specifies whether the Link Redundancy return to working
        port is enabled.

        The value 'true' indicates that Link Redundancy return to working port
        is enabled.

        The value 'false' indicates that Link Redundancy return to working port
        is NOT enabled.
       "
    DEFVAL { false }
    ::= { ostModuleLinkRedundancyEntry 2 }

ostModuleLinkRedundancyWorkingPort OBJECT-TYPE
    SYNTAX      OstPortNumber
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object specifies the Working Port number.
       "
    DEFVAL { 0 }
    ::= { ostModuleLinkRedundancyEntry 3 }

ostModuleLinkRedundancyProtectionPort OBJECT-TYPE
    SYNTAX      OstPortNumber
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object specifies the Protection Port number.
       "
    DEFVAL { 0 }
    ::= { ostModuleLinkRedundancyEntry 4 }

ostModuleLinkRedundancyWorkingPortStatus OBJECT-TYPE
    SYNTAX      OstErpsPortState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object indicates the Working Port Status.

        na(0)                    Not Applicable, port state is unknown or not
                                 linked
        forward(1)               Port is in the Active (forwarding) state
        blocked(2)               Port is in the Standby (blocked) state

       "
    DEFVAL { na }
    ::= { ostModuleLinkRedundancyEntry 5 }

ostModuleLinkRedundancyWorkingPortLink OBJECT-TYPE
    SYNTAX      OstErpsLinkState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object indicates the Working Port link state.

        na(0)                    Not Applicable, port link state is unknown
        up(1)                    Port is linked and capable of passing traffic
        down(2)                  Port is not linked and is not capable of
       "
    DEFVAL { na }
    ::= { ostModuleLinkRedundancyEntry 6 }

ostModuleLinkRedundancyProtectionPortStatus OBJECT-TYPE
    SYNTAX      OstErpsPortState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object indicates the Protection Port Status.

        na(0)                    Not Applicable, port state is unknown or not
                                 linked
        forward(1)               Port is in the Active (forwarding) state
        blocked(2)               Port is in the Standby (blocked) state

       "
    DEFVAL { na }
    ::= { ostModuleLinkRedundancyEntry 7 }

ostModuleLinkRedundancyProtectionPortLink OBJECT-TYPE
    SYNTAX      OstErpsLinkState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object indicates the Protection Port link state.

        na(0)                    Not Applicable, port link state is unknown
        up(1)                    Port is linked and capable of passing traffic
        down(2)                  Port is not linked and is not capable of
       "
    DEFVAL { na }
    ::= { ostModuleLinkRedundancyEntry 8 }


-------------------------------------------------------------------------------
-- Module DHCP Relay Table
-------------------------------------------------------------------------------

ostModuleDhcpRelayCfgTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OstModuleDhcpRelayCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table supports module DHCP relay configuration."
    ::= { ostModule 5 }

ostModuleDhcpRelayCfgEntry OBJECT-TYPE
    SYNTAX      OstModuleDhcpRelayCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Module DHCP relay Link Redundancy configuration table entry."
    INDEX { ostModuleIndex }
    ::= { ostModuleDhcpRelayCfgTable 1 }

OstModuleDhcpRelayCfgEntry ::= SEQUENCE {
    ostModuleDhcpRelayCfgRelayEnable              TruthValue,
    ostModuleDhcpRelayCfgCircuitIdEnable          TruthValue,
    ostModuleDhcpRelayCfgRemoteIdEnable           TruthValue,
    ostModuleDhcpRelayCfgServerIpAddress          OstIpAddr,
    ostModuleDhcpRelayCfgRelayType                INTEGER
    }

ostModuleDhcpRelayCfgRelayEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object specifies whether the DHCP relay function is enabled.

        The value 'true' indicates that DHCP relay function is enabled.

        The value 'false' indicates that DHCP relay function is disabled.
       "
    DEFVAL { false }
    ::= { ostModuleDhcpRelayCfgEntry 1 }

ostModuleDhcpRelayCfgCircuitIdEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object specifies whether the DHCP relay function Circuit ID is
        enabled.

        The value 'true' indicates that DHCP relay function Circuit ID is
        enabled.

        The value 'false' indicates that DHCP relay function Circuit ID is
        disabled.
       "
    DEFVAL { true }
    ::= { ostModuleDhcpRelayCfgEntry 2 }

ostModuleDhcpRelayCfgRemoteIdEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object specifies whether the DHCP relay function Remote ID is
        enabled.

        The value 'true' indicates that DHCP relay function Remote ID is
        enabled.

        The value 'false' indicates that DHCP relay function Remote ID is
        disabled.
       "
    DEFVAL { true }
    ::= { ostModuleDhcpRelayCfgEntry 3 }

ostModuleDhcpRelayCfgServerIpAddress OBJECT-TYPE
    SYNTAX      OstIpAddr
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the DHCP Server used by the DHCP relay function.
       "
    DEFVAL { "::" }
    ::= { ostModuleDhcpRelayCfgEntry 4 }

ostModuleDhcpRelayCfgRelayType OBJECT-TYPE
    SYNTAX      INTEGER {
        drop    (1),
        keep    (2),
        replace (3)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object specifies the DHCP Relay type.

        drop(1)     Drops DHCP relay frames received on a client-side port

        keep(2)     Keeps DHCP relay frames received on a client-side port and
                    forwards it to the server-side port

        replace(3)  Replaces DHCP relay frame parameters received on a
                    client-side port with the standard DHCP relay parameters
                    and forwards the modified frame to the server-side port
      "
    DEFVAL { drop }
    ::= { ostModuleDhcpRelayCfgEntry 5 }



-------------------------------------------------------------------------------
-- Module Link Mode Table
-------------------------------------------------------------------------------

ostModuleLinkModeCfgTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OstModuleLinkModeCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table supports module Link Mode configuration."
    ::= { ostModule 6 }

ostModuleLinkModeCfgEntry OBJECT-TYPE
    SYNTAX      OstModuleLinkModeCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Module Link Mode configuration table entry."
    INDEX { ostModuleIndex }
    ::= { ostModuleLinkModeCfgTable 1 }

OstModuleLinkModeCfgEntry ::= SEQUENCE {
    ostModuleLinkModeCfgSelect                   INTEGER,
    ostModuleLinkModeCfgStatus                   INTEGER
    }

ostModuleLinkModeCfgSelect OBJECT-TYPE
    SYNTAX      INTEGER {
        none    (1),
        lpt     (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object specifies the Link Mode select type. This object is
        supported for the XM5 only.

        none(1)     No link mode is specified. This is equivalent to Link
                    Segment in other modules.

        lpt(2)      Link Pass Through. Loss of port link is passed from one
                    port to another.
      "
    DEFVAL { none }
    ::= { ostModuleLinkModeCfgEntry 1 }

ostModuleLinkModeCfgStatus OBJECT-TYPE
    SYNTAX      INTEGER {
        startup    (1),
        ok         (2),
        p1Down     (3),
        p2Down     (4),
        wait       (5)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object specifies the Link Mode status. This object is
        supported for the XM5 only.

        startup(1)  Start up, not operating in a link propagate mode

        ok(2)       Both ports are up and the module is in idle state

        p1Down(3)   Port 1 is down and operating in link propagate mode

        p2Down(4)   Port 2 is down and operating in link propagate mode

        wait(5)     Waiting to enter 'ok' to ensure that links are stable
      "
    ::= { ostModuleLinkModeCfgEntry 2 }


-------------------------------------------------------------------------------
-- OST CFM MA Configuration Table
-------------------------------------------------------------------------------

ostCfmMaTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OstCfmMaEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table supports OST CFM MA settings."
    ::= { ostCfm 1 }

ostCfmMaEntry OBJECT-TYPE
    SYNTAX      OstCfmMaEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "OST CFM MA settings table entry."
    INDEX { dot1agCfmMdIndex, dot1agCfmMaIndex }
    ::= { ostCfmMaTable 1 }

OstCfmMaEntry ::= SEQUENCE {
        ostCfmMaCcmTimeout         Unsigned32,
        ostCfmMaCcmSequence        INTEGER
    }

ostCfmMaCcmTimeout OBJECT-TYPE
    SYNTAX      Unsigned32 (10..2100000)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The CCM timeout setting in milliseconds.  Default setting is 3.5x CCM interval.
        Minimum setting is CCM interval, except for the GM4 which allows a setting of
        10 ms. The GM3 only supports a minimum value of 100 ms."
    ::= { ostCfmMaEntry 1 }

ostCfmMaCcmSequence OBJECT-TYPE
    SYNTAX      INTEGER {
        noSequence      (1),
        includeSequence (2)
    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object selects whether CCM sequence numbers incremented.

        noSequence(1) CCM sequence numbers are not incremented
        sequence(2)   CCM sequence numbers are incremented

        The rows in this table are automatically created when a new row is
        added to the CFM MA table. If not defined during creation time the
        value defaults to 'sequence(2)'.
       "
    ::= { ostCfmMaEntry 2 }


-------------------------------------------------------------------------------
-- OST CFM MEP Configuration Table
-------------------------------------------------------------------------------

ostCfmMepTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OstCfmMepEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table supports OST CFM MEP settings."
    ::= { ostCfm 2 }

ostCfmMepEntry OBJECT-TYPE
    SYNTAX      OstCfmMepEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "OST CFM MEP settings table entry."
    INDEX { dot1agCfmMdIndex, dot1agCfmMaIndex, dot1agCfmMepIdentifier }
    ::= { ostCfmMepTable 1 }

OstCfmMepEntry ::= SEQUENCE {
        ostCfmMepLtmTimeout         Unsigned32,
        ostCfmMepLoopbackStatsClear Unsigned32,
        ostCfmMepLbmFreqSelect      Unsigned32,
        ostCfmMepLbmTimeout         Unsigned32,
        ostCfmMepLoopbackStatistics DisplayString,
        ostCfmMepScomp              Unsigned32,
        ostCfmMepRdiTx              TruthValue,
        ostCfmMepProbeResponderType INTEGER,
        ostCfmMepCtagVid            OstVlanId,
        ostCfmMepProbeResponderVer  INTEGER
    }

ostCfmMepLtmTimeout OBJECT-TYPE
    SYNTAX      Unsigned32 (1..10)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The CFM LTM timeout setting in seconds.  Default setting is 5 seconds."
    DEFVAL {5}
    ::= { ostCfmMepEntry 1 }

ostCfmMepLoopbackStatsClear OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Writing any value to this object clears the contents of the ostCfmLoopbackStatistics object."
    DEFVAL {0}
    ::= { ostCfmMepEntry 2 }

ostCfmMepLbmFreqSelect OBJECT-TYPE
    SYNTAX      Unsigned32 (0..60000)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The frequency in milliseconds at which CFM LBMs are transmitted.  Default setting is 1000."
    DEFVAL {1000}
    ::= { ostCfmMepEntry 3 }

ostCfmMepLbmTimeout OBJECT-TYPE
    SYNTAX      Unsigned32 (1..10)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The CFM LBM timeout setting in seconds.  Default setting is 5 seconds."
    DEFVAL {5}
    ::= { ostCfmMepEntry 4 }

ostCfmMepLoopbackStatistics OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..1000))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "CFM Loopback statistics."
    ::= { ostCfmMepEntry 5 }

ostCfmMepScomp OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Writing any value to this object places the mep on a UNI port to be a part of the S-component."
    DEFVAL {0}
    ::= { ostCfmMepEntry 6 }

ostCfmMepRdiTx OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "true(1) indicates a RDI Tx."
    ::= { ostCfmMepEntry 7 }

ostCfmMepProbeResponderType OBJECT-TYPE
    SYNTAX      INTEGER {
        cpo   (1),
        cpe   (2),
        cpp   (3),
        cph   (4)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object is used to determine the probe responder type.
           cpo(1) = disables responder
           cpe(2) = enables probe info on a per EVC basis (default value)
           cpp(3) = enables probe info on a fixed priority basis
           cph(4) = enables probe info on a hopping priority basis
         "
    DEFVAL { 2 }
    ::= { ostCfmMepEntry 8 }

ostCfmMepCtagVid OBJECT-TYPE
    SYNTAX      OstVlanId
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object adds a C-Tag when the OAM PDU is initiated on an NNI
        port. Normally an OAM frame on a NNI port only has a S-TAG.

        The rows in this table are automatically created when a new row is
        added to the CFM MEP table. If not defined or defined to be a '0'
        during creation time no CE-VLAN Tag is included in the OAM PDU.
       "
    ::= { ostCfmMepEntry 9 }


ostCfmMepProbeResponderVer OBJECT-TYPE
    SYNTAX      INTEGER {
        v1   (1),
        v2   (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object is used to configure the probe responder version.
            v1 = Original 2006 version, CCM not counted at same MEG level
            v2 = Modified 2008 version, CCM counted at same MEG level
        "
    DEFVAL { v2 }
    ::= { ostCfmMepEntry 10 }


-------------------------------------------------------------------------------
-- OST CFM MIP Configuration Table
-------------------------------------------------------------------------------

ostCfmMipTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OstCfmMipEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table supports MIP configuration and status display."
    ::= { ostCfm 3 }

ostCfmMipEntry OBJECT-TYPE
    SYNTAX      OstCfmMipEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table supports the configuration of Explicit MIP table entry by setting the
        RowStatus to an entry of this table indexed by the Module index (ostModuleIndex),
        the index (ostMdIndex) to the Management Domain (MD) table, the index (ostMaIndex)
        to the Management Association (MA) table and the index of the new entry in the MIP table.

        This table can also retrieve the Implicit MIP entries created by MA or by Default Management
        objects.  These Implicit MIP entries are read-only and are not settable.  The Implicit MIP
        entries created by the Default Management objects have values (0) for ostMdIndex and
        ostMaIndex due to the fact that these MIP entries do not have any MD and MA entries
        associated with it."

    INDEX { ostModuleIndex, ostMdIndex, ostMaIndex, ostCfmMipIndex }
    ::= { ostCfmMipTable 1 }

OstCfmMipEntry ::= SEQUENCE {
        ostMdIndex                     Unsigned32,
        ostMaIndex                     Unsigned32,
        ostCfmMipIndex                 Unsigned32,
        ostCfmMipRowStatus             RowStatus,
        ostCfmMipVid                   OstVlanId,
        ostCfmMipIfIndex               Integer32,
        ostCfmMipMdLevel               Unsigned32,
        ostCfmMipCreatedMethod         OstMipdMethodOfCreation,
        ostCfmMipMhfCreation           OstMhfCreation,
        ostCfmMipScomp                 Unsigned32
    }

ostMdIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This is the index into the MD table."
    ::= { ostCfmMipEntry 1 }

ostMaIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This is the index into the MA table."
    ::= { ostCfmMipEntry 2 }

ostCfmMipIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This is the index into the Mip table."
    ::= { ostCfmMipEntry 3 }

ostCfmMipRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Status of the row.  Used for row creation and destruction."
    ::= { ostCfmMipEntry 4 }


ostCfmMipVid OBJECT-TYPE
    SYNTAX      OstVlanId
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This is the vid associated with the MIP.  This variable
        along with ostCfmMipIfIndex variable can only be set when
        the ostCfmMipTable is created."
    ::= { ostCfmMipEntry 5 }

ostCfmMipIfIndex OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This is the interface on which the MIP was created.
        This variable along with ostCfmMipVid can only be set when
        the ostCfmMipTable is created."
    ::= { ostCfmMipEntry 6 }

ostCfmMipMdLevel OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This is the MD level on which the MIP was created,
        It is a read-only variable."
    ::= { ostCfmMipEntry 7 }

ostCfmMipCreatedMethod OBJECT-TYPE
    SYNTAX      OstMipdMethodOfCreation
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This shows the method through which the MIP was created.
        It can be ostExplicit(1), ostImplicitMa(2), ostImplicitMde(3),
        ostExplicitImplicitMa(4) and is a read-only variable."
    ::= { ostCfmMipEntry 8 }

ostCfmMipMhfCreation OBJECT-TYPE
    SYNTAX      OstMhfCreation
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "A value indicating the how the MHFs (MIP Half Function) was created
        for this VID at this MD Level.  It is a read-only variable."
    ::= { ostCfmMipEntry 9 }

ostCfmMipScomp OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Writing any value to this object places the mip on a UNI port to be a part of the S-component."
    DEFVAL {0}
    ::= { ostCfmMipEntry 10 }



-------------------------------------------------------------------------------
-- OST CFM RMEP Configuration Table
-------------------------------------------------------------------------------

ostCfmRmepTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OstCfmRmepEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table supports OST CFM RMEP settings and is used to explicitly
        select an association of a local MEP with a RMEP. It only needs to be
        configured if this there is an ambiguity of the association of a local
        MEP and a remote MEP"
    ::= { ostCfm 4 }

ostCfmRmepEntry OBJECT-TYPE
    SYNTAX      OstCfmRmepEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "OST CFM RMEP settings table entry."
    INDEX { dot1agCfmMdIndex, dot1agCfmMaIndex, dot1agCfmMepIdentifier,
            dot1agCfmMepDbRMepIdentifier }
    ::= { ostCfmRmepTable 1 }

OstCfmRmepEntry ::= SEQUENCE {
        ostCfmRmepRowStatus         RowStatus,
        ostCfmRmepLocalMep          Dot1agCfmMepId,
        ostCfmRmepPortNumber        OstPortList
    }

ostCfmRmepRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Status of the row."
    ::= { ostCfmRmepEntry 1 }

ostCfmRmepLocalMep OBJECT-TYPE
    SYNTAX      Dot1agCfmMepId
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is the local MEP associated with the explicit RMEP"
    ::= { ostCfmRmepEntry 2 }

ostCfmRmepPortNumber OBJECT-TYPE
    SYNTAX      OstPortList
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The port number of the local MEP associated with the explicit RMEP"
    ::= { ostCfmRmepEntry 3 }


-------------------------------------------------------------------------------
-- L2CP Configuration Table
-------------------------------------------------------------------------------

ostL2cpTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OstL2cpEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table supports L2CP settings."
    ::= { ostL2Protocol 1 }

ostL2cpEntry OBJECT-TYPE
    SYNTAX      OstL2cpEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "L2CP settings table entry.
        The ostInterfaceIndex port field supports values from 1 to 6."
    INDEX { ostInterfaceIndex, ostL2cpDstMacAddrIndex }
    ::= { ostL2cpTable 1 }

OstL2cpEntry ::= SEQUENCE {
        ostL2cpDstMacAddrIndex OstCosL2cpDstAddr,
        ostL2cpType            INTEGER
    }

ostL2cpDstMacAddrIndex OBJECT-TYPE
    SYNTAX      OstCosL2cpDstAddr
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Sets L2CP destination address."
    ::= { ostL2cpEntry 1 }

ostL2cpType OBJECT-TYPE
    SYNTAX      INTEGER {
        discard (1),
        tunnel  (2),
        forward (3),
        peer    (4)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Sets L2CP type setting."
    ::= { ostL2cpEntry 2 }


--------------------------------------------------------------------------------------------
-- L2PT Global Table
--------------------------------------------------------------------------------------------

ostl2ptGlobalTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Ostl2ptGlobalEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This supports L2PT global settings."
    ::= { ostL2Protocol 2 }

ostl2ptGlobalEntry OBJECT-TYPE
    SYNTAX      Ostl2ptGlobalEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "L2PT global settings table entry."
    INDEX { ostModuleIndex }
    ::= { ostl2ptGlobalTable 1 }

Ostl2ptGlobalEntry ::= SEQUENCE {
    ostl2ptGlobalInstanceNextIndex  OstIndexIntegerNextFree,
    ostl2ptGlobalCdpDropThreshold   Unsigned32,
    ostl2ptGlobalL2cpDropThreshold  Unsigned32,
    ostl2ptGlobalVtpDropThreshold   Unsigned32,
    ostl2ptGlobalPvstDropThreshold  Unsigned32,
    ostl2ptGlobalEncapDropThreshold Unsigned32,
    ostl2ptGlobalTranslateNextIndex OstIndexIntegerNextFree
    }

ostl2ptGlobalInstanceNextIndex OBJECT-TYPE
    SYNTAX      OstIndexIntegerNextFree
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains an unused value for next L2PT instance
        on a module that can be used to implement L2PT, or a zero to
        indicate that none exist.

        This value needs to be read in order to find an available index for
        row-creation of a L2PT instance and then used when a row is created.
        This value is automatically updated by the SNMP Agent after the row
        is created.
       "
    ::= { ostl2ptGlobalEntry 1 }

ostl2ptGlobalCdpDropThreshold OBJECT-TYPE
    SYNTAX Unsigned32 (0..200)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object specifies the number of kbits per sec that are
        allowed for CDP. Frames above this rate are dropped and are not
        tunneled if tunneling is enabled.
       "
    ::= { ostl2ptGlobalEntry 2 }

ostl2ptGlobalL2cpDropThreshold OBJECT-TYPE
    SYNTAX Unsigned32 (0..200)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object specifies the number of kbits per seconds that are
        allowed for L2CP addresses. Frames above this rate are dropped and
        are not tunneled if tunneling is enabled.
       "
    ::= { ostl2ptGlobalEntry 3 }

ostl2ptGlobalVtpDropThreshold OBJECT-TYPE
    SYNTAX Unsigned32 (0..200)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object specifies the number of kbits per seconds that are
        allowed for VTP. Frames above this rate are dropped and are not
        tunneled if tunneling is enabled.
       "
    ::= { ostl2ptGlobalEntry 4 }

ostl2ptGlobalPvstDropThreshold OBJECT-TYPE
    SYNTAX Unsigned32 (0..200)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object specifies the number of kbits per seconds that are
        allowed for PVST. Frames above this rate are dropped and are not
        tunneled if tunneling is enabled.
       "
    ::= { ostl2ptGlobalEntry 5 }

ostl2ptGlobalEncapDropThreshold OBJECT-TYPE
    SYNTAX Unsigned32 (0..200)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object specifies the number of kbits per seconds that are
        allowed for frames that have been encapsulated. Frames above this rate
        are dropped and are not restored to their original protocol if
        tunneling is not enabled. These frames are received on the encapsulated
        port.
       "
    ::= { ostl2ptGlobalEntry 6 }

ostl2ptGlobalTranslateNextIndex OBJECT-TYPE
    SYNTAX      OstIndexIntegerNextFree
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains an unused value for next L2PT translate instance
        on a module that can be used to implement L2PT translation, or a zero to
        indicate that none exist.

        This value needs to be read in order to find an available index for
        row-creation of a L2PT translationinstance and then used when a row is
        created. This value is automatically updated by the SNMP Agent after
        the row is created.
       "
    ::= { ostl2ptGlobalEntry 7 }


-------------------------------------------------------------------------------
-- L2PT Instance Table
-------------------------------------------------------------------------------
ostl2ptTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Ostl2ptEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "This is a table for L2PT (Layer 2 Protocol Tunneling)"
    ::= { ostL2Protocol 3 }

ostl2ptEntry OBJECT-TYPE
    SYNTAX      Ostl2ptEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "L2PT entry."
    INDEX       { ostModuleIndex, ostl2ptIndex }
    ::= { ostl2ptTable 1 }

Ostl2ptEntry ::= SEQUENCE {
    ostl2ptIndex                Unsigned32,
    ostl2ptRowStatus            RowStatus,
    ostl2ptCdpEnable            INTEGER,
    ostl2ptStpEnable            INTEGER,
    ostl2ptVtpEnable            INTEGER,
    ostl2ptPvstEnable           INTEGER,
    ostl2ptEvcName              OstEvcNameString,
    ostl2ptEncapsulatedPorts    OstPortList,
    ostl2ptSlowProtocolEnable   INTEGER,
    ostl2ptPortAuthEnable       INTEGER,
    ostl2ptMac04Enable          INTEGER,
    ostl2ptMac05Enable          INTEGER,
    ostl2ptMac06Enable          INTEGER,
    ostl2ptElmiEnable           INTEGER,
    ostl2ptMac08Enable          INTEGER,
    ostl2ptMac09Enable          INTEGER,
    ostl2ptMac0aEnable          INTEGER,
    ostl2ptMac0bEnable          INTEGER,
    ostl2ptMac0cEnable          INTEGER,
    ostl2ptMac0dEnable          INTEGER,
    ostl2ptlldpEnable           INTEGER,
    ostl2ptMac0fEnable          INTEGER
    }

ostl2ptIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "An index to the L2PT index table which indicates the specific L2PT
        instance for the module. Valid range is 1 to 5.

        ostl2ptGlobalInstanceNextIndex needs to be inspected to find an
        available index for row-creation.
       "
    ::= { ostl2ptEntry 1 }

ostl2ptRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The status of the row.

        The writable columns in a row cannot be changed if the row
        is active. All columns must have a valid value before a row
        can be activated.
       "
   ::= { ostl2ptEntry 2 }

ostl2ptCdpEnable OBJECT-TYPE
    SYNTAX      INTEGER {
        undefined (0),
        enabled   (1),
        disabled  (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The CDP L2PT enable object.

        undefined(0)   CDP enable is undefined or illegal
        enabled(1)     CDP L2PT is enabled (tunneling)
        disabled(2)    CDP L2PT is disabled (no tunneling)

        The default value of this object is disabled(2).

        When the value is disabled or undefined CDP data is processed
        based upon normal data or L2CP rules.
       "
    ::= { ostl2ptEntry 3 }

ostl2ptStpEnable OBJECT-TYPE
    SYNTAX      INTEGER {
        undefined (0),
        enabled   (1),
        disabled  (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The STP (Spanning Tree Protocol) L2PT enable object.

        undefined(0)   STP enable is undefined or illegal
        enabled(1)     STP L2PT is enabled (tunneling)
        disabled(2)    STP L2PT is disabled (no tunneling)

        The default value of this object is disabled(2).

        When the value is disabled or undefined STP data is processed
        based upon normal data or L2CP rules.
       "
    ::= { ostl2ptEntry 4 }

ostl2ptVtpEnable OBJECT-TYPE
    SYNTAX      INTEGER {
        undefined (0),
        enabled   (1),
        disabled  (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The VTP L2PT enable object.

        undefined(0)   VTP enable is undefined or illegal
        enabled(1)     VTP L2PT is enabled (tunneling)
        disabled(2)    VTP L2PT is disabled (no tunneling)

        The default value of this object is disabled(2).

        When the value is disabled or undefined VTP data is processed
        based upon normal data or L2CP rules.
       "
    ::= { ostl2ptEntry 5 }

ostl2ptPvstEnable OBJECT-TYPE
    SYNTAX      INTEGER {
        undefined (0),
        enabled   (1),
        disabled  (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The VTP L2PT enable object.

        undefined(0)   PVST enable is undefined or illegal
        enabled(1)     PVST L2PT is enabled (tunneling)
        disabled(2)    PVST L2PT is disabled (no tunneling)

        The default value of this object is disabled(2).

        When the value is disabled or undefined VTP data is processed
        based upon normal data or L2CP rules.
       "
    ::= { ostl2ptEntry 6 }

ostl2ptEvcName OBJECT-TYPE
    SYNTAX      OstEvcNameString
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The name associated with this EVC for L2PT instance.  Must be at least
        1 character and unique.
       "
    ::= { ostl2ptEntry 7 }

ostl2ptEncapsulatedPorts OBJECT-TYPE
    SYNTAX      OstPortList
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The list of ports that are encapsulated for the L2PT instance. At least
        one port must be selected. Management Ports are not included.
       "
    ::= { ostl2ptEntry 8 }

ostl2ptSlowProtocolEnable OBJECT-TYPE
    SYNTAX      INTEGER {
        undefined (0),
        enabled   (1),
        disabled  (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The Slow Protocol address 01-80-c2-00-00-02 L2PT enable object.

        undefined(0)   Slow Protocol L2PT enable is undefined or illegal
        enabled(1)     Slow Protocol L2PT is enabled (tunneling)
        disabled(2)    Slow Protocol L2PT is disabled (no tunneling)

        The default value of this object is disabled(2).

        When the value is disabled or undefined L2CP data is processed
        based upon normal data or L2CP rules.
       "
    ::= { ostl2ptEntry 9 }

ostl2ptPortAuthEnable OBJECT-TYPE
    SYNTAX      INTEGER {
        undefined (0),
        enabled   (1),
        disabled  (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The Port Authentication address 01-80-c2-00-00-03 L2PT enable object.

        undefined(0)   Port Authentication L2PT enable is undefined or illegal
        enabled(1)     Port Authentication L2PT is enabled (tunneling)
        disabled(2)    Port Authentication L2PT is disabled (no tunneling)

        The default value of this object is disabled(2).

        When the value is disabled or undefined L2CP data is processed
        based upon normal data or L2CP rules.
       "
    ::= { ostl2ptEntry 10 }

ostl2ptMac04Enable OBJECT-TYPE
    SYNTAX      INTEGER {
        undefined (0),
        enabled   (1),
        disabled  (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The L2CP MAC address 01-80-c2-00-00-04 L2PT enable object.

        undefined(0)   MAC 01-80-c2-00-00-04 L2PT enable is undefined or illegal
        enabled(1)     MAC 01-80-c2-00-00-04 L2PT is enabled (tunneling)
        disabled(2)    MAC 01-80-c2-00-00-04 L2PT is disabled (no tunneling)

        The default value of this object is disabled(2).

        When the value is disabled or undefined L2CP data is processed
        based upon normal data or L2CP rules.
       "
    ::= { ostl2ptEntry 11 }

ostl2ptMac05Enable OBJECT-TYPE
    SYNTAX      INTEGER {
        undefined (0),
        enabled   (1),
        disabled  (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The L2CP MAC address 01-80-c2-00-00-05 L2PT enable object.

        undefined(0)   MAC 01-80-c2-00-00-05 L2PT enable is undefined or illegal
        enabled(1)     MAC 01-80-c2-00-00-05 L2PT is enabled (tunneling)
        disabled(2)    MAC 01-80-c2-00-00-05 L2PT is disabled (no tunneling)

        The default value of this object is disabled(2).

        When the value is disabled or undefined L2CP data is processed
        based upon normal data or L2CP rules.
       "
    ::= { ostl2ptEntry 12 }

ostl2ptMac06Enable OBJECT-TYPE
    SYNTAX      INTEGER {
        undefined (0),
        enabled   (1),
        disabled  (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The L2CP MAC address 01-80-c2-00-00-06 L2PT enable object.

        undefined(0)   MAC 01-80-c2-00-00-06 L2PT enable is undefined or illegal
        enabled(1)     MAC 01-80-c2-00-00-06 L2PT is enabled (tunneling)
        disabled(2)    MAC 01-80-c2-00-00-06 L2PT is disabled (no tunneling)

        The default value of this object is disabled(2).

        When the value is disabled or undefined L2CP data is processed
        based upon normal data or L2CP rules.
       "
    ::= { ostl2ptEntry 13 }

ostl2ptElmiEnable OBJECT-TYPE
    SYNTAX      INTEGER {
        undefined (0),
        enabled   (1),
        disabled  (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The E-LMI address 01-80-c2-00-00-07 L2PT enable object.

        undefined(0)   E-LMI L2PT enable is undefined or illegal
        enabled(1)     E-LMI L2PT is enabled (tunneling)
        disabled(2)    E-LMI L2PT is disabled (no tunneling)

        The default value of this object is disabled(2).

        When the value is disabled or undefined L2CP data is processed
        based upon normal data or L2CP rules.
       "
    ::= { ostl2ptEntry 14 }

ostl2ptMac08Enable OBJECT-TYPE
    SYNTAX      INTEGER {
        undefined (0),
        enabled   (1),
        disabled  (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The L2CP MAC address 01-80-c2-00-00-08 L2PT enable object.

        undefined(0)   MAC 01-80-c2-00-00-08 L2PT enable is undefined or illegal
        enabled(1)     MAC 01-80-c2-00-00-08 L2PT is enabled (tunneling)
        disabled(2)    MAC 01-80-c2-00-00-08 L2PT is disabled (no tunneling)

        The default value of this object is disabled(2).

        When the value is disabled or undefined L2CP data is processed
        based upon normal data or L2CP rules.
       "
    ::= { ostl2ptEntry 15 }

ostl2ptMac09Enable OBJECT-TYPE
    SYNTAX      INTEGER {
        undefined (0),
        enabled   (1),
        disabled  (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The L2CP MAC address 01-80-c2-00-00-09 L2PT enable object.

        undefined(0)   MAC 01-80-c2-00-00-09 L2PT enable is undefined or illegal
        enabled(1)     MAC 01-80-c2-00-00-09 L2PT is enabled (tunneling)
        disabled(2)    MAC 01-80-c2-00-00-09 L2PT is disabled (no tunneling)

        The default value of this object is disabled(2).

        When the value is disabled or undefined L2CP data is processed
        based upon normal data or L2CP rules.
       "
    ::= { ostl2ptEntry 16 }

ostl2ptMac0aEnable OBJECT-TYPE
    SYNTAX      INTEGER {
        undefined (0),
        enabled   (1),
        disabled  (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The L2CP MAC address 01-80-c2-00-00-0a L2PT enable object.

        undefined(0)   MAC 01-80-c2-00-00-0a L2PT enable is undefined or illegal
        enabled(1)     MAC 01-80-c2-00-00-0a L2PT is enabled (tunneling)
        disabled(2)    MAC 01-80-c2-00-00-0a L2PT is disabled (no tunneling)

        The default value of this object is disabled(2).

        When the value is disabled or undefined L2CP data is processed
        based upon normal data or L2CP rules.
       "
    ::= { ostl2ptEntry 17 }

ostl2ptMac0bEnable OBJECT-TYPE
    SYNTAX      INTEGER {
        undefined (0),
        enabled   (1),
        disabled  (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The L2CP MAC address 01-80-c2-00-00-0b L2PT enable object.

        undefined(0)   MAC 01-80-c2-00-00-0b L2PT enable is undefined or illegal
        enabled(1)     MAC 01-80-c2-00-00-0b L2PT is enabled (tunneling)
        disabled(2)    MAC 01-80-c2-00-00-0b L2PT is disabled (no tunneling)

        The default value of this object is disabled(2).

        When the value is disabled or undefined L2CP data is processed
        based upon normal data or L2CP rules.
       "
    ::= { ostl2ptEntry 18 }

ostl2ptMac0cEnable OBJECT-TYPE
    SYNTAX      INTEGER {
        undefined (0),
        enabled   (1),
        disabled  (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The L2CP MAC address 01-80-c2-00-00-0c L2PT enable object.

        undefined(0)   MAC 01-80-c2-00-00-0c L2PT enable is undefined or illegal
        enabled(1)     MAC 01-80-c2-00-00-0c L2PT is enabled (tunneling)
        disabled(2)    MAC 01-80-c2-00-00-0c L2PT is disabled (no tunneling)

        The default value of this object is disabled(2).

        When the value is disabled or undefined L2CP data is processed
        based upon normal data or L2CP rules.
       "
    ::= { ostl2ptEntry 19 }

ostl2ptMac0dEnable OBJECT-TYPE
    SYNTAX      INTEGER {
        undefined (0),
        enabled   (1),
        disabled  (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The L2CP MAC address 01-80-c2-00-00-0d L2PT enable object.

        undefined(0)   MAC 01-80-c2-00-00-0d L2PT enable is undefined or illegal
        enabled(1)     MAC 01-80-c2-00-00-0d L2PT is enabled (tunneling)
        disabled(2)    MAC 01-80-c2-00-00-0d L2PT is disabled (no tunneling)

        The default value of this object is disabled(2).

        When the value is disabled or undefined L2CP data is processed
        based upon normal data or L2CP rules.
       "
    ::= { ostl2ptEntry 20 }

ostl2ptlldpEnable OBJECT-TYPE
    SYNTAX      INTEGER {
        undefined (0),
        enabled   (1),
        disabled  (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The LLDP MAC address 01-80-c2-00-00-02 L2PT enable object.

        undefined(0)   LLDP L2PT enable is undefined or illegal
        enabled(1)     LLDP L2PT is enabled (tunneling)
        disabled(2)    LLDP L2PT is disabled (no tunneling)

        The default value of this object is disabled(2).

        When the value is disabled or undefined L2CP data is processed
        based upon normal data or L2CP rules.
       "
    ::= { ostl2ptEntry 21 }

ostl2ptMac0fEnable OBJECT-TYPE
    SYNTAX      INTEGER {
        undefined (0),
        enabled   (1),
        disabled  (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The L2CP MAC address 01-80-c2-00-00-0f L2PT enable object.

        undefined(0)   MAC 01-80-c2-00-00-0f L2PT enable is undefined or illegal
        enabled(1)     MAC 01-80-c2-00-00-0f L2PT is enabled (tunneling)
        disabled(2)    MAC 01-80-c2-00-00-0f L2PT is disabled (no tunneling)

        The default value of this object is disabled(2).

        When the value is disabled or undefined L2CP data is processed
        based upon normal data or L2CP rules.
       "
    ::= { ostl2ptEntry 22 }





-------------------------------------------------------------------------------
-- LLDP Extension Table - DPoE Local
-------------------------------------------------------------------------------
ostLldpTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OstLldpEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "This is a table for LLDP DPoE Extensions"
    ::= { ostL2Protocol 4 }

ostLldpEntry OBJECT-TYPE
    SYNTAX      OstLldpEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "LLDP extension local entry."
    INDEX       { ostLldpIndex }
    ::= { ostLldpTable 1 }

OstLldpEntry ::= SEQUENCE {
    ostLldpIndex                  OstPortSingleIndex,
    ostLldpReceiveStatus          INTEGER,
    ostLldpDpoeStage              Unsigned32,
    ostLldpDpoeStageStatus        INTEGER
    }

ostLldpIndex OBJECT-TYPE
    SYNTAX      OstPortSingleIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "An index to the LLDP extension table which indicates the specific LLDP port
        for the module.
       "
    ::= { ostLldpEntry 1 }

ostLldpReceiveStatus OBJECT-TYPE
    SYNTAX      INTEGER {
        undefined      (0),
        notReceiving   (1),
        receiving      (2)
    }

    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object indicates the LLDP receive status.


        undefined(0)    Port received status is indeterminate
        notReceiving(1) Port is not receiving LLDP PDUs
        receiving(2)    Port is receiving LLDP PDUs
       "
    ::= { ostLldpEntry 2 }

ostLldpDpoeStage OBJECT-TYPE
    SYNTAX      Unsigned32 (0..6)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object indicates the current DPoE stage.

        A value of 0 indicates that DPoE is not enabled.

        Stage 1 = INIT state
        Stage 2 = PRE-DAC state
        Stage 3 = DAC-PATH state
        Stage 4 = DHCP state
        Stage 5 = CONFIG state
        Stage 6 = OPERATIONAL state

        A stage number of 6 is the final stage and indicates DPoE has
        successfully completed
       "
    ::= { ostLldpEntry 3 }

ostLldpDpoeStageStatus OBJECT-TYPE
    SYNTAX      INTEGER {
        undefined                   (0),
        inprocess                   (1),
        dacTlvInfoChange            (2),
        tftpProtocolError           (3),
        tftpRetriesInProcess        (4),
        tftpRetriesExhausted        (5),
        configFileValidationFailure (6),
        dhcpRenewFailed             (7),
        dhcpMessageTimeout          (8),
        dhcpProcessTimeout          (9),
        dhcpCriticalInfoMissing     (10),
        dhcpNonCriticalInfoMissing  (11),
        networkDiscoveryFailure     (12),
        stageCompleted              (13)
    }

    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object indicates the type of DPoE stage status.

        undefined(0)                    The status is indeterminate (info)
        inprocess(1)                    The status is running (info)
        dacTlvInfoChange(2)             The status is that the DAC TLV info has
                                          changed (warning)
        tftpProtocolError(3)            The status is TFTP protocol error
                                          (failure)
        tftpRetriesInProcess(4)         The status is TFTP retries are in
                                          processs (warning)
        tftpRetriesExhausted(5)         The statuts is TFTP retries have been
                                          exhausted (failure)
        configFileValidationFailure(6)  The status is configuration file
                                          validation error (failure)
        dhcpRenewFailed(7)              The status is DHCP renewal failed
                                          (failure)
        dhcpMessageTimeout(8)           The status is DHCP message response
                                          timeout (failure)
        dhcpProcessTimeout(9)           The status is DHCP process timeout
                                          (failure)
        dhcpCriticalInfoMissing(10)     The status is DHCP critical information
                                          not returned (failure)
        dhcpNonCriticalInfoMissing(11)  The status is DHCP non-critical
                                          information not returned (warning)
        networkDiscoveryFailure(12)     The status is network discovery failure
                                          (failure)
        stageCompleted(13)              The status is stage completed
                                          successfully (info)
       "
    ::= { ostLldpEntry 4 }


-------------------------------------------------------------------------------
-- LLDP Extension Table - DPoE Remote Responders
-------------------------------------------------------------------------------
ostLldpRemoteTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OstLldpRemoteEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "This is a table for Remote LLDP DPoE Extensions. There is one
        row in the table for each DPoE responder per port, based upon the
        responder's MAC address
       "
    ::= { ostL2Protocol 5 }

ostLldpRemoteEntry OBJECT-TYPE
    SYNTAX      OstLldpRemoteEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "LLDP extension remote entry."
    INDEX       { ostLldpIndex, ostLldpRemoteMac }
    ::= { ostLldpRemoteTable 1 }

OstLldpRemoteEntry ::= SEQUENCE {
    ostLldpRemoteMac              MacAddress,
    ostLldpRemoteDpoeVersion      Unsigned32,
    ostLldpRemoteDpoeConfig       INTEGER,
    ostLldpRemoteDpoeStag         Unsigned32,
    ostLldpRemoteDpoeCtag         Unsigned32
    }

ostLldpRemoteMac OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The remote LLDP responder's MAC address for a specific port.
       "
    ::= { ostLldpRemoteEntry 1 }

ostLldpRemoteDpoeVersion OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object indicates the remote DPoE version.

        A value of 0 indicates that DPoE is not enabled or the remote's
        DPoE version is indeterminate. The version is composed of a major
        version (0..15) and a minor version (0..15), which is displayed
        as one number. The upper byte is the major version and the lower
        byte is the minor version. When display it is <major>.<minor>
       "
    ::= { ostLldpRemoteEntry 2 }

ostLldpRemoteDpoeConfig OBJECT-TYPE
    SYNTAX      INTEGER {
        undefined          (0),
        ieee8021ad         (1),
        ieee8021ahItag     (2),
        ieee8021ahItagBtag (3)
    }

    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object indicates the LLDP remote bridge sub-type.

        undefined (0)          Bridge type is indeterminate or unknown
        ieee8021ad(1)          Bridge type is 802.1ad
        ieee8021ahItag(2)      Bridge type is I-Tag only + B-DA
        ieee8021ahItagBtag(3)  Bridge type is I-Tag + B-Tag + B-DA

        For this version of the firmware only 802.1ad bridges are supported.
       "
    ::= { ostLldpRemoteEntry 3 }

ostLldpRemoteDpoeStag OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object indicates the remote DPoE S-Tag value for management
        traffic.

        A value of 0 indicates that DPoE is not enabled or the remote's
        DPoE S-Tag is indeterminate or is zero.

        The upper 16 bits are the S-TAG TPID (Ethertype), the lower 16 bits
        are the TCI field which includes the PCP, DEI, and VID fields.

        If S-Tag only is defined (C-TAG=0) the management data is S-Tag only.
        If C-Tag only is defined (S-TAG=0) the management data is C-Tag only.
        If both S-Tag and C-Tag are defined then the management traffic is
        double tagged.
        If neither S-TAG or C-TAG is defined (S-TAG=0 and C-TAG=0) the
        mangement data is untagged.
       "
    ::= { ostLldpRemoteEntry 4 }

ostLldpRemoteDpoeCtag OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object indicates the remote DPoE C-Tag value for management
        traffic.

        A value of 0 indicates that DPoE is not enabled or the remote's
        DPoE C-Tag is indeterminate or is zero.

        The upper 16 bits are the C-TAG TPID (Ethertype), the lower 16 bits
        are the TCI field which includes the PCP, DEI, and VID fields.

        If S-Tag only is defined (C-TAG=0) the management data is S-Tag only.
        If C-Tag only is defined (S-TAG=0) the management data is C-Tag only.
        If both S-Tag and C-Tag are defined then the management traffic is
        double tagged.
        If neither S-TAG or C-TAG is defined (S-TAG=0 and C-TAG=0) the
        mangement data is untagged.
       "
    ::= { ostLldpRemoteEntry 5 }


-------------------------------------------------------------------------------
-- L2PT Translate Table
-------------------------------------------------------------------------------
ostl2ptTranslateTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Ostl2ptTranslateEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This is a table for L2PT (Layer 2 Protocol Tunneling) translation.

        The ostl2ptTranslateTable defaults to five rows:

        Row #    ostl2PtTranslateL2cpAddress   ostl2PtTranslateL2ptAddress
        1        01-80-c2-80-00-00-00          01-00-0c-cd-cd-d0
        2        01-80-c2-80-00-00-02          01-00-0c-cd-cd-d4
        3        01-80-c2-80-00-00-03          01-00-0c-cd-cd-d3
        4        01-80-c2-80-00-00-07          01-00-0c-cd-cd-d7
        5        01-80-c2-80-00-00-0e          01-00-0c-cd-cd-de
       "
    ::= { ostL2Protocol 6 }

ostl2ptTranslateEntry OBJECT-TYPE
    SYNTAX      Ostl2ptTranslateEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "L2PT translate table entry."
    INDEX       { ostModuleIndex, ostl2ptTranslateIndex }
    ::= { ostl2ptTranslateTable 1 }

Ostl2ptTranslateEntry ::= SEQUENCE {
    ostl2ptTranslateIndex         Unsigned32,
    ostl2ptTranslateRowStatus     RowStatus,
    ostl2PtTranslateL2cpAddress   MacAddress,
    ostl2PtTranslateL2ptAddress   MacAddress
    }

ostl2ptTranslateIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "An index to the L2PT Translate table which indicates the specific L2PT
        translation instance for the module. Up to 15 L2CP MAC addresses can
        entered into this table.

        ostl2ptGlobalTranslateNextIndex needs to be inspected to find an
        available index for row-creation.
       "
    ::= { ostl2ptTranslateEntry 1 }

ostl2ptTranslateRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The status of the row.

        The writable columns in a row cannot be changed if the row
        is active. All columns must have a valid value before a row
        can be activated.
       "
   ::= { ostl2ptTranslateEntry 2 }

ostl2PtTranslateL2cpAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the original L2CP MAC address that is to be
        translated to the value of the ostl2PtTranslateL2ptAddress object.

        This object MUST be a value in the L2CP address space:
          01-80-c2-00-00-0x, where 'x' is any value from 0 through f except
          for 1 (Pause)
       "
    DEFVAL { '0180c2000002'H  }
    ::= { ostl2ptTranslateEntry 3 }

ostl2PtTranslateL2ptAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the translated L2PT MAC address that is to be
        translated from the value of the ostl2PtTranslateL2cpAddress object.

        This object is preferred to be a value in the multicast address space:
          01-00-0c-cd-cd-cx, where 'x' is any value from 0 through f except.
       "
    DEFVAL { '01000ccdcdd4'H  }
    ::= { ostl2ptTranslateEntry 4 }


-------------------------------------------------------------------------------
-- Bandwidth Profile Configuration Table
-------------------------------------------------------------------------------

ostBandwidthProfileTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OstBandwidthProfileEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table supports bandwidth profile settings."
    ::= { ostBandwidthProfile 1 }

ostBandwidthProfileEntry OBJECT-TYPE
    SYNTAX      OstBandwidthProfileEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Bandwidth profile settings table entry."
    INDEX { ostBwpModuleIndex, ostBwpIndex }
    ::= { ostBandwidthProfileTable 1 }

OstBandwidthProfileEntry ::= SEQUENCE {
        ostBwpModuleIndex                       OstModuleSingleIndex,
        ostBwpIndex                             Unsigned32,
        ostBwpRowStatus                         RowStatus,
        ostBwpName                              DisplayString,
        ostBwpEnable                            TruthValue,
        ostBwpUniPort                           TruthValue,
        ostBwpEvcName                           OstEvcNameStringOrNone,
        ostBwpCommittedBurstSize                Unsigned32,
        ostBwpCommittedIngressInformationRate   Unsigned32,
        ostBwpClassOfServiceName                OstCosNameStringOrNone,
        ostBwpExcessBurstSize                   Unsigned32,
        ostBwpExcessInformationRate             Unsigned32,
        ostBwpPortList                          OstPortList,
        ostBwpCouplingFlag                      TruthValue,
        ostBwpCouplingType                      INTEGER,
        ostBwpPolicingType                      INTEGER,
        ostBwpPolicingAssociationName           DisplayString,
        ostBwpColorMode                         TruthValue,
        ostBwpPerformanceEnable                 INTEGER,
        ostBwpPerformanceStatsClear             Unsigned32,
        ostBwpPolicingMode                      INTEGER,
        ostBwpCtv                               TruthValue
    }

ostBwpModuleIndex OBJECT-TYPE
    SYNTAX      OstModuleSingleIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Chassis and module indices to which this bandwidth profile belongs."
    ::= { ostBandwidthProfileEntry 1 }

ostBwpIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The index associated with this bandwidth profile."
    ::= { ostBandwidthProfileEntry 2 }

ostBwpRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Status of the row.  Used for row creation and destruction."
    ::= { ostBandwidthProfileEntry 3 }

ostBwpName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(1..45))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The identifier associated with this profile."
    ::= { ostBandwidthProfileEntry 4 }

ostBwpEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Enable or disable bandwidth profile.  Default is enable."
    ::= { ostBandwidthProfileEntry 5 }

ostBwpUniPort OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "True when profile is associated with a UNI port.  Default is false."
    ::= { ostBandwidthProfileEntry 6 }

ostBwpEvcName OBJECT-TYPE
    SYNTAX      OstEvcNameStringOrNone
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The name of EVC associated with this BWP."
    ::= { ostBandwidthProfileEntry 7 }

ostBwpCommittedBurstSize OBJECT-TYPE
    SYNTAX      Unsigned32 (5..256000)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Committed Burst Size in KBs.  Default is 15."
    ::= { ostBandwidthProfileEntry 8 }

ostBwpCommittedIngressInformationRate OBJECT-TYPE
    SYNTAX      Unsigned32 (0..10000000)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Committed Ingress Information Rate in kb/sec.

        The maximum value for 10G ports is 10000000.
        The maximum value for 1G ports is 1000000.

       Default is 0."
    ::= { ostBandwidthProfileEntry 9 }

ostBwpClassOfServiceName OBJECT-TYPE
    SYNTAX      OstCosNameStringOrNone
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Class of service identifier name."
    ::= { ostBandwidthProfileEntry 10 }

ostBwpExcessBurstSize OBJECT-TYPE
    SYNTAX      Unsigned32 (5..256000)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Excess Burst Size in KBs.  Default is 15."
    ::= { ostBandwidthProfileEntry 11 }

ostBwpExcessInformationRate OBJECT-TYPE
    SYNTAX      Unsigned32 (0..10000000)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Excess Information Rate in kb/sec.

        The maximum value for 10G ports is 10000000.
        The maximum value for 1G ports is 1000000.

        Default is 0.
       "
    ::= { ostBandwidthProfileEntry 12 }

ostBwpPortList OBJECT-TYPE
    SYNTAX      OstPortList
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "A string specifying the list of ports associated with this Bandwidth Profile."
    ::= { ostBandwidthProfileEntry 13 }

ostBwpCouplingFlag OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The Coupling Flag allows the choice between two modes of operation of the
        rate enforcement algorithm for the GM3/GM4/XM5.  Default is false.
       "
    DEFVAL { false }
    ::= { ostBandwidthProfileEntry 14 }

ostBwpCouplingType OBJECT-TYPE
    SYNTAX      INTEGER {
        cirEirCoupleDependent(1),
        cirEirNotCoupled(2),
        cirEirCoupleColorUnaware(3),
        cirEirCoupleColorAware(4)
    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The Coupling Type allows the selection on how CIR and EIR interact with
        each other for the GM3/GM4. It is an enhancment of the ostBwpCouplingFlag object.

        ostBwpCouplingFlag is ignored for cirEirCoupleColorUnaware and
        cirEirCoupleColorAware selections. For types cirEir CoupleDependent and
        cirEirCoupleDependent should follow the ostBwpCouplingFlag.

        cirEirCoupleDependent(1)    CIR and EIR are dependent upon each other
        cirEirNotCoupled(2)         CIR and EIR are not coupled
        cirEirCoupleColorUnaware(3) CIR and EIR are coupled but are not
                                    dependent upon each other (color unaware)
        cirEirCoupleColorAware(4)   CIR and EIR are coupled but are
                                    dependent upon each other (color unaware)

        Writing of this object is ignored by the XM5. The value returned by the
        read of this object is undefined for the XM5.
       "
    DEFVAL { cirEirCoupleDependent }
    ::= { ostBandwidthProfileEntry 15 }

ostBwpPolicingType OBJECT-TYPE
    SYNTAX      INTEGER {
        policingTypeNormal(1),
        policingTypeLevel1(2),
        policingTypeLevel2(3)
    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object allows that the bandwidth profile to be associated with
        hierarchical policers.

        policingTypeNormal(1)  Normal policing type, no hierarchical policers,
                               single level policer only

        policingTypeLevel1(2)  Policing type is a level 1 policer. A level 1
                               policer output is then policed by a level 2
                               policer

        policingTypeLevel2(3)  Policer type is a level 2 policer, A level 2
                               policer is first policed by a level 1 policer
       "
    DEFVAL {policingTypeNormal}
    ::= { ostBandwidthProfileEntry 16 }

ostBwpPolicingAssociationName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..45))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The bandwidth profile next level identifier that is associated
        with this specific bandwidth profile. This object associates the
        current specific bandwdith profile output to a secondary policer
        indicated by this object's value.

        This value of this object is ignored unless ostBwpPolicingType
        is 'policingTypeLevel1'.
       "
    DEFVAL {""}
    ::= { ostBandwidthProfileEntry 17 }

ostBwpColorMode OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The Color Mode flag. A value of True indicates the BWP is color
        aware. A value of False indicates the BWP is color blind (color blind)
        Default is false.

        For the GM3/GM4 writing a value to this object is ignored.
        For the XM5 the color mode can be changed by writing to this object.
       "
    DEFVAL { false }
    ::= { ostBandwidthProfileEntry 18 }

ostBwpPerformanceEnable OBJECT-TYPE
    SYNTAX      INTEGER {
        disablePerformanceDataSet (1),
        enablePerformanceDataSet  (2)
    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object indicates whether a performance data set is configured
        for a specific bandwidth profile. This allows for only specific
        bandwidth profiles to be monitored if there are limitations in the
        module being accessed.

        disablePerformanceDataSet(1) A performance data set is disabled for this
                                     bandwidth profile
        enablePerformanceDataSet(2)  A performance data set is not enabled for
                                     this bandwidth profile.
       "
    DEFVAL { disablePerformanceDataSet }
    ::= { ostBandwidthProfileEntry 19 }

ostBwpPerformanceStatsClear OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Writing any value to this object clears the counter values of the
        associated row in the ostBandwidthProfilePerformanceTable.

        If no row exists for this BWP in the ostBandwidthProfilePerformanceTable
        no error is returned.
       "
    DEFVAL {0}
    ::= { ostBandwidthProfileEntry 20 }

ostBwpPolicingMode OBJECT-TYPE
    SYNTAX      INTEGER {
        policingL1 (1),
        policingL2 (2),
        policingL3 (3)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Sets the specific bandwidth profile policing mode which
                 is used to count bytes for bandwidth profile calculation
                 purposes. Applicable for the XM5 only.

                policingL1(1)  L1 includes all bytes in frame, interframe gap
                               and preamble

                policingL2(2)  L2 includes all bytes in frame, including
                               Layer 2 header and CRC

                policingL3(3)  L3 includes Layer 3 information only, excludes
                               Layer 2 header and CRC
                "
    DEFVAL { policingL1 }
    ::= { ostBandwidthProfileEntry 21 }

ostBwpCtv OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Enable or disable CIR threshold violation notification. Default is
        disable, 'false'.
       "
    DEFVAL { false }
    ::= { ostBandwidthProfileEntry 22 }


-------------------------------------------------------------------------------
-- Bandwidth Profile Performance Table
-------------------------------------------------------------------------------

ostBandwidthProfilePerformanceTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OstBandwidthProfilePerformanceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table supports bandwidth profile performance data. This table is
        created when a bandwidth profile is added with the ostBwpPerformanceEnable
        set to enabled.
       "
    ::= { ostBandwidthProfile 2 }

ostBandwidthProfilePerformanceEntry OBJECT-TYPE
    SYNTAX      OstBandwidthProfilePerformanceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Bandwidth profile performance table entry."
    INDEX { ostBwpModuleIndex, ostBwpIndex }
    ::= { ostBandwidthProfilePerformanceTable 1 }

OstBandwidthProfilePerformanceEntry ::= SEQUENCE {
        ostBwpPerformanceGreenOctets            Counter64,
        ostBwpPerformanceYellowOctets           Counter64,
        ostBwpPerformanceRedOctets              Counter64,
        ostBwpPerformanceGreenThroughput        Counter64,
        ostBwpPerformanceGreenUtilization       Unsigned32,
        ostBwpPerformanceYellowThroughput       Counter64,
        ostBwpPerformanceYellowUtilization      Unsigned32,
        ostBwpPerformanceRedThroughput          Counter64,
        ostBwpPerformanceRedUtilization         Unsigned32
    }

ostBwpPerformanceGreenOctets OBJECT-TYPE
    SYNTAX      Counter64
    UNITS       "octets"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object indicates the number of valid green octets
        that were received on the module for the associated bandwidth
        profile.

        This object defaults to '0'.
       "
    ::= { ostBandwidthProfilePerformanceEntry 1 }

ostBwpPerformanceYellowOctets OBJECT-TYPE
    SYNTAX      Counter64
    UNITS       "octets"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object indicates the number of valid yellow octets
        that were received on the module for the associated bandwidth
        profile.

        This object defaults to '0'.
       "
    ::= { ostBandwidthProfilePerformanceEntry 2 }

ostBwpPerformanceRedOctets OBJECT-TYPE
    SYNTAX      Counter64
    UNITS       "octets"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object indicates the number of valid red octets
        that were received on the module for the associated bandwidth
        profile.

        This object defaults to '0'.
       "
    ::= { ostBandwidthProfilePerformanceEntry 3 }

ostBwpPerformanceGreenThroughput OBJECT-TYPE
    SYNTAX      Counter64
    UNITS       "bits-per-second"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object indicates the average receive throughput for a green BWP
        during the last 5 seconds is expressed in bits/second.

        It is calculated based upon:

          (Number of octets received)*8/(5 seconds)

        This value is only updated every 5 seconds.
       "
    ::= { ostBandwidthProfilePerformanceEntry 4 }

ostBwpPerformanceGreenUtilization OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the average received utilization for a green BWP
        during the last 5 seconds expressed in milli-percent,  where 1 indicates
        0.001 percent.

        It is calculated based upon:

          (ostBwpPerformanceGreenThroughput)/(CIR)

        Units are in milli-percent, where 1 indicates 0.001 percent.

        This value is only updated every 5 seconds.
       "
    ::= { ostBandwidthProfilePerformanceEntry 5 }

ostBwpPerformanceYellowThroughput OBJECT-TYPE
    SYNTAX      Counter64
    UNITS       "bits-per-second"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object indicates the average receive throughput for a yellow BWP
        during the last 5 seconds is expressed in bits/second.

        It is calculated based upon:

          (Number of octets received)*8/(5 seconds)

        This value is only updated every 5 seconds.
       "
    ::= { ostBandwidthProfilePerformanceEntry 6 }

ostBwpPerformanceYellowUtilization OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the average received utilization for a yellow BWP
        during the last 5 seconds expressed in milli-percent,  where 1 indicates
        0.001 percent.

        It is calculated based upon:

          (ostBwpPerformanceYellowThroughput)/(EIR)

        Units are in milli-percent, where 1 indicates 0.001 percent.

        This value is only updated every 5 seconds.
       "
    ::= { ostBandwidthProfilePerformanceEntry 7 }

ostBwpPerformanceRedThroughput OBJECT-TYPE
    SYNTAX      Counter64
    UNITS       "bits-per-second"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object indicates the average receive traffic that is classified
        as red for the BWP and typically indicates received traffic that
        exceeds the combined CIR and EIR during the last 5 seconds is expressed
        in  bits/second.

        It is calculated based upon:

          (Number of octets received)*8/(5 seconds)

        This value is only updated every 5 seconds.
       "
    ::= { ostBandwidthProfilePerformanceEntry 8 }

ostBwpPerformanceRedUtilization OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the average received utilization for traffic
        classfied as red for the BWP during the last 5 seconds expressed
        in milli-percent,  where 1 indicates 0.001 percent.

        It is calculated based upon:

          (ostBwpPerformanceRedThroughput)/(Interface Speed)

        Units are in milli-percent, where 1 indicates 0.001 percent.

        This value is only updated every 5 seconds.
       "
    ::= { ostBandwidthProfilePerformanceEntry 9 }


-------------------------------------------------------------------------------
-- Class of Service (CoS) Configuration Table
-------------------------------------------------------------------------------

ostCosTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OstCosEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table supports class of service settings."
    ::= { ostCoS 1 }

ostCosEntry OBJECT-TYPE
    SYNTAX      OstCosEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Class of service settings table entry."
    INDEX { ostCosModuleIndex, ostCosIndex }
    ::= { ostCosTable 1 }

OstCosEntry ::= SEQUENCE {
        ostCosModuleIndex           OstModuleSingleIndex,
        ostCosIndex                 Unsigned32,
        ostCosRowStatus             RowStatus,
        ostCosName                  OstCosNameString,
        ostCosGreenPriority         OstPriority,
        ostCosGreenCoS              OstClassOfService,
        ostCosYellowPriority        OstPriority,
        ostCosYellowCoS             OstClassOfService,
        ostCosType                  INTEGER,
        ostCosDscpPriority          OstIpPriorityList,
        ostCosL2cpId                OstCosL2cpDstAddr,
        ostCosPcpPriority           OstPcpPriorityList,
        ostCosPriority              OstPriority,
        ostCosClass                 OstClassOfService,
        ostCosTrust                 OstCosTrustType,
        ostCosExtendedOn            BITS,
        ostCosExtendedMacda         MacAddress,
        ostCosExtendedMacsa         MacAddress,
        ostCosExtendedEtype         Integer32,
        ostCosExtendedVid           OstVlanId,
        ostCosExtendedIpsrc         IpAddress,
        ostCosExtendedIpdst         IpAddress,
        ostCosExtendedL4src         Integer32,
        ostCosExtendedL4dst         Integer32,
        ostCosExtendedIpsrcString   OstIpAddr,
        ostCosExtendedIpdstString   OstIpAddr
    }

ostCosModuleIndex OBJECT-TYPE
    SYNTAX      OstModuleSingleIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Chassis and module indices to which this CoS belongs."
    ::= { ostCosEntry 1 }

ostCosIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The identifier associated with this CoS."
    ::= { ostCosEntry 2 }

ostCosRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Status of the row.  Used for row creation and destruction."
    ::= { ostCosEntry 3 }

ostCosName OBJECT-TYPE
    SYNTAX      OstCosNameString
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The identifier associated with this CoS."
    ::= { ostCosEntry 4 }

ostCosGreenPriority OBJECT-TYPE
    SYNTAX      OstPriority
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Sets green traffic priority."
    ::= { ostCosEntry 5 }

ostCosGreenCoS OBJECT-TYPE
    SYNTAX      OstClassOfService
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Sets green traffic class of service."
    ::= { ostCosEntry 6 }

ostCosYellowPriority OBJECT-TYPE
    SYNTAX      OstPriority
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Sets yellow traffic priority."
    ::= { ostCosEntry 7 }

ostCosYellowCoS OBJECT-TYPE
    SYNTAX      OstClassOfService
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Sets yellow traffic class of service."
    ::= { ostCosEntry 8 }

ostCosType OBJECT-TYPE
    SYNTAX      INTEGER {
        unused (0),
        dscp   (1),
        l2cp   (2),
        pcp    (3),
        cfm    (4)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Selected bandwidth association type.  Type of the last association set,
         i.e. ostCosDscpPriority, ostCosL2cpId or ostCosPcpPriority.
         This object is deprecated for write."
    ::= { ostCosEntry 9 }

ostCosDscpPriority OBJECT-TYPE
    SYNTAX      OstIpPriorityList
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Class of Service profile associated with IP priority.
         This object may not be modified after row creation."
    ::= { ostCosEntry 10 }

ostCosL2cpId OBJECT-TYPE
    SYNTAX      OstCosL2cpDstAddr
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Class of Service profile associated with L2CP tunnel protocols.
         This object may not be modified after row creation."
    ::= { ostCosEntry 11 }

ostCosPcpPriority OBJECT-TYPE
    SYNTAX      OstPcpPriorityList
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Class of Service profile associated with Priority Code Point.
         This object may not be modified after row creation."
    ::= { ostCosEntry 12 }

ostCosPriority OBJECT-TYPE
    SYNTAX      OstPriority
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Sets class of service traffic priority."
    ::= { ostCosEntry 13 }

ostCosClass OBJECT-TYPE
    SYNTAX      OstClassOfService
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Sets traffic class of service."
    ::= { ostCosEntry 14 }

ostCosTrust OBJECT-TYPE
    SYNTAX      OstCosTrustType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Sets trust mode for this class of service. It can be set to trust
         mode, Yellow/Green mode, or individual priority and class modes."
    ::= { ostCosEntry 15 }

ostCosExtendedOn OBJECT-TYPE
    SYNTAX      BITS {
                     bMacda(0),
                     bMacsa(1),
                     bEtype(2),
                     bVid(3),
                     bIpsrc(4),
                     bIpdst(5),
                     bL4src(6),
                     bL4dst(7),
                     bPcp(8),
                     bDscp(9)
                }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "A vector of bits that indicates what Interface Extended Filtering
        options are selected.

        A bit set to '1' selects the Extended Filtering option.

        A bit set to '0' denotes the the Extended Filtering option is not used.

        For Layer 2 frames the valid Filtering Options are VLAN identification,
        Ethertype, Destination MAC address, and Source MAC address.

        For IP and Layer 2 frames the valid Filtering Options are VLAN identification,
        Destination MAC address, Source MAC address, and Layer 4 destination port.

        For IP and Layer 4 frames the valid Filtering Options are VLAN identification,
        Source IP address, Destination IP address, Layer 4 source port,
        and Layer 4 destination port.

        bMacda(0)        Destination MAC address
        bMacsa(1)        Source MAC address
        bEtype(2)        Etherype
        bVid(3)          VLAN identification
        bIpsrc(4)        Source IP address
        bIpdst(5)        Destination IP address
        bL4src(6)        Layer 4 source port
        bL4dst(7)        Layer 4 destination port
       "
    DEFVAL { { } }
    ::= { ostCosEntry 16 }

ostCosExtendedMacda OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the Destination MAC for the Interface Extended
        Filtering Option.
       "
    DEFVAL { '000000000000'H  }
    ::= { ostCosEntry 17 }

ostCosExtendedMacsa OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the Source MAC for the Interface Extended
        Filtering Option.
       "
    DEFVAL { '000000000000'H  }
    ::= { ostCosEntry 18 }

ostCosExtendedEtype OBJECT-TYPE
    SYNTAX      Integer32 (0..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object specifies the Ethertype for the Interface Extended
        Filtering Option.
       "
    DEFVAL {0}
    ::= { ostCosEntry 19 }

ostCosExtendedVid OBJECT-TYPE
    SYNTAX      OstVlanId
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the VLAN identification for the Interface Extended
        Filtering Option.
       "
    DEFVAL {0}
    ::= { ostCosEntry 20 }

ostCosExtendedIpsrc OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object specifies the Source IP address for the Interface Extended
        Filtering Option.

        Setting this object also impacts the ostCosExtendedIpsrcString
        returned value. If an IPv4 address is written to this object the
        two objects return the same value. If ostCosExtendedIpsrc-String
        is set with an IPv6 address then this object returns an all zeros
        value.
       "
    DEFVAL { '00000000'H  }
    ::= { ostCosEntry 21 }

ostCosExtendedIpdst OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object specifies the Destination address for the Interface Extended
        Filtering Option.

        Setting this object also impacts the ostCosExtendedIpdstString
        returned value. If an IPv4 address is written to this object the
        two objects return the same value. If ostCosExtendedIpdstString
        is set with an IPv6 address then this object returns an all zeros
        value.
       "
    DEFVAL { '00000000'H  }
    ::= { ostCosEntry 22 }

ostCosExtendedL4src OBJECT-TYPE
    SYNTAX      Integer32 (0..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object specifies the Layer 4 (TCP/UDP) Source port for the Interface Extended
        Filtering Option.
       "
    DEFVAL {0}
    ::= { ostCosEntry 23 }

ostCosExtendedL4dst OBJECT-TYPE
    SYNTAX      Integer32 (0..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object specifies the Layer 4 (TCP/UDP) Destination port for the Interface Extended
        Filtering Option.
       "
    DEFVAL {0}
    ::= { ostCosEntry 24 }

ostCosExtendedIpsrcString OBJECT-TYPE
    SYNTAX      OstIpAddr
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object specifies the Source IPv4 or IPv6 address for the
        Interface Extended Filtering Option.

        Setting this object also impacts the ostCosExtendedIpsrc
        returned value. If an IPv4 address is written to this object the
        two objects return the same value. If this object is set with an IPv6
        address then ostCosExtendedIpsrc returns an all zeros value.
       "
    DEFVAL { "::"  }
    ::= { ostCosEntry 25 }

ostCosExtendedIpdstString OBJECT-TYPE
    SYNTAX      OstIpAddr
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object specifies the Destination IPv4 or IPv6 address for the
        Interface Extended Filtering Option.

        Setting this object also impacts the ostCosExtendedIpdst
        returned value. If an IPv4 address is written to this object the
        two objects return the same value. If this object is set with an IPv6
        address then ostCosExtendedIpdst returns an all zeros value.
       "
    DEFVAL { "::"  }
    ::= { ostCosEntry 26 }


-------------------------------------------------------------------------------
-- Slave Module (modcfg) Read/Write Configuration Table
-------------------------------------------------------------------------------

ostModcfgTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OstModcfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table enables the chassis master's management entity to read and save the slave's
        configuration file or to write the saved slave's configuration file to the slave.  The
        write operation does not activate the configuration at the slave, only updates the
        slave's ini file.

        Steps to use entries in this table:

        1) Wait for ostModcfgReady value to be true. To do this do this sequence:
           a. an SNMP GET for both SnmpSetSerialNo and ostModcfgReady objects (in same SNMP PDU).
           b. Check if value for ostModcfgReady is true.
              - if not, wait x seconds, go to step a above.
              - if yes, save the value of SnmpSetSerialNo and go to step 2) below

        2) Change ostModcfgReady value from true to false to ensure no other management entity
           will use the service. In order to not disturb a possible other NMS do this by sending
           an SNMP SET for both SnmpSetSerialNo and ostModcfgReady objects (in same SNMP PDU, and
           make sure SNmpSetSerialNo is the first varBind).

           For the SnmpSetSerialNo varBind, use the value that you obtained in step 1)a.. This ensures
           that two cooperating NMSes will not step on each others toes.

        3) Setup the slave slot if differ from slot 2.

        4) Set ostModcfgOpAction to get(1) or put (2) value to initiate command operation.

        5) Check the value of ostModcfgLastStatus to find out if the operation was successfully completed.

        6) Change the ostModcfgReady value back to true to allow other management entities to use the table."

    ::= { ostModcfg 1 }

ostModcfgEntry OBJECT-TYPE
    SYNTAX      OstModcfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Modcfg operation table."
    INDEX { ostModcfgModuleIndex }
    ::= { ostModcfgTable 1 }

OstModcfgEntry ::= SEQUENCE {
        ostModcfgModuleIndex    OstModuleSingleIndex,
        ostModcfgSlotNumber     Unsigned32,
        ostModcfgReady          TruthValue,
        ostModcfgOpAction       INTEGER,
        ostModcfgLastStatus     INTEGER
    }


ostModcfgModuleIndex OBJECT-TYPE
    SYNTAX      OstModuleSingleIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Chassis and module indices of the chassis master where it reads/writes the slave
        configuration."
    ::= { ostModcfgEntry 1 }

ostModcfgSlotNumber OBJECT-TYPE
    SYNTAX      Unsigned32(2..19)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The slot number of slave to read or write configuration file.  Slot 2 is default."
    DEFVAL { 2}
    ::= { ostModcfgEntry 2 }

ostModcfgReady OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Slave configuration read/write ready status.  Network manager must wait for the value
        of this variable to be true before setting up the read/write operation.  If ready,
        Network management then sets this variable to false and subsequently set this
        variable to true when the read/write operation is complete."
    ::= { ostModcfgEntry 3 }

ostModcfgOpAction OBJECT-TYPE
    SYNTAX      INTEGER {
        noop (0),
        get (1),
        put (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Operation type.  Either get(1) or put(2) operation.  Once set, the operation will start"
    DEFVAL { 0 }
    ::= { ostModcfgEntry 4 }

ostModcfgLastStatus OBJECT-TYPE
    SYNTAX      INTEGER {
        ok     (0),
        busy   (1),
        failed (2)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Status of the operation.  Set value to busy(1) by agent when ostModcfgOpType is set to true and
        sets value to ok(0) or failed(2) when operation is complete."
    ::= { ostModcfgEntry 5 }




-------------------------------------------------------------------------------
-- Slave Module Firmware Update Table
-------------------------------------------------------------------------------

ostFwupdTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OstFwupdEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table enables the chassis master's management entity to update the firmware of a
        slave module via the backplane using the FTP protocol.  The backplane must be enabled
        between the master and slave module to work correctly.  The slave module will reboot
        itself upon completion of the update.

        Steps to use entries in this table:

        1) Wait for ostFwupdgReady value to be true. To do this do this sequence:
           a. an SNMP GET for both SnmpSetSerialNo and ostFwupdgReady objects (in same SNMP PDU).
           b. Check if value for ostFwupdgReady is true.
              - if not, wait x seconds, go to step a above.
              - if yes, save the value of SnmpSetSerialNo and go to step 2) below

        2) Change ostFwupdgReady value from true to false to ensure no other management entity
           will use the service. In order to not disturb a possible other NMS do this by sending
           an SNMP SET for both SnmpSetSerialNo and ostFwupdgReady objects (in same SNMP PDU, and
           make sure SNmpSetSerialNo is the first varBind).

           For the SnmpSetSerialNo varBind, use the value that you obtained in step 1)a.. This ensures
           that two cooperating NMSes will not step on each others toes.

        3) Setup the slave slot if differ from slot 2.

        4) Set ostFwupdAction to write(1) value to initiate command operation.

        5) Check the value of ostFwupdLastStatus to find out if the operation was successfully completed.

        6) Change the ostFwupdgReady value back to true to allow other management entities to use the table."

    ::= { ostFwupd 1 }

ostFwupdEntry OBJECT-TYPE
    SYNTAX      OstFwupdEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Fwupd operation table."
    INDEX { ostFwupdModuleIndex }
    ::= { ostFwupdTable 1 }

OstFwupdEntry ::= SEQUENCE {
        ostFwupdModuleIndex    OstModuleSingleIndex,
        ostFwupdSlotNumber     Unsigned32,
        ostFwupdReady          TruthValue,
        ostFwupdAction         INTEGER,
        ostFwupdLastStatus     INTEGER
    }


ostFwupdModuleIndex OBJECT-TYPE
    SYNTAX      OstModuleSingleIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Chassis and module indices of the chassis master where it updates the slave firmware."
    ::= { ostFwupdEntry 1 }

ostFwupdSlotNumber OBJECT-TYPE
    SYNTAX      Unsigned32(2..19)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The slot number of slave whose firmware is to be updated.  Slot 2 is default."
    DEFVAL { 2}
    ::= { ostFwupdEntry 2 }

ostFwupdReady OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Slave firmware update ready status.  Network manager must wait for the value
        of this variable to be true before setting up the write operation.  If ready,
        Network management then sets this variable to false and subsequently sets this
        variable to true when the write operation is complete."
    ::= { ostFwupdEntry 3 }

ostFwupdAction OBJECT-TYPE
    SYNTAX      INTEGER {
        noop (0),
        write (1)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Operation type.  Once set to write (1) value, the operation will start"
    DEFVAL { 0 }
    ::= { ostFwupdEntry 4 }

ostFwupdLastStatus OBJECT-TYPE
    SYNTAX      INTEGER {
        ok     (0),
        busy   (1),
        failed (2)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Status of the operation.  Set value to busy(1) by agent when ostFwupdAction is set to true and
        sets value to ok(0) or failed(2) when operation is complete."
    ::= { ostFwupdEntry 5 }


-------------------------------------------------------------------------------
-- Egress Scheduling Profile Table
-------------------------------------------------------------------------------

ostEgressSchedulingProfileTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OstEgressSchedulingProfileEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table is used in conjuction with the ostEgressQueuetable to define the port queue Scheduling
        attributes. ostNumSchedulingProfiles from the ostModuleSettingsTable will give the maximum number
        of Scheduling Profiles."
    ::= { ostEgressSchedulingProfile 1 }

ostEgressSchedulingProfileEntry OBJECT-TYPE
    SYNTAX      OstEgressSchedulingProfileEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Egress Scheduling profile settings table entry."
    INDEX { ostEgressSchedulingProfileModuleIndex , ostEgressSchedulingProfileIndex }
    ::= { ostEgressSchedulingProfileTable 1 }

OstEgressSchedulingProfileEntry ::= SEQUENCE {
        ostEgressSchedulingProfileModuleIndex            OstModuleSingleIndex,
        ostEgressSchedulingProfileIndex                  OstEgressSchedulingProfileIndexType,
        ostEgressSchedulingProfileQueueMode              INTEGER
    }

ostEgressSchedulingProfileModuleIndex OBJECT-TYPE
    SYNTAX      OstModuleSingleIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Chassis and module indices to which this schedule profile belongs."
    ::= { ostEgressSchedulingProfileEntry 1 }

ostEgressSchedulingProfileIndex OBJECT-TYPE
    SYNTAX      OstEgressSchedulingProfileIndexType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The egress Scheduling Profile Index."
    ::= { ostEgressSchedulingProfileEntry 2 }

ostEgressSchedulingProfileQueueMode OBJECT-TYPE
    SYNTAX      INTEGER {
        fairweight     (0),
        starving       (1),
        mixedMode      (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Set the Profile Queueing to Fairweight, Starving or Mixed Mode.
        If the values set for ostEgressQueueXSchedulingType &
        ostEgressQueueXSchedulingWeight do not match the ostEgressSchedulingProfileQueueMode
        equivalent, ostEgressSchedulingProfileQueueMode will be set to mixedMode. If the
        values set for ostEgressQueueXSchedulingType & ostEgressQueueXSchedulingWeight
        does match either fairweight or starving, ostEgressSchedulingProfileQueueMode
        will be set to either fairweight or starving."
    ::= { ostEgressSchedulingProfileEntry 3 }


-------------------------------------------------------------------------------
-- Egress Queue Scheduling Table
-------------------------------------------------------------------------------

ostEgressQueueSchedulingTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OstEgressQueueSchedulingEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table is used in conjuction with the ostSchedulingProfileTable to
        set Egress Scheduling Profile entries. Use ostNumPortEgressQueues from
        the ostModuleSettingsTable to get the maximum number of Egress Queues."
    ::= { ostEgressQueueScheduling 1 }

ostEgressQueueSchedulingEntry OBJECT-TYPE
    SYNTAX      OstEgressQueueSchedulingEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Egress Queue settings table entry."
    INDEX { ostEgressQueueSchedulingModuleIndex, ostEgressQueueSchedulingProfileIndex, ostEgressQueueSchedulingIndex }
    ::= { ostEgressQueueSchedulingTable 1 }

OstEgressQueueSchedulingEntry ::= SEQUENCE {
        ostEgressQueueSchedulingModuleIndex                   OstModuleSingleIndex,
        ostEgressQueueSchedulingProfileIndex                  OstEgressSchedulingProfileIndexType,
        ostEgressQueueSchedulingIndex                         OstEgressQueueIndexType,
        ostEgressQueueXSchedulingType                         INTEGER,
        ostEgressQueueXSchedulingWeight                       Unsigned32
    }

ostEgressQueueSchedulingModuleIndex OBJECT-TYPE
    SYNTAX      OstModuleSingleIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Chassis and module indices to which this Egress Queue belongs."
    ::= { ostEgressQueueSchedulingEntry 1 }

ostEgressQueueSchedulingProfileIndex OBJECT-TYPE
    SYNTAX      OstEgressSchedulingProfileIndexType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The index of the Scheduling profile."
    ::= { ostEgressQueueSchedulingEntry 2 }

ostEgressQueueSchedulingIndex OBJECT-TYPE
    SYNTAX      OstEgressQueueIndexType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The index of the Egress Queue."
    ::= { ostEgressQueueSchedulingEntry 3 }

ostEgressQueueXSchedulingType OBJECT-TYPE
    SYNTAX      INTEGER {
        fairweight     (0),
        strictpriority (1)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Egress Queue type."
    ::= { ostEgressQueueSchedulingEntry 4 }

ostEgressQueueXSchedulingWeight OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Queue weight when ostEgressQueueXSchedulingType is configured to operate
         in Fairweight (Round-Robin) Mode. Setting Zero will turn off Queueing on
         the specified Queue."
    ::= { ostEgressQueueSchedulingEntry 5 }


-------------------------------------------------------------------------------
-- Egress Queue Configuration Table
-------------------------------------------------------------------------------

ostEgressQueueTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OstEgressQueueEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table supports Queue configuration on per-interface basis."
    ::= { ostEgressQueue 1 }

ostEgressQueueEntry OBJECT-TYPE
    SYNTAX      OstEgressQueueEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This is an Egress Queue table entry."
    INDEX { ostEgressQueueInterfaceIndex,ostEgressQueueIndex }
    ::= { ostEgressQueueTable 1 }

OstEgressQueueEntry ::= SEQUENCE {
        ostEgressQueueInterfaceIndex                        OstPortSingleIndex,
        ostEgressQueueIndex                                 OstEgressQueueIndexType,
        ostEgressQueueCommittedEgressInformationRateQueueX  Unsigned32
    }

ostEgressQueueInterfaceIndex OBJECT-TYPE
    SYNTAX      OstPortSingleIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Chassis, module and port indices to which this interface belongs."
    ::= { ostEgressQueueEntry 1 }

ostEgressQueueIndex OBJECT-TYPE
    SYNTAX      OstEgressQueueIndexType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The index of the Egress Queue."
    ::= { ostEgressQueueEntry 2 }

ostEgressQueueCommittedEgressInformationRateQueueX OBJECT-TYPE
   SYNTAX      Unsigned32 (0..10000000)
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "Committed Egress Information Rate Queue X in kb/sec.

        The maximum value and default for 10G ports is 10000000.
        The maximum value and default for 1G ports is 1000000.
       "
    ::= { ostEgressQueueEntry 3 }


-------------------------------------------------------------------------------
-- FPGA Upgrade Table
-------------------------------------------------------------------------------

ostFpgaUpdTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OstFpgaUpdEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table enables the chassis master's management entity to update the FPGA firmware
        of a module via a file residing on a module that was previously loaded by FTP.

        Steps to use entries in this table:

        1) Wait for ostFpgaUpdReady value to be true. To do this do this sequence:
           a. an SNMP GET for both SnmpSetSerialNo and ostFpgaUpdReady objects (in same SNMP PDU).
           b. Check if value for ostFpgaUpdReady is true.
              - if not, wait x seconds, go to step a above.
              - if yes, save the value of SnmpSetSerialNo and go to step 2) below

        2) Change ostFpgaUpdReady value from true to false to ensure no other management entity
           will use the service. In order to not disturb a possible other NMS do this by sending
           an SNMP SET for both SnmpSetSerialNo and ostFgaUpdgReady objects (in same SNMP PDU, and
           make sure SNmpSetSerialNo is the first varBind).

           For the SnmpSetSerialNo varBind, use the value that you obtained in step 1)a. This ensures
           that two cooperating NMSes will not interfere with each other.

        3) Set ostFpgaUpdAction to write(1) value to initiate command operation.

        4) Check the value of ostFpgaUpdLastStatus to find out if the operation was successfully completed.

        5) Change the ostFpgaUpdReady value back to true to allow other management entities to use the table."

    ::= { ostFpgaUpd 1 }

ostFpgaUpdEntry OBJECT-TYPE
    SYNTAX      OstFpgaUpdEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "FpgaUpd operation table."
    INDEX { ostFwupdModuleIndex }
    ::= { ostFpgaUpdTable 1 }

OstFpgaUpdEntry ::= SEQUENCE {
        ostFpgaUpdModuleIndex   OstModuleSingleIndex,
        ostFpgaUpdFileName      OstFileNameString,
        ostFpgaUpdReady         TruthValue,
        ostFpgaUpdAction        INTEGER,
        ostFpgaUpdLastStatus    INTEGER
    }

ostFpgaUpdModuleIndex OBJECT-TYPE
    SYNTAX      OstModuleSingleIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Chassis and module indices of the module that contains the FPGA."
    ::= { ostFpgaUpdEntry 1 }

ostFpgaUpdFileName OBJECT-TYPE
    SYNTAX      OstFileNameString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The FPGA firmware image used for updating the FPGA."
    ::= { ostFpgaUpdEntry 2 }


ostFpgaUpdReady OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "FPGA update ready status.  Network manager must wait for the value
        of this variable to be true before setting up the write operation.  If ready,
        Network management then sets this variable to false and subsequently sets this
        variable to true when the write operation is complete."
    ::= { ostFpgaUpdEntry 3 }

ostFpgaUpdAction OBJECT-TYPE
    SYNTAX      INTEGER {
        noop (0),
        write (1),
        writeAndActivate (2),
        activate (3)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "FPGA Firmware operation type.
          noop (0)             no action is taken
          write (1)            FPGA file is written
          writeAndActivate(2)  FPGA file is written and activated
          activate (3)         FPGA file is activated
       "
    DEFVAL { 0 }
    ::= { ostFpgaUpdEntry 4 }

ostFpgaUpdLastStatus OBJECT-TYPE
    SYNTAX      INTEGER {
        ok     (0),
        busy   (1),
        failed (2)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Status of the operation.  Set value to busy(1) by agent when ostFpgaUpdAction is set to
        true and sets value to ok(0) or failed(2) when operation is complete."
    ::= { ostFpgaUpdEntry 5 }


-------------------------------------------------------------------------------
-- Conformance
-------------------------------------------------------------------------------

ostExtCompliances OBJECT IDENTIFIER ::= { ostExtConformance 1 }
ostExtGroups      OBJECT IDENTIFIER ::= { ostExtConformance 2 }

-- compliance statements

ostExtCompliance MODULE-COMPLIANCE
    STATUS       current
    DESCRIPTION "The compliance statement for iConverter modules which support extensions."
    MODULE
        MANDATORY-GROUPS { ostExtGroup }
    ::= { ostExtCompliances 1 }

-- units of conformance

ostExtGroup OBJECT-GROUP
    OBJECTS {
        ostInterfacePortName,
        ostInterfaceType,
        ostInterfaceComponentID,
        ostInterfaceSfpMode,
        ostInterfaceCfmEnable,
        ostInterfaceCommittedEgressInformationRate,
        ostInterfaceQueueType,
        ostInterfaceLpbkEnable,
        ostInterfaceRstpMacLearning,
        ostInterfacePauseEnable,
        ostInterfacePort,
        ostInterfaceRJ45Mode,
        ostInterfaceUnkEnable,
        ostInterfaceMTU,
        ostInterfaceTransmitDisable,
        ostInterfaceAlsEnable,
        ostInterfaceEgressSchedulingProfileId,
        ostInterfaceLoopTimeout,
        ostInterfaceLldpSelection,
        ostInterfaceMirrorPortNumber,
        ostInterfaceMirrorRatio,
        ostInterfaceThresholdViolation,
        ostInterfaceColor,
        ostInterfaceManagement,


        ostIfEvcRowStatus,
        ostIfEvcCeVlanIdList,
        ostIfEvcPrimaryVid,
        ostIfEvcName,
        ostIfEvcExceptVid,
        ostIfEvcExceptOn,
        ostIfEvcExtendedOn,
        ostIfEvcExtendedMacda,
        ostIfEvcExtendedMacsa,
        ostIfEvcExtendedEtype,
        ostIfEvcExtendedVid,
        ostIfEvcExtendedIpsrc,
        ostIfEvcExtendedIpdst,
        ostIfEvcExtendedL4src,
        ostIfEvcExtendedL4dst,
        ostIfEvcExtendedPcp,
        ostIfEvcExtendedDscp,
        ostIfEvcProName,
        ostIfEvcProCeVlanIdList,
        ostIfEvcExtendedIpsrcString,
        ostIfEvcExtendedIpdstString,

        ostCableTestInit,
        ostCableTestStatus,
        ostCableTestResult,

        ostPortStatisticsCurrentTxThroughput,
        ostPortStatisticsCurrentTxUtilization,
        ostPortStatisticsCurrentRxThroughput,
        ostPortStatisticsCurrentRxUtilization,

        ostEvcName,
        ostEvcRowStatus,
        ostEvcVid,
        ostEvcPortList,
        ostEvcPreserveCeVid,
        ostEvcPreserveCeCos,
        ostEvcProviderTrafficClass,
        ostEvcProviderPriority,
        ostEvcCTagPriority,
        ostEvcEnable,
        ostEvcTrust,
        ostEvcVidSTagTranslation,
        ostEvcPortListSTagTranslation,
        ostEvcMode,
        ostEvcManagementPort1,
        ostEvcManagementPort2,
        ostEvcProtect,
        ostEvcEtreePortList,
        ostEvcType,
        ostEvcTrafficClassTrust,

        ostEnableEvcProcessing,
        ostCustomerEthertype,
        ostProviderEthertype,
        ostSaveSettings,
        ostCfmTrapEnables,
        ostSnmpTrapPortNum,
        ostSntpEnable,
        ostSntpServerIp1,
        ostSntpServerIp2,
        ostSntpTimeZone,
        ostSntpServerInterval,
        ostDaytimeEnable,
        ostDaytimeServerIp,
        ostDaytimeServerType,
        ostDaytimeServerInterval,
        ostCfmXcAutoLearning,
        ostClearTrapLog,
        ostSntpIpSrc,
        ostDaytimeIpSrc,
        ostNumEgressSchedulingProfiles,
        ostNumPortEgressQueues,
        ostClearMacTable,
        ostFixedCompId,
        ostSynceSource,
        ostEgressPolicingType,
        ostFirmwareRestartType,
        ostFpgaRestartType,
        ostGlobalPauseEnable,
        ostZtpEnable,
        ostSynceClockStatus,
        ostSntpServerIp1String,
        ostSntpServerIp2String,
        ostDaytimeServerIpString,
        ostModulePrompt,
        ostModuleSplashWarning,
        ostConsoleEnable,

        ostSaveStatus,
        ostModifyCount,
        ostSnmpErrorCount,
        ostSnmpErrorMessage,
        ostSnmpCpuUtilization,
        ostSnmpRamUsed,
        ostSnmpFlashUsed,
        ostSaveState,

        ostModuleLocationAddress,
        ostModuleLocationCity,
        ostModuleLocationState,
        ostModuleLocationPostalCode,
        ostModuleLocationLatitude,
        ostModuleLocationLongitude,
        ostModuleLocationAltitude,

        ostModuleLinkRedundancyEnable,
        ostModuleLinkRedundancyReturnWorking,
        ostModuleLinkRedundancyWorkingPort,
        ostModuleLinkRedundancyProtectionPort,
        ostModuleLinkRedundancyWorkingPortStatus,
        ostModuleLinkRedundancyWorkingPortLink,
        ostModuleLinkRedundancyProtectionPortStatus,
        ostModuleLinkRedundancyProtectionPortLink,

        ostModuleDhcpRelayCfgRelayEnable,
        ostModuleDhcpRelayCfgCircuitIdEnable,
        ostModuleDhcpRelayCfgRemoteIdEnable,
        ostModuleDhcpRelayCfgServerIpAddress,
        ostModuleDhcpRelayCfgRelayType,

        ostModuleLinkModeCfgSelect,
        ostModuleLinkModeCfgStatus,

        ostCfmMaCcmTimeout,
        ostCfmMaCcmSequence,

        ostCfmMepLtmTimeout,
        ostCfmMepLoopbackStatsClear,
        ostCfmMepLbmFreqSelect,
        ostCfmMepLbmTimeout,
        ostCfmMepLoopbackStatistics,
        ostCfmMepScomp,
        ostCfmMepRdiTx,
        ostCfmMepProbeResponderType,
        ostCfmMepCtagVid,
        ostCfmMepProbeResponderVer,

        ostCfmMipRowStatus,
        ostCfmMipVid,
        ostCfmMipIfIndex,
        ostCfmMipMdLevel,
        ostCfmMipCreatedMethod,
        ostCfmMipMhfCreation,
        ostCfmMipScomp,

        ostCfmRmepRowStatus,
        ostCfmRmepLocalMep,
        ostCfmRmepPortNumber,

        ostL2cpType,
        ostl2ptGlobalInstanceNextIndex,
        ostl2ptGlobalCdpDropThreshold,
        ostl2ptGlobalL2cpDropThreshold,
        ostl2ptGlobalVtpDropThreshold,
        ostl2ptGlobalPvstDropThreshold,
        ostl2ptGlobalEncapDropThreshold,
        ostl2ptGlobalTranslateNextIndex,

        ostl2ptRowStatus,
        ostl2ptCdpEnable,
        ostl2ptStpEnable,
        ostl2ptVtpEnable,
        ostl2ptPvstEnable,
        ostl2ptEvcName,
        ostl2ptEncapsulatedPorts,
        ostl2ptSlowProtocolEnable,
        ostl2ptPortAuthEnable,
        ostl2ptMac04Enable,
        ostl2ptMac05Enable,
        ostl2ptMac06Enable,
        ostl2ptElmiEnable,
        ostl2ptMac08Enable,
        ostl2ptMac09Enable,
        ostl2ptMac0aEnable,
        ostl2ptMac0bEnable,
        ostl2ptMac0cEnable,
        ostl2ptMac0dEnable,
        ostl2ptlldpEnable,
        ostl2ptMac0fEnable,

        ostLldpReceiveStatus,
        ostLldpDpoeStage,
        ostLldpDpoeStageStatus,
        ostLldpRemoteDpoeVersion,
        ostLldpRemoteDpoeConfig,
        ostLldpRemoteDpoeStag,
        ostLldpRemoteDpoeCtag,

        ostl2ptTranslateRowStatus,
        ostl2PtTranslateL2cpAddress,
        ostl2PtTranslateL2ptAddress,

        ostBwpRowStatus,
        ostBwpName,
        ostBwpEnable,
        ostBwpUniPort,
        ostBwpEvcName,
        ostBwpCommittedBurstSize,
        ostBwpCommittedIngressInformationRate,
        ostBwpClassOfServiceName,
        ostBwpExcessBurstSize,
        ostBwpExcessInformationRate,
        ostBwpPortList,
        ostBwpCouplingFlag,
        ostBwpCouplingType,
        ostBwpPolicingType,
        ostBwpPolicingAssociationName,
        ostBwpColorMode,
        ostBwpPerformanceEnable,
        ostBwpPerformanceStatsClear,
        ostBwpPolicingMode,
        ostBwpCtv,

        ostBwpPerformanceGreenOctets,
        ostBwpPerformanceYellowOctets,
        ostBwpPerformanceRedOctets,
        ostBwpPerformanceGreenThroughput,
        ostBwpPerformanceGreenUtilization,
        ostBwpPerformanceYellowThroughput,
        ostBwpPerformanceYellowUtilization,
        ostBwpPerformanceRedThroughput,
        ostBwpPerformanceRedUtilization,

        ostCosRowStatus,
        ostCosName,
        ostCosGreenPriority,
        ostCosGreenCoS,
        ostCosYellowPriority,
        ostCosYellowCoS,
        ostCosType,
        ostCosDscpPriority,
        ostCosL2cpId,
        ostCosPcpPriority,
        ostCosPriority,
        ostCosClass,
        ostCosTrust,
        ostCosExtendedOn,
        ostCosExtendedMacda,
        ostCosExtendedMacsa,
        ostCosExtendedEtype,
        ostCosExtendedVid,
        ostCosExtendedIpsrc,
        ostCosExtendedIpdst,
        ostCosExtendedL4src,
        ostCosExtendedL4dst,
        ostCosExtendedIpsrcString,
        ostCosExtendedIpdstString,

        ostModcfgSlotNumber,
        ostModcfgReady,
        ostModcfgOpAction,
        ostModcfgLastStatus,

        ostFwupdSlotNumber,
        ostFwupdReady,
        ostFwupdAction,
        ostFwupdLastStatus,

        ostEgressQueueXSchedulingType,
        ostEgressQueueXSchedulingWeight,
        ostEgressSchedulingProfileQueueMode,
        ostEgressQueueCommittedEgressInformationRateQueueX,


        ostFpgaUpdFileName,
        ostFpgaUpdReady,
        ostFpgaUpdAction,
        ostFpgaUpdLastStatus


        }
    STATUS       current
    DESCRIPTION "A collection of extension objects."
    ::= { ostExtGroups 1 }

END

