librenms/librenms

View on GitHub
mibs/junose/broken/Juniper-DOS-PROTECTION-PLATFORM-MIB

Summary

Maintainability
Test Coverage
-- *****************************************************************************
-- Juniper-DOS-PROTECTION-PLATFORM-MIB
--
-- Juniper Networks Enterprise MIB
--   DOS Protection MIB (platform)
--
-- Copyright (c) 2005-2006 Juniper Networks, Inc.
--   All Rights Reserved.
-- *****************************************************************************
Juniper-DOS-PROTECTION-PLATFORM-MIB  DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,  Counter32,  
        Unsigned32, Integer32
        FROM SNMPv2-SMI
    JuniEnable
        FROM Juniper-TC
    TEXTUAL-CONVENTION, TruthValue, MacAddress, DisplayString
        FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
        FROM SNMPv2-CONF
    InterfaceIndex
        FROM IF-MIB
    juniMibs
        FROM Juniper-MIBs
    JuniDosProtectionProtocolType, JuniDosProtectionPriorityType, JuniDosProtectionProtocolState, 
        JuniDosProtectionScfdsTableOverflowState
        FROM Juniper-DOS-PROTECTION-MIB;


juniDosProtectionPlatformMIB  MODULE-IDENTITY
    LAST-UPDATED "200607010000Z"  -- 01-Jul-2006 00:00
    ORGANIZATION "Juniper Networks, Inc."
    CONTACT-INFO
        "       Juniper Networks, Inc.
        Postal: 10 Technology Park Drive
                Westford, MA  01886-3146
                USA
        Tel:    +1 978 589 5800
        Email:  mib@Juniper.net"
    DESCRIPTION 
        "The DOS Protection MIB for the Juniper E-Series product family. 
        This MIB contains managed objects for the DOS Protection 
        application, which are platform specific. Management objects are 
        provided to control and monitor the DOS protection application."
    REVISION   "200607010000Z"  -- 01-Jul-2006 00:00   JUNOSe -.-
    DESCRIPTION
        "Added dos-protection-group support and added MAC address    
        to flow traps."    
    REVISION   "200601010000Z"  -- 01-Jan-2006 00:00   JUNOSe 7.3
    DESCRIPTION
        "Initial version of this MIB module."    
    ::= { juniMibs 81 }                  


-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Managed objects
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

juniDosProtectionPlatformObjects        OBJECT IDENTIFIER ::= { juniDosProtectionPlatformMIB 1 }
juniDosProtectionPlatformScfdsGroup     OBJECT IDENTIFIER ::= { juniDosProtectionPlatformObjects 1 }
juniDosProtectionPlatformDpgGroup        OBJECT IDENTIFIER ::= { juniDosProtectionPlatformObjects 2 }
--
-- slot based table for protocol state
--

juniDosProtectionScfdsSlotProtocolTable OBJECT-TYPE
    SYNTAX        SEQUENCE OF JuniDosProtectionScfdsSlotProtocolEntry
    MAX-ACCESS     not-accessible
    STATUS        current
    DESCRIPTION 
        "The information for the DOS protection control protocols 
        for a specific slot."

    ::= { juniDosProtectionPlatformScfdsGroup 1 } 

juniDosProtectionScfdsSlotProtocolEntry OBJECT-TYPE
    SYNTAX        JuniDosProtectionScfdsSlotProtocolEntry
    MAX-ACCESS     not-accessible
    STATUS        current
    DESCRIPTION
        "The information for an individual control protocol on
        a specific slot."

    INDEX    {  juniDosProtectionScfdsSlotProtocolSlot,
              juniDosProtectionScfdsSlotProtocolIndex }

    ::= { juniDosProtectionScfdsSlotProtocolTable 1 } 
    
JuniDosProtectionScfdsSlotProtocolEntry ::= SEQUENCE {
    juniDosProtectionScfdsSlotProtocolSlot     Unsigned32,
    juniDosProtectionScfdsSlotProtocolIndex     JuniDosProtectionProtocolType,
    juniDosProtectionScfdsSlotProtocolState     JuniDosProtectionProtocolState,
    juniDosProtectionScfdsSlotProtocolTransitions     Counter32}

juniDosProtectionScfdsSlotProtocolSlot OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The slot value for the entry."

    ::= { juniDosProtectionScfdsSlotProtocolEntry 1 }

juniDosProtectionScfdsSlotProtocolIndex OBJECT-TYPE
    SYNTAX      JuniDosProtectionProtocolType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The control protocol value for the entry."

    ::= { juniDosProtectionScfdsSlotProtocolEntry 2 }

juniDosProtectionScfdsSlotProtocolState OBJECT-TYPE
    SYNTAX        JuniDosProtectionProtocolState
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION 
        "The current state of the protocol.  This object will return inTrouble(2)
        if the specific slot referenced is reporting that the protocol is currently
        being watched for suspicious flows. If the module is not reporting that 
        this protocol is being watched this object will return ok(1). 

        A protocol is in trouble for a slot when the sum of the rate of all flows 
        for the protocol is over the limit for that protocol."

    ::= { juniDosProtectionScfdsSlotProtocolEntry 3 }

