-- Copyright (C) 2010-2012 Aricent Group . All Rights Reserved

-- $Id: fsmidhcsnp.mib,v 1.3 2012/09/07 09:52:05 siva Exp $

-- MIL2DHCPSNOOPING Proprietary MIB Definition

-- This MIB contains tables used to configure a switch running
-- MI L2 DHCP SNOOPING.

   Aricent-MI-DHCP-SNOOPING-MIB DEFINITIONS ::= BEGIN
      IMPORTS
         MODULE-IDENTITY, OBJECT-TYPE,
         enterprises, Counter32, Integer32        FROM SNMPv2-SMI
         RowStatus                                FROM SNMPv2-TC;
                                    

fsMIDhcpSnp  MODULE-IDENTITY 
            LAST-UPDATED "201209050000Z" 
            ORGANIZATION "ARICENT COMMUNICATIONS SOFTWARE" 
            CONTACT-INFO "support@aricent.com" 

            DESCRIPTION 
                " The proprietary MIB module is for configuration of DHCP
                snooping feature. DHCP snooping provides security between the 
                untrusted hosts and DHCP servers, by filtering the Untrusted DHCP 
                packets which is received from out of the network and also updates 
                the IP binding database present in the IPDB module. "
            REVISION "201209050000Z"
            DESCRIPTION
               " This mib module is for Proprietory Multiple Instance 
                 DHCP Snooping mib"
            ::=  { enterprises aricent-communication-holding-ltd(29601)
            iss(2) 49} 

-- ***************************************************************************
--                         Groups in the MIB
-- ***************************************************************************

    fsMIDhcpSnpGlobalConfig          OBJECT IDENTIFIER ::= { fsMIDhcpSnp 1 }
    fsMIDhcpSnpInterface             OBJECT IDENTIFIER ::= { fsMIDhcpSnp 2 }

-- ***************************************************************************
--                      Global Configuration Table 
-- ***************************************************************************
    fsMIDhcpSnpGlobalConfigTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF FsMIDhcpSnpGlobalConfigEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This table contains the configuration & statistics collection
            parameters of DHCP snooping on a specific VLAN. "
    ::= { fsMIDhcpSnpGlobalConfig 1 } 

    fsMIDhcpSnpGlobalConfigEntry OBJECT-TYPE
        SYNTAX      FsMIDhcpSnpGlobalConfigEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Each row instance gives the DHCP snooping status on VLAN and the
             statistics collected in that VLAN for the DHCP snooping module"
        INDEX { fsMIDhcpSnpContextId }
    ::= { fsMIDhcpSnpGlobalConfigTable 1 }


   FsMIDhcpSnpGlobalConfigEntry ::=
     SEQUENCE {
           fsMIDhcpSnpContextId
              Integer32,
           fsMIDhcpSnpSnoopingAdminStatus
              INTEGER,
           fsMIDhcpSnpMacVerifyStatus
              INTEGER,
           fsMIDhcpSnpV6AdminStatus
              INTEGER,
           fsMIDhcpSnpTraceValue
              Integer32,
           fsMIDhcpSnpV6EnterpriseId
              Integer32
             }
   fsMIDhcpSnpContextId OBJECT-TYPE
   SYNTAX        Integer32 (0..65535)
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
      "Identifies the Virtual Context."
   ::= { fsMIDhcpSnpGlobalConfigEntry 1 }

    fsMIDhcpSnpSnoopingAdminStatus OBJECT-TYPE
        SYNTAX          INTEGER { enabled(1), disabled(2) }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "Enables or disables Layer2 DHCP Snooping globally in the system.
             When set to 'enabled', the DHCP Snooping Module will start the 
             protocol operation. Layer2 DHCP Snooping should be enabled on 
             per VLAN basis also. When set to 'disabled', the DHCP Snooping 
             Module will stop the protocol operation."
        DEFVAL  { disabled }
    ::= { fsMIDhcpSnpGlobalConfigEntry 2 }
    
     fsMIDhcpSnpMacVerifyStatus OBJECT-TYPE
        SYNTAX          INTEGER { enabled(1), disabled(2) }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "Enables or disables the MAC address verification. If this option 
             is enabled, the Layer2 DHCPv4/v6 snooping module will verify the 
             source MAC Address against the client hardware address in the
             DHCP packets received."
         DEFVAL  { enabled }
     ::= { fsMIDhcpSnpGlobalConfigEntry 3 }

     fsMIDhcpSnpV6AdminStatus OBJECT-TYPE
         SYNTAX          INTEGER { enabled(1), disabled(2) }
         MAX-ACCESS      read-write
         STATUS          current
         DESCRIPTION
             "Enables or disables Layer2 DHCPv6 Snooping globally in the system.
              When set to 'enabled', the DHCPv6 Snooping Module will start the
              protocol operation. Layer2 DHCPv6 Snooping should be enabled on
              per VLAN basis also. When set to 'disabled', the DHCPv6 Snooping
              Module will stop the protocol operation."
         DEFVAL  { 2 }
     ::= { fsMIDhcpSnpGlobalConfigEntry 4 }

     fsMIDhcpSnpTraceValue OBJECT-TYPE
         SYNTAX      Integer32
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
            "The mask which is used to enable selective debug levels in
             DHCPv4/v6 Snooping module.Each allowed BIT in the integer, represents
             a particular level of Trace.The mapping between the bit
             positions & the level of trace is as follows:
                  1 - Entry Trace
                  2 - Exit Trace
                  3 - Debug Trace
                  4 - Failure Trace
                  6 - Packet Trace
                  7 - Critical Trace.    
                  all - All trace is a combination of all traces."
 
         DEFVAL  { 7 }
     ::= { fsMIDhcpSnpGlobalConfigEntry 5 }

     fsMIDhcpSnpV6EnterpriseId OBJECT-TYPE
         SYNTAX      Integer32
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
             "This object is used to set the Enterprise Id parameter. When
              the operator configures the enterprise-number, it will be used
              in the enterprise-id field in DHCPV6 remote-id option (37)
              By Default, enterprise number MUST be set to the Broadband Forum
              enterprise code, i.e. 3561 in decimal "

         DEFVAL  { 3561 }

     ::= { fsMIDhcpSnpGlobalConfigEntry 6 }


