-- *****************************************************************
-- QTECH-IP-SET-MIB.mib:  Qtech IP SET MIB file
--
-- February 15 2012, LiJincong
--
-- Copyright (c) 2012 by Qtech Networks Co.,Ltd.
-- All rights reserved.
-- 
-- *****************************************************************

QTECH-IP-SET-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE,
    Integer32, IpAddress 
                     FROM SNMPv2-SMI
    MODULE-COMPLIANCE,
    OBJECT-GROUP
                     FROM SNMPv2-CONF
    InetAddress,
    InetAddressType
                     FROM INET-ADDRESS-MIB
    InterfaceIndex
                     FROM IF-MIB
    qtechMgmt
                     FROM QTECH-SMI;
                
qtechIPSetMgmt MODULE-IDENTITY
    LAST-UPDATED "201202150000Z"
    ORGANIZATION "Qtech Networks Co.,Ltd."
    CONTACT-INFO
        " 
    Tel: 4008-111-000

    E-mail: service@qtech.com.cn"
    DESCRIPTION
        "This module defines ac management mibs."
    REVISION      "201202150000Z"
    DESCRIPTION
        "Initial version of this MIB module."
    ::= { qtechMgmt 111}

-- ******** define the IP set nodes *************
qtechIPSetMIBObjects OBJECT IDENTIFIER ::= { qtechIPSetMgmt 1 }

qtechIPSetipAddressTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF QtechIPSetIpAddressEntry
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "This table is qtech private mib imitate ip-4293's 
            ipAddrTable, because that mib no mask field can not set the 
            address mask.This table contains addressing information 
            relevant to the entity's interfaces.

            This table does not contain multicast address information.
            Tables for such information should be contained in multicast
            specific MIBs, such as RFC 3019.

            While this table is writable.  The intention in allowing a 
            user to write to this table is to allow them to add or 
            remove any entry that isn't

            permanent.  The user should be allowed to modify objects
            and entries when that would not cause inconsistencies
            within the table.  Allowing write access to objects, such
            as ipAddressOrigin, could allow a user to insert an entry
            and then label it incorrectly.

            Note well: When including IPv6 link-local addresses in this
            table, the entry must use an InetAddressType of 'ipv6z' in
            order to differentiate between the possible interfaces."
    ::= { qtechIPSetMIBObjects 1 }

qtechIPSetIpAddressEntry OBJECT-TYPE
    SYNTAX     QtechIPSetIpAddressEntry
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "An address mapping for a particular interface."
    INDEX { qtechIPSetipAddressIfIndex }
    ::= { qtechIPSetipAddressTable 1 }

QtechIPSetIpAddressEntry ::= SEQUENCE {
        qtechIPSetipAddressIfIndex      InterfaceIndex,
        qtechIPSetipAddressAddr         IpAddress,
        qtechIPSetipAddressMask         IpAddress,
        qtechIPSetipAddressStatus       INTEGER,
        qtechIPSetipAddressType         INTEGER
    }

qtechIPSetipAddressIfIndex OBJECT-TYPE
    SYNTAX     InterfaceIndex
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "The index value that uniquely identifies the interface to
            which this entry is applicable.  The interface identified by
            a particular value of this index is the same interface as
            identified by the same value of the IF-MIB's ifIndex."
    ::= { qtechIPSetIpAddressEntry 1 }

qtechIPSetipAddressAddr OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "The IP address to which this entry's addressing information

            pertains.  The address type of this object is specified in
            qtechIPSetipAddressAddrType.

            Implementors need to be aware that if the size of
            qtechIPSetipAddressAddr exceeds 116 octets, then OIDS 
            of instances of columns in this row will have more than 128 
            sub-identifiers and cannot be accessed using SNMPv1, 
            SNMPv2c, or SNMPv3."
    ::= { qtechIPSetIpAddressEntry 2 }

qtechIPSetipAddressMask OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "The IP address mask to which this entry's addressing information

            pertains.  The address type of this object is specified in
            qtechIPSetipAddressAddrType.

            Implementors need to be aware that if the size of
            qtechIPSetipAddressMask exceeds 116 octets, then OIDS 
            of instances of columns in this row will have more than 128 
            sub-identifiers and cannot be accessed using SNMPv1, SNMPv2c, 
            or SNMPv3."
    ::= { qtechIPSetIpAddressEntry 3 }
    
qtechIPSetipAddressStatus OBJECT-TYPE
    SYNTAX     INTEGER {
                 delete(0),
                 add(1)
    }
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
           "The IP address to add or to delete, value 1 is add, and value 0
            is delete"
    ::= { qtechIPSetIpAddressEntry 4 }

qtechIPSetipAddressType OBJECT-TYPE
    SYNTAX     INTEGER {
                 unicast(1),
                 anycast(2),
                 broadcast(3)
    }
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
           "The type of address.  broadcast(3) is not a valid value for
            IPv6 addresses (RFC 3513)."
    DEFVAL { unicast }
    ::= { qtechIPSetIpAddressEntry 5 }
    
-- conformance information

qtechIpSetMIBConformance OBJECT IDENTIFIER ::= { qtechIPSetMgmt 2 }

qtechIpSetMIBCompliances OBJECT IDENTIFIER ::= { qtechIpSetMIBConformance 1 }
qtechIpSetMIBGroups      OBJECT IDENTIFIER ::= { qtechIpSetMIBConformance 2 }

-- compliance statements

qtechIcmpMIBCompliance MODULE-COMPLIANCE
        STATUS  current
        DESCRIPTION
                "The compliance statement for entities which implement
                the Qtech IP Set MIB"
        MODULE  -- this module
                MANDATORY-GROUPS { qtechIpSetMIBGroup
                 }
        ::= { qtechIpSetMIBCompliances 1 }

-- units of conformance

qtechIpSetMIBGroup OBJECT-GROUP
    OBJECTS   { qtechIPSetipAddressIfIndex, 
                qtechIPSetipAddressAddr,
                qtechIPSetipAddressMask,
                qtechIPSetipAddressStatus,
                qtechIPSetipAddressType
              }
        STATUS  current
        DESCRIPTION
                "A collection of objects providing icmp management and
                opertion to a Qtech agent."
        ::= { qtechIpSetMIBGroups 1 } 

END