juniDosProtectionScfdsSlotProtocolTransitions OBJECT-TYPE
    SYNTAX        Counter32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION 
        "The number of transitions to 'inTrouble' that this control protocol 
        has made for this slot."

    ::= { juniDosProtectionScfdsSlotProtocolEntry 4 }


--
-- slot based flow table
--

juniDosProtectionScfdsSlotFlowTable OBJECT-TYPE
    SYNTAX        SEQUENCE OF JuniDosProtectionScfdsSlotFlowEntry
    MAX-ACCESS     not-accessible
    STATUS        obsolete
    DESCRIPTION 
        "Information about suspicious control flows."

    ::= { juniDosProtectionPlatformScfdsGroup 2 } 

juniDosProtectionScfdsSlotFlowEntry    OBJECT-TYPE
    SYNTAX        JuniDosProtectionScfdsSlotFlowEntry
    MAX-ACCESS     not-accessible
    STATUS        obsolete
    DESCRIPTION
        "Information about a suspicious control flow."

    INDEX    { juniDosProtectionScfdsSlotFlowSlot,
              juniDosProtectionScfdsSlotFlowIfIndex,
              juniDosProtectionScfdsSlotFlowGroupId,
              juniDosProtectionScfdsSlotFlowProtocol }

    ::= { juniDosProtectionScfdsSlotFlowTable 1 } 
    
JuniDosProtectionScfdsSlotFlowEntry ::= SEQUENCE {
    juniDosProtectionScfdsSlotFlowSlot        Unsigned32,
    juniDosProtectionScfdsSlotFlowIfIndex        InterfaceIndex,
    juniDosProtectionScfdsSlotFlowGroupId     Unsigned32,
    juniDosProtectionScfdsSlotFlowProtocol    JuniDosProtectionProtocolType,
    juniDosProtectionScfdsSlotFlowRate        Unsigned32,
    juniDosProtectionScfdsSlotFlowPeakRate    Unsigned32,
    juniDosProtectionScfdsSlotFlowTimeFlagged    Unsigned32,
    juniDosProtectionScfdsSlotFlowIngressSlot    Integer32,
    juniDosProtectionScfdsSlotFlowGroup       TruthValue,
    juniDosProtectionScfdsSlotFlowClearEntry    INTEGER}

juniDosProtectionScfdsSlotFlowSlot    OBJECT-TYPE
    SYNTAX        Unsigned32
    MAX-ACCESS    not-accessible
    STATUS        obsolete
    DESCRIPTION 
        "The slot value for the flow."

    ::= { juniDosProtectionScfdsSlotFlowEntry 1 }

juniDosProtectionScfdsSlotFlowIfIndex    OBJECT-TYPE
    SYNTAX        InterfaceIndex
    MAX-ACCESS    not-accessible
    STATUS        obsolete
    DESCRIPTION 
        "The ifIndex value for the flow. For group flows, this value
        will be zero."

    ::= { juniDosProtectionScfdsSlotFlowEntry 2 }

juniDosProtectionScfdsSlotFlowGroupId    OBJECT-TYPE
    SYNTAX        Unsigned32(0..15)
    MAX-ACCESS    not-accessible
    STATUS        obsolete
    DESCRIPTION 
        "The group id for the flow. The group id will be zero for an individual 
        flow. It is non-zero when the entry represents a group of flows."

    ::= { juniDosProtectionScfdsSlotFlowEntry 3 }

juniDosProtectionScfdsSlotFlowProtocol OBJECT-TYPE
    SYNTAX        JuniDosProtectionProtocolType
    MAX-ACCESS    not-accessible
    STATUS        obsolete
    DESCRIPTION 
        "The control protocol for the flow."

    ::= { juniDosProtectionScfdsSlotFlowEntry 4 }

juniDosProtectionScfdsSlotFlowRate OBJECT-TYPE
    SYNTAX        Unsigned32
    MAX-ACCESS    read-only
    STATUS        obsolete
    DESCRIPTION 
        "The current rate in packets per second for the flow."

    ::= { juniDosProtectionScfdsSlotFlowEntry 5 }

juniDosProtectionScfdsSlotFlowPeakRate OBJECT-TYPE
    SYNTAX        Unsigned32
    MAX-ACCESS    read-only
    STATUS        obsolete
    DESCRIPTION 
        "The peak rate in packets per second for the flow."

    ::= { juniDosProtectionScfdsSlotFlowEntry 6 }

juniDosProtectionScfdsSlotFlowTimeFlagged    OBJECT-TYPE
    SYNTAX        Unsigned32
    MAX-ACCESS    read-only
    STATUS        obsolete
    DESCRIPTION 
        "The sysUpTime value for the time when the flow was
        determined to be suspicious."

    ::= { juniDosProtectionScfdsSlotFlowEntry 7 }

