    QTECH-GBNL3If-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE,
        Counter32, Gauge32,
        Unsigned32, Integer32,
        IpAddress                               FROM SNMPv2-SMI
        
        RowStatus, TruthValue, 
        DisplayString, MacAddress               FROM SNMPv2-TC   

        IpAddress                               FROM RFC1155-SMI
        
        VlanIndex                               FROM Q-BRIDGE-MIB
        
        MODULE-COMPLIANCE, OBJECT-GROUP         FROM SNMPv2-CONF
        
        gbnL3                                   FROM QTECH-MASTER-MIB;       

    gbnL3If MODULE-IDENTITY
        LAST-UPDATED    "0105102004Z"  -- May 10, 2004
        ORGANIZATION    "QTECH LLC"
        CONTACT-INFO    "Basil Budko
                         E-mail: budko@qtech.ru"

        DESCRIPTION     "GBN Generic router id MIB definition."

        REVISION        "0105102004Z"  -- May 10, 2004
        DESCRIPTION     "Initial MIB creation."

        ::= { gbnL3 1 }



------------------------------------------------------------------------------
--  gbnL3Mib             OBJECT IDENTIFIER ::= { gbnL3If 1 }
    gbnL3SuperVLAN       OBJECT IDENTIFIER ::= { gbnL3If 2 }
    gbnL3Arp             OBJECT IDENTIFIER ::= { gbnL3If 3 }
    gbnL3IP              OBJECT IDENTIFIER ::= { gbnL3If 4 }
    gbnL3DHCP            OBJECT IDENTIFIER ::= { gbnL3If 5 }    
