RAD-EthIf-MIB DEFINITIONS ::= BEGIN


-- It is RAD's intent to encourage the widespread use of
-- this Specification in connection with the management of
-- RAD products. RAD grants vendors, end-users,
-- and other interested parties a non-exclusive license to
-- use this Specification in connection with the management
-- of RAD products.

-- This Specification is supplied "as is," and RAD makes
-- no warranty, either express or implied, as to the use,
-- operation, condition, or performance of the Specification.


IMPORTS

       dot3OamEntry, dot3OamOperStatus, dot3OamLoopbackStatus, 
       dot3OamLoopbackIgnoreRx     FROM  DOT3-OAM-MIB
       ifAlias, ifIndex, ifDescr, 
       InterfaceIndexOrZero     FROM  IF-MIB
       PortList     FROM  Q-BRIDGE-MIB
       SnmpAdminString     FROM  SNMP-FRAMEWORK-MIB
       Integer32, Counter32, Gauge32, 
       Unsigned32, OBJECT-TYPE, MODULE-IDENTITY, 
       NOTIFICATION-TYPE, OBJECT-IDENTITY, Counter64     FROM  SNMPv2-SMI
       RowStatus, TruthValue, MacAddress, 
       RowPointer     FROM  SNMPv2-TC
       diverseIfWanGen     FROM  RAD-SMI-MIB
       alarmEventLogSourceName, alarmEventLogAlarmOrEventId, alarmEventLogDescription, 
       alarmEventLogSeverity, alarmEventLogDateAndTime, alarmEventReason, 
       prtTestCmdAndStatus     FROM  RAD-GEN-MIB; 


    ethIf MODULE-IDENTITY
        LAST-UPDATED "201609281522Z"  -- September 28, 2016
        ORGANIZATION "RAD Data Communications Ltd."
        CONTACT-INFO
        "System Department

         Email:  mibs@rad.com
         Postal: RAD Data Communications Ltd.
                 24 Raoul Wallenberg St.
                 Tel-Aviv 6971920
                 Israel

         Phone:  +972-3-645-5421
         Fax:    +972-3-760-7844"
         DESCRIPTION
            "Ethernet Interface MIB."
    ::= { diverseIfWanGen 1 }


--Ethernet Interface


ethIfEvents OBJECT IDENTIFIER  ::= {ethIf 0}              -- Notifications


ethIfTable OBJECT-TYPE
      SYNTAX SEQUENCE OF EthIfEntry
      MAX-ACCESS not-accessible
      STATUS current
    DESCRIPTION  "A table."
    ::=  { ethIf 1}

ethIfEntry OBJECT-TYPE
      SYNTAX EthIfEntry
      MAX-ACCESS not-accessible
      STATUS current
    DESCRIPTION  "An entry in table."
    INDEX {ethIfIdx}
      ::= {ethIfTable 1}

EthIfEntry ::= SEQUENCE {
    ethIfIdx                Integer32,
    ethMode                 INTEGER,
    ethBridgingMode         INTEGER,
    ethEncapsulationCRCMode INTEGER,
    ethBackPressure         INTEGER,
    ethLimit4               INTEGER,
    ethSkipInitReset        INTEGER,
    ethMulticastBlock       INTEGER,
    ethBroadcastBlock       INTEGER,
    ethSpeed                INTEGER,
    ethRip2                 INTEGER,
    ethPortPriority         INTEGER,
    ethPortMngEnable        INTEGER,
    ethFlowCtrlMacAddress   MacAddress,
    ethRateLimit            Integer32,
    ethJumboFrameEnable     INTEGER,
    ethAutoMdiXEnable       INTEGER,
    ethPortDataEnable       INTEGER,
    ethIfUse                Integer32,
    ethLineOam              INTEGER,
    ethRoutingProtocol      INTEGER,
    ethMdiXManualSwitch     INTEGER,
    ethDot1xEnable          INTEGER,
    ethPartnerRateMode      INTEGER,
    ethDot1xPortRole        INTEGER,
    ethDhcpRequest          INTEGER,
    ethSfpCapabilities      BITS 
 }

ethIfIdx     OBJECT-TYPE
      SYNTAX  Integer32
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
      "A unique index of the ethernet interface/port."
      ::=  {ethIfEntry 1}

ethMode    OBJECT-TYPE
      SYNTAX  INTEGER
      {
      halfDuplex  (1),
      fullDuplex  (2),
	  notApplicable(255)
      }
      MAX-ACCESS  read-write
      STATUS  current
      DESCRIPTION
      "This object indicates the Ethernet mode of operation."
      ::=  {ethIfEntry 2}

ethBridgingMode  OBJECT-TYPE
      SYNTAX  INTEGER
      {
      filtered    (1),
      transparent (2)
      }
      MAX-ACCESS  read-write
      STATUS  current
      DESCRIPTION
      "This object indicates the bridging mode of the Ethernet
       interface. "
      ::=  {ethIfEntry 3}

ethEncapsulationCRCMode  OBJECT-TYPE
      SYNTAX  INTEGER
      {
	   notApplicable (1),
	   withCRC	    (2),
	   withoutCRC	(3)
      }
      MAX-ACCESS  read-write
      STATUS  current
      DESCRIPTION
       "This object define the encapsulation type requested for the
		Ethernet interface. It indicates if we transfer the Ethernet
		frame to the other side with or without the CRC. "
      ::=  {ethIfEntry 4}

ethBackPressure  OBJECT-TYPE
      SYNTAX  INTEGER
      {
	   notApplicable (1),
	   disable	    (2),
	   enable		(3)
      }
      MAX-ACCESS  read-write
      STATUS  current
      DESCRIPTION
      "This parameter defines whether to enable or disable Back pressure.
       Back Pressure is a flow control parameter. "
      ::=  {ethIfEntry 5}
      
ethLimit4  OBJECT-TYPE
      SYNTAX  INTEGER
      {
			  notApplicable (1),
			  disable	    (2),
			  enable		(3)
      }
      MAX-ACCESS  read-write
      STATUS  current
      DESCRIPTION
       "This parameter determine the Back off algorithm mode.
        Every 4 following collisions the Framer will be thrown out
        (4 times more than usuall)."
      ::=  {ethIfEntry 6}
      
ethSkipInitReset  OBJECT-TYPE
      SYNTAX  INTEGER
      {
	   notApplicable (1),
	   notSkip	    (2),
	   skip			(3)
      }
      MAX-ACCESS  read-write
      STATUS  current
      DESCRIPTION
       "This parameter defines whether read status on reset. "
      ::=  {ethIfEntry 7}
      
ethMulticastBlock  OBJECT-TYPE
      SYNTAX  INTEGER
      {
	   notApplicable (1),
	   unBlock	    (2),
	   block			(3)
      }
      MAX-ACCESS  read-write
      STATUS  current
      DESCRIPTION
       "This parameter defines whether to send multicast message to WAN from LAN or not. "
      ::=  {ethIfEntry 8}

ethBroadcastBlock  OBJECT-TYPE
      SYNTAX  INTEGER
      {
	   notApplicable (1),
	   unBlock	    (2),
	   block			(3)
      }
      MAX-ACCESS  read-write
      STATUS  current
      DESCRIPTION
       "This parameter defines whether to send broadcast message to WAN from LAN or not."
      ::=  {ethIfEntry 9}

ethSpeed  OBJECT-TYPE
      SYNTAX  INTEGER
      {
	   notApplicable (1),
	   s10Mbps	    (2),
	   s100Mbps		(3),
	   s1Gbps		(4)
      }
      MAX-ACCESS  read-write
      STATUS  current
      DESCRIPTION
       "This parameter defines the line speed."
      ::=  {ethIfEntry 10}

ethRip2  OBJECT-TYPE
      SYNTAX  INTEGER
      {
	   notApplicable (1),
	   no    	    (2),
       yes           (3)
      }
      MAX-ACCESS  read-write
      STATUS  current
      DESCRIPTION
       "This parameter defines whether to send RIP II  message 
        to WAN from LAN or not"
      ::=  {ethIfEntry 11}

ethPortPriority  OBJECT-TYPE
      SYNTAX  INTEGER
      {
      notApplicable (1),
      none    	    (2),
      fixed         (3)
      }
      MAX-ACCESS  read-write
      STATUS  current
      DESCRIPTION
       "This parameter defines if priority is to   
        be considered for this Port."
      ::=  {ethIfEntry 12}

ethPortMngEnable  OBJECT-TYPE
      SYNTAX  INTEGER
      {
      notApplicable (1),
      no            (2),
      yes           (3),
      localOnly     (4)
      }
      MAX-ACCESS  read-write
      STATUS  current
      DESCRIPTION
       "This parameter defines whether management data can pass through this Port.
        localOnly (4) - Only local device can be managed via this port."
      ::=  {ethIfEntry 13}

ethFlowCtrlMacAddress OBJECT-TYPE
      SYNTAX  MacAddress 
      MAX-ACCESS  read-write
      STATUS  current
      DESCRIPTION
      "In case of flow control - transmit frame with this specific MAC address
       to inform the other end to stop sending frames.
       Default: 01.80.C2.00.00.01."     
      ::= {ethIfEntry 14}

ethRateLimit  OBJECT-TYPE
      SYNTAX  Integer32
      MAX-ACCESS  read-write
      STATUS  current
      DESCRIPTION
       "This parameter defines the Rate Limit of the line, in Mbps."
      ::=  {ethIfEntry 15}

ethJumboFrameEnable  OBJECT-TYPE
      SYNTAX  INTEGER
      {
       notApplicable (1),
       no            (2),
       yes           (3)
      }
      MAX-ACCESS  read-write
      STATUS  current
      DESCRIPTION
       "This parameter defines whether to support Jumbo Frame or not."
      ::=  {ethIfEntry 16}

ethAutoMdiXEnable  OBJECT-TYPE
      SYNTAX  INTEGER
      {
	   notApplicable (1),
	   no    	     (2),
       yes           (3)
      }
      MAX-ACCESS  read-write
      STATUS  current
      DESCRIPTION
       "This parameter defines whether to support 
       automatic change between MDI and MDI[X]."
      ::=  {ethIfEntry 17}

ethPortDataEnable  OBJECT-TYPE
      SYNTAX  INTEGER
      {
      notApplicable	(1),
      no			(2),
      yes			(3)
      }
      MAX-ACCESS  read-write
      STATUS  current
      DESCRIPTION
       "This parameter defines whether this port is enabled
        for data (that is not management).
        no(2)	- management can run on this port
        yes(3)	- both management and payload data can run on this port."
      ::=  {ethIfEntry 18}

ethIfUse  OBJECT-TYPE
      SYNTAX  Integer32
      MAX-ACCESS  read-write
      STATUS  current
      DESCRIPTION
       "This parameter defines the use of the port.
        1=NET
        2=USER ."
      ::=  {ethIfEntry 19}

ethLineOam  OBJECT-TYPE
      SYNTAX  INTEGER
      {
	   disable (2),
       passive (3)
      }
      MAX-ACCESS  read-write
      STATUS  current
      DESCRIPTION
       "This parameter defines the working mode of 802.AH OAM mechanism."
      ::=  {ethIfEntry 20}

ethRoutingProtocol  OBJECT-TYPE
      SYNTAX  INTEGER
      {
       notApplicable (1),
       none          (2),
       proprietary   (3),
       rip2          (4),
       rip1and2      (6)
      }
      MAX-ACCESS  read-write
      STATUS  current
      DESCRIPTION
       "This parameter defines the routing protocol 
        used above ETH port."
      ::=  {ethIfEntry 21}

ethMdiXManualSwitch  OBJECT-TYPE
      SYNTAX  INTEGER
      {
       crossOver       (1),
       straightThrough (2)
      }
      MAX-ACCESS  read-write
      STATUS  current
      DESCRIPTION
       "This parameter sets the port to be MDI-X (cross-over) or
       MDI (straight-through).  
       It is applicable only when ethAutoMdiXEnable = no, namely,
       only when the automatic MDI/MDIX crossover function is disabled."
      ::=  {ethIfEntry 22}

ethDot1xEnable    OBJECT-TYPE
      SYNTAX        INTEGER
	  {
	     notApplicable (1),
         no            (2),
         yes           (3)
      }
      MAX-ACCESS  read-write
      STATUS  current
      DESCRIPTION
      "Determines if the Port-Based Network Access Protocol
       (IEEE-802.1x) is enabled for the Ethernet Port."
      ::=  {ethIfEntry 23}

ethPartnerRateMode OBJECT-TYPE
     SYNTAX  INTEGER 
     {
  	    manual     (1),
	    automatic  (2)
     } 
     MAX-ACCESS  read-write
     STATUS  current
     DESCRIPTION
     "For converters having couples of ports, where each couple contains 
      a port with an SFP connector and a port with a RJ connector, this 
      parameter is relevant for the SFP port. It affects Rate configuration
	  of its partner (RJ port).
      manual - user can configure manually ETH parameters of RJ port (e.g 
	           Autonegotiation, Max Capability Advertised, etc...)
	  automatic - SFP Rate will be enforced on the RJ port. In this mode,
	           user cannot configure the Rate related parameters of the
	           RJ port (e.g Autonegotiation, Max Capability Advertised, etc...)"
     ::=  {ethIfEntry 24}

ethDot1xPortRole    OBJECT-TYPE
     SYNTAX  INTEGER 
     {
  	      authenticator  (1),
	      supplicant     (2)
     } 
     MAX-ACCESS  read-write
     STATUS  current
     DESCRIPTION
     "Determine the functionality of the port in 
        the Port-Based Network Access Protocol (IEEE-802.1x) - 
        either Authenticator or Supplicant."
     ::=  {ethIfEntry 25}

ethDhcpRequest    OBJECT-TYPE
     SYNTAX  INTEGER
     {
          never   (1),
          normal  (2),
          whenUp  (3)
     }
     MAX-ACCESS  read-write
     STATUS  current
     DESCRIPTION
     "Determine the interface request for DHCP address after it goes up.
      never   - DHCP requests will never be sent to the interface.
      normal  - DHCP requests will be sent only if the device does not have an
                address yet or if the address is going to expire
      when-up - in addition to 'normal', DHCP requests will be sent whenever
                the interface goes up. "
     ::=  {ethIfEntry 26}

ethSfpCapabilities    OBJECT-TYPE
     SYNTAX  BITS
     {
       speed10MFullAutoNegDisabled   (0),
       speed10MHalfAutoNegDisabled   (1),
       speed100MFullAutoNegDisabled  (2),
       speed100MHalfAutoNegDisabled  (3),
       speed1GFullAutoNegDisabled    (4),
       speed10GFullAutoNegDisabled   (5),
       autoNegConfigurable           (6),
       speed10MFullAutoNegEnabled    (7),
       speed10MHalfAutoNegEnabled    (8),
       speed100MFullAutoNegEnabled   (9),
       speed100MHalfAutoNegEnabled   (10),
       speed1GFullAutoNegEnabled     (11),
       speed10GFullAutoNegEnabled    (12),
       maxCapabilitiesAdvertised     (13),
       flowControlSupport            (14),
       sfpOpticInterface             (15)
    }
     MAX-ACCESS  read-only
     STATUS  current
     DESCRIPTION
     "For each bit: '1' means that this attribute is supported.
      Bits 0-5 are relevant when Auto Negotiation = Disabled.
      'Full' means Full Duplex; 'Half' means Half Duplex.
      When maxCapabilitiesAdvertised = '0', no speed is configurable.
      sfpOpticInterface = '1' means that the interface is Optic;
      '0' means that the interface is Electric."
     ::=  {ethIfEntry 27}     
     
     