juniDosProtectionScfdsSlotFlowIngressSlot    OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS read-only
    STATUS     obsolete
    DESCRIPTION
        "For control flow that are monitored on the egress 
        processor in the forwarding path, this value will 
        indicate the possible ingress slot for data stream that
        is possibly causing this suspicious flow control. This 
        object will report -1 when it is undefined"
    
    ::= { juniDosProtectionScfdsSlotFlowEntry 8 }

juniDosProtectionScfdsSlotFlowGroup       OBJECT-TYPE 
    SYNTAX        TruthValue
    MAX-ACCESS read-only
    STATUS     obsolete
    DESCRIPTION
        "Indicates whether the flow is a group flow or not. A value of
        true(1) indicates that the flow represents a group of flows. 
        A value of false(2) indicates that the flow is an individual flow."
    
    ::= { juniDosProtectionScfdsSlotFlowEntry 9 }

juniDosProtectionScfdsSlotFlowClearEntry OBJECT-TYPE
    SYNTAX      INTEGER {
                    ok(0),
                    clear(1) }
    MAX-ACCESS  read-write
    STATUS      obsolete
    DESCRIPTION
        "When set to clear(1), the suspicious control flow
        is removed from the suspicious control flow table.  When set to 
        ok(0), there is no effect and the suspicious control flow 
        is unchanged.

        When read, always returns a value of ok(0)."

    ::= { juniDosProtectionScfdsSlotFlowEntry 10 }

--
-- slot based flow table (with MAC address)
--

juniDosProtectionScfdsSlotFlowMacTable OBJECT-TYPE
    SYNTAX        SEQUENCE OF JuniDosProtectionScfdsSlotFlowMacEntry
    MAX-ACCESS     not-accessible
    STATUS        current
    DESCRIPTION 
        "Information about suspicious control flows."

    ::= { juniDosProtectionPlatformScfdsGroup 4 } 

juniDosProtectionScfdsSlotFlowMacEntry    OBJECT-TYPE
    SYNTAX        JuniDosProtectionScfdsSlotFlowMacEntry
    MAX-ACCESS     not-accessible
    STATUS        current
    DESCRIPTION
        "Information about a suspicious control flow."

    INDEX    { juniDosProtectionScfdsSlotFlowMacSlot,
              juniDosProtectionScfdsSlotFlowMacIfIndex,
              juniDosProtectionScfdsSlotFlowMacGroupId,
              juniDosProtectionScfdsSlotFlowMacProtocol,
              juniDosProtectionScfdsSlotFlowMacSrcMac}

    ::= { juniDosProtectionScfdsSlotFlowMacTable 1 } 
    
JuniDosProtectionScfdsSlotFlowMacEntry ::= SEQUENCE {
    juniDosProtectionScfdsSlotFlowMacSlot        Unsigned32,
    juniDosProtectionScfdsSlotFlowMacIfIndex    InterfaceIndex,
    juniDosProtectionScfdsSlotFlowMacGroupId    Unsigned32,
    juniDosProtectionScfdsSlotFlowMacProtocol    JuniDosProtectionProtocolType,
    juniDosProtectionScfdsSlotFlowMacSrcMac        MacAddress,
    juniDosProtectionScfdsSlotFlowMacRate        Unsigned32,
    juniDosProtectionScfdsSlotFlowMacPeakRate    Unsigned32,
    juniDosProtectionScfdsSlotFlowMacTimeFlagged    Unsigned32,
    juniDosProtectionScfdsSlotFlowMacIngressSlot    Integer32,
    juniDosProtectionScfdsSlotFlowMacGroup      TruthValue,
    juniDosProtectionScfdsSlotFlowMacClearEntry    INTEGER}

juniDosProtectionScfdsSlotFlowMacSlot    OBJECT-TYPE
    SYNTAX        Unsigned32
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION 
        "The slot value for the flow."

    ::= { juniDosProtectionScfdsSlotFlowMacEntry 1 }

juniDosProtectionScfdsSlotFlowMacIfIndex    OBJECT-TYPE
    SYNTAX        InterfaceIndex
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION 
        "The ifIndex value for the flow. For group flows, this value
        will be zero."

    ::= { juniDosProtectionScfdsSlotFlowMacEntry 2 }

juniDosProtectionScfdsSlotFlowMacGroupId    OBJECT-TYPE
    SYNTAX        Unsigned32(0..15)
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION 
        "The group id for the flow. The group id will be zero for an individual 
        flow. It is non-zero when the entry represents a group of flows."

    ::= { juniDosProtectionScfdsSlotFlowMacEntry 3 }

juniDosProtectionScfdsSlotFlowMacProtocol OBJECT-TYPE
    SYNTAX        JuniDosProtectionProtocolType
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION 
        "The control protocol for the flow."

    ::= { juniDosProtectionScfdsSlotFlowMacEntry 4 }

juniDosProtectionScfdsSlotFlowMacSrcMac OBJECT-TYPE
    SYNTAX           MacAddress
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION 
        "The source MAC address for the flow. A null
        source MAC address indicates that no source
        physical address was available."

    ::= { juniDosProtectionScfdsSlotFlowMacEntry 5 }