-- ***************************************************************************
--                               GROUPS
-- ***************************************************************************

-- **************************** VLAN Entry ******************************

    fsMIDhcpSnpInterfaceTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF FsMIDhcpSnpInterfaceEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This table contains the configuration & statistics collection 
            parameters of DHCP snooping on a particular context for a specified
            VLAN. "
    ::= { fsMIDhcpSnpInterface 1 }
                               
    fsMIDhcpSnpInterfaceEntry OBJECT-TYPE
        SYNTAX FsMIDhcpSnpInterfaceEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Each row instance gives the DHCP snooping status on VLAN and the 
	     statistics collected in that VLAN for the DHCP snooping module" 
        INDEX { fsMIDhcpSnpContextId, fsMIDhcpSnpVlanId }
    ::= { fsMIDhcpSnpInterfaceTable 1 }

    FsMIDhcpSnpInterfaceEntry ::= SEQUENCE {
        fsMIDhcpSnpVlanId             Integer32,
        fsMIDhcpSnpVlanSnpStatus      INTEGER,
        fsMIDhcpSnpRxDiscovers        Counter32,
        fsMIDhcpSnpRxRequests         Counter32,
        fsMIDhcpSnpRxReleases         Counter32,
        fsMIDhcpSnpRxDeclines         Counter32,
        fsMIDhcpSnpRxInforms          Counter32,
        fsMIDhcpSnpTxOffers           Counter32,
        fsMIDhcpSnpTxAcks             Counter32,
        fsMIDhcpSnpTxNaks             Counter32,
        fsMIDhcpSnpNoOfDiscards       Counter32,
        fsMIDhcpSnpMacDiscards        Counter32,
        fsMIDhcpSnpServerDiscards     Counter32,
        fsMIDhcpSnpOptionDiscards     Counter32,
        fsMIDhcpSnpInterfaceStatus    RowStatus,
        fsMIDhcpSnpV6VlanSnpStatus    INTEGER,
        fsMIDhcpSnpV6RxClientPkts     Counter32,
        fsMIDhcpSnpV6TxClientPkts     Counter32,
        fsMIDhcpSnpV6TxRelayForwards  Counter32,
        fsMIDhcpSnpV6RxRelayReplys    Counter32,
        fsMIDhcpSnpV6PktDrops         Counter32,
        fsMIDhcpSnpV6ClearStatistics    INTEGER

    }

   fsMIDhcpSnpVlanId OBJECT-TYPE
        SYNTAX      Integer32 (1..4094)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Vlan ID of the VLAN to which this table-entry is associated."
    ::= { fsMIDhcpSnpInterfaceEntry 2 }

   fsMIDhcpSnpVlanSnpStatus OBJECT-TYPE
        SYNTAX      INTEGER { enabled (1), disabled (2) }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "setting this object Enables or disables Layer2 DHCP Snooping 
             in the given VLAN."
        DEFVAL  { disabled }
    ::= { fsMIDhcpSnpInterfaceEntry 3 }

    fsMIDhcpSnpRxDiscovers OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicates the total number of DHCP DISCOVERs received 
             from the hosts connected to this VLAN."
    ::= { fsMIDhcpSnpInterfaceEntry 4 }
    
    fsMIDhcpSnpRxRequests OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicates the total number of DHCP REQUESTs received from 
             the hosts connected to this VLAN."
    ::= { fsMIDhcpSnpInterfaceEntry 5 }
   
    fsMIDhcpSnpRxReleases OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicates the total number of DHCP RELEASEs received from 
             the hosts connected to this VLAN."
    ::= { fsMIDhcpSnpInterfaceEntry 6 }
    
    fsMIDhcpSnpRxDeclines OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicates the total number of DHCP DECLINEs received from 
             the hosts connected to this VLAN."
    ::= { fsMIDhcpSnpInterfaceEntry 7 }
    
    fsMIDhcpSnpRxInforms OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicates the total number of DHCP INFORMs received from 
             the hosts connected to this VLAN."
    ::= { fsMIDhcpSnpInterfaceEntry 8 }

    fsMIDhcpSnpTxOffers OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicates the total number of DHCP OFFERs sent out on this
             VLAN to hosts."
    ::= { fsMIDhcpSnpInterfaceEntry 9 }

    fsMIDhcpSnpTxAcks OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicates the total number of DHCP ACKs sent out on this
             VLAN to hosts."
    ::= { fsMIDhcpSnpInterfaceEntry 10 }

    fsMIDhcpSnpTxNaks OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicates the total number of DHCP NAKs sent out on this
             VLAN to hosts."
    ::= { fsMIDhcpSnpInterfaceEntry 11 }

    fsMIDhcpSnpNoOfDiscards OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicates the total number of DHCP packets from hosts dropped 
             on this VLAN."
    ::= { fsMIDhcpSnpInterfaceEntry 12 }

    fsMIDhcpSnpMacDiscards OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicates the total number of DHCP packets from hosts dropped 
             due to failure in MAC Address verification."
    ::= { fsMIDhcpSnpInterfaceEntry 13 }

    fsMIDhcpSnpServerDiscards OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicates the total number of DHCP packets from hosts dropped 
             because they are supposed to be the messages from a server. 
             The DHCP packets so dropped will include DHCP ACK, DHCP NAK and 
             DHCP OFFERs received from untrusted host ports."
    ::= { fsMIDhcpSnpInterfaceEntry 14 }

    fsMIDhcpSnpOptionDiscards OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicates the total number of DHCP packets from hosts dropped 
             because either option-82 is present in them or giaddr field is 
             set."
    ::= { fsMIDhcpSnpInterfaceEntry 15 }
    
    fsMIDhcpSnpInterfaceStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Row-Status of the interface entry."
    ::= { fsMIDhcpSnpInterfaceEntry 16 }

     fsMIDhcpSnpV6VlanSnpStatus OBJECT-TYPE
        SYNTAX      INTEGER { enabled (1), disabled (2) }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "When set to enabled, Layer2 DHCPv6 Snooping will be enabled on this VLAN.
             When set to disabled, Layer2 DHCPv6 Snooping will be disabled on this VLAN."
        DEFVAL  { 2 }
    ::= { fsMIDhcpSnpInterfaceEntry 17 }

    fsMIDhcpSnpV6RxClientPkts OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicates the total number of DHCPv6 Client packets received
             on this VLAN."
    ::= { fsMIDhcpSnpInterfaceEntry 18 }

    fsMIDhcpSnpV6TxClientPkts OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicates the total number of DHCPv6 packets sent out on this VLAN
             to the client"
    ::= { fsMIDhcpSnpInterfaceEntry 19 }

    fsMIDhcpSnpV6TxRelayForwards OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicates the total number of DHCPv6 RELAY-FORWARDs sent out on this VLAN
             to the server "
            
    ::= { fsMIDhcpSnpInterfaceEntry 20 }

    fsMIDhcpSnpV6RxRelayReplys OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicates the total number of DHCPv6 RELAY-REPLY messages received on this VLAN 
             from the server"
             
    ::= { fsMIDhcpSnpInterfaceEntry 21 }

    fsMIDhcpSnpV6PktDrops OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicates the total number of DHCPv6 packets discarded 
             on this VLAN."
    ::= { fsMIDhcpSnpInterfaceEntry 22 }

    fsMIDhcpSnpV6ClearStatistics OBJECT-TYPE
      SYNTAX      INTEGER { enabled (1), disabled (2) }
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
          "When set to enabled, resets all statistics counter values to zero
           on particular VLAN. After resetting the statistics counter values,
           the value of this object automatically switches back to 'disabled'.
           When set to disabled, this object has no effect. "

     DEFVAL  { 2 }
     ::= { fsMIDhcpSnpInterfaceEntry 23 }

END