--****************************
-- Ethernet Perfomance Section
--****************************
ethIfPerformance OBJECT IDENTIFIER ::= {ethIf 2}

ethIfCurrentTable OBJECT-TYPE
      SYNTAX SEQUENCE OF EthIfCurrentEntry
      MAX-ACCESS not-accessible
      STATUS current
	DESCRIPTION
         "The Ethernet Current table.
          When the index specifies the Ethernet interface (only), the counters
          are for an interval of 15 minutes."
	  ::=  { ethIfPerformance 1}

ethIfCurrentEntry OBJECT-TYPE
      SYNTAX EthIfCurrentEntry
      MAX-ACCESS not-accessible
      STATUS current
	DESCRIPTION
         "An entry in the Ethernet Current table."
	INDEX {ethIfCurrentIndex}
      ::= {ethIfCurrentTable 1}

EthIfCurrentEntry ::=
      SEQUENCE {
      ethIfCurrentIndex
           Integer32,
	  ethIfCurrentStatus
	       OCTET STRING,
      ethIfCurrentInFrames
      	   Gauge32,
      ethIfCurrentInOctets
      	   Gauge32,
      ethIfCurrentAlignmentErrors
      	   Gauge32,
      ethIfCurrentFCSErrors
      	   Gauge32,
      ethIfCurrentLengthError
      	   Gauge32,
      ethIfCurrentOutFrames
      	   Gauge32,
      ethIfCurrentOutOctets
      	   Gauge32,
      ethIfCurrentSingleCollisionFrames
      	   Gauge32,
      ethIfCurrentMultipleCollisionFrames
           Gauge32,
      ethIfCurrentDeferredTransmissions
      	   Gauge32,
      ethIfCurrentLateCollisions
      	   Gauge32,
      ethIfCurrentCarrierSenseErrors
      	   Gauge32,
	  ethIfCurrentInputCongestionDropped
      	   Gauge32,
	  ethIfCurrentOutputCongestionDropped
      	   Gauge32,
      ethIfCurrentOverflowInFrames
      	   Gauge32,
      ethIfCurrentOverflowInOctets
      	   Gauge32,
      ethIfCurrentOverflowFCSErrors
      	   Gauge32,
      ethIfCurrentOverflowOutFrames
      	   Gauge32,
      ethIfCurrentOverflowOutOctets
      	   Gauge32,
      ethIfCurrentOverflowMultipleCollisionFrames
      	   Gauge32,
      ethIfCurrentInUnicastFrames
      	   Gauge32,
      ethIfCurrentOutUnicastFrames
      	   Gauge32,
      ethIfCurrentInMulticastFrames
      	   Gauge32,
      ethIfCurrentOutMulticastFrames
      	   Gauge32,
      ethIfCurrentInBroadcastFrames
      	   Gauge32,
      ethIfCurrentOutBroadcastFrames
      	   Gauge32,
      ethIfCurrentInDiscardFrames
      	   Gauge32,
      ethIfCurrentOutDiscardFrames
      	   Gauge32,
      ethIfCurrentInPauseFrames
      	   Gauge32,
      ethIfCurrentOutPauseFrames
      	   Gauge32,
      ethIfCurrentOverflowInUnicastFrames
      	   Gauge32,
      ethIfCurrentOverflowOutUnicastFrames
      	   Gauge32,
      ethIfCurrentOverflowInMulticastFrames
      	   Gauge32,
      ethIfCurrentOverflowOutMulticastFrames
      	   Gauge32,
      ethIfCurrentOverflowInBroadcastFrames
      	   Gauge32,
      ethIfCurrentOverflowOutBroadcastFrames
      	   Gauge32,
      ethIfCurrentOverflowInDiscardFrames
      	   Gauge32,
      ethIfCurrentOverflowOutDiscardFrames
      	   Gauge32,
      ethIfCurrentOverflowInPauseFrames
      	   Gauge32,
      ethIfCurrentOverflowOutPauseFrames
      	   Gauge32
     }

ethIfCurrentIndex OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
        "The index of the Ethernet interface. 
         It may be ifIndex.
         For some devices (e.g RICi-622GE), supporting several types of 
         intervals, this index will be a concatenation of the port index 
         and interval type.
	 	 Interval type can indicate: 1 minute, 15 minutes, 1 hour, 24 hours.
         For the exact formula, see device specification."
     ::= { ethIfCurrentEntry 1 }

ethIfCurrentStatus OBJECT-TYPE
	 SYNTAX OCTET STRING  (SIZE (4))
     MAX-ACCESS  read-only
     STATUS  current
     DESCRIPTION
      "The status of the current interval:
         0 - Valid.
         1 - redundantLinkSwitch - the link has been switched 
             by a redundancy mechanism.
         2 - discontinuity - module was partialy out.
         4 - notValid - module is out."
      ::= { ethIfCurrentEntry 2 }

ethIfCurrentInFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The counter associated with the number of received frames, 
	  encountered by the Ethernet interface in the current interval."
      ::= { ethIfCurrentEntry 3 }

ethIfCurrentInOctets OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The counter associated with the number of received octets, 
	  encountered by the Ethernet interface in the current interval."
      ::= { ethIfCurrentEntry 4 }

ethIfCurrentAlignmentErrors OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The counter associated with the number of received frames, 
	  which are not complete (The result of dividing the number 
	  of bits by 8 is not an Integer), encountered by the Ethernet 
	  interface in the current interval."
      ::= { ethIfCurrentEntry 5 }

ethIfCurrentFCSErrors OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The counter associated with the number of received frames 
	  that didn't pass the FCS test, encountered by the Ethernet 
	  interface in the current interval."
      ::= { ethIfCurrentEntry 6 }

ethIfCurrentLengthError OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The counter associated with the number of received frames 
	  with length error, encountered by the Ethernet interface in 
	  the current interval."
      ::= { ethIfCurrentEntry 7 }

ethIfCurrentOutFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The counter associated with the number of transmitted frames, 
	  encountered by the Ethernet interface in the current interval."
      ::= { ethIfCurrentEntry 8 }

ethIfCurrentOutOctets OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The counter associated with the number of transmitted octets, 
	  encountered by the Ethernet interface in the current interval."
      ::= { ethIfCurrentEntry 9 }

ethIfCurrentSingleCollisionFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The counter associated with the number of successfully
	  transmitted frames for which transmission was inhibited by
	  exactly one collision, encountered by the Ethernet interface 
	  in the current interval."
      ::= { ethIfCurrentEntry 10 }

ethIfCurrentMultipleCollisionFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The counter associated with the number of successfully
	  transmitted frames for which transmission was inhibited by
	  more than one collision, encountered by the Ethernet interface 
	  in the current interval."
      ::= { ethIfCurrentEntry 11 }

ethIfCurrentDeferredTransmissions OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The counter associated with the number of transmitted frames 
	  for which the first transmission attempt was delayed due to a 
	  busy media, encountered by the Ethernet interface in the 
	  current interval."
      ::= { ethIfCurrentEntry 12 }

ethIfCurrentLateCollisions OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The counter associated with the number of times that a 
	  collision was detected later than the first 64 bytes of the 
	  frame, encountered by the Ethernet interface in the current 
	  interval."
      ::= { ethIfCurrentEntry 13 }

ethIfCurrentCarrierSenseErrors OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The counter associated with the number of times that the 
	  carrier sense condition was lost or never asserted when 
	  attempting to transmit a frame, encountered by the Ethernet 
	  interface in the current interval."
      ::= { ethIfCurrentEntry 14 }

ethIfCurrentInputCongestionDropped OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The counter associated with the number of frames dropped 
	  due to lack of buffers in ingress pool, encountered by 
	  the Ethernet interface in the current interval."
      ::= { ethIfCurrentEntry 15 }

ethIfCurrentOutputCongestionDropped OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The counter associated with the number of dropped frames 
	  due to a congestion, encountered by the Transmit direction 
	  to the Ethernet interface in the current interval."
      ::= { ethIfCurrentEntry 16 }

ethIfCurrentOverflowInFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
      "The number of times the associated ethIfCurrentInFrames
       counter has overflowed in the current interval."
      ::= { ethIfCurrentEntry 17 }

ethIfCurrentOverflowInOctets OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
      "The number of times the associated ethIfCurrentInOctets
       counter has overflowed in the current interval."
      ::= { ethIfCurrentEntry 18 }

ethIfCurrentOverflowFCSErrors OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
      "The number of times the associated ethIfCurrentFCSErrors
       counter has overflowed in the current interval."
      ::= { ethIfCurrentEntry 19 }

ethIfCurrentOverflowOutFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
      "The number of times the associated ethIfCurrentOutFrames
       counter has overflowed in the current interval."
      ::= { ethIfCurrentEntry 20 }

ethIfCurrentOverflowOutOctets OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
      "The number of times the associated ethIfCurrentOutOctets
       counter has overflowed in the current interval."
      ::= { ethIfCurrentEntry 21 }

ethIfCurrentOverflowMultipleCollisionFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The number of times the associated ethIfCurrentMultipleCollisionFrames
       counter has overflowed in the current interval."
      ::= { ethIfCurrentEntry 22 }

ethIfCurrentInUnicastFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The number of received Unicast frames, encountered by the 
	   Ethernet interface in the current interval."
      ::= { ethIfCurrentEntry 23 }

ethIfCurrentOutUnicastFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The number of transmitted Unicast frames, encountered by the 
	   Ethernet interface in the current interval."
      ::= { ethIfCurrentEntry 24 }

ethIfCurrentInMulticastFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The number of received Multicast frames, encountered by the 
	   Ethernet interface in the current interval."
      ::= { ethIfCurrentEntry 25 }

ethIfCurrentOutMulticastFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The number of transmitted Multicast frames, encountered by the 
	   Ethernet interface in the current interval."
      ::= { ethIfCurrentEntry 26 }

ethIfCurrentInBroadcastFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The number of received Broadcast frames, encountered by the 
	   Ethernet interface in the current interval."
      ::= { ethIfCurrentEntry 27 }

ethIfCurrentOutBroadcastFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The number of transmitted Broadcast frames, encountered by the 
	   Ethernet interface in the current interval."
      ::= { ethIfCurrentEntry 28 }

ethIfCurrentInDiscardFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The number of received Discarded frames, encountered by the 
	   Ethernet interface in the current interval."
      ::= { ethIfCurrentEntry 29 }

ethIfCurrentOutDiscardFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The number of transmitted Discarded frames, encountered by the 
	   Ethernet interface in the current interval."
      ::= { ethIfCurrentEntry 30 }

ethIfCurrentInPauseFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The number of received Pause frames, encountered by the 
	   Ethernet interface in the current interval."
      ::= { ethIfCurrentEntry 31 }

ethIfCurrentOutPauseFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The number of transmitted Pause frames, encountered by the 
	   Ethernet interface in the current interval."
      ::= { ethIfCurrentEntry 32 }

ethIfCurrentOverflowInUnicastFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The number of times the associated ethIfCurrentInUnicastFrames
       counter has overflowed in the current interval."
      ::= { ethIfCurrentEntry 33 }

ethIfCurrentOverflowOutUnicastFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The number of times the associated ethIfCurrentOutUnicastFrames
       counter has overflowed in the current interval."
      ::= { ethIfCurrentEntry 34 }

ethIfCurrentOverflowInMulticastFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The number of times the associated ethIfCurrentInMulticastFrames
       counter has overflowed in the current interval."
      ::= { ethIfCurrentEntry 35 }

ethIfCurrentOverflowOutMulticastFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The number of times the associated ethIfCurrentOutMulticastFrames
       counter has overflowed in the current interval."
      ::= { ethIfCurrentEntry 36 }

ethIfCurrentOverflowInBroadcastFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The number of times the associated ethIfCurrentInBroadcastFrames
       counter has overflowed in the current interval."
      ::= { ethIfCurrentEntry 37 }

ethIfCurrentOverflowOutBroadcastFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The number of times the associated ethIfCurrentOutBroadcastFrames
       counter has overflowed in the current interval."
      ::= { ethIfCurrentEntry 38 }

ethIfCurrentOverflowInDiscardFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The number of times the associated ethIfCurrentInDiscardFrames
       counter has overflowed in the current interval."
      ::= { ethIfCurrentEntry 39 }

ethIfCurrentOverflowOutDiscardFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The number of times the associated ethIfCurrentOutDiscardFrames
       counter has overflowed in the current interval."
      ::= { ethIfCurrentEntry 40 }

ethIfCurrentOverflowInPauseFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The number of times the associated ethIfCurrentInPauseFrames
       counter has overflowed in the current interval."
      ::= { ethIfCurrentEntry 41 }

ethIfCurrentOverflowOutPauseFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The number of times the associated ethIfCurrentOutPauseFrames
       counter has overflowed in the current interval."
      ::= { ethIfCurrentEntry 42 }
      
--Interval Table

ethIfIntervalTable OBJECT-TYPE
      SYNTAX SEQUENCE OF EthIfIntervalEntry
      MAX-ACCESS not-accessible
      STATUS current
	DESCRIPTION
         "The Ethernet Interval table.
          When ethIfIntervalIndex specifies the Ethernet interface (only), 
          the counters are for an interval of 15 minutes."
	  ::=  { ethIfPerformance 2 }

ethIfIntervalEntry OBJECT-TYPE
      SYNTAX EthIfIntervalEntry
      MAX-ACCESS not-accessible
      STATUS current
	DESCRIPTION
         "An entry in the Ethernet Interval table."
    INDEX { ethIfIntervalIndex, ethIfIntervalNumber }
      ::= {ethIfIntervalTable 1}

EthIfIntervalEntry ::=
      SEQUENCE {
      ethIfIntervalIndex
           Integer32,
      ethIfIntervalNumber
           Integer32,
	  ethIfIntervalStatus
	       OCTET STRING,
      ethIfIntervalInFrames
      	   Gauge32,
      ethIfIntervalInOctets
      	   Gauge32,
      ethIfIntervalAlignmentErrors
      	   Gauge32,
      ethIfIntervalFCSErrors
      	   Gauge32,
      ethIfIntervalLengthError
      	   Gauge32,
      ethIfIntervalOutFrames
      	   Gauge32,
      ethIfIntervalOutOctets
      	   Gauge32,
      ethIfIntervalSingleCollisionFrames
      	   Gauge32,
      ethIfIntervalMultipleCollisionFrames
           Gauge32,
      ethIfIntervalDeferredTransmissions
      	   Gauge32,
      ethIfIntervalLateCollisions
      	   Gauge32,
      ethIfIntervalCarrierSenseErrors
      	   Gauge32,
	  ethIfIntervalInputCongestionDropped
		   Gauge32,
	  ethIfIntervalOutputCongestionDropped
		   Gauge32,
      ethIfIntervalOverflowInFrames
      	   Gauge32,
      ethIfIntervalOverflowInOctets
      	   Gauge32,
      ethIfIntervalOverflowFCSErrors
      	   Gauge32,
      ethIfIntervalOverflowOutFrames
      	   Gauge32,
      ethIfIntervalOverflowOutOctets
      	   Gauge32,
      ethIfIntervalOverflowMultipleCollisionFrames
      	   Gauge32,
      ethIfIntervalInUnicastFrames
      	   Gauge32,
      ethIfIntervalOutUnicastFrames
      	   Gauge32,
      ethIfIntervalInMulticastFrames
      	   Gauge32,
      ethIfIntervalOutMulticastFrames
      	   Gauge32,
      ethIfIntervalInBroadcastFrames
      	   Gauge32,
      ethIfIntervalOutBroadcastFrames
      	   Gauge32,
      ethIfIntervalInDiscardFrames
      	   Gauge32,
      ethIfIntervalOutDiscardFrames
      	   Gauge32,
      ethIfIntervalInPauseFrames
      	   Gauge32,
      ethIfIntervalOutPauseFrames
      	   Gauge32,
      ethIfIntervalOverflowInUnicastFrames
      	   Gauge32,
      ethIfIntervalOverflowOutUnicastFrames
      	   Gauge32,
      ethIfIntervalOverflowInMulticastFrames
      	   Gauge32,
      ethIfIntervalOverflowOutMulticastFrames
      	   Gauge32,
      ethIfIntervalOverflowInBroadcastFrames
      	   Gauge32,
      ethIfIntervalOverflowOutBroadcastFrames
      	   Gauge32,
      ethIfIntervalOverflowInDiscardFrames
      	   Gauge32,
      ethIfIntervalOverflowOutDiscardFrames
      	   Gauge32,
      ethIfIntervalOverflowInPauseFrames
      	   Gauge32,
      ethIfIntervalOverflowOutPauseFrames
      	   Gauge32
      }

