ADTRAN-AOS-IF   DEFINITIONS ::= BEGIN

IMPORTS
    Counter64, Gauge32, OBJECT-TYPE, MODULE-IDENTITY
        FROM SNMPv2-SMI
    CounterBasedGauge64
        FROM HCNUM-TC
    DisplayString
        FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
        FROM SNMPv2-CONF
    InterfaceIndex, ifIndex
        FROM IF-MIB
    adIdentity
        FROM ADTRAN-MIB
    adGenAOSConformance, adGenAOSRouter
        FROM ADTRAN-AOS;


adGenAOSIfMib MODULE-IDENTITY
        LAST-UPDATED "201803080000Z"  -- March 08, 2018 / YYYYMMDDHHMMZ
        ORGANIZATION "ADTRAN, Inc."
        CONTACT-INFO
               "Technical Support Dept.
                Postal: ADTRAN, Inc.
                901 Explorer Blvdr
                Huntsville, AL 35806

                Tel: +1 800 726-8663
                Fax: +1 256 963 6217
                E-mail: support@adtran.com"
        DESCRIPTION
                "This MIB module contains statistics of network interfaces required to monitor and analyze the traffic passing through them."

	REVISION "201803080000Z"  -- March 08, 2018 / YYYYMMDDHHMMZ
	DESCRIPTION
            "Invalid CE-VLAN-ID Drops Counter added."

        REVISION "201708300000Z"  -- August 30, 2017 / YYYYMMDDHHMMZ
	DESCRIPTION
            "First Draft of ADTRAN-AOS-IF MIB module."

        ::= { adIdentity 10000 53 2 4 }

adGenAOSIf    OBJECT IDENTIFIER ::= { adGenAOSRouter 4 }

     adGenAOSIfTable OBJECT-TYPE
         SYNTAX   SEQUENCE OF AdGenAOSIfEntry
         MAX-ACCESS   not-accessible
         STATUS   current
         DESCRIPTION
            "Table containing all interface statistics with their respective indices in accordance with the IF-MIB."
         ::= { adGenAOSIf 1 }

     adGenAOSIfEntry OBJECT-TYPE
         SYNTAX   AdGenAOSIfEntry
         MAX-ACCESS   not-accessible
         STATUS   current
         DESCRIPTION
            "The parameters for interfaces."
         INDEX { ifIndex }
         ::= { adGenAOSIfTable 1 }

     AdGenAOSIfEntry ::=
         SEQUENCE {
             adGenAOSIfName                   DisplayString,
             adGenAOSInOctets30s              CounterBasedGauge64,
             adGenAOSOutOctets30s             CounterBasedGauge64,
             adGenAOSInPackets30s             CounterBasedGauge64,
             adGenAOSOutPackets30s            CounterBasedGauge64, 
             adGenAOSInOctets5m               CounterBasedGauge64,
             adGenAOSOutOctets5m              CounterBasedGauge64,
             adGenAOSInPackets5m              CounterBasedGauge64,
             adGenAOSOutPackets5m             CounterBasedGauge64,
             adGenAOSInUndersizedFrames       Gauge32,
             adGenAOSInOversizedFrames        Gauge32,
             adGenAOSInFramesFCS              Gauge32,
             adGenAOSInInvalidCeVlanIdDrops   Counter64
         }

adGenAOSIfName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A textual string containing information about the
            interface.  This string should include the name of the
            manufacturer, the product name and the version of the
            interface hardware/software."
    ::= { adGenAOSIfEntry 1 }

adGenAOSInOctets30s OBJECT-TYPE
    SYNTAX      CounterBasedGauge64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Average of received octets within 30s"
    ::= { adGenAOSIfEntry 2 }

adGenAOSOutOctets30s OBJECT-TYPE
    SYNTAX      CounterBasedGauge64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Average of transmitted octets within 30s"
    ::= { adGenAOSIfEntry 3 }

adGenAOSInPackets30s OBJECT-TYPE
    SYNTAX      CounterBasedGauge64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Average of received frames within 30s"
    ::= { adGenAOSIfEntry 4 }

adGenAOSOutPackets30s OBJECT-TYPE
    SYNTAX      CounterBasedGauge64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Average of transmitted frames within 30s"
    ::= { adGenAOSIfEntry 5 }

adGenAOSInOctets5m OBJECT-TYPE
    SYNTAX      CounterBasedGauge64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Average of received octets within 300s"
    ::= { adGenAOSIfEntry 6 }

adGenAOSOutOctets5m OBJECT-TYPE
    SYNTAX      CounterBasedGauge64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Average of transmitted octets within 300s"
    ::= { adGenAOSIfEntry 7 }

adGenAOSInPackets5m OBJECT-TYPE
    SYNTAX      CounterBasedGauge64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Average of received frames within 300s"
    ::= { adGenAOSIfEntry 8 }

adGenAOSOutPackets5m OBJECT-TYPE
    SYNTAX      CounterBasedGauge64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Average of transmitted frames within 300s"
    ::= { adGenAOSIfEntry 9 }

adGenAOSInUndersizedFrames OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Number of received frames that is smaller than 64Bytes/Octets."
    ::= { adGenAOSIfEntry 10 }

adGenAOSInOversizedFrames OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Number of received frames that exceed the configured MTU size."
    ::= { adGenAOSIfEntry 11 }

adGenAOSInFramesFCS OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Number of received frames with CRC failure or defect data packets based on collision."
    ::= { adGenAOSIfEntry 12 }

adGenAOSInInvalidCeVlanIdDrops OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Number of frames dropped which were received with an Invalid CE-VLAN-ID."
    ::= { adGenAOSIfEntry 13}

    ------------------------------------------------------------
-- Conformance information
--
adGenAOSIfConformance OBJECT IDENTIFIER
   ::= { adGenAOSConformance 26 }

adGenAOSIfGroups OBJECT IDENTIFIER
   ::= { adGenAOSIfConformance 1 }

adGenAOSIfCompliances OBJECT IDENTIFIER
   ::= { adGenAOSIfConformance 2 }

-- Compliance statements
--

-- Full compliance statement
adGenAOSIfCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
    "The compliance statement for SNMP entities which implement
    the adGenAOSIf MIB."

    MODULE  -- this module

    GROUP  adGenAOSIfStatsGroup
    DESCRIPTION
       "This optional group defines the notification generated by  events."
    ::= { adGenAOSIfCompliances 1 }

adGenAOSIfStatsGroup OBJECT-GROUP
    OBJECTS {
             adGenAOSInOctets30s,
             adGenAOSOutOctets30s,
             adGenAOSInPackets30s,
             adGenAOSOutPackets30s,
             adGenAOSInOctets5m,
             adGenAOSOutOctets5m,
             adGenAOSInPackets5m,
             adGenAOSOutPackets5m,
             adGenAOSInUndersizedFrames,
             adGenAOSInOversizedFrames,
             adGenAOSInFramesFCS,
             adGenAOSInInvalidCeVlanIdDrops
    }
    STATUS  current
    DESCRIPTION
       "A collection of objects that indicate the octet and packet statistics."
    ::= { adGenAOSIfGroups 1 }

END