juniDosProtectionScfdsSlotFlowMacRate OBJECT-TYPE
    SYNTAX        Unsigned32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION 
        "The current rate in packets per second for the flow."

    ::= { juniDosProtectionScfdsSlotFlowMacEntry 6 }

juniDosProtectionScfdsSlotFlowMacPeakRate OBJECT-TYPE
    SYNTAX        Unsigned32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION 
        "The peak rate in packets per second for the flow."

    ::= { juniDosProtectionScfdsSlotFlowMacEntry 7 }

juniDosProtectionScfdsSlotFlowMacTimeFlagged    OBJECT-TYPE
    SYNTAX        Unsigned32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION 
        "The sysUpTime value for the time when the flow was
        determined to be suspicious."

    ::= { juniDosProtectionScfdsSlotFlowMacEntry 8 }

juniDosProtectionScfdsSlotFlowMacIngressSlot    OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "For control flow that are monitored on the egress 
        processor in the forwarding path, this value will 
        indicate the possible ingress slot for data stream that
        is possibly causing this suspicious flow control. This 
        object will report -1 when it is undefined"
    
    ::= { juniDosProtectionScfdsSlotFlowMacEntry 9 }

juniDosProtectionScfdsSlotFlowMacGroup       OBJECT-TYPE 
    SYNTAX        TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Indicates whether the flow is a group flow or not. A value of
        true(1) indicates that the flow represents a group of flows. 
        A value of false(0) indicates that the flow is an individual flow."
    
    ::= { juniDosProtectionScfdsSlotFlowMacEntry 10 }