ethIfIntervalIndex OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The index of the Ethernet interface. 
        It may be ifIndex.
        For some devices (e.g RICi-622GE), supporting several types of 
        intervals, this index will be a concatenation of the port index and 
        interval type.
		Interval type can indicate: 1 minute, 15 minutes, 1 hour, 24 hours.
        For the exact formula, see device specification."
    ::= { ethIfIntervalEntry 1 }

ethIfIntervalNumber OBJECT-TYPE
    SYNTAX  Integer32 (1..200)
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The Interval Number. This number is between 1 and x, where 1 is the 
         most recently completed interval and x is the least recently 
         completed interval.
         For 15 minute intervals, usually x=96, but it can be different,
         depending on device capabilities."
    ::= { ethIfIntervalEntry 2 }

ethIfIntervalStatus OBJECT-TYPE
	 SYNTAX OCTET STRING  (SIZE (4))
     MAX-ACCESS  read-only
     STATUS  current
     DESCRIPTION
      "The status of the interval:
         0 - Valid.
         1 - redundantLinkSwitch - the link has been switched 
             by a redundancy mechanism.
         2 - discontinuity - module was partialy out.
         4 - notValid - module is out."
      ::= { ethIfIntervalEntry 3 }

ethIfIntervalInFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The counter associated with the number of received frames, 
	  encountered by the Ethernet interface in the interval."
      ::= { ethIfIntervalEntry 4 }

ethIfIntervalInOctets OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The counter associated with the number of received octets, 
	  encountered by the Ethernet interface in the interval."
      ::= { ethIfIntervalEntry 5 }

ethIfIntervalAlignmentErrors OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The counter associated with the number of received frames, 
	  which are not complete (The result of dividing the number 
	  of bits by 8 is not an Integer), encountered by the Ethernet 
	  interface in the interval."
      ::= { ethIfIntervalEntry 6 }

ethIfIntervalFCSErrors OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The counter associated with the number of received frames 
	  that didn't pass the FCS test, encountered by the Ethernet 
	  interface in the interval."
      ::= { ethIfIntervalEntry 7 }

ethIfIntervalLengthError OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The counter associated with the number of received frames 
	  with length error, encountered by the Ethernet interface in 
	  the interval."
      ::= { ethIfIntervalEntry 8 }

ethIfIntervalOutFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The counter associated with the number of transmitted frames, 
	  encountered by the Ethernet interface in the interval."
      ::= { ethIfIntervalEntry 9 }

ethIfIntervalOutOctets OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The counter associated with the number of transmitted octets, 
	  encountered by the Ethernet interface in the interval."
      ::= { ethIfIntervalEntry 10 }

ethIfIntervalSingleCollisionFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The counter associated with the number of successfully
	  transmitted frames for which transmission was inhibited by
	  exactly one collision, encountered by the Ethernet 
	  interface in the interval."
      ::= { ethIfIntervalEntry 11 }

ethIfIntervalMultipleCollisionFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The counter associated with the number of successfully
	  transmitted frames for which transmission was inhibited by
	  more than one collision, encountered by the Ethernet 
	  interface in the interval."
      ::= { ethIfIntervalEntry 12 }

ethIfIntervalDeferredTransmissions OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The counter associated with the number of transmitted frames 
	  for which the first transmission attempt was delayed due to a 
	  busy media, encountered by the Ethernet interface in the interval."
      ::= { ethIfIntervalEntry 13 }

ethIfIntervalLateCollisions OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The counter associated with the number of times that a 
	  collision was detected later than the first 64 bytes of the 
	  frame, encountered by the Ethernet interface in the interval."
      ::= { ethIfIntervalEntry 14 }

ethIfIntervalCarrierSenseErrors OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The counter associated with the number of times that the 
	  carrier sense condition was lost or never asserted when 
	  attempting to transmit a frame, encountered by the Ethernet 
	  interface in the interval."
      ::= { ethIfIntervalEntry 15 }

ethIfIntervalInputCongestionDropped OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The counter associated with the number of dropped frames 
	  due to a congestion, encountered by the Receive direction 
	  to the Ethernet interface in the interval."
	  ::= { ethIfIntervalEntry 16 }

ethIfIntervalOutputCongestionDropped OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The counter associated with the number of dropped frames 
	  due to a congestion, encountered by the Transmit direction 
	  to the Ethernet interface in the interval."
      ::= { ethIfIntervalEntry 17 }

ethIfIntervalOverflowInFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
      "The number of times the associated ethIfIntervalInFrames
       counter has overflowed in the interval."
      ::= { ethIfIntervalEntry 18 }

ethIfIntervalOverflowInOctets OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
      "The number of times the associated ethIfIntervalInOctets
       counter has overflowed in the interval."
      ::= { ethIfIntervalEntry 19 }

ethIfIntervalOverflowFCSErrors OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
      "The number of times the associated ethIfIntervalFCSErrors
       counter has overflowed in the interval."
      ::= { ethIfIntervalEntry 20 }

ethIfIntervalOverflowOutFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
      "The number of times the associated ethIfIntervalOutFrames
       counter has overflowed in the interval."
      ::= { ethIfIntervalEntry 21 }

ethIfIntervalOverflowOutOctets OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
      "The number of times the associated ethIfIntervalOutOctets
       counter has overflowed in the interval."
      ::= { ethIfIntervalEntry 22 }

ethIfIntervalOverflowMultipleCollisionFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
      "The number of times the associated ethIfIntervalMultipleCollisionFrames
       counter has overflowed in the interval."
      ::= { ethIfIntervalEntry 23 }

ethIfIntervalInUnicastFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The number of received Unicast frames, encountered by the 
	   Ethernet interface in the interval."
      ::= { ethIfIntervalEntry 24 }

ethIfIntervalOutUnicastFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The number of transmitted Unicast frames, encountered by the 
	   Ethernet interface in the interval."
      ::= { ethIfIntervalEntry 25 }

ethIfIntervalInMulticastFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The number of received Multicast frames, encountered by the 
	   Ethernet interface in the interval."
      ::= { ethIfIntervalEntry 26 }

ethIfIntervalOutMulticastFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The number of transmitted Multicast frames, encountered by the 
	   Ethernet interface in the interval."
      ::= { ethIfIntervalEntry 27 }

ethIfIntervalInBroadcastFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The number of received Broadcast frames, encountered by the 
	   Ethernet interface in the interval."
      ::= { ethIfIntervalEntry 28 }

ethIfIntervalOutBroadcastFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The number of transmitted Broadcast frames, encountered by the 
	   Ethernet interface in the interval."
      ::= { ethIfIntervalEntry 29 }

ethIfIntervalInDiscardFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The number of received Discarded frames, encountered by the 
	   Ethernet interface in the interval."
      ::= { ethIfIntervalEntry 30 }

ethIfIntervalOutDiscardFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The number of transmitted Discarded frames, encountered by the 
	   Ethernet interface in the interval."
      ::= { ethIfIntervalEntry 31 }

ethIfIntervalInPauseFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The number of received Pause frames, encountered by the 
	   Ethernet interface in the interval."
      ::= { ethIfIntervalEntry 32 }

ethIfIntervalOutPauseFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The number of transmitted Pause frames, encountered by the 
	   Ethernet interface in the interval."
      ::= { ethIfIntervalEntry 33 }

ethIfIntervalOverflowInUnicastFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The number of times the associated ethIfIntervalInUnicastFrames
       counter has overflowed in the interval."
      ::= { ethIfIntervalEntry 34 }

ethIfIntervalOverflowOutUnicastFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The number of times the associated ethIfIntervalOutUnicastFrames
       counter has overflowed in the interval."
      ::= { ethIfIntervalEntry 35 }

ethIfIntervalOverflowInMulticastFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The number of times the associated ethIfIntervalInMulticastFrames
       counter has overflowed in the interval."
      ::= { ethIfIntervalEntry 36 }

ethIfIntervalOverflowOutMulticastFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The number of times the associated ethIfIntervalOutMulticastFrames
       counter has overflowed in the interval."
      ::= { ethIfIntervalEntry 37 }

ethIfIntervalOverflowInBroadcastFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The number of times the associated ethIfIntervalInBroadcastFrames
       counter has overflowed in the interval."
      ::= { ethIfIntervalEntry 38 }

ethIfIntervalOverflowOutBroadcastFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The number of times the associated ethIfIntervalOutBroadcastFrames
       counter has overflowed in the interval."
      ::= { ethIfIntervalEntry 39 }

ethIfIntervalOverflowInDiscardFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The number of times the associated ethIfIntervalInDiscardFrames
       counter has overflowed in the interval."
      ::= { ethIfIntervalEntry 40 }

ethIfIntervalOverflowOutDiscardFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The number of times the associated ethIfIntervalOutDiscardFrames
       counter has overflowed in the interval."
      ::= { ethIfIntervalEntry 41 }

ethIfIntervalOverflowInPauseFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The number of times the associated ethIfIntervalInPauseFrames
       counter has overflowed in the interval."
      ::= { ethIfIntervalEntry 42 }

ethIfIntervalOverflowOutPauseFrames OBJECT-TYPE
      SYNTAX  Gauge32  
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
	  "The number of times the associated ethIfIntervalOutPauseFrames
       counter has overflowed in the interval."
      ::= { ethIfIntervalEntry 43 }


ethPerformanceMode    OBJECT-TYPE
      SYNTAX  INTEGER
        {
          notApplicable  (1),
          countOK        (2),
          countFail      (3)
     }
      MAX-ACCESS  read-write
      STATUS  current
      DESCRIPTION
      "This object indicates whether OK or Fail statistics will be counted."
      ::=  {ethIfPerformance 3}


ethIfPerfTable OBJECT-TYPE
      SYNTAX SEQUENCE OF EthIfPerfEntry
      MAX-ACCESS not-accessible
      STATUS current
    DESCRIPTION
         "The Ethernet Performance table."
      ::=  { ethIfPerformance 4}

ethIfPerfEntry OBJECT-TYPE
      SYNTAX EthIfPerfEntry
      MAX-ACCESS not-accessible
      STATUS current
    DESCRIPTION
         "An entry in the Ethernet Performance table."
    INDEX {ethIfIdx}
      ::= {ethIfPerfTable 1}

EthIfPerfEntry ::= SEQUENCE {
    ethIfPerfInOkFrames            Gauge32,
    ethIfPerfOutOkFrames            Gauge32,
    ethIfPerfTotalCollisions            Gauge32,
    ethIfPerfInOkOctets            Gauge32 
 }

ethIfPerfInOkFrames OBJECT-TYPE
      SYNTAX  Gauge32
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
      "The counter associated with the number of received OK frames,
      encountered by the Ethernet interface since ethPerformanceMode Set to countOK (2)
      or Reset Statistics was done."
      ::= { ethIfPerfEntry 1 }

ethIfPerfOutOkFrames OBJECT-TYPE
      SYNTAX  Gauge32
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
      "The counter associated with the number of transmitted OK frames,
      encountered by the Ethernet interface since ethPerformanceMode Set to countOK (2)
      or Reset Statistics was done."
      ::= { ethIfPerfEntry 2 }


ethIfPerfTotalCollisions OBJECT-TYPE
      SYNTAX  Gauge32
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
      "The counter associated with the total number of collisions
      of any type encountered by the Ethernet interface since
      ethPerformanceMode Set to countOK (2)  or Reset Statistics was done"
      ::= { ethIfPerfEntry 3 }

ethIfPerfInOkOctets OBJECT-TYPE
      SYNTAX  Gauge32
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
      "The counter associated with the number of received OK Octets,
      encountered by the Ethernet interface since ethPerformanceMode Set to countOK (2)
      or Reset Statistics was done."
      ::= { ethIfPerfEntry 4 }


--****************************************
-- Ethernet Running Statistics Counters
--****************************************

ethIfStatsTable OBJECT-TYPE
    SYNTAX SEQUENCE OF EthIfStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The Ethernet running statistics table. The table contains
            running counters definition.
            For counter reset use prtParamResetStatsCmd OBJECT."
    ::=  { ethIfPerformance 5 }

ethIfStatsEntry OBJECT-TYPE
    SYNTAX EthIfStatsEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
            "An entry in the Ethernet running statistics table."
    INDEX       { ifIndex }
    ::= { ethIfStatsTable 1 }

EthIfStatsEntry ::= SEQUENCE {
    ethIfStatsInOctets                 Counter64,
    ethIfStatsInPkts                   Counter64,
    ethIfStatsInUcastPkts              Counter64,
    ethIfStatsInMulticastPkts          Counter64,
    ethIfStatsInBroadcastPkts          Counter64,
    ethIfStatsInJabberPkts             Counter64,
    ethIfStatsInL2CPDiscardPkts        Counter64,
    ethIfStatsInCFMDiscardPkts         Counter64,
    ethIfStatsInACLDiscardPkts         Counter64,
    ethIfStatsInFCSErrorPkts           Counter64,
    ethIfStatsInMacOverflowPkts        Counter64,
    ethIfStatsInternalMacReceiveErrors Counter64,
    ethIfStatsInUndersizePkts          Counter64,
    ethIfStatsInPkts64Octets           Counter64,
    ethIfStatsInPkts65to127Octets      Counter64,
    ethIfStatsInPkts128to255Octets     Counter64,
    ethIfStatsInPkts256to511Octets     Counter64,
    ethIfStatsInPkts512to1023Octets    Counter64,
    ethIfStatsInPkts1024to1518Octets   Counter64,
    ethIfStatsInPkts1519to2047Octets   Counter64,
    ethIfStatsInPkts1519toMaxOctets    Counter64,
    ethIfStatsInPkts2048toMaxOctets    Counter64,
    ethIfStatsInOversizePkts           Counter64,
    ethIfStatsInErrorPkts              Counter64,
    ethIfStatsOutOctets                Counter64,
    ethIfStatsOutPkts                  Counter64,
    ethIfStatsOutUcastPkts             Counter64,
    ethIfStatsOutMulticastPkts         Counter64,
    ethIfStatsOutBroadcastPkts         Counter64,
    ethIfStatsOutDiscardPkts           Counter64,
    ethIfStatsOutPkts64Octets          Counter64,
    ethIfStatsOutPkts65to127Octets     Counter64,
    ethIfStatsOutPkts128to255Octets    Counter64,
    ethIfStatsOutPkts256to511Octets    Counter64,
    ethIfStatsOutPkts512to1023Octets   Counter64,
    ethIfStatsOutPkts1024to1518Octets  Counter64,
    ethIfStatsOutPkts1519to2047Octets  Counter64,
    ethIfStatsOutPkts2048toMaxOctets   Counter64,
    ethIfStatsOutOversizePkts          Counter64,
    ethIfStatsInUnMappedCosFrames      Counter64,
    ethIfStatsEgressMTUDiscarded       Counter64,
    ethIfStatsLastEgressMTUDiscardingFlow   RowPointer 
 }