------------------------------------------------------------------------------
--
--  gbnL3SuperVLAN:
--      
--
------------------------------------------------------------------------------
    arpProxy OBJECT-TYPE
        SYNTAX      INTEGER{
                        enable(1),
                        disable(2)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Enable/disable the ARP proxy."
            ::= { gbnL3SuperVLAN 1 }

    superVLANTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SuperVLANEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table of superVLAN.When create a new entry,must set superVLANStatus to be active to create
             a entry first,or set superVLANsw/superVLANsuper fisrt will return no suchinstanc error"
        ::= { gbnL3SuperVLAN 2 }

    superVLANEntry OBJECT-TYPE
        SYNTAX SuperVLANEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Table entry for superVLAN."
        INDEX { superVLANVID }
        ::= { superVLANTable 1 }

    SuperVLANEntry ::= SEQUENCE {
    	 superVLANVID		INTEGER,
        superVLANsw    		INTEGER,
        superVLANsuper    	TruthValue,        
        superVLANStatus          RowStatus
       }

    superVLANVID OBJECT-TYPE
        SYNTAX INTEGER (1..4094)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "vlan id."
        ::= { superVLANEntry 1 }

    superVLANsw OBJECT-TYPE
        SYNTAX INTEGER (0..12)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "sw,0 means not existting."
        ::= { superVLANEntry 2 }

   superVLANsuper OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The interface is superVLAN or not"
        ::= { superVLANEntry 3 }

  superVLANStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "the status of this entry"
        ::= { superVLANEntry 4 }


------------------------------------------------------------------------------
--
--  gbnL3Arp:
--      
--
------------------------------------------------------------------------------
    arpTable OBJECT-TYPE 
	    SYNTAX      SEQUENCE OF ArpEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION "˱ΪϵͳARPĸٻrfc1213Ѿйϵͳ
	                 ARPıatеatTableipеipNetToMediaTable
	                 ûVLANϢͽ˿Ϣʶչ" 
	    ::= { gbnL3Arp 1 }     
	    
	arpEntry OBJECT-TYPE 
	    SYNTAX      ArpEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION "ϵͳARPĸٻ" 
	    INDEX   { arpIpAddress }
	    ::= { arpTable 1 } 
	    
    ArpEntry ::= 
        SEQUENCE { 
            arpIpAddress      IpAddress, 
            arpMacAddress     MacAddress,
            arpIfIndex        INTEGER,
            arpVlan           INTEGER,
            arpPort           INTEGER,
            arpType           INTEGER, 
            arpRowStatus      RowStatus 
        } 
        
    arpIpAddress OBJECT-TYPE 
        SYNTAX       IpAddress
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION "IPַΪ" 
        ::= { arpEntry 1 }
        
    arpMacAddress OBJECT-TYPE 
        SYNTAX       MacAddress
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION "IPַӦMACַ" 
        ::= { arpEntry 2 }        
    
    arpIfIndex OBJECT-TYPE 
        SYNTAX       INTEGER
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION "IPַڵĽӿ" 
        ::= { arpEntry 3 }  
        
    arpVlan OBJECT-TYPE 
        SYNTAX       INTEGER
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION "IPַڵVLAN" 
        ::= { arpEntry 4 }        
 
    arpPort OBJECT-TYPE 
        SYNTAX       INTEGER (1..26)
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION "ѧϰIPַĽ˿ںš" 
        ::= { arpEntry 5 }
    
    arpType OBJECT-TYPE 
        SYNTAX       INTEGER {
                         other(1),
                         invalid(2),--ЧARP
                         dynamic(3),--ѧϰARP
                         static(4)  --̬ӵARP  
                     }
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION "ARP͡" 
        ::= { arpEntry 6 }   
        
     arpRowStatus OBJECT-TYPE 
        SYNTAX       RowStatus
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION "ARP״̬/ɾ̬ARPativeΪӣdestroyΪɾʱ
                    macַֻVLANͶ˿ںactiveſԷسɹ" 
        ::= { arpEntry 7 }  

    arpAging OBJECT-TYPE 
        SYNTAX       INTEGER(3..2880)
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION "The age time of dynamic arp entry.Unit is minute.Default is 20." 
        --arpϻʱ䣬λΪӣĬΪ20ӡ
        ::= { gbnL3Arp 2 }  

------------------------------------------------------------------------------
--
--  gbnL3IP:
--      
--
------------------------------------------------------------------------------
    ipRangeTable OBJECT-TYPE
        SYNTAX SEQUENCE OF IpRangeEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table of ipaddress range for VLAN/Supervlan interface."
        --VLAN/SuperVLANӿڵIPַΧƱ.
        ::= { gbnL3IP 1 }

    ipRangeEntry OBJECT-TYPE
        SYNTAX IpRangeEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Table entry for ipRangeTable."
        INDEX { ipRangeSW, ipRangeIndex }
        ::= { ipRangeTable 1 }

    IpRangeEntry ::= SEQUENCE {
    	 ipRangeSW		        Integer32,
         ipRangeIndex    		INTEGER,
         ipRangeStartIP    	    IpAddress,
         ipRangeEndIP           IpAddress,
         ipRangeStatus          RowStatus
       }

    ipRangeSW OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "sw,for 3526 1-32, for 3750 1-256"
        --IPӿڵID,ΪgbnL3IpSubnetIfIndexĺ2ֽڵȡֵ,3526ΧΪ1-12,3750Ϊ1-256
        ::= { ipRangeEntry 1 }

    ipRangeIndex OBJECT-TYPE
        SYNTAX INTEGER (1..8)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Index number of range."
        --ÿIPӿڿ8ӷΧ.
        ::= { ipRangeEntry 2 }

   ipRangeStartIP OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The start ipaddress of this range."
        --ʼIPַ.
        ::= { ipRangeEntry 3 }

   ipRangeEndIP OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The end ipaddress of this range."
        --IPַ.
        ::= { ipRangeEntry 4 }

  ipRangeStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "the status of this entry"
        ::= { ipRangeEntry 5 }        

------------------------------------------------------------------------------
--
--  gbnL3DHCP:
--      
--
------------------------------------------------------------------------------
    Option82 OBJECT-TYPE
        SYNTAX      INTEGER{
                        enable(1),
                        disable(2)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Enable/disable option82.Default is disalbe"
        --DHCPмoption82.ĬΪر            
            ::= { gbnL3DHCP 1 }

    Option82Strategy OBJECT-TYPE
        SYNTAX      INTEGER{
                        drop(1),
                        keep(2),
                        replace(3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Actions when receive packets with option82."
        --option82DHCPм̽յoption82ѡݵıʱȡĲ.
        --dropΪ,keepΪĵoption82ѡ,replaceΪ滻еoption82.
        --ĬΪreplace
            ::= { gbnL3DHCP 2 }
            
        
END