juniDosProtectionScfdsSlotFlowMacClearEntry OBJECT-TYPE
    SYNTAX      INTEGER {
                    ok(0),
                    clear(1) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "When set to clear(1), the suspicious control flow
        is removed from the suspicious control flow table.  When set to 
        ok(0), there is no effect and the suspicious control flow 
        is unchanged.

        When read, always returns a value of ok(0)."

    ::= { juniDosProtectionScfdsSlotFlowMacEntry 11 }


--
-- per slot information
--

juniDosProtectionScfdsSlotTable OBJECT-TYPE
    SYNTAX        SEQUENCE OF JuniDosProtectionScfdsSlotEntry
    MAX-ACCESS     not-accessible
    STATUS        current
    DESCRIPTION 
        "The suspicious control flow information for each slot."

    ::= { juniDosProtectionPlatformScfdsGroup 3 } 

juniDosProtectionScfdsSlotEntry    OBJECT-TYPE
    SYNTAX        JuniDosProtectionScfdsSlotEntry
    MAX-ACCESS     not-accessible
    STATUS        current
    DESCRIPTION
        "The information for a specific slot."

    INDEX    { juniDosProtectionScfdsSlotFlowSlot }


    ::= { juniDosProtectionScfdsSlotTable 1 } 
    
JuniDosProtectionScfdsSlotEntry ::= SEQUENCE {
    juniDosProtectionScfdsSlotSlot                Unsigned32,
    juniDosProtectionScfdsSlotClearAll            INTEGER,    
    juniDosProtectionScfdsSlotDiscontinuityTime    Unsigned32,
    juniDosProtectionScfdsSlotTableOverflowState  
            JuniDosProtectionScfdsTableOverflowState,
    juniDosProtectionScfdsSlotCurrentSuspiciousFlows    Counter32,
    juniDosProtectionScfdsSlotNumberSuspiciousFlows    Counter32,
    juniDosProtectionScfdsSlotCurrentSuspiciousFlowGroups    Counter32,
    juniDosProtectionScfdsSlotNumberSuspiciousFlowGroups    Counter32,
    juniDosProtectionScfdsSlotCurrentFalseNegativeFlows    Counter32,
    juniDosProtectionScfdsSlotNumberFalseNegativeFlows    Counter32,
    juniDosProtectionScfdsSlotOverflows                Counter32}

juniDosProtectionScfdsSlotSlot    OBJECT-TYPE
    SYNTAX        Unsigned32
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION 
        "The slot value for this entry."

    ::= { juniDosProtectionScfdsSlotEntry 1 }

juniDosProtectionScfdsSlotClearAll OBJECT-TYPE
    SYNTAX      INTEGER {
                    ok(0),
                    clear(1) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "When set to clear(1), the suspicious control flow detection system
        is cleared for this slot.  When set to ok(0), there is no effect and the 
        suspicious control flow detection system is unchanged.
        
        By clearing the suspicious control flow detection system all flows 
        on the slot are removed from the suspicious flow table.

        When read, always returns a value of ok(0)."

    ::= { juniDosProtectionScfdsSlotEntry 2 }


juniDosProtectionScfdsSlotDiscontinuityTime OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The sysUpTime at which the counters were re-adjusted due to 
        slot restart."

    ::= { juniDosProtectionScfdsSlotEntry 3 }

juniDosProtectionScfdsSlotTableOverflowState    OBJECT-TYPE
    SYNTAX        JuniDosProtectionScfdsTableOverflowState
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION 
        "Indicates whether this slot is under a resource 
        shortage situation. A value of notOverflowingOrGrouping(1) indicates
        that there is no resource shortage on the slot. A value of 
        grouping(2) or overflowing(3) indicates that this module 
        is suffering from a resource shortage and has acted according to the
        state of the juniDosProtectionScfdsGlobalGrouping object."

    ::= { juniDosProtectionScfdsSlotEntry 4 }

juniDosProtectionScfdsSlotCurrentSuspiciousFlows    OBJECT-TYPE
    SYNTAX        Counter32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION 
        "The number of flows currently marked as suspicious for this slot."

    ::= { juniDosProtectionScfdsSlotEntry 5 } 

juniDosProtectionScfdsSlotNumberSuspiciousFlows    OBJECT-TYPE
    SYNTAX        Counter32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION 
        "The number of suspicious flows seen on this slot, since slot restart"

    ::= { juniDosProtectionScfdsSlotEntry 6 } 

juniDosProtectionScfdsSlotNumberSuspiciousFlowGroups    OBJECT-TYPE
    SYNTAX        Counter32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION 
        "The number of suspicius flow groups seen on this slot since slot
        restart."

    ::= { juniDosProtectionScfdsSlotEntry 7 } 

juniDosProtectionScfdsSlotCurrentSuspiciousFlowGroups    OBJECT-TYPE
    SYNTAX        Counter32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION 
        "The number of flows currently falsely considered suspicious for
        this slot."

    ::= { juniDosProtectionScfdsSlotEntry 8 } 

juniDosProtectionScfdsSlotCurrentFalseNegativeFlows    OBJECT-TYPE
    SYNTAX        Counter32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION 
        "The number of flows currently falsely considered suspicious on
        this slot."


    ::= { juniDosProtectionScfdsSlotEntry 9 } 

juniDosProtectionScfdsSlotNumberFalseNegativeFlows    OBJECT-TYPE
    SYNTAX        Counter32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION 
        "The number of suspicious flows seen on this slot, since this 
        slot restart."

    ::= { juniDosProtectionScfdsSlotEntry 10 } 


juniDosProtectionScfdsSlotOverflows    OBJECT-TYPE
    SYNTAX        Counter32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION 
        "The number of times this slot has had a table overflow."


    ::= { juniDosProtectionScfdsSlotEntry 11 } 


--
-- dos protection group slot info
--
juniDosProtectionDpgSlotRateTable OBJECT-TYPE
    SYNTAX        SEQUENCE OF JuniDosProtectionDpgSlotRateEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This table provides information about the calculated minimum
        rates (as well as the maximum rates) for each dos-protection-group 
        control protocol for each line module."

    ::= { juniDosProtectionPlatformDpgGroup 1 }

juniDosProtectionDpgSlotRateEntry OBJECT-TYPE
    SYNTAX         JuniDosProtectionDpgSlotRateEntry
    MAX-ACCESS  not-accessible
    STATUS        current
    DESCRIPTION 
        "The rates for an individual dos-protection-group on an line
        module for a control protocol."

    INDEX        {    juniDosProtectionDpgSlotRateSlot,
                    juniDosProtectionDpgSlotRateDpgName,
                    juniDosProtectionDpgSlotRateProtocol}

    ::= { juniDosProtectionDpgSlotRateTable 1 }

JuniDosProtectionDpgSlotRateEntry ::= SEQUENCE {
    juniDosProtectionDpgSlotRateSlot                Unsigned32,
    juniDosProtectionDpgSlotRateDpgName            DisplayString,
    juniDosProtectionDpgSlotRateProtocol            JuniDosProtectionProtocolType,
    juniDosProtectionDpgSlotRateMinRate            Unsigned32,
    juniDosProtectionDpgSlotRateMaxRate            Unsigned32,
    juniDosProtectionDpgSlotRateMinBurst            Unsigned32,
    juniDosProtectionDpgSlotRateMaxBurst            Unsigned32}

juniDosProtectionDpgSlotRateSlot    OBJECT-TYPE
    SYNTAX        Unsigned32
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION 
        "The slot value for this entry."

    ::= { juniDosProtectionDpgSlotRateEntry 1 }

juniDosProtectionDpgSlotRateDpgName    OBJECT-TYPE
    SYNTAX        DisplayString (SIZE(1..32))
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION 
        "The dos-protection-group name for this entry."

    ::= { juniDosProtectionDpgSlotRateEntry 2 }

juniDosProtectionDpgSlotRateProtocol OBJECT-TYPE
    SYNTAX        JuniDosProtectionProtocolType
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "The control protocol for this entry."

    ::= { juniDosProtectionDpgSlotRateEntry 3 }

juniDosProtectionDpgSlotRateMinRate    OBJECT-TYPE
    SYNTAX        Unsigned32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION 
        "The minimum rate for this control protocol on this slot for this 
        dos-protection-group. This value is calculated based on the
        priority rate and oversubscription as well as the control protocol 
        weight"

    ::= { juniDosProtectionDpgSlotRateEntry 4 }

juniDosProtectionDpgSlotRateMaxRate    OBJECT-TYPE
    SYNTAX        Unsigned32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION 
        "The maximum rate for this protocol on this slot for this 
        dos-protection-group. This is equivalent to the configured
        rate for the dos-protection-group"

    ::= { juniDosProtectionDpgSlotRateEntry 5 }

juniDosProtectionDpgSlotRateMinBurst    OBJECT-TYPE
    SYNTAX        Unsigned32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION 
        "The minimum burst for this control protocol on this slot for this 
        dos-protection-group. This value is calculated based on the
        priority burst and oversubscription as well as the control protocol 
        weight"

    ::= { juniDosProtectionDpgSlotRateEntry 6 }

juniDosProtectionDpgSlotRateMaxBurst    OBJECT-TYPE
    SYNTAX        Unsigned32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION 
        "The maximum burst for this protocol on this slot for this 
        dos-protection-group. This is equivalent to the configured
        burst for the dos-protection-group"

    ::= { juniDosProtectionDpgSlotRateEntry 7 }

-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Notifications
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

juniDosProtectionPlatformTraps OBJECT IDENTIFIER ::= { juniDosProtectionPlatformMIB 0 }
juniDosProtectionPlatformTrapControl OBJECT IDENTIFIER ::= { juniDosProtectionPlatformMIB 2 }
juniDosProtectionPlatformScfdsTraps OBJECT IDENTIFIER ::= { juniDosProtectionPlatformTraps 0 }


juniDosProtectionScfdsSlot OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION 
        "The slot value."

    ::= { juniDosProtectionPlatformTrapControl 1 }

juniDosProtectionPriority OBJECT-TYPE
    SYNTAX JuniDosProtectionPriorityType
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION 
        "The control priority value."

    ::= { juniDosProtectionPlatformTrapControl 2 }

juniDosProtectionProtocol OBJECT-TYPE
    SYNTAX JuniDosProtectionProtocolType
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION 
        "The control protocol value."

    ::= { juniDosProtectionPlatformTrapControl 3 }

juniDosProtectionIfIndex OBJECT-TYPE
    SYNTAX InterfaceIndex
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION 
        "The ifIndex value."

    ::= { juniDosProtectionPlatformTrapControl 4 }

juniDosProtectionGroupId OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION 
        "The group id value."

    ::= { juniDosProtectionPlatformTrapControl 5 }

juniDosProtectionSrcPhysAddr OBJECT-TYPE
    SYNTAX MacAddress (SIZE(6))
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION 
        "The source physical MAC address."

    ::= { juniDosProtectionPlatformTrapControl 6 }

juniDosProtectionScfdsFlowRate OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION 
        "The flow rate at the creation time."

    ::= { juniDosProtectionPlatformTrapControl 7 }

---
--- traps
---

juniDosProtectionScfdsSuspiciousControlFlow NOTIFICATION-TYPE
    OBJECTS { juniDosProtectionIfIndex,
              juniDosProtectionProtocol }
    STATUS     obsolete
    DESCRIPTION 
        "This trap will be generated when a control flow becomes 
        suspicious."
    
    ::= { juniDosProtectionPlatformScfdsTraps 1 }

juniDosProtectionScfdsNonSuspiciousControlFlow NOTIFICATION-TYPE
    OBJECTS { juniDosProtectionIfIndex,
              juniDosProtectionProtocol }
    STATUS     obsolete
    DESCRIPTION 
        "This trap will be generated when a control flow becomes 
        no longer suspicious"
    
    ::= { juniDosProtectionPlatformScfdsTraps 2 }

juniDosProtectionScfdsSuspiciousControlFlowGroup NOTIFICATION-TYPE
    OBJECTS { juniDosProtectionScfdsSlot,
              juniDosProtectionGroupId,
              juniDosProtectionProtocol }
    STATUS     current
    DESCRIPTION 
        "This trap will be generated when a control flow that
        represents a group becomes suspicious."

    
    ::= { juniDosProtectionPlatformScfdsTraps 3 }

juniDosProtectionScfdsNonSuspiciousControlFlowGroup NOTIFICATION-TYPE
    OBJECTS { juniDosProtectionScfdsSlot,
              juniDosProtectionGroupId,
              juniDosProtectionProtocol }
    STATUS     current
    DESCRIPTION 
        "This trap will be generated when a control flow that
        represents a group becomes no longer suspicious."
    
    ::= { juniDosProtectionPlatformScfdsTraps 4 }

juniDosProtectionScfdsTableFull NOTIFICATION-TYPE
    OBJECTS {  juniDosProtectionScfdsSlot }
    STATUS     current
    DESCRIPTION 
        "This trap will be generated when the suspicious flow
        control table becomes full on a slot."
    
    ::= { juniDosProtectionPlatformScfdsTraps 5 }

juniDosProtectionScfdsTableNotFull NOTIFICATION-TYPE
    OBJECTS {  juniDosProtectionScfdsSlot }
    STATUS     current
    DESCRIPTION 
        "This trap will be generated when the suspicious flow
        control table is no longer full on a slot."
    
    ::= { juniDosProtectionPlatformScfdsTraps 6 }

juniDosProtectionScfdsGroupingInUse NOTIFICATION-TYPE
    OBJECTS {  juniDosProtectionScfdsSlot }
    STATUS     current
    DESCRIPTION 
        "This trap will be generated when the suspicious flow
        control system begins to group flow controls on a slot, 
        due to the suspicious flow control table being full."
    
    ::= { juniDosProtectionPlatformScfdsTraps 7 }

juniDosProtectionScfdsSuspiciousProtocol NOTIFICATION-TYPE
    OBJECTS { juniDosProtectionScfdsSlot,
             juniDosProtectionProtocol }
    STATUS     current
    DESCRIPTION 
        "This trap will be generated when a control protocol
        becomes suspicious on a slot, and therefore the suspicious
        control flow system begins to watch flows of this 
        control protocol type."
    
    ::= { juniDosProtectionPlatformScfdsTraps 8 }

juniDosProtectionScfdsNonSuspiciousProtocol NOTIFICATION-TYPE
    OBJECTS { juniDosProtectionScfdsSlot,
             juniDosProtectionProtocol }
    STATUS     current
    DESCRIPTION 
        "This trap will be generated when a control protocol
        becomes no longer suspicious on a slot, and therefore the suspicious
        control flow system will no longer watch flows of this 
        control protocol type."
    
    ::= { juniDosProtectionPlatformScfdsTraps 9 }


juniDosProtectionScfdsSuspiciousPriority NOTIFICATION-TYPE
    OBJECTS {juniDosProtectionScfdsSlot,
             juniDosProtectionPriority }
    STATUS     current
    DESCRIPTION 
        "This trap will be generated when a control priority
        becomes suspicious on a slot."
    
    ::= { juniDosProtectionPlatformScfdsTraps 10 }

juniDosProtectionScfdsNonSuspiciousPriority NOTIFICATION-TYPE
    OBJECTS { juniDosProtectionScfdsSlot,
              juniDosProtectionPriority }

    STATUS     current
    DESCRIPTION 
        "This trap will be generated when a control priority
        becomes no longer suspicious on a slot."
    
    ::= { juniDosProtectionPlatformScfdsTraps 11 }

juniDosProtectionScfdsSuspiciousControlFlowMac NOTIFICATION-TYPE
    OBJECTS { juniDosProtectionIfIndex,
              juniDosProtectionProtocol,
              juniDosProtectionSrcPhysAddr,
              juniDosProtectionScfdsFlowRate}
    STATUS     current
    DESCRIPTION 
        "This trap will be generated when a control flow becomes 
        suspicious."
    
    ::= { juniDosProtectionPlatformScfdsTraps 12 }

juniDosProtectionScfdsNonSuspiciousControlFlowMac NOTIFICATION-TYPE
    OBJECTS { juniDosProtectionIfIndex,
              juniDosProtectionProtocol,
              juniDosProtectionSrcPhysAddr}
    STATUS     obsolete
    DESCRIPTION 
        "This trap will be generated when a control flow becomes 
        no longer suspicious"
    
    ::= { juniDosProtectionPlatformScfdsTraps 13 }
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Conformance information
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

juniDosProtectionPlatformMIBConformance  OBJECT IDENTIFIER ::= { juniDosProtectionPlatformMIB 4 }
juniDosProtectionPlatformMIBCompliances  OBJECT IDENTIFIER ::= { juniDosProtectionPlatformMIBConformance 1 }
juniDosProtectionPlatformMIBGroups       OBJECT IDENTIFIER ::= { juniDosProtectionPlatformMIBConformance 2 }


juniDosProtectionCompliance  MODULE-COMPLIANCE
    STATUS      obsolete
    DESCRIPTION
        "The compliance statement for entities which implement the Juniper Dos
        Protection Platform specific MIB. Obsoleted with the addition of 
        dos-protection groups."
    MODULE   -- this module
        MANDATORY-GROUPS {
            juniDosProtectionPlatformGroup,
            juniDosProtectionPlatformNotificationGroup }
    ::= { juniDosProtectionPlatformMIBCompliances 1 }  

juniDosProtectionCompliance2  MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "The compliance statement for entities which implement the Juniper Dos
        Protection Platform specific MIB."
    MODULE   -- this module
        MANDATORY-GROUPS {
            juniDosProtectionPlatformGroup1,
            juniDosProtectionPlatformNotificationGroup1 }
    ::= { juniDosProtectionPlatformMIBCompliances 2 }  

--
-- units of conformance
--
juniDosProtectionGroup OBJECT-GROUP
    OBJECTS {juniDosProtectionScfdsSlotProtocolState, 
            juniDosProtectionScfdsSlotProtocolTransitions, 
            juniDosProtectionScfdsSlotFlowRate, 
            juniDosProtectionScfdsSlotFlowPeakRate, 
            juniDosProtectionScfdsSlotFlowTimeFlagged,    
            juniDosProtectionScfdsSlotFlowClearEntry, 
            juniDosProtectionScfdsSlotFlowIngressSlot,
            juniDosProtectionScfdsSlotFlowGroup,
            juniDosProtectionScfdsSlotDiscontinuityTime, 
            juniDosProtectionScfdsSlotTableOverflowState,    
            juniDosProtectionScfdsSlotCurrentSuspiciousFlows,    
            juniDosProtectionScfdsSlotNumberSuspiciousFlows,    
            juniDosProtectionScfdsSlotNumberSuspiciousFlowGroups,    
            juniDosProtectionScfdsSlotCurrentSuspiciousFlowGroups,    
            juniDosProtectionScfdsSlotCurrentFalseNegativeFlows,    
            juniDosProtectionScfdsSlotNumberFalseNegativeFlows,    
            juniDosProtectionScfdsSlotOverflows    }
    STATUS current
    DESCRIPTION 
        "A collection of objects providing management of platform 
        specific aspects of the DOS protection application in a 
        Juniper product. This became obsolete with the addition
        of MAC address in the flow table and the addition of 
        dos-protection-groups."

    ::= { juniDosProtectionPlatformMIBGroups 1 }


juniDosProtectionNotificationGroup NOTIFICATION-GROUP
    NOTIFICATIONS {
            juniDosProtectionScfdsSuspiciousControlFlow,
            juniDosProtectionScfdsNonSuspiciousControlFlow,
            juniDosProtectionScfdsSuspiciousControlFlowGroup,
            juniDosProtectionScfdsNonSuspiciousControlFlowGroup,
            juniDosProtectionScfdsTableFull,
            juniDosProtectionScfdsTableNotFull,
            juniDosProtectionScfdsGroupingInUse,
            juniDosProtectionScfdsSuspiciousProtocol,
            juniDosProtectionScfdsNonSuspiciousProtocol,
            juniDosProtectionScfdsSuspiciousPriority,
            juniDosProtectionScfdsNonSuspiciousPriority }
    STATUS current
    DESCRIPTION 
        "Collection of objects for DOS protection application 
        notifications in a Juniper product.This became obsolete with the 
        addition of MAC address in flow traps."

    ::= { juniDosProtectionPlatformMIBGroups 2 }

juniDosProtectionGroup1 OBJECT-GROUP
    OBJECTS {juniDosProtectionScfdsSlotProtocolState, 
            juniDosProtectionScfdsSlotProtocolTransitions, 
            juniDosProtectionScfdsSlotFlowMacRate, 
            juniDosProtectionScfdsSlotFlowMacPeakRate, 
            juniDosProtectionScfdsSlotFlowMacTimeFlagged,    
            juniDosProtectionScfdsSlotFlowMacClearEntry, 
            juniDosProtectionScfdsSlotFlowMacIngressSlot,
            juniDosProtectionScfdsSlotFlowMacGroup,
            juniDosProtectionScfdsSlotDiscontinuityTime, 
            juniDosProtectionScfdsSlotTableOverflowState,    
            juniDosProtectionScfdsSlotCurrentSuspiciousFlows,    
            juniDosProtectionScfdsSlotNumberSuspiciousFlows,    
            juniDosProtectionScfdsSlotNumberSuspiciousFlowGroups,    
            juniDosProtectionScfdsSlotCurrentSuspiciousFlowGroups,    
            juniDosProtectionScfdsSlotCurrentFalseNegativeFlows,    
            juniDosProtectionScfdsSlotNumberFalseNegativeFlows,    
            juniDosProtectionScfdsSlotOverflows,    
            juniDosProtectionDpgSlotRateMinRate,
            juniDosProtectionDpgSlotRateMaxRate,
            juniDosProtectionDpgSlotRateMinBurst,
            juniDosProtectionDpgSlotRateMaxBurst }

    STATUS current
    DESCRIPTION 
        "A collection of objects providing management of platform 
        specific aspects of the DOS protection application in a 
        Juniper product."

    ::= { juniDosProtectionPlatformMIBGroups 3 }

juniDosProtectionNotificationGroup1 NOTIFICATION-GROUP
    NOTIFICATIONS {
            juniDosProtectionScfdsSuspiciousControlFlowMac,
            juniDosProtectionScfdsNonSuspiciousControlFlowMac,
            juniDosProtectionScfdsSuspiciousControlFlowGroup,
            juniDosProtectionScfdsNonSuspiciousControlFlowGroup,
            juniDosProtectionScfdsTableFull,
            juniDosProtectionScfdsTableNotFull,
            juniDosProtectionScfdsGroupingInUse,
            juniDosProtectionScfdsSuspiciousProtocol,
            juniDosProtectionScfdsNonSuspiciousProtocol,
            juniDosProtectionScfdsSuspiciousPriority,
            juniDosProtectionScfdsNonSuspiciousPriority }
    STATUS current
    DESCRIPTION 
        "Collection of objects for DOS protection application 
        notifications in a Juniper product."

    ::= { juniDosProtectionPlatformMIBGroups 4 }
END