ethIfStatsInOctets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The total number of octets received on the interface,
            including framing characters.
            Equivalent standard counter: 2863.ifHCInOctets
            Caption: Total octets received"
    ::= { ethIfStatsEntry 1 }

ethIfStatsInPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The total number of frames (including bad frames,
            broadcast frames, and multicast frames) received.
            Equivalent standard counter: 3273.etherStatsHighCapacityPkts
            Caption: Total frames received"
    ::= { ethIfStatsEntry 2 }

ethIfStatsInUcastPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of received frames, which were not addressed
            to a multicast or broadcast address.
            Equivalent standard counter: 2863.ifHCInUcastPkts
            Caption: Unicast frames received"
    ::= { ethIfStatsEntry 3 }

ethIfStatsInMulticastPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of received frames, which were addressed
            to a multicast address.
            Equivalent standard counter: 2863.ifHCInMulticastPkts
            Caption: Multicast frames received"
    ::= { ethIfStatsEntry 4 }

ethIfStatsInBroadcastPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of received frames, which were addressed
            to a broadcast address.
            Equivalent standard counter: 2863.ifHCInBroadcastPkts
            Caption: Broadcast frames received"
    ::= { ethIfStatsEntry 5 }

ethIfStatsInJabberPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The total number of frames received that were longer than
            the longest permitted packet (excluding framing bits, but
            including FCS octets), and had either a bad Frame Check
            Sequence (FCS) with an integral number of octets (FCS Error)
            or a bad FCS with a non-integral number of octets
            (Alignment Error). The maximal packet length is device
            depended.
            Equivalent standard counter: 2819.etherStatsJabbers
            Caption: Jabber frames received"
    ::= { ethIfStatsEntry 6 }

ethIfStatsInL2CPDiscardPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The total number of discarded L2CP frames received.
            The l2cpStatTable.l2cpStatProtocol object defines list of
            the Layer 2 protocol that is monitored.
            Caption: L2CP RX frames discarded"
    ::= { ethIfStatsEntry 7 }

ethIfStatsInCFMDiscardPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of discarded CFM frames received.
            Caption: CFM RX frames discarded"
    ::= { ethIfStatsEntry 8 }

ethIfStatsInACLDiscardPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of discarded ACL frames received.
            Caption: ACL RX frames discarded"
    ::= { ethIfStatsEntry 9 }

ethIfStatsInFCSErrorPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of frames received that are an integral number
            of octets in length but do not pass the FCS check. This
            count does not include frames received with frame-too-long
            or frame-too-short error.
            Equivalent standard counter: 3635.dot3HCStatsFCSErrors
            Caption: RX frames with bad FCS"
    ::= { ethIfStatsEntry 10 }

ethIfStatsInMacOverflowPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of received packets discarded due to MAC FIFO
            overflow.
            Caption: MAC overload RX frames discarded"
    ::= { ethIfStatsEntry 11 }

ethIfStatsInternalMacReceiveErrors OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of frames received that failed due to an
            internal MAC receive error.
            Equivalent standard counter: 3635.dot3HCStatsInternalMacReceiveErrors
            Caption: MAC receive errors"
    ::= { ethIfStatsEntry 12 }

ethIfStatsInUndersizePkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of frames received that were less than 64 octets
            long (excluding framing bits, but including FCS octets) and
            were otherwise well formed.
            Equivalent standard counter: 2819.etherStatsUndersizePkts
            Caption: Undersize frames received"
    ::= { ethIfStatsEntry 13 }

ethIfStatsInPkts64Octets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The total number of frames (including bad frames) received
            that were 64 bytes in length (excluding framing bits but
            including FCS octets).
            Equivalent standard counter: 3273.etherStatsHighCapacityPkts64Octets
            Caption: 64-octet frames received"
    ::= { ethIfStatsEntry 14 }

ethIfStatsInPkts65to127Octets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The total number of frames (including bad frames) received
            that were between 65 and 127 octets in length (excluding
            framing bits but including FCS octets).
            Equivalent standard counter:
                3273.etherStatsHighCapacityPkts65to127Octets
            Caption: 65-to-127-octet frames received"
    ::= { ethIfStatsEntry 15 }

ethIfStatsInPkts128to255Octets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The total number of frames (including bad frames) received
            that were between 128 and 255 octets in length (excluding
            framing bits but including FCS octets).
            Equivalent standard counter:
                3273.etherStatsHighCapacityPkts128to255Octets
            Caption: 128-to-255-octet frames received"
    ::= { ethIfStatsEntry 16 }

ethIfStatsInPkts256to511Octets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The total number of frames (including bad frames) received
            that were between 256 and 511 octets in length (excluding
            framing bits but including FCS octets).
            Equivalent standard counter:
                3273.etherStatsHighCapacityPkts256to511Octets
            Caption: 256-to-511-octet frames received"
    ::= { ethIfStatsEntry 17 }

ethIfStatsInPkts512to1023Octets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The total number of frames (including bad frames) received
            that were between 511 and 1023 octets in length (excluding
            framing bits but including FCS octets).
            Equivalent standard counter:
                3273.etherStatsHighCapacityPkts512to1023Octets
            Caption: 511-to-1023-octet frames received"
    ::= { ethIfStatsEntry 18 }

ethIfStatsInPkts1024to1518Octets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The total number of frames (including bad frames) received
            that were between 1024 and 1518 octets in length (excluding
            framing bits but including FCS octets).
            Equivalent standard counter:
                3273.etherStatsHighCapacityPkts1024to1518Octets
            Caption: 1024-to-1518-octet frames received"
    ::= { ethIfStatsEntry 19 }

ethIfStatsInPkts1519to2047Octets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The total number of frames (including bad frames) received
            that were between 1519 and 2047 octets in length (excluding
            framing bits but including FCS octets).
            Caption: 1519-to-2047-octet frames received"
    ::= { ethIfStatsEntry 20 }

ethIfStatsInPkts1519toMaxOctets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The total number of frames (including bad frames) received
            that were between 1519 and maximum permitted size in length
            (excluding framing bits but including FCS octets).
            Caption: 1519-to-max-octet frames received"
    ::= { ethIfStatsEntry 21 }

ethIfStatsInPkts2048toMaxOctets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The total number of frames (including bad frames) received
            that were between 2048 and maximum permitted size in length
            (excluding framing bits but including FCS octets).
            Caption: 2048-to-max-octet frames received"
    ::= { ethIfStatsEntry 22 }

ethIfStatsInOversizePkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of frames received that exceed the maximum
            permitted size.
            Equivalent standard counter: 3635.dot3HCStatsFrameTooLongs
            Caption: Oversize frames received"
    ::= { ethIfStatsEntry 23 }

ethIfStatsInErrorPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of frames received that contained errors
            preventing them from being deliverable to a higher-layer
            protocol.
            Equivalent standard counter: 2863.ifInErrors
            Caption: Error frames received"
    ::= { ethIfStatsEntry 24 }

ethIfStatsOutOctets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The total number of octets transmitted out the interface,
            including framing characters.
            Equivalent standard counter: 2863.ifHCOutOctets
            Caption: Total octets transmitted"
    ::= { ethIfStatsEntry 25 }

ethIfStatsOutPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The total number of frames that higher-level protocols
            requested be transmitted, and which were not addressed to a
            multicast or broadcast address at this sub-layer, including
            those that were discarded.
            Caption: Total TX frames"
    ::= { ethIfStatsEntry 26 }

ethIfStatsOutUcastPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of transmitted frames, which were not addressed
            to a multicast or broadcast address.
            Equivalent standard counter: 2863.ifHCOutUcastPkts
            Caption: Unicast frames transmitted"
    ::= { ethIfStatsEntry 27 }

ethIfStatsOutMulticastPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of transmitted frames, which were addressed
            to a multicast address.
            Equivalent standard counter: 2863.ifHCOutMulticastPkts
            Caption: Multicast frames transmitted"
    ::= { ethIfStatsEntry 28 }

ethIfStatsOutBroadcastPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of transmitted frames, which were addressed
            to a broadcast address.
            Equivalent standard counter: 2863.ifHCOutBroadcastPkts
            Caption: Broadcast frames transmitted"
    ::= { ethIfStatsEntry 29 }

ethIfStatsOutDiscardPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of correct frames that higher-level protocols
            requested be transmitted, which were discarded.
            One possible reason for discarding such a packet could be
            port disabled state.
            Equivalent standard counter: 2863.ifOutDiscards
            Caption: TX frames discarded"
    ::= { ethIfStatsEntry 30 }

ethIfStatsOutPkts64Octets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of transmitted frames that were 64 bytes
            in length (excluding framing bits but including FCS octets).
            Caption: 64-octet frames transmitted"
    ::= { ethIfStatsEntry 31 }

ethIfStatsOutPkts65to127Octets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of transmitted frames that were between
            65 and 127 octets in length (excluding framing bits
            but including FCS octets).
            Caption: 65-to-127-octet frames transmitted"
    ::= { ethIfStatsEntry 32 }

ethIfStatsOutPkts128to255Octets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of transmitted frames that were between
            128 and 255 octets in length (excluding framing bits
            but including FCS octets).
            Caption: 128-to-255-octet frames transmitted"
    ::= { ethIfStatsEntry 33 }

ethIfStatsOutPkts256to511Octets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of transmitted frames that were between
            256 and 511 octets in length (excluding framing bits
            but including FCS octets).
            Caption: 256-to-511-octet frames transmitted"
    ::= { ethIfStatsEntry 34 }

ethIfStatsOutPkts512to1023Octets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of transmitted frames that were between
            511 and 1023 octets in length (excluding framing bits
            but including FCS octets).
            Caption: 511-to-1023-octet frames transmitted"
    ::= { ethIfStatsEntry 35 }

ethIfStatsOutPkts1024to1518Octets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of transmitted frames that were between
            1024 and 1518 octets in length (excluding framing bits
            but including FCS octets).
            Caption: 1024-to-1518-octet frames transmitted"
    ::= { ethIfStatsEntry 36 }

ethIfStatsOutPkts1519to2047Octets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of transmitted frames that were between
            1519 and 2047 octets in length (excluding framing bits
            but including FCS octets).
            Caption: 1519-to-2047-octet frames transmitted"
    ::= { ethIfStatsEntry 37 }

ethIfStatsOutPkts2048toMaxOctets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of transmitted frames that were between
            2048 and maximum permitted size in length (excluding
            framing bits but including FCS octets).
            Caption: 2048-to-max-octet frames transmitted"
    ::= { ethIfStatsEntry 38 }

ethIfStatsOutOversizePkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of frames that higher-level protocols requested
            to be transmitted, which exceed the maximum permitted size.
            These frames are discarded.
            Caption: Oversize TX frames"
    ::= { ethIfStatsEntry 39 }

ethIfStatsInUnMappedCosFrames OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of frames received that dropped due to mapping to a cos level
            which is not defined at the flow envelope profile or multicos counter definition.
            Caption: Unmapped CoS frames received"
    ::= { ethIfStatsEntry 40 }
        
ethIfStatsEgressMTUDiscarded OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of transmitted frames which were dropped because they 
            were exceeding the  egress MTU limit configured over the port"
    ::= { ethIfStatsEntry 42 }
     
ethIfStatsLastEgressMTUDiscardingFlow OBJECT-TYPE
    SYNTAX      RowPointer
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Pointer to the last flow on which frames were discarded because 
            they were exceeding the egress MTU limit configured over the port.
            ZeroDotZero is the initial value, returned when MTU was not ever exceeded."
            
    ::= { ethIfStatsEntry 43 }   
    
    

-- ===========================================

-- refer to oamCfm.txt file
-- ==========================================



-- ETH Ring Definition

ethIfRing OBJECT IDENTIFIER ::= { ethIf 4 }

ethIfRingEvents  OBJECT IDENTIFIER ::= { ethIfRing 0 }

ethIfRingTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF EthIfRingEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
    "Ethernet Ring Table."
    ::= { ethIfRing 1 }

ethIfRingEntry OBJECT-TYPE
    SYNTAX  EthIfRingEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
    "An entry in the table."
     INDEX  { ethIfRingIdx }
    ::= { ethIfRingTable 1 }

EthIfRingEntry ::=
    SEQUENCE {
	ethIfRingIdx 		        Unsigned32,
	ethIfRingAdminStatus        INTEGER,
	ethIfRingPorts              PortList,
 	ethIfRingOperStatus         INTEGER,
 	ethIfRingKeepAliveInterval  Unsigned32,
	ethIfRingKeepAliveThresh	Unsigned32,
	ethIfRingKeepAliveVlanId	Unsigned32,
	ethIfRingMultiCastVlanId	Unsigned32,
	ethIfRingRowStatus			INTEGER
	}

ethIfRingIdx OBJECT-TYPE
    SYNTAX      Unsigned32	  
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
     "This object is an Index that can indicate
     Slot, Ring, Cnfg etc., according to the device used.
     When NA, 1 will be used."
    ::= { ethIfRingEntry 1 }

ethIfRingAdminStatus OBJECT-TYPE
     SYNTAX  INTEGER 
	{
       down      (2),
       up  	     (3)
    }
     MAX-ACCESS  read-write
     STATUS  current
     DESCRIPTION
     "This object denotes the Ethernet Ring administrative status."
    ::= { ethIfRingEntry 2 }

ethIfRingPorts  OBJECT-TYPE
    SYNTAX      PortList
	MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
   "The set of ports which are assigned to be ring members.  
    The default value of this object is a string of zeros."
    ::= {ethIfRingEntry 3}
			

ethIfRingOperStatus OBJECT-TYPE
     SYNTAX  INTEGER 
	{
       notApplicable (1),
	   open	         (2),
       close  	     (3)
    }
     MAX-ACCESS  read-only
     STATUS  current
     DESCRIPTION
     "This object indicates the Ethernet Ring operational status."
    ::= { ethIfRingEntry 4 }

ethIfRingKeepAliveInterval   OBJECT-TYPE
     SYNTAX  Unsigned32
     MAX-ACCESS  read-write
     STATUS  current
     DESCRIPTION
     "This parameter indicates the period of time (in msec.) 
     between two consequent Keep Alive messages."
     ::= { ethIfRingEntry 5 }

ethIfRingKeepAliveThresh	 OBJECT-TYPE
     SYNTAX  Unsigned32
     MAX-ACCESS  read-write
     STATUS  current
     DESCRIPTION
     "This parameter indicates the maximum number of 
     missed Keep Alive answer messages acceptable, after which link status will be failed."
     ::= { ethIfRingEntry 6 }

ethIfRingKeepAliveVlanId OBJECT-TYPE
     SYNTAX  Unsigned32 
     MAX-ACCESS  read-write
     STATUS  current
     DESCRIPTION
     "Dedicated VLAN ID for keep alive messages."
     ::= { ethIfRingEntry 7 }

ethIfRingMultiCastVlanId	OBJECT-TYPE
     SYNTAX  	Unsigned32
     MAX-ACCESS  read-write
     STATUS  current
     DESCRIPTION
     "Dedicated VLAN ID for multicast messages."
     ::= { ethIfRingEntry 8 }

ethIfRingRowStatus	  OBJECT-TYPE
     SYNTAX  			INTEGER
	 {
	    active(1),
		createAndGo(4),
        destroy(6)
	 }
	 MAX-ACCESS  read-write
     STATUS  current
     DESCRIPTION
     "Implement creation/deletion of rings in the device."
     ::= { ethIfRingEntry 9 }


--ETH RING NOTIFICATIONS

ethIfRingStatusChange  NOTIFICATION-TYPE
	OBJECTS     {ethIfRingOperStatus}
	STATUS		current
	DESCRIPTION     
	"This trap indicates that the status of the 
	Ethernet Ring has been changed."
     ::= { ethIfRingEvents 1 }


--ERP = Ethernet Ring Protection, according to G.8032

erp  OBJECT IDENTIFIER ::= { ethIfRing 2 }

erpTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF ErpEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
    "Ethernet Ring Protection (ERP) G.8032 Table."
    ::= { erp 1 }

erpEntry OBJECT-TYPE
    SYNTAX  ErpEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
    "An entry in the table."
     INDEX  { erpIdx }
    ::= { erpTable 1 }

ErpEntry ::= SEQUENCE {
    erpIdx              Unsigned32,
    erpRowStatus        RowStatus,
    erpAdminStatus      INTEGER,
    erpNodeState        INTEGER,
    erpBridgeNum        Unsigned32,
    erpEastPort         Integer32,
    erpWestPort         Integer32,
    erpRplPort          INTEGER,
    erpRapsVlanId       Unsigned32,
    erpOamCfmMel        Unsigned32,
    erpWTR              Unsigned32,
    erpWTRStatus        Unsigned32,
    erpGuardTimer       Unsigned32,
    erpHoldoffTimer     Unsigned32,
    erpForceSfCmd       INTEGER,
    erpClearStatistics  BITS,
    erpRapsVlanPriority Unsigned32,
    erpDescr            SnmpAdminString,
    erpRingType         INTEGER,
    erpWTBStatus        Unsigned32,
    erpRevertiveMode    INTEGER,
    erpBackwardCompatibility  TruthValue,
    erpTopologyChangepropogation  INTEGER,
    erpInterconnectionNode  TruthValue,
    erpCommand  INTEGER,
    erpCommandParam     INTEGER,
    erpEastPhyPort      Unsigned32,
    erpWestPhyPort      Unsigned32,
    erpCosMapProfile    Unsigned32,
    erpVirtualChannel   INTEGER,
    erpPassthroughVids  OCTET STRING,
    erpColorMapProfile  Unsigned32,
    erpPassthroughQueueBlockEast  RowPointer,
    erpPassthroughQueueBlockWest  RowPointer 
 }

erpIdx OBJECT-TYPE
    SYNTAX      Unsigned32 (1..4294967295)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
    "This is the unique Ethernet Protection Ring number."
    ::= { erpEntry 1 }

erpRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
    "This object enables creation and deletion of entries
     in the erpTable."
    ::= { erpEntry 2 }

erpAdminStatus OBJECT-TYPE
     SYNTAX  INTEGER
    {
       down      (2),
       up        (3)
    }
     MAX-ACCESS  read-create
     STATUS  current
     DESCRIPTION
     "This object determines the Ethernet Protection Ring
      Administrative Status.
      Value cannot be changed to Up,if erpRowStatus=notReady.
      Value cannot be changed to Up,if the following column
      objects, have default values:
      - erpEastPort
      - erpWestPort
      - erpRapsVlanId
      - erpPortMel for any of the Ring Ports (see erpPortTable below)
      Default=down."
    ::= { erpEntry 3 }

erpNodeState OBJECT-TYPE
     SYNTAX  INTEGER
    {
       init      (1),
       idle      (2),
       protected (3),
       manualSwitch (4),
       forcedSwitch (5),
       pending (6)
    }
     MAX-ACCESS  read-only
     STATUS  current
     DESCRIPTION
     "This object indicates Node state of the Ethernet
      Protection Ring.
      init=initial state
      idle=normal operation
      protected=protection state."
    ::= { erpEntry 4 }

erpBridgeNum OBJECT-TYPE
     SYNTAX  Unsigned32
     MAX-ACCESS  read-create
     STATUS  current
     DESCRIPTION
     "Bridge number the ERP ports belong to.
      Default=1."
    ::= { erpEntry 5 }

erpEastPort OBJECT-TYPE
     SYNTAX  Integer32
     MAX-ACCESS  read-create
     STATUS  current
     DESCRIPTION
     "ifIndex of the Bridge Port, that is the East Port
      of the ERP. This Bridge Port belongs to erpBridgeNum.
      Default=0."
    ::= { erpEntry 6 }

erpWestPort OBJECT-TYPE
     SYNTAX  Integer32
     MAX-ACCESS  read-create
     STATUS  current
     DESCRIPTION
     "ifIndex of the Bridge Port, that is the West Port
      of the ERP. This Bridge Port belongs to erpBridgeNum.
      Default=0."
    ::= { erpEntry 7 }

erpRplPort OBJECT-TYPE
     SYNTAX  INTEGER
    {
       notApplicable(1),
       east         (2),
       west         (3)
    }
     MAX-ACCESS  read-create
     STATUS  current
     DESCRIPTION
     "This object is in use only in ERPv1 (not in use in ERPv2).
     It indicates the Ring Port, that has the role of RPL.
      notApplicable(1) if none of the ERP Ports serves as RPL
      erpEastPort(2) if the east port serves as RPL
      erpWestPort (3) if the west port serves as RPL
      DEFVAL{ notApplicable }."
    ::= { erpEntry 8 }

erpRapsVlanId OBJECT-TYPE
     SYNTAX  Unsigned32 (0..4094)
     MAX-ACCESS  read-create
     STATUS  current
     DESCRIPTION
     "VLAN ID used for Ring APS (RAPS) messages.
      Valid values are: 1..4094.
      Value must be different, for different erpIdx.
      Default=0."
    ::= { erpEntry 9 }

erpOamCfmMel OBJECT-TYPE
     SYNTAX  Unsigned32 (0..255)
     MAX-ACCESS  read-create
     STATUS  current
     DESCRIPTION
     "ERP MEL (Maintenance Entity Group Level).
      Valid values are: 0..7.
      Default=255."
    ::= { erpEntry 10 }

erpWTR OBJECT-TYPE
     SYNTAX  Unsigned32
     MAX-ACCESS  read-create
     STATUS  current
     DESCRIPTION
     "Wait to Restore (WTR) time in msec.
      After the failed working transport entity recovers,
      in order to prevent frequent operations of the
      protection switch due to an intermittent defect,
      a fixed period of time will pass before
      traffic channel uses it again. This period of time
      is the WTR time.
      Valid values are: 60,000..720,000 in steps
      of 60,000 (1-12 minutes in steps of 1 minute).
      Default=300,000 msec (=5 minutes)."
    ::= { erpEntry 11 }

erpWTRStatus OBJECT-TYPE
     SYNTAX  Unsigned32
     MAX-ACCESS  read-only
     STATUS  current
     DESCRIPTION
     "Wait to Restore (WTR) status.

      When equals 0 - WTR is stopped.
      Otherwise - WTR is running.
      When WTR is running, there are two cases:
      - If Agent supports counting down the WTR (from erpWTR to 0), this object
        will represent the current value in the same units as erpWTR.
      - If Agent doesn't support counting down the WTR, this object = 2^32-1."
    ::= { erpEntry 12 }

erpGuardTimer OBJECT-TYPE
     SYNTAX  Unsigned32
     MAX-ACCESS  read-create
     STATUS  current
     DESCRIPTION
     "Guard Timer in msec.
      The guard timer is used to prevent ring nodes
      from receiving outdated R-APS messages.
      During the duration of the Guard Timer, all received
      R-APS messages, are ignored by the ring protection control
      process.
      This timer should be greater than the maximum expected
      forwarding delay for which one R-APS message, circles
      around the ring.
      Valid values are: 10..2,000 in steps of 10.
      Default=500 msec."
    ::= { erpEntry 13 }

erpHoldoffTimer OBJECT-TYPE
     SYNTAX  Unsigned32
     MAX-ACCESS  read-create
     STATUS  current
     DESCRIPTION
     "Holdoff Timer in msec.
      When Holdoff Timer>0, the Local SF signal starts the timer
      and doesn't trigger the Ring Protection immediately.
      In this case, when Holdoff Timer expired (or 0 initially),
      the Local SF signal will immediately trigger the R-APS
      Protection Logic.
      Valid values are: 0..10,000 in steps of 100.
      Default=0=not applicable."
    ::= { erpEntry 14 }

erpForceSfCmd OBJECT-TYPE
     SYNTAX  INTEGER
    {
       off       (2),
       eastOn    (3),
       westOn    (4),
       eastClear (5),
       westClear (6)
    }
     MAX-ACCESS  read-create
     STATUS  current
     DESCRIPTION
     "SF (Signal Fail) command on a port of ERP.
      eastOn= enforce SF command to East Port of ERP
      westOn= enforce SF command to West Port of ERP
      eastClear= Clear existing enforced SF command to East Port of ERP
      westClear= Clear existing enforced SF command to West Port of ERP
      After any of the above commands is Set, Agent will turn the value
      automatically to off.
      Default=off."
    ::= { erpEntry 15 }

erpClearStatistics OBJECT-TYPE
     SYNTAX  BITS
    {
       east(0),
       west(1)
    }
     MAX-ACCESS  read-create
     STATUS  current
     DESCRIPTION
    " bit 0 - Clear statistics command for ERP east port(when equals 1). It will cause
              clearing all Statistics counters of this ERP port.
      bit 1 - Clear statistics command for ERP west port(when equals 1). It will cause
              clearing all Statistics counters of this ERP port.

      Agent will automatically change the value of all bits to '0', after performing the
      command.      "
    ::= { erpEntry 16 }

erpRapsVlanPriority OBJECT-TYPE
    SYNTAX  Unsigned32
    MAX-ACCESS  read-create
    STATUS  current
    DESCRIPTION
            "Priority of the VLAN used for Ring APS (RAPS) messages.
            Valid values are: 0..7.
            Default=7."
    ::= { erpEntry 17 }

erpDescr    OBJECT-TYPE
   SYNTAX       SnmpAdminString (SIZE (1..64))
   MAX-ACCESS   read-create
   STATUS       current
   DESCRIPTION
       "Description of the current ERP entry.
        Default description will be: ' '
        "
    ::= { erpEntry 18 }

    erpRingType OBJECT-TYPE
   SYNTAX  INTEGER
    {
       majorRing  (1),
       subRing    (2)
    }
   MAX-ACCESS  read-create
   STATUS  current
   DESCRIPTION
     "This object determines the Ring's type: MajorRing or SubRing.
     Default=majorRing(1)
     "
    ::= { erpEntry 19 }

erpWTBStatus OBJECT-TYPE
   SYNTAX  Unsigned32
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
     "Wait To Block (WTR) status.
     When equals 0 - WTR is stopped.
      Otherwise - WTR is running.
      When WTR is running, there are two cases:
      - If Agent supports counting down the WTR (from erpWTR to 0), this object
        will represent the current value in the same units as erpWTR.
      - If Agent doesn't support counting down the WTR, this object = 2^32-1.
     "
    ::= { erpEntry 20 }

erpRevertiveMode OBJECT-TYPE
   SYNTAX  INTEGER
    {
       notApplicable (1),
       disable       (2),
       enable        (3)
    }
   MAX-ACCESS  read-create
   STATUS  current
   DESCRIPTION
     "In revertive operation, the traffic channel is restored to the
     working transport entity, i.e., blocked on teh RPL, once the case of
     clearing the defect, and after the expiration of the WTR timer.
     In non-revertive operation, the traffic channel continues to use the
     RPL, even after the defect the caused the RPL to unblocked was cleared.
     Default=notApplicable(1). Once the Node is defined as RPL owner, this
     object must be equal to disable(3) or enable(3).
     "
    ::= { erpEntry 21 }

erpBackwardCompatibility OBJECT-TYPE
   SYNTAX  TruthValue
   MAX-ACCESS  read-create
   STATUS  current
   DESCRIPTION
     "When the Ring Node of ERPv2 is part of a Ring, that is composed of
     other Ring Nodes with ERPv1, it has to run in Compatibility Mode.
     This mode filters the configuration and requests of ERPv2. Default value
     shall be false(2).
     "
    ::= { erpEntry 22 }

erpTopologyChangepropogation OBJECT-TYPE
   SYNTAX  INTEGER
    {
       notApplicable (1),
       disable       (2),
       enable        (3)
    }
   MAX-ACCESS  read-create
   STATUS  current
   DESCRIPTION
     "This object indicates whether to execute Flush Database (FDB) or not
     in case the RPL owner will unblock the RPL Port. ERPv2 requires FDB in
     order to relearn the correct filtering entities, however in cases where
     the logical topology of a client has not changed as a result of failure,
     recovery or administrative operation, it is not necessary to FDB.
     Default value will be disable(2).
     "
    ::= { erpEntry 23 }


erpInterconnectionNode OBJECT-TYPE
   SYNTAX  TruthValue
   MAX-ACCESS  read-create
   STATUS  current
   DESCRIPTION
     "The user will be able to configure the Node as an interconnection Node,
     i.e., a Node that shares more than one Ring. Default value
     shall be false(2).
     "
    ::= { erpEntry 24 }

erpCommand OBJECT-TYPE
   SYNTAX  INTEGER
    {
       force (1),
       manual (2),
       clear (3),
       noCommand (4)
    }
   MAX-ACCESS  read-create
   STATUS  current
   DESCRIPTION
     "This object represents the external command the user can initiate
     on the Node: Force Switch(1), Manual Switch(2), clearing any previous
     command(3), or having no command at all (4). Default is noCommand(4).
      "
    ::= { erpEntry 25 }

erpCommandParam OBJECT-TYPE
   SYNTAX  INTEGER
    {
       notApplicable (1),
       eastPort      (2),
       westPort      (3)
    }
   MAX-ACCESS  read-create
   STATUS  current
   DESCRIPTION
     "This object indicates the port to which the external command
     (erpCommand) will be issued. Default is notApplicable(1).
     "
    ::= { erpEntry 26 }

erpEastPhyPort      OBJECT-TYPE
   SYNTAX  Unsigned32
   MAX-ACCESS  read-create
   STATUS  current
   DESCRIPTION
     "This object indicates the ifIndex of east Ethernet port."
    ::= { erpEntry 27}

erpWestPhyPort      OBJECT-TYPE
   SYNTAX  Unsigned32
   MAX-ACCESS  read-create
   STATUS  current
   DESCRIPTION
     "This object indicates the ifIndex of west Ethernet port."
    ::= { erpEntry 28}

erpCosMapProfile    OBJECT-TYPE
    SYNTAX       Unsigned32
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
    "This attribute point to the CoS mapping profile Table (cosInternalProfileTable)."
     ::= { erpEntry 29 }

erpVirtualChannel  OBJECT-TYPE
    SYNTAX  INTEGER
    {
        disable (2),
        enable  (3)
    }
    MAX-ACCESS  read-create
    STATUS  current
    DESCRIPTION
    "This object defines whether or not virtual channel is used.
     It is only relevant for subring nodes, and ignored by major ring nodes.
    "
    DEFVAL { enable }
    ::= { erpEntry 30 }

erpPassthroughVids OBJECT-TYPE 
    SYNTAX         OCTET STRING (SIZE(512))
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION
    "This object contains a 4096 bit vector indicating VIDs passing
     through the ring, without being terminated like data VLANs are.
     The high order bit of the first octet corresponds to the 
     first bit of the vector, while the low order bit of the last octet 
     corresponds to the last bit of the vector. 
     A bit that is on (equal to 1) indicates that the corresponding VID 
     is a passthrough VLAN.
     An example: If the first octet is 0x70 the rest are 0, VIDs 1-3 
     are passthrough VLANs."
    DEFVAL { ''H }    
    ::= { erpEntry 31 }
 
 
erpColorMapProfile OBJECT-TYPE
    SYNTAX         Unsigned32
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION
    "If this object is zero DEI is used. 
     Otherwise, it is the index of a mapping profile."
    DEFVAL         { 0 }
    ::= { erpEntry 32 }

erpPassthroughQueueBlockEast OBJECT-TYPE
    SYNTAX                   RowPointer
    MAX-ACCESS               read-create
    STATUS                   current
    DESCRIPTION
    "East queue block for passthrough VLANs.
     The object points to an existing entry of rad.queueGroupTable.
     zeroDotZero means the designated default queue block."
    DEFVAL                   { zeroDotZero }
    ::= { erpEntry 33 }

erpPassthroughQueueBlockWest OBJECT-TYPE
    SYNTAX                   RowPointer
    MAX-ACCESS               read-create
    STATUS                   current
    DESCRIPTION
    "West queue block for passthrough VLANs.
     The object points to an existing entry of rad.queueGroupTable.
     zeroDotZero means the designated default queue block."
    DEFVAL                   { zeroDotZero }
    ::= { erpEntry 34 }


--****************
--ERP Port Table
--****************

erpPortTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF ErpPortEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
    "Ethernet Ring Protection (G.8032)Port Table."
    ::= { erp 2 }

erpPortEntry OBJECT-TYPE
    SYNTAX  ErpPortEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
    "An entry in the table. Rings are created in erpTable.
     If erpRowStatus=notReady, this table may not include
     data for this instance of the ERP."
     INDEX  { erpIdx, erpPortIdx }
    ::= { erpPortTable 1 }

ErpPortEntry ::= SEQUENCE {
    erpPortIdx              INTEGER,
    erpPortOamCfmMdId       Unsigned32,
    erpPortOamCfmMaId       Unsigned32,
    erpPortOamCfmMepId      Unsigned32,
    erpPortState            INTEGER,
    erpPortLocalSfSource    INTEGER,
    erpPortRapsRxValidMsg   Counter32,
    erpPortRapsRxInvalidMsg Counter32,
    erpPortRapsRxSfMsg      Counter32,
    erpPortRapsRxNrMsg      Counter32,
    erpPortRapsRxNrrbMsg    Counter32,
    erpPortRapsTxValidMsg   Counter32,
    erpPortRapsTxInvalidMsg Counter32,
    erpPortRapsTxSfMsg      Counter32,
    erpPortRapsTxNrMsg      Counter32,
    erpPortRapsTxNrrbMsg    Counter32,
    erpPortDescr            SnmpAdminString,
    erpPortRapsRxFsMsg      Counter32,
    erpPortRapsRxMsMsg      Counter32,
    erpPortRapsRxDnfMsg     Counter32,
    erpPortRapsRxEvtMsg     Counter32,
    erpPortRapsTxFsMsg      Counter32,
    erpPortRapsTxMsMsg      Counter32,
    erpPortRapsTxDnfMsg     Counter32,
    erpPortRapsTxEvtMsg     Counter32,
    erpPortType             INTEGER 
 }

erpPortIdx OBJECT-TYPE
     SYNTAX  INTEGER
    {
       east      (1),
       west      (2)
    }
     MAX-ACCESS  not-accessible
     STATUS  current
     DESCRIPTION
     "This object is the ERP Port, all table objects refer."
    ::= { erpPortEntry 1 }

erpPortOamCfmMdId OBJECT-TYPE
     SYNTAX  Unsigned32
     MAX-ACCESS  read-write
     STATUS  current
     DESCRIPTION
     "The index of the Maintenance Domain used by this ERP Port.
      Default=0=not applicable."
    ::= { erpPortEntry 2 }

erpPortOamCfmMaId OBJECT-TYPE
     SYNTAX  Unsigned32
     MAX-ACCESS  read-write
     STATUS  current
     DESCRIPTION
     "The index of the Maintenance Association in the erpPortOamCfmMdId,
      used by this ERP Port.
      Default=0=not applicable."
    ::= { erpPortEntry 3 }

erpPortOamCfmMepId OBJECT-TYPE
     SYNTAX  Unsigned32
     MAX-ACCESS  read-write
     STATUS  current
     DESCRIPTION
     "The index of the MEP (Maintenance Entity Group End Point)in the
      relevant erpPortOamCfmMdId and erpPortOamCfmMaId, used by this ERP Port.
      Default=0=not applicable.
      Applicable Values=1..8191."
    ::= { erpPortEntry 4 }

erpPortState OBJECT-TYPE
     SYNTAX  INTEGER
    {
       blocked    (2),
       forwarding (3),
       rAPSAndDataChannelBlocked (4)
    }
     MAX-ACCESS  read-only
     STATUS  current
     DESCRIPTION
     "State of the ERP Port.
     blocked(2) means only Data Channel is blocked.
     "
    ::= { erpPortEntry 5 }

erpPortLocalSfSource OBJECT-TYPE
     SYNTAX  INTEGER
    {
       notApplicable(1),
       serverLayer  (2),
       oamCfm       (3),
       forced       (4)
    }
     MAX-ACCESS  read-only
     STATUS  current
     DESCRIPTION
     "Signal Fail Local Source of the ERP Port:
      - notApplicable - no Signal Fail (so no source)
      - serverLayer   - Signal Fail is received from the port
      - oamCfm        - Signal Fail is received from OAM CFM process
      - forced        - Signal Fail is forced by manual user command
                        of erpForceSfCmd (eastOn(3), westOn(4);
                        (see erpTable)."
    ::= { erpPortEntry 6 }

erpPortRapsRxValidMsg OBJECT-TYPE
     SYNTAX  Counter32
     MAX-ACCESS  read-only
     STATUS  current
     DESCRIPTION
     "Total Received Valid RAPS (RING APS) messages, since [both ports
      of the Ring are defined (erpEastPort>0, erpWestPort>0; see erpTable),
      and erpRapsVlanId>0 (see erpTable) and erpPortMel<>255 for both Ring
      ports] or since last statistics clear operation."
    ::= { erpPortEntry 7 }

erpPortRapsRxInvalidMsg OBJECT-TYPE
     SYNTAX  Counter32
     MAX-ACCESS  read-only
     STATUS  current
     DESCRIPTION
     "Total Received Invalid RAPS (RING APS) messages on this port,
      since [both ports of the Ring are defined (erpEastPort>0,
      and erpWestPort>0; see erpTable), erpRapsVlanId>0 (see erpTable)
      and erpOamCfmMel<>255 (see erpTable)] or since last statistics
      clear operation."
    ::= { erpPortEntry 8 }

erpPortRapsRxSfMsg OBJECT-TYPE
     SYNTAX  Counter32
     MAX-ACCESS  read-only
     STATUS  current
     DESCRIPTION
     "Received SF (Signal Fail) RAPS (RING APS) messages on this port,
      since [both ports of the Ring are defined (erpEastPort>0,
      and erpWestPort>0; see erpTable), erpRapsVlanId>0 (see erpTable)
      and erpOamCfmMel<>255 (see erpTable)] or since last statistics
      clear operation.
      Received SF message means that there are failed ports in the Ring."
    ::= { erpPortEntry 9 }

erpPortRapsRxNrMsg OBJECT-TYPE
     SYNTAX  Counter32
     MAX-ACCESS  read-only
     STATUS  current
     DESCRIPTION
     "Received NR (No Request) RAPS (RING APS) messages on this port,
      since [both ports of the Ring are defined (erpEastPort>0,
      and erpWestPort>0; see erpTable), erpRapsVlanId>0 (see erpTable)
      and erpOamCfmMel<>255 (see erpTable)] or since last statistics
      clear operation.
      Received NR message means that there are NO failed ports in the Ring."
    ::= { erpPortEntry 10 }

erpPortRapsRxNrrbMsg OBJECT-TYPE
     SYNTAX  Counter32
     MAX-ACCESS  read-only
     STATUS  current
     DESCRIPTION
     "Received NRRB (No Request and RPL Blocked indication) RAPS (RING APS)
      messages on this port, since [both ports  of the Ring are defined
      (erpEastPort>0, and erpWestPort>0; see erpTable), erpRapsVlanId>0
      (see erpTable)and erpOamCfmMel<>255 (see erpTable)] or since last
      statistics clear operation.
      Received NRRB message means that the RPL Port is blocked and all other
      not-failed blocked Ports, will be unblocked in the Ring."
    ::= { erpPortEntry 11 }

erpPortRapsTxValidMsg OBJECT-TYPE
     SYNTAX  Counter32
     MAX-ACCESS  read-only
     STATUS  current
     DESCRIPTION
     "Total Transmitted Valid RAPS (RING APS) messages, since [both ports
      of the Ring are defined (erpEastPort>0, and erpWestPort>0; see erpTable),
      erpRapsVlanId>0 (see erpTable) and erpOamCfmMel<>255 (see erpTable)] or
      since last statistics clear operation."
    ::= { erpPortEntry 12 }

erpPortRapsTxInvalidMsg OBJECT-TYPE
     SYNTAX  Counter32
     MAX-ACCESS  read-only
     STATUS  current
     DESCRIPTION
     "Total Transmitted Invalid RAPS (RING APS) messages on this port,
      since [both ports of the Ring are defined (erpEastPort>0,
      and erpWestPort>0; see erpTable), erpRapsVlanId>0 (see erpTable)
      and erpOamCfmMel<>255 (see erpTable)] or since last statistics
      clear operation."
    ::= { erpPortEntry 13 }

erpPortRapsTxSfMsg OBJECT-TYPE
     SYNTAX  Counter32
     MAX-ACCESS  read-only
     STATUS  current
     DESCRIPTION
     "Transmitted SF (Signal Fail) RAPS (RING APS) messages on this port,
      since [both ports of the Ring are defined (erpEastPort>0,
      and erpWestPort>0; see erpTable), erpRapsVlanId>0 (see erpTable)
      and erpOamCfmMel<>255 (see erpTable)] or since last statistics
      clear operation.
      Transmitted SF message means, that the transmitting Node has a failed port."
    ::= { erpPortEntry 14 }

erpPortRapsTxNrMsg OBJECT-TYPE
     SYNTAX  Counter32
     MAX-ACCESS  read-only
     STATUS  current
     DESCRIPTION
     "Transmitted NR (No Request) RAPS (RING APS) messages on this port,
      since [both ports of the Ring are defined (erpEastPort>0,
      and erpWestPort>0; see erpTable), erpRapsVlanId>0 (see erpTable)
      and erpOamCfmMel<>255 (see erpTable)] or since last statistics
      clear operation.
      Transmitted NR message means, that there was recovery of the
      failed port, for the transmitting Node."
    ::= { erpPortEntry 15 }

erpPortRapsTxNrrbMsg OBJECT-TYPE
     SYNTAX  Counter32
     MAX-ACCESS  read-only
     STATUS  current
     DESCRIPTION
     "Transmitted NRRB (No Request and RPL Blocked indication) RAPS (RING APS)
      messages on this port, since [both ports  of the Ring are defined
      (erpEastPort>0, and erpWestPort>0; see erpTable), erpRapsVlanId>0
      (see erpTable)and erpOamCfmMel<>255 (see erpTable)] or since last
      statistics clear operation.
      Transmitted NRRB message (from RPL only) means, that the RPL Port
      is blocked for the transmitting Node."
    ::= { erpPortEntry 16 }

erpPortDescr    OBJECT-TYPE
   SYNTAX       SnmpAdminString (SIZE (1..64))
   MAX-ACCESS   read-write
   STATUS       current
   DESCRIPTION
       "Description of the current ERP port entry.
        Default description will be: ' '
        "
    ::= { erpPortEntry 17 }

erpPortRapsRxFsMsg OBJECT-TYPE
   SYNTAX  Counter32
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
      "Received FS (Force Switch) RAPS (RING APS) messages on this port.
      "
    ::= { erpPortEntry 18 }

erpPortRapsRxMsMsg OBJECT-TYPE
   SYNTAX  Counter32
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
      "Received MS (Manual Switch) RAPS (RING APS) messages on this port.
      "
    ::= { erpPortEntry 19 }

erpPortRapsRxDnfMsg OBJECT-TYPE
   SYNTAX  Counter32
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
      "Received messages with DNF(Do Not Flush) bit=on on this port.
      "
    ::= { erpPortEntry 20 }

erpPortRapsRxEvtMsg OBJECT-TYPE
   SYNTAX  Counter32
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
      "Total received RAPS (RING APS) Event-messages on this port.
      "
    ::= { erpPortEntry 21 }

erpPortRapsTxFsMsg OBJECT-TYPE
   SYNTAX  Counter32
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
      "Transmitted FS (Force Switch) RAPS (RING APS) messages on this port.
      "
    ::= { erpPortEntry 22 }

erpPortRapsTxMsMsg OBJECT-TYPE
   SYNTAX  Counter32
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
      "Transmitted MS (Manual Switch) RAPS (RING APS) messages on this port.
      "
    ::= { erpPortEntry 23 }

erpPortRapsTxDnfMsg OBJECT-TYPE
   SYNTAX  Counter32
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
      "Transmitted messages with DNF(Do Not Flush) bit=on on this port.
      "
    ::= { erpPortEntry 24 }

erpPortRapsTxEvtMsg OBJECT-TYPE
   SYNTAX  Counter32
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
      "Total transmitted RAPS (RING APS) Event-messages on this port.
      "
    ::= { erpPortEntry 25 }

erpPortType OBJECT-TYPE
     SYNTAX  INTEGER
    {
       nodePort (1),
       rpl (2),
       neighbor (3),
       nextNeighbor (4)
    }
     MAX-ACCESS  read-write
     STATUS  current
     DESCRIPTION
     "This Object is used only in ERPv2 (not in use in ERPv1).
     rpl(2) if the port is RPL owner.
     neighbor(3) if the port is RPL Neighbor.
     nextNeighbor(4) if the port is RPL Next-Neighbor.
     nodePort (1) if the port is none of the above.
     DEFVAL{ nodePort }
     "
    ::= { erpPortEntry 26 }


-- ****************
-- ERP Sub Ring Table
-- ****************

erpSubRingTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF ErpSubRingEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
    "Ethernet Ring Protection (ERP) G.8032 Sub Ring Table."
    ::= { erp 4 }

erpSubRingEntry OBJECT-TYPE
    SYNTAX  ErpSubRingEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
    "An entry in the table."
     INDEX  { erpSubRingMajorRingIndex, erpSubRingSubRingIndex }
    ::= { erpSubRingTable 1 }

ErpSubRingEntry ::= SEQUENCE {
    erpSubRingMajorRingIndex   Unsigned32,
    erpSubRingSubRingIndex     Unsigned32,
    erpSubRingRowStatus        RowStatus,
    erpSubRingVirtualChannel   INTEGER,
    erpSubRingRAPSVlanId       Unsigned32,
    erpSubRingRAPSVlanPriority Unsigned32 
 }

erpSubRingMajorRingIndex OBJECT-TYPE
    SYNTAX      Unsigned32 (1..4294967295)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
      "This index represents the Major Ring ID."
    ::= { erpSubRingEntry 1 }

erpSubRingSubRingIndex OBJECT-TYPE
    SYNTAX      Unsigned32 (1..4294967295)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
      "This index represents the Sub Ring ID."
    ::= { erpSubRingEntry 2 }

erpSubRingRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
      "This object enables creation and deletion of entries
       in the erpSubRingTable."
    ::= { erpSubRingEntry 3 }

erpSubRingVirtualChannel OBJECT-TYPE
     SYNTAX  INTEGER
    {
       disable  (2),
       enable   (3)
    }
     MAX-ACCESS  read-create
     STATUS  deprecated
     DESCRIPTION
     "This object is currently deprecated, and replaced by erpVirtualChannel.
      When setting this value, erpVirtualChannel will be set to the same value.

      The original description: When Major Ring provides Virtual Channel to Sub-ring
       it is aware of topology changes in the Sub-Ring."
    ::= { erpSubRingEntry 4 }

erpSubRingRAPSVlanId OBJECT-TYPE
    SYNTAX      Unsigned32 (0..4094)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
    "VLAN ID for Ring APS messages.
     Valid values are: 1..4094. Default=0."
    ::= { erpSubRingEntry 5 }

 erpSubRingRAPSVlanPriority OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
    "Priority of the VLAN used for Ring APS (RAPS) messages for Sub Ring in Major Ring Channels.
            Valid values are: 0..7.
            Default=0."
    ::= { erpSubRingEntry 6 }

-- ERP Vlan Table

erpVlanTable      OBJECT-TYPE
    SYNTAX  SEQUENCE OF ErpVlanEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
    "Ethernet Ring Protection (ERP) Data Vlan Table."
    ::= { erp 5 }

erpVlanEntry      OBJECT-TYPE
    SYNTAX  ErpVlanEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
    "An entry in the table."
     INDEX  { erpIdx, erpVlanIdx }
    ::= { erpVlanTable 1 }

ErpVlanEntry ::= SEQUENCE {
    erpVlanIdx               Unsigned32,
    erpVlanRowStatus         RowStatus,
    erpVlanEastQblock        OBJECT IDENTIFIER,
    erpVlanWestQblock        OBJECT IDENTIFIER,
    erpVlanServiceIdName     SnmpAdminString,
    erpVlanMajorEastQblock   OBJECT IDENTIFIER,
    erpVlanMajorWestQblock   OBJECT IDENTIFIER 
 }

erpVlanIdx      OBJECT-TYPE
    SYNTAX      Unsigned32 (1..4294967295)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
      "This index represents the data Vlan."
    ::= { erpVlanEntry 1 }

erpVlanRowStatus      OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
      "This RowStatus is use to create and delete row in the table."
    ::= { erpVlanEntry 2 }

erpVlanEastQblock      OBJECT-TYPE
    SYNTAX      OBJECT IDENTIFIER
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
      "This object indicates the East Qblock."
    ::= { erpVlanEntry 3 }

erpVlanWestQblock      OBJECT-TYPE
    SYNTAX      OBJECT IDENTIFIER
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
      "This object indicates the West Qblock."
    ::= { erpVlanEntry 4 }

erpVlanServiceIdName    OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
     "This attribute defines the Service name of this erp Vlan Service,
     if the VLAN is not associated with a Service the value is null.
     Upon seting a value, the agent creates an entry in
     serviceIdTable table."
    ::= { erpVlanEntry 5 }

erpVlanMajorEastQblock      OBJECT-TYPE
    SYNTAX      OBJECT IDENTIFIER
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
      "This object indicates the Major East Qblock and relevant
       only if erpInterconnectionNode = true(1)."
    ::= { erpVlanEntry 6 }


erpVlanMajorWestQblock      OBJECT-TYPE
    SYNTAX      OBJECT IDENTIFIER
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
      "This object indicates the Major West Qblock and relevant
       only if erpInterconnectionNode = true(1)."
    ::= { erpVlanEntry 7 }

-- ETH Storming

ethIfStorming OBJECT IDENTIFIER ::= { ethIf 5 }

ethIfStormTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF EthIfStormEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
    "Ethernet Storming Table."
    ::= { ethIfStorming 1 }

ethIfStormEntry OBJECT-TYPE
    SYNTAX  EthIfStormEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
    "An entry in the table."
     INDEX  {ethIfStormCnfgIdx, ethIfStormIfIdx, ethIfStormDirection, ethIfStormPacketType }
    ::= { ethIfStormTable 1 }

EthIfStormEntry ::=
    SEQUENCE {
	ethIfStormCnfgIdx	 Unsigned32,
	ethIfStormIfIdx 	 Unsigned32,
	ethIfStormDirection     INTEGER,
	ethIfStormPacketType       BITS,
	ethIfStormCtrlEnable    INTEGER,
	ethIfStormMaxRate    Unsigned32
	}

ethIfStormCnfgIdx OBJECT-TYPE
     SYNTAX Unsigned32 (1..255)
     MAX-ACCESS not-accessible
     STATUS current
     DESCRIPTION
     "This attribute indicates the Idx of the Cnfg(1..255) being 
      accessed ; Idx of 255 relates to the TmpCnfg."
     ::= {ethIfStormEntry 1}

ethIfStormIfIdx     OBJECT-TYPE
      SYNTAX  Unsigned32
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
      "A unique index of the ethernet interface/port."
      ::=  {ethIfStormEntry 2}

ethIfStormDirection OBJECT-TYPE
    SYNTAX		INTEGER {
		all			(1),
		ingress		(2),
		egress		(3)
	}
    MAX-ACCESS	not-accessible
    STATUS		current
    DESCRIPTION
    "This object indicates the port's Storm Direction."
    ::= { ethIfStormEntry 3 }

ethIfStormPacketType  OBJECT-TYPE
     SYNTAX   BITS
     {
	   unknownUnicast (0), --Flooded Unicast
	   broadcast      (1),
	   multicast      (2)
     }
     MAX-ACCESS  not-accessible
     STATUS  current
     DESCRIPTION
	 "Packet Type on which Storming operations will be performed." 
     ::= { ethIfStormEntry 4 }

ethIfStormCtrlEnable OBJECT-TYPE
     SYNTAX  INTEGER 
	{
       disable       (2),
       enable  	     (3)
    }
     MAX-ACCESS  read-write
     STATUS  current
     DESCRIPTION
     "This object indicates if the Storm Controling is Enabled or Disabled 
      for the relevant entry."
    ::= { ethIfStormEntry 5 }

ethIfStormMaxRate OBJECT-TYPE
    SYNTAX		Unsigned32
    MAX-ACCESS	read-write
    STATUS		current
    DESCRIPTION
    "This object indicates the Maximum Rate at which Storming packets are forwarded, 
     in Kbps.For some devices the units are PPS(Packets Per Second ) or kilobytes 
     per second."      
    ::= { ethIfStormEntry 6 }

-- ETH OAM EFM: 802.3ah
ethIfOamEfm OBJECT IDENTIFIER ::= { ethIf 6 }

dot3OamEvents OBJECT IDENTIFIER ::= { ethIfOamEfm 0 }

dot3OamOperStatusChange  NOTIFICATION-TYPE
	OBJECTS     { dot3OamOperStatus }
	STATUS		current
	DESCRIPTION     
	"This trap is sent when OAM EFM Link goes Up or Down.
	 Up - is considered when dot3OamOperStatus value changes to operational(9) 
	      from any other value.
	 Down - is considered when dot3OamOperStatus value changes from operational(9) 
	      to any other value."
     ::= { dot3OamEvents 1 }

dot3OamPeerEvent  NOTIFICATION-TYPE
	OBJECTS     { dot3OamXPeerState }
	STATUS		current
	DESCRIPTION     
	"This trap is sent when value of dot3OamXPeerState changes from any value
	 to one of the following values: linkFault, dyingGasp, criticalEvent.
	 This trap has no recovery (clearing value)."
     ::= { dot3OamEvents 2 }

dot3OamDescrTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Dot3OamDescrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
     "This table supports definitions of Descriptors (profiles) of OAM EFM Links."
   ::= {ethIfOamEfm 1}

dot3OamDescrEntry OBJECT-TYPE
    SYNTAX      Dot3OamDescrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
    "Each entry corresponds to a single OAM EFM Descriptor (profile).
     Each Descriptor contains a set of OAM EFM Link configuration
     parameters.  The configuration parameters are applied to the
     OAM EFM Links referencing this Descriptor (see dot3OamXDescrId
     object).  Descriptors may be created/deleted using the row creation/deletion
     mechanism via dot3OamDescrRowStatus. If an active entry is referenced
     in dot3OamXDescrId, the entry MUST remain active until all references are removed."
    INDEX { dot3OamDescrId }
    ::= { dot3OamDescrTable 1 }

Dot3OamDescrEntry ::= SEQUENCE {
    dot3OamDescrId            Unsigned32,
    dot3OamDescrRowStatus     RowStatus,
    dot3OamDescrMode          INTEGER,
    dot3OamDescrLbRxOperation INTEGER,
    dot3OamDescrRateLimit     Unsigned32 
 }

dot3OamDescrId OBJECT-TYPE
    SYNTAX      Unsigned32 (1..4294967295)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
    "This object is the unique index associated with this Descriptor (profile).
     Entries in this table are referenced via the object dot3OamXDescrId
     in dot3OamXEntry."
    ::= { dot3OamDescrEntry 1 }

dot3OamDescrRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
    "This object controls creation/deletion of the associated entry in this table
     per the semantics of RowStatus.  If an active entry is referenced in
     dot3OamXDescrId, the   entry MUST remain active until all references are removed."
    ::= { dot3OamDescrEntry 2 }

dot3OamDescrMode OBJECT-TYPE
    SYNTAX  INTEGER {
      passive(1),
      active (2)
                    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
    "This object controls the mode of OAM operation for an Ethernet-like interface
     referencing this Descriptor.
     OAM on Ethernet interfaces may be in 'active' mode or 'passive' mode.
     These two modes differ in that active mode provides additional capabilities
     to initiate monitoring activities with the remote OAM peer entity, while
     passive mode generally waits for the peer to initiate OAM actions with it.
     As an example, an active OAM entity can put the remote OAM entity in a
     loopback state, where a passive OAM entity cannot."
    ::= { dot3OamDescrEntry 3 }

dot3OamDescrLbRxOperation OBJECT-TYPE
     SYNTAX      INTEGER {
       ignore(1),
       process(2)
                         }
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION
     "Since OAM loopback is a disruptive operation (user traffic does not pass),
      this object provides a mechanism to provide control: whether received OAM
      loopback commands are processed or ignored, for the OAM Link referencing
      this Descriptor.
      When the value is ignore(1),  received loopback commands are ignored.
      When the value is process(2), received loopback commands are processed.
      The default value is to ignore loopback commands (ignore(1))."
     ::= { dot3OamDescrEntry 4 }

dot3OamDescrRateLimit OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
    "This object defines how many OAM frames can be sent per second (maximum)
     for an OAM EFM Link referencing this Descriptor."
    ::= { dot3OamDescrEntry 5 }

dot3OamXTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Dot3OamXEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
    "This table is an extension of dot3OamTable of standard DOT3-OAM-MIB."
    ::= { ethIfOamEfm 2 }

dot3OamXEntry OBJECT-TYPE
    SYNTAX     Dot3OamXEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
      "An entry in dot3OamXTable."
    AUGMENTS { dot3OamEntry }
        ::= { dot3OamXTable 1 }

Dot3OamXEntry ::= SEQUENCE {
    dot3OamXDescrId   Unsigned32,
    dot3OamXPeerState INTEGER 
 }

dot3OamXDescrId OBJECT-TYPE
    SYNTAX      Unsigned32 (0..4294967295)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    "This object points to an entry of dot3OamDescrTable (dot3OamDescrId),
     which defines part of the configuration parameters for this OAM EFM Link.
     As long as one of the OAM EFM Links refers an entry in the dot3OamDescrTable,
     this entry cannot be removed.
     When an OAM EFM Link supports this object (RW), the standard MIB objects of:
     dot3OamMode (parallel to dot3OamDescrMode) and dot3OamLoopbackIgnoreRx
     (parallel to dot3OamDescrLbRxOperation) will be supported by Agent RO.
      Value 0 means that no entry of dot3OamDescrTable (dot3OamDescrId)is pointed by this object."
    ::= { dot3OamXEntry 1 }

dot3OamXPeerState OBJECT-TYPE
    SYNTAX  INTEGER {
      unknown      (1),
      operational  (2),
      linkFault    (3),
      dyingGasp    (4),
      criticalEvent(5)
                    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "This object reports the state of the Peer of the OAM EFM Link.
     unknown - at the initialization of the device, or after Reset, when
               there is still no data about the peer's state.
     operational - usually after unknown state, when device senses that
               peer is OK.
     linkFault - Loss of Signal is detected by the receiver.
     dyingGasp - Unrecoverable condition has occurred (e.g power failure)
     criticalEvent - Unspecified Critical Event has occured."
    ::= { dot3OamXEntry 2 }


ethIfMacLayer OBJECT IDENTIFIER ::= {ethIf 7}

ethIfMacLayerEvents OBJECT IDENTIFIER ::= { ethIfMacLayer 0 }

ethIfSrcMacCtrlTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EthIfSrcMacCtrlEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
     "This table supports source MAC addresses control parameters per interface.
      Source MAC control will be used mainly for security. Only packets with certain source MAC
      Addresses will be allowed to access the device. The source MAC addresses can be static or learned.
      The static addresses will be defined by the user in another table: ethIfSrcMacCtrlAddrTable.
      The learned addresses will exist in the ethIfSrcMacCtrlAddrTable as well."
   ::= {ethIfMacLayer 1}

ethIfSrcMacCtrlEntry OBJECT-TYPE
    SYNTAX      EthIfSrcMacCtrlEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
    "An entry in the table."
    INDEX { ethIfSrcMacCtrlIndex, ethIfSrcMacCtrlIdx2 }
    ::= { ethIfSrcMacCtrlTable 1 }


EthIfSrcMacCtrlEntry ::=
     SEQUENCE {
     ethIfSrcMacCtrlIndex               Unsigned32,
	 ethIfSrcMacCtrlIdx2                Unsigned32,     
     ethIfSrcMacCtrl                    INTEGER,
	 ethIfSrcMacCtrlMaxPermitAddr       Unsigned32,
	 ethIfSrcMacCtrlCurNumPermitAddr    Unsigned32,
     ethIfSrcMacCtrlFlushAddrCmd        INTEGER,
	 ethIfSrcMacCtrlAging               Unsigned32,
	 ethIfSrcMacCtrlLocking             INTEGER,
	 ethIfSrcMacCtrlViolationAction     INTEGER,
	 ethIfSrcMacCtrlLastViolatingAddr   MacAddress,
	 ethIfSrcMacCtrlPortStatus          INTEGER
     }

ethIfSrcMacCtrlIndex OBJECT-TYPE
      SYNTAX      Unsigned32
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
        "The index of the MAC Layer interface supporting source MAC control feature. 
        It may be the ifIndex of the ETH/Bridge Port."
     ::= { ethIfSrcMacCtrlEntry 1 }

ethIfSrcMacCtrlIdx2 OBJECT-TYPE
      SYNTAX      Unsigned32
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
        "A second index that can be used. For example: The VLAN ID for which the source MAC
         control feature is supported. When this index is not in use, its value will be: 9999." 
     ::= { ethIfSrcMacCtrlEntry 2 }

ethIfSrcMacCtrl OBJECT-TYPE
      SYNTAX      INTEGER
      {
	   disable	     (2),
	   enable		 (3)
      }				 
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
        "Enable or disable the source MAC control on the current interface.
		 The device should not enable source MAC control if for the current interface there
		 are more than ethIfSrcMacCtrlMaxPermitAddr addresses in the ethIfSrcMacCtrlAddrTable.
		 Default value will be: disable (2)."
     ::= { ethIfSrcMacCtrlEntry 3 }

ethIfSrcMacCtrlMaxPermitAddr OBJECT-TYPE
      SYNTAX      Unsigned32
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
        "This is the maximum number of permitted MAC addresses (static and learned) for the
         current interface."
     ::= { ethIfSrcMacCtrlEntry 4 }

ethIfSrcMacCtrlCurNumPermitAddr OBJECT-TYPE
      SYNTAX      Unsigned32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
        "This is the number of source MAC addresses currently permitted for the
         current interface."
     ::= { ethIfSrcMacCtrlEntry 5 }

ethIfSrcMacCtrlFlushAddrCmd OBJECT-TYPE
      SYNTAX      INTEGER	   
	{
	  off (2),
	  on  (3)
	}
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
        "When set to on (3) this command will erase all the learned addresses and invalid
         addresses of the selected interface in the ethIfSrcMacCtrlAddrTable.
         After operation is finished, Agent will turn the value to 'off'."
     ::= { ethIfSrcMacCtrlEntry 6 }

ethIfSrcMacCtrlAging OBJECT-TYPE
      SYNTAX      Unsigned32
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
        "The timeout period in seconds for aging out dynamically learned source MAC addresses. 
         Valid Values:
         0 - disable
         10-1000000"
     ::= { ethIfSrcMacCtrlEntry 7 }

ethIfSrcMacCtrlLocking OBJECT-TYPE
      SYNTAX      INTEGER	   
	{
	  unlock (2),
	  lock   (3)
	}
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
        "When set to lock (3) this command will lock the Source MAC Address learning.
         No more learned addresses will be added to the ethIfSrcMacCtrlAddrTable.
         When set to unlock (2) this command will unlock the Source MAC Address learning.
		 Learned addresses will be added to the ethIfSrcMacCtrlAddrTable but the number of
		 addresses in the table will not exceed ethIfSrcMacCtrlMaxPermitAddr.
		 Default value is: unlock (2)."
     ::= { ethIfSrcMacCtrlEntry 8 }

ethIfSrcMacCtrlViolationAction OBJECT-TYPE
      SYNTAX      INTEGER	   
	{
	  drop       (2),
	  dropNotify (3),
	  shutdown   (4)
	}
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
      "Determines the action that the device will take upon security violation.        
       drop(2)       - the violating packets will be dropped.
       dropNotify (3)- the violating packets will be dropped and notifications
                       will be generated. Notifications may be for example:
                       SNMP Traps, Syslog messages and log file new entries.
       shutdown (4)  - the interface will be forced to shut down."
     ::= { ethIfSrcMacCtrlEntry 9 }

ethIfSrcMacCtrlLastViolatingAddr OBJECT-TYPE
      SYNTAX      MacAddress	   
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
      "This object indicates the last MAC address that violated the security
       on the current interface. If no violation, the agent will return:
       00-00-00-00-00-00 ."
     ::= { ethIfSrcMacCtrlEntry 10 }

ethIfSrcMacCtrlPortStatus OBJECT-TYPE
      SYNTAX      INTEGER	   
	{
	  shutdown       (2),
	  secureActive   (3),
	  secureInactive (4)
	}
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
      "This object represents the operational status of the MAC Control feature
       on an interface.
       shutdown(2)       - This indicates that the port is shutdown due to security
                           violation.
       secureActive (3)  - This indicates that the MAC Control interface security
                           is operational and this interface is not shutdown due to
                           security violation.
	   secureInactive (4)- This indicates that the MAC Control is not operational."
       ::= { ethIfSrcMacCtrlEntry 11 }

									 

ethIfSrcMacCtrlAddrTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EthIfSrcMacCtrlAddrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
    "This table shows which MAC Addresses are permitted when the source MAC control
     is enabled and which non permitted MAC Addresses attempted to access the
     current interface. It contains static source MAC Addresses as well as learned
     MAC Addresses. The user can configure Static permitted source MAC Addresses via this table."
     ::= {ethIfMacLayer 2}

ethIfSrcMacCtrlAddrEntry OBJECT-TYPE
    SYNTAX      EthIfSrcMacCtrlAddrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
    "An entry in the table."
    INDEX {ethIfSrcMacCtrlAddrIndex, ethIfSrcMacCtrlAddr, ethIfSrcMacCtrlAddrIdx3 }
    ::= { ethIfSrcMacCtrlAddrTable 1 }

EthIfSrcMacCtrlAddrEntry ::=
     SEQUENCE {
     ethIfSrcMacCtrlAddrIndex          Unsigned32,
	 ethIfSrcMacCtrlAddr               MacAddress,
	 ethIfSrcMacCtrlAddrIdx3           Unsigned32,
     ethIfSrcMacCtrlAddrRowStatus      INTEGER,
     ethIfSrcMacCtrlAddrStatus         INTEGER
     }


ethIfSrcMacCtrlAddrIndex OBJECT-TYPE
      SYNTAX      Unsigned32
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
        "The index of the interface for which the source MAC addresses exist in this table. 
        It may be the ifIndex of the ETH/Bridge Port."
     ::= { ethIfSrcMacCtrlAddrEntry 1 }

ethIfSrcMacCtrlAddr  OBJECT-TYPE
      SYNTAX      MacAddress
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
        "A unicast source MAC address that was learned or statically configured for the current
         interface. Packets with this source MAC address will be accepted by the device."
     ::= { ethIfSrcMacCtrlAddrEntry 2 }

ethIfSrcMacCtrlAddrIdx3 OBJECT-TYPE
      SYNTAX      Unsigned32
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
        "A third index that can be used. For example: The VLAN ID for which the source MAC control
         feature is supported. When this index is not in use, its value will be: 9999." 
     ::= { ethIfSrcMacCtrlAddrEntry 3 }

ethIfSrcMacCtrlAddrRowStatus OBJECT-TYPE
      SYNTAX  INTEGER
	       {  active (1),
		      createAndGo (4),
		      destroy (6) }     
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
        "This MIB object will be used in order to create/delete a static row
         or delete an address that is not allowed to access the current interface
         (ethIfSrcMacCtrlAddrStatus= invalid(2)).
		 Device will add the learned addresses to this table.
         It will not be possible to add a new static entry to this table while the
         number of existing rows is equal or more than ethIfSrcMacCtrlMaxPermitAddr.
         When ethIfSrcMacCtrl = enabled (3), the device will add learned entries only
         up to ethIfSrcMacCtrlMaxPermitAddr."
     ::= { ethIfSrcMacCtrlAddrEntry 4 }

ethIfSrcMacCtrlAddrStatus OBJECT-TYPE
      SYNTAX      INTEGER
       {                    
         invalid (2),
         learned(3),
         mgmt(5)  -- static
       }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
        "The status of this entry.  The meanings of the values are:
         invalid (2) - the current address is not allowed to access this interface.		 	  
		 learned(3) - the current address was learned.
		 mgmt (5) - the current address is static. It may exist in the MAC Table."
     ::= { ethIfSrcMacCtrlAddrEntry 5 }

-- ethIfMacLayerNotifications

ethIfMacAccessViolation NOTIFICATION-TYPE
    OBJECTS     {ifDescr, ethIfSrcMacCtrlLastViolatingAddr}
	STATUS		current
	DESCRIPTION     
	"This trap indicates that an Access Violation occurred."
     ::= { ethIfMacLayerEvents 1 }

--***************************************
-- Ethernet definitions on device level
--***************************************

ethIfSysConfig OBJECT IDENTIFIER ::=  { ethIf 11 }

-- List of Valid Ethernet Types at system level

ethIfSysValidEtherTypeTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF EthIfSysValidEtherTypeEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The table contains list of valid VLAN Tag Ethertype codes
            that may be used in port and flow configuration. The table
            is used by devices that can process limited number of the
            Ethertype codes, e.g. due to HW limitations. Configuration
            of other Ethernet code fields should perform sanity check in
            order to allow only Ethertype codes that the table contains."
    ::= { ethIfSysConfig 1 }

ethIfSysValidEtherTypeEntry OBJECT-TYPE
    SYNTAX      EthIfSysValidEtherTypeEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "An entry in the Ethertype table. Each entry contains one
            valid Ethernet code."
            INDEX { ethIfSysValidEtherTypeIdx }
    ::= { ethIfSysValidEtherTypeTable 1 }

EthIfSysValidEtherTypeEntry ::= SEQUENCE {
    ethIfSysValidEtherTypeIdx       Unsigned32,
    ethIfSysValidEtherTypeRowStatus RowStatus,
    ethIfSysValidEtherTypeCode      Unsigned32 
 }

ethIfSysValidEtherTypeIdx  OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "This is a running index of the configuration table."
    ::= { ethIfSysValidEtherTypeEntry 1 }

ethIfSysValidEtherTypeRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "This object enables creation and deletion of entries
            in the ethIfSysValidEtherTypeTable."
    ::= { ethIfSysValidEtherTypeEntry 2 }

ethIfSysValidEtherTypeCode  OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "The valid Ethertype code.

            See standards.ieee.org/regauth/ethertype/eth.txt for codes."
    ::= { ethIfSysValidEtherTypeEntry 3 }
    
-----------------------------------
-- Ethernet Common Trap Definitions
-----------------------------------

-- LOSS OF SIGNAL (LOS)
ethLos  NOTIFICATION-TYPE
	OBJECTS { alarmEventLogSourceName, alarmEventLogAlarmOrEventId, alarmEventLogDescription, 
     alarmEventLogSeverity, alarmEventLogDateAndTime, alarmEventReason, 
     ifAlias } 
      STATUS  current
      DESCRIPTION
      "This trap indicates that a Loss of signal was detected on an ethernet interface.
      "
      ::= { ethIfEvents  1 }

-- ETHERNET RING PROTECTION (ERP) STATE CHANGE

erpStateProtected   NOTIFICATION-TYPE
	OBJECTS { alarmEventLogSourceName, alarmEventLogAlarmOrEventId, alarmEventLogDescription, 
     alarmEventLogSeverity, alarmEventLogDateAndTime, alarmEventReason, 
     erpDescr } 
      STATUS  current
      DESCRIPTION
      "This trap indicates that ERP ring state changed to protected.
      "
 ::= { ethIfEvents  4 }

erpPortStateChange  NOTIFICATION-TYPE
	OBJECTS { alarmEventLogSourceName, alarmEventLogAlarmOrEventId, alarmEventLogDescription, 
     alarmEventLogSeverity, alarmEventLogDateAndTime, alarmEventReason, 
     erpPortDescr, erpPortState } 
      STATUS  current
      DESCRIPTION
      "This trap indicates that the Port State was changed.
      "
      ::= { ethIfEvents  5 }

oamEfmRemoteLoopback        NOTIFICATION-TYPE
	OBJECTS { alarmEventLogSourceName, alarmEventLogAlarmOrEventId, alarmEventLogDescription, 
     alarmEventLogSeverity, alarmEventLogDateAndTime, alarmEventReason, 
     ifAlias, dot3OamLoopbackStatus, dot3OamLoopbackIgnoreRx } 
      STATUS  current
      DESCRIPTION
      "This trap indicates that Loopback started.
      "
      ::= { ethIfEvents 17}

oamEfmRemoteLoopbackOff        NOTIFICATION-TYPE
	OBJECTS { alarmEventLogSourceName, alarmEventLogAlarmOrEventId, alarmEventLogDescription, 
     alarmEventLogSeverity, alarmEventLogDateAndTime, alarmEventReason, 
     ifAlias } 
      STATUS  current
      DESCRIPTION
      "This trap indicates that Loopback ended.
      "
      ::= { ethIfEvents 19}

oamEfmLinkFaultIndication        NOTIFICATION-TYPE
	OBJECTS { alarmEventLogSourceName, alarmEventLogAlarmOrEventId, alarmEventLogDescription, 
     alarmEventLogSeverity, alarmEventLogDateAndTime, alarmEventReason, 
     ifAlias } 
      STATUS  current
      DESCRIPTION
      "This trap indicates Link fault indication.
      "
      ::= { ethIfEvents 20}

oamEfmFeLinkFaultIndication        NOTIFICATION-TYPE
	OBJECTS { alarmEventLogSourceName, alarmEventLogAlarmOrEventId, alarmEventLogDescription, 
     alarmEventLogSeverity, alarmEventLogDateAndTime, alarmEventReason, 
     ifAlias } 
      STATUS  current
      DESCRIPTION
      "This trap indicates Link fault indication at Far End.
      "
      ::= { ethIfEvents 21}

oamEfmCriticalLinkIndication        NOTIFICATION-TYPE
	OBJECTS { alarmEventLogSourceName, alarmEventLogAlarmOrEventId, alarmEventLogDescription, 
     alarmEventLogSeverity, alarmEventLogDateAndTime, alarmEventReason, 
     ifAlias } 
      STATUS  current
      DESCRIPTION
      "This trap indicates Critical link indication.
      "
      ::= { ethIfEvents 22}

oamEfmFeCriticalLinkIndication        NOTIFICATION-TYPE
	OBJECTS { alarmEventLogSourceName, alarmEventLogAlarmOrEventId, alarmEventLogDescription, 
     alarmEventLogSeverity, alarmEventLogDateAndTime, alarmEventReason, 
     ifAlias } 
      STATUS  current
      DESCRIPTION
      "This trap indicates Critical link indication at Far End.
      "
      ::= { ethIfEvents 23}

oamEfmDyingGaspIndication        NOTIFICATION-TYPE
	OBJECTS { alarmEventLogSourceName, alarmEventLogAlarmOrEventId, alarmEventLogDescription, 
     alarmEventLogSeverity, alarmEventLogDateAndTime, alarmEventReason, 
     ifAlias } 
      STATUS  current
      DESCRIPTION
      "This trap indicates Dying gasp indication.
      "
      ::= { ethIfEvents 24}

oamEfmFeDyingGaspIndication        NOTIFICATION-TYPE
	OBJECTS { alarmEventLogSourceName, alarmEventLogAlarmOrEventId, alarmEventLogDescription, 
     alarmEventLogSeverity, alarmEventLogDateAndTime, alarmEventReason, 
     ifAlias } 
      STATUS  current
      DESCRIPTION
      "This trap indicates Dying gasp indication at Far End.
      "
      ::= { ethIfEvents 25}

pcsLinkDown      NOTIFICATION-TYPE
	OBJECTS { alarmEventLogSourceName, alarmEventLogAlarmOrEventId, alarmEventLogDescription, 
     alarmEventLogSeverity, alarmEventLogDateAndTime, alarmEventReason, 
     ifAlias } 
      STATUS  current
      DESCRIPTION
      "This trap indicates that the PCS Link is down.
      "
      ::= { ethIfEvents 26 }
    
END